
    sg
                         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	      Z ed
d      \  ZZZZd Zd Zd Z G d de
      Z G d de
      Z G d de
      Zd Zy)    Integer)symbols)Dagger)
Commutator)Operatorza,b,cnT)integerzA,B,C,DF)commutativec                      t        t        t              } | j                  du sJ t	        | t               sJ | j                  t        t              t        t        t              k(  sJ y )NF)CommABis_commutative
isinstancesubsC)cs    ^/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_commutator.pytest_commutatorr      sO    Q
Au$$$a66!Q<41:%%%    c                  h   t        t        t        z  t        t        z        t        t        z  t        t        t              z  k(  sJ t        t        t              dk(  sJ t        t        t              dk(  sJ t        t        t              t        t        t               k(  sJ t        t        t              j                         t        t        z  t        t        z  z
  k(  sJ t        t        t        t        z        j                  d      t        t        t              t        z  t        t        t        t              z  z   k(  sJ t        t        t        z  t        t        z        j                  d      t        t        z  t        t        t              z  t        t        t        t              z  t        z  z   t        t        t        t              z  t        z  z   t        t        t              t        z  t        z  z   k(  sJ t        t        t        dz        j                  d      t        t        t              t        z  t        t        t        t              z  z   k(  sJ t        t        dz  t        dz        j                  d      t        t        t        z  t        t        z        j                  d      j                  t        t              j                  t        t              cxk(  rt        t        z  t        t        t              z  t        t        t        t              z  t        z  z   t        t        t        t              z  t        z  z   t        t        t              t        z  t        z  z   k(  sJ  J t        t        t        dz        j                  d      t        t        dt        z  dt        z  z        j                  d      j                  t        t              k(  sJ t        t        t        z   t        t        z         j                  d      t        t        t              t        t        t              z   t        t        t              z   t        t        t              z   k(  sJ t        t        t        t        z         j                  d      t        t        t              t        t        t              z   k(  sJ t        t        t        z  t              j                  d      t        t        t        z  t              k(  sJ t        t        t        t        t                    t        t        t        t        t                    z   t        t        t        t        t                    z   } | j                         j                         dk(  sJ y )Nr   T
commutator      )r   ar   br   doitr   expandDreplacer	   )es    r   test_commutator_identitiesr%      s   !QqS>QqSa^+++1:??1:??1:$q!*$$$1:??!ac	)))1Q3<$/41:a<!DAJ,3NNNN!QqS>  D 1	!DAJ41:a'!DAJ,q.841:a<>IJ J J1a4=40DAJqL1T!QZ<4OOOO1ad""d"3QqS!A#.66q!<DDQJJ	!DAJ41:a'!DAJ,q.841:a<>IJ J J J J 1b5>  D 1Q1qs##t#4<<QBC C CAq1u$$$5Q
T!QZ$q!*,tAqz9: : :1q5>  D 1T!QZ$q!*5LLLL1a=40DAqMAAAQQ
d1d1aj11DDAJ4GGA668??!!!r   c            	      R   t        t        t        z  t              } t	        |       j                  d      t        t	        t              t	        t                     t	        t              z  t	        t              t        t	        t              t	        t                    z  z
  k(  sJ y )NTr   )r   r   r   r   r   r!   )comms    r   test_commutator_daggerr(   -   ss    !Q<D$<$/
vay&)
$$VAY.q	$vay&),,	-- - -r   c                       e Zd Zd Zy)Fooc                     t        d      S )Nr   r   )selfbars     r   _eval_commutator_BarzFoo._eval_commutator_Bar6       qzr   N)__name__
__module____qualname__r.    r   r   r*   r*   4       r   r*   c                       e Zd Zy)BarN)r0   r1   r2   r3   r   r   r6   r6   :   s    r   r6   c                       e Zd Zd Zy)Tamc                     t        d      S )Nr   r   )r,   foos     r   _eval_commutator_FoozTam._eval_commutator_Foo@   r/   r   N)r0   r1   r2   r;   r3   r   r   r8   r8   >   r4   r   r8   c                     t        d      } t        d      }t        d      }t        | |      j	                         dk(  sJ t        ||       j	                         dk(  sJ t        | |      j	                         dk(  sJ t        ||       j	                         dk(  sJ t        ||      j	                         ||z  ||z  z
  k(  sJ t        | dz  |      j                  d	      j	                         dk(  sJ t        | dz  |      j                  d	      j	                         d
| z  k(  sJ t        | |dz        j                  d	      j	                         d
|z  k(  sJ t        |dz  |       j                  d	      j	                         d|z  k(  sJ t        |dz  | dz        j                  d	      j	                         d| z  |z  | z  d| dz  z  |z  z   d|z  | dz  z  z   k(  sJ y )NFr   Tr   r   r   Tr   r      )r*   r6   r8   r   r    r!   )r=   r   r>   s      r   test_eval_commutatorrA   D   s   CACACA1:??!!!1:??!!!1:??"""1:??!!!1:??!ac	)))1a=405571<<<1a=405572a4???1a4=405572a4???1a=405571Q3>>>1ad""d"388:ac!eAg!Q$q>PSTUVSVWXZ[W[S[>[[[[r   N)sympy.core.numbersr   sympy.core.symbolr   sympy.physics.quantum.daggerr    sympy.physics.quantum.commutatorr   r   sympy.physics.quantum.operatorr   r   r   r   r	   r   r   r   r"   r   r%   r(   r*   r6   r8   rA   r3   r   r   <module>rG      s    & % / ? 3 '
1aCYE2
1a&"0-( 	( 	( \r   