o
    GZh§
  ć                   @   s¾   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 ed\ZZZeddd	Zed
dd\ZZZZdd Zdd Zdd ZG dd de
ZG dd de
ZG dd de
Zdd ZdS )é    ©ŚInteger)Śsymbols)ŚDagger)Ś
Commutator)ŚOperatorza,b,cŚnT)ŚintegerzA,B,C,DF)Zcommutativec                  C   sD   t tt} | jdu sJ t| t sJ |  tt”t ttks J d S )NF)ŚCommŚAŚBZis_commutativeŚ
isinstanceŚsubsŚC)Śc© r   śZ/var/www/auris/lib/python3.10/site-packages/sympy/physics/quantum/tests/test_commutator.pyŚtest_commutator   s   
r   c                  C   s$  t tt tt tt t tt ksJ t ttdksJ t ttdks&J t ttt tt ks3J t tt ” tt tt  ksDJ t ttt jddt ttt tt tt  ks_J t tt tt jddtt t tt tt tt t  tt tt t  t ttt t  ksJ t ttd jddt ttt tt tt  ks­J t td td jddt tt tt jdd 	tt” 	tt”  krųtt t tt tt tt t  tt tt t  t ttt t  ksūJ  J t ttd jddt tdt dt  jdd 	tt”ksJ t tt tt jddt ttt tt t tt t tt ks@J t ttt jddt ttt tt ksXJ t tt
 tjddt tt
 tksmJ t tt ttt tt tt t tt tt } |  ”  ” dksJ d S )Nr   T©Z
commutatoré   éž’’’é   )r
   Śar   Śbr   Śdoitr   ŚexpandŚDŚreplacer   )Śer   r   r   Śtest_commutator_identities   s2   ("6F’6(’Fž$
’&
’0*0r   c                  C   s\   t tt t} t| jddt tttt tt ttt tttt  ks,J d S )NTr   )r
   r   r   r   r   r   )Zcommr   r   r   Śtest_commutator_dagger-   s   ’’r    c                   @   ó   e Zd Zdd ZdS )ŚFooc                 C   ó   t dS )Nr   r   )ŚselfŚbarr   r   r   Ś_eval_commutator_Bar6   ó   zFoo._eval_commutator_BarN)Ś__name__Ś
__module__Ś__qualname__r&   r   r   r   r   r"   4   ó    r"   c                   @   s   e Zd ZdS )ŚBarN)r(   r)   r*   r   r   r   r   r,   :   s    r,   c                   @   r!   )ŚTamc                 C   r#   )Nr   r   )r$   Zfoor   r   r   Ś_eval_commutator_Foo@   r'   zTam._eval_commutator_FooN)r(   r)   r*   r.   r   r   r   r   r-   >   r+   r-   c                  C   s|  t d} td}td}t| | ” dksJ t||  ” dks"J t| | ” dks-J t||  ” dks8J t|| ” || ||  ksIJ t| d |jdd	 ” dksZJ t| d |jdd	 ” d
|  ksmJ t| |d jdd	 ” d
| ksJ t|d | jdd	 ” d| ksJ t|d | d jdd	 ” d|  | |  d| d  |  d| | d   ks¼J d S )NŚFr   ŚTr   é’’’’r   r   Tr   r   é   )r"   r,   r-   r
   r   r   )r/   r   r0   r   r   r   Śtest_eval_commutatorD   s   ""&&&Vr3   N)Zsympy.core.numbersr   Zsympy.core.symbolr   Zsympy.physics.quantum.daggerr   Z sympy.physics.quantum.commutatorr   r
   Zsympy.physics.quantum.operatorr   r   r   r   r   r   r   r   r   r   r   r    r"   r,   r-   r3   r   r   r   r   Ś<module>   s    