
    \h                        S SK Jr  S SKJrJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJrJrJr  S SKJrJr  S SKJr  S SKJrJrJ r J!r!J"r"J#r#J$r$  S SK%J&r&  S SK'J(r(  S SK)J*r*  S SK+J,r,J-r-  S SK.J/r/J0r0J1r1  S SK2J3r3  \	" S5      u  r4r5r6r7\$" SS 5      r8\$" SS5      r9\$" SS5      r:\" S5      r; " S S\5      r<S r=S r>S r?S r@S rAS rBS  rCS! rDS" rES# rFS$ rGS% rHS& rIg')(    )Mul)IIntegerRational)S)symbols)sqrt)AntiCommutator)
Commutator)hbar)Dagger)HXGateIdentityGate)OperatorIdentityOperator)qapply)JxJyJzJplusJminusJ2JzKet)TensorProduct)Ket)Density)QubitQubitBra)BosonOpBosonFockKetBosonFockBra)warns_deprecated_sympyz	j j' m m'   Ac                       \ rS rSrS rSrg)Foo    c                     U$ )N )selfketoptionss      _/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_qapply.py_apply_operator_JzKetFoo._apply_operator_JzKet!   s    
    r+   N)__name__
__module____qualname____firstlineno__r0   __static_attributes__r+   r2   r/   r(   r(       s    r2   r(   c                     [        [        [        -  5      [        [        -  :X  d   e[        [        [
        -  5      [        [        -  [        S5      -  [        [        -  [        S5      -  -   :X  d   e[        [        [        -   [
        -  [        S5      -  5      [        [        -  [        [        -  -   :X  d   e[        [        [        [        -   -  5      [        [        -  [        [        -  -
  :X  d   e[        [        [        -  [        [        -  -   5      [        [        -  [        [        -  -
  :X  d   e[        [        [        -  [        -  5      S[        S-  -  [        -  :X  d   e[        [        S-  [        -  5      S[        S-  -  [        -  :X  d   e[        [        S-  [        S-  -  [        -  5      S[        S-  -  [        -  :X  d   eg N      )
r   r   por   r   zr	   mor   r   r+   r2   r/   
test_basicr?   %   sU   "R%=DG###"Q$<4747?T"WT!W_<<<<56>1$T!W,-b471BBBB"b2g,47T"W#4444"R%"R%- DGd2g$5555&-"#qqy|333%(2+!D!G)B,...%(619$R'(AdAgIbL888r2   c                  j   [         R                  [        -  [         -  n [        [        [
        -  U -  5      [        [
        -  U -  :X  d   e[        [        [         -  U -  5      [        [
        -  [        S5      -  [        [        -  [        S5      -  -   U -  :X  d   e[        [        [        -   [         -  [        S5      -  U -  5      [        [
        -  U -  [        [        -  U -  -   :X  d   e[        [        [
        [        -   -  U -  5      [        [
        -  U -  [        [        -  U -  -
  :X  d   e[        [        [
        -  U -  [        [        -  U -  -   5      [        [
        -  U -  [        [        -  U -  -
  :X  d   e[        [        [        -  [
        -  U -  5      S[        S-  -  [        -  U -  :X  d   e[        [        S-  [        -  U -  5      S[        S-  -  [
        -  U -  :X  d   e[        [        S-  [        S-  -  [
        -  U -  5      S[        S-  -  [
        -  U -  :X  d   eg r9   )r=   dualr&   r   r   r<   r   r   r	   r>   r   r   )extras    r/   
test_extrarC   0   s   FF1HQJE"R%+$r'%-///"Q$u*$r'$q'/DGDGO"CU!JJJJ	47"5(*-1"WU]T"WU]-JK K K"b2g,u$%bb)FFFF"R%+2e+,RR0MMMM&-"5()QtQwYr\%-????%(2+e#$$'	"U(::::%(619$R'-.!D!G)B,u2DDDDr2   c                      [        [        R                  [        -  [        -  SS9[        [        R                  [        -  -  :X  d   e[        [        R                  [        -  [        -  5      [        :X  d   eg )NFip_doit)r   r<   rA   r   r   r+   r2   r/   test_innerproductrG   =   sO    "''"*R-/43DDDD"''"*R- D(((r2   c                  Z    [        S5      S:X  d   e[        [        S5      5      S:X  d   eg )Nr   )r   r   r+   r2   r/   	test_zerorI   B   s)    !9>>'!*"""r2   c                     [        [        [        [        5      [        -  [
        -  5      [        [        S-  -  [
        -  :X  d   e[        [        [        [        5      [        -  [
        -  5      S:X  d   e[        [        [        [        S5      5      [
        -  5      S:X  d   e[        [        [        S5      [        5      [
        -  5      S:X  d   eg )N   r   F)
r   r   r   r   r   r<   r   r   r   r(   r+   r2   r/   test_commutatorrM   G   s    *R$R'*+qqy|;;;*R$R'*+q000*RS*2-.!333*SXr*2-.!333r2   c                      [        [        [        [        S5      5      [        -  5      S[
        -  [        -  :X  d   e[        [        [        S5      [        5      [        -  5      S[
        -  [        -  :X  d   eg )NrL   r:   )r   r
   r   r(   r<   r   r+   r2   r/   test_anticommutatorrO   N   sX    .SX.r12afRi???.S2.r12afRi???r2   c                  f   [         [        [        R                  -  -  [         -  [        -  n [	        U 5      [
        S-  * [        -  :X  d   e[	        U SS9[
        S-  * [        R                  [        -  -  [        -  :X  d   e[	        U 5      R                  5       [
        S-  * [        -  :X  d   eg )Nr:   FrE   )r   r>   r<   rA   r   r   doit)es    r/   test_outerproductrS   S   s    
BrwwJ2A!9q###!U#ax'<R'????!9>>ax{***r2   c            	         [        S5      n [        S5      n[        [        S5      [        S5      5      n[        [        S5      [        S5      5      n[        [        S5      [        S5      5      n[        [        S5      [        S5      5      n[        [        S5      [        S5      5      n[	        [        XS-  5      U-  5      [        S5      U-  :X  d   e[	        [        U [        U5      U-  5      U-  5      SU-  :X  d   e[	        U[        XU-  5      -  SS9[        S5      U-  :X  d   e[	        Xb-  5      R                  5       [        R                  :X  d   e[	        [        XU-  5      U-  5      [        S5      U-  :X  d   e[	        [        [        XU-  5      U-  5      SS9[        S5      [        U5      -  :X  d   eg )Nabr$   r:   r   Tdagger)
r    r   r!   r"   r   r	   r   rQ   r   One)rU   rV   ket1ket2ket3bra1bra2s          r/   test_tensorproductr_   Z   s   AAa,q/:Da,q/:Da,q/:Da,q/:Da,q/:D-6*T12d1gnDDD-6!9q=1D89QXEEE$qa%00"&q'D.1 1 1$+##%...-q5)D01T!Wt^CCC&qa%0478"&q'F4L"89 9 9r2   c                      [        [        S5      5      [        [        S5      5      -  n [        [        S5      5      [        S5      -  [        [        S5      5      [        S5      -  -   n[	        U SS9U:X  d   eg )Nr   r$   r:   TrW   )r   r   r   r	   r   )lhsrhss     r/   test_daggerrc   l   s`    
q
6!A$<
'C
q
47
"VE!H%5d1g%=
=C#d#s***r2   c                      [        SSS9u  p[        X5      n[        S5      n[        U5      U:X  d   e[        UR                  U-  5      UR                  U-  :X  d   eg )Nzx yF)commutativeB)r   r   r   r   rA   )xyr&   rf   s       r/   test_issue_6073ri   r   sU    5e,DAA	AA!9>>!&&(qvvax'''r2   c                      [        [        [        -  S/[        [        -  S/5      n [	        U 5      [        [
        * [        -  S/[
        [        -  S/5      :X  d   eg )Ng      ?)r   r   r>   r<   r   r   )ds    r/   test_densityrl   z   sI    Br"ucl+A!9$r3$r'3@@@@r2   c                     [        [        [        [        S5      [        R                  5      -  [        S5      -  [        [        [        R                  [        R                  5      -  5      n [        [        R                  [        SS5      S[        R                  -  [        S-  5      nU[        [        SS5      [        [        R                  [        R                  5      5      -  n[        U 5      U:X  d   eg )Nr:   r$   r;   r%   )r   r   r   r   NegativeOner	   Halfr   r   r   r   )expr1results     r/   test_issue3044rr      s    "U1Q466tAw>5PQPVPVCW@WXEA166	47CF
mE!BKqvvaff)=>>F%=F"""r2   c            	      t   [        S5      [        S5      -  n [        U 5      U :X  d   e[        S5      [	        S5      -  n [        U 5      U :X  d   e[        [        S5      [        [        S5      [        S5      5      [	        S5      5      n[        U5      [        S5      [	        S5      -  :X  d   e[        USS9n[        USS9[        S5      :X  d   e[        S5      [        S5      [        S5      -  -  [	        S5      -  n[        USS9nU[        S5      :X  d   e[        5          [        [        S5      [        5       -  5      [        S5      :X  d   e[        [        S5      [        S5      [        S5      -   -  5      [        S5      [        S5      -   :X  d   e S S S 5        g ! , (       d  f       g = f)Nr   rU   r$   TrW   )
r!   r    r   r   r   r   r   r#   r   r   )PP1P2s      r/   test_issue24158_ket_times_oprw      s^   Q'#,&A!9>>a58A!9>>	Xa[#hqk584eAh	?B":!uQx////	T	"B"t$333	!eAh.	/%(	:B	T	"B!		!hqk"2"445!DDDl1ouQx%(':;<a5QR8@SSSS 
"	!	!s   )A6F))
F7N)Jsympy.core.mulr   sympy.core.numbersr   r   r   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr	   $sympy.physics.quantum.anticommutatorr
    sympy.physics.quantum.commutatorr   sympy.physics.quantum.constantsr   sympy.physics.quantum.daggerr   sympy.physics.quantum.gater   r   r   sympy.physics.quantum.operatorr   r   sympy.physics.quantum.qapplyr   sympy.physics.quantum.spinr   r   r   r   r   r   r   #sympy.physics.quantum.tensorproductr   sympy.physics.quantum.stater   sympy.physics.quantum.densityr   sympy.physics.quantum.qubitr   r   sympy.physics.quantum.bosonr    r!   r"   sympy.testing.pytestr#   jjpmmpr=   r<   r>   r&   r(   r?   rC   rG   rI   rM   rO   rS   r_   rc   ri   rl   rr   rw   r+   r2   r/   <module>r      s     5 5 " % 9 ? 7 0 / = = E / K K K = + 1 7 K K 7 {#2q"	!QK
1a[
1b\SM( 
9
E)
#
4@
+9$+(A
#Tr2   