+
    h                         ^ RI HtHtHt ^ RIHt ^ RIHtHt ^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHtHtHtHtHt ^ RIHtHtH t  ^ RI!H"t" ^ RI#H$t$ ^ RI%H&t&H't' ^ RI(H)t) ^ RI*H+t+ ^ RI,H-t-  ! R R]4      t. ! R R]4      t/].! 4       t0]/! 4       t1R t2R t3R t4R t5R t6R t7R t8R t9R t:R# )     )
DerivativeFunctiondiff)Mul)Integerpi)Symbolsymbols)sympify)sin)QExpr)Dagger)HilbertSpace)OperatorUnitaryOperatorHermitianOperatorOuterProductDifferentialOperatorIdentityOperator)KetBraWavefunction)qapply)	represent)JzKetJzBra)Tr)eye)warns_deprecated_sympyc                   0   a  ] tR t^t o ]R 4       tRtV tR# )	CustomKetc                    R# )t)r#    selfs   &K/usr/lib/python3/dist-packages/sympy/physics/quantum/tests/test_operator.pydefault_argsCustomKet.default_args           r$   N__name__
__module____qualname____firstlineno__classmethodr(   __static_attributes____classdictcell____classdict__s   @r'   r!   r!            r+   r!   c                   0   a  ] tR t^t o ]R 4       tRtV tR# )CustomOpc                    R# )T)r:   r$   r%   s   &r'   r(   CustomOp.default_args   r*   r+   r$   Nr,   r4   s   @r'   r8   r8      r6   r+   r8   c                     \        R 4      p \        R4      p\        R4      p\        V \         4      '       g   Q h\        V \        4      '       g   Q hV P                  \	        R 4      38X  g   Q hV P
                  RJ g   Q hV P                  \        4       8X  g   Q hW,          W,          8w  g   Q hWV,           ,          P                  4       W,          W,          ,           8X  g   Q hW,           ^,          P                  4       V ^,          W,          ,           W,          ,           V^,          ,           8X  g   Q h\        P                  ^ ,          \	        \        P                  4       ^ ,          4      8X  g   Q h\        4       \        R4      8X  g   Q h\        4       ;_uu_ 4        V \        4       ,          V 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)ABCFON)r   
isinstancer   labelr	   is_commutativehilbert_spacer   expandt_opr(   r   r   )r=   r>   r?   s      r'   test_operatorrG   '   s[   AAAa""""a77vc{n$$$u$$$??ln,,,3!#::1uI139,,,UQJ AqD13J$4q!t$;;;;::a=F4#4#4#6q#9:::::#&&&		!	!!##q((( 
"	!	!	!s   'GG	c                      \        R 4      p W P                  4       ,          ^8X  g   Q hV P                  4       V ,          ^8X  g   Q hR# )r=   N)r   inv)r=   s    r'   test_operator_invrJ   ?   s5    AUUW9>>55719>>r+   c                  (   \        R 4      p \        V \         4      '       g   Q h\        V \        4      '       g   Q h\        V 4      V 8X  g   Q hV P	                  4       V 8w  g   Q hV P
                  RJ g   Q h\        V 4      P
                  RJ g   Q hR# )HFN)r   rA   r   r   rI   rC   )rL   s    r'   test_hermitianrM   E   s    #Aa*++++a""""!9>>557a<<u$$$!9##u,,,r+   c                  z   \        R 4      p \        V \         4      '       g   Q h\        V \        4      '       g   Q hV P                  4       \	        V 4      8X  g   Q hV \	        V 4      ,          ^8X  g   Q h\	        V 4      V ,          ^8X  g   Q hV P
                  RJ g   Q h\	        V 4      P
                  RJ g   Q hR# )UFN)r   rA   r   rI   r   rC   )rO   s    r'   test_unitaryrP   Q   s    Aa))))a""""557fQiVAY;!!9Q;!u$$$!9##u,,,r+   c                  b   \        4       ;_uu_ 4        \        4       p \        R 4      p\        R4      p\	        ^4      p\        V \        4      '       g   Q h\        V \        4      '       g   Q hW,          V8X  g   Q hW,          V8X  g   Q hV \        V4      ,          \        V4      8X  g   Q h\        V4      V ,          \        V4      8X  g   Q h\        W ,          \        4      '       g   Q hW0,          V8X  g   Q hW,          V8X  g   Q hV P                  4       V 8X  g   Q h\        V 4      V 8X  g   Q h\        W,          4      V8X  g   Q h\        W,          4      V8X  g   Q hR F'  p\        \        V4      4      \        V4      8X  d   K'  Q h	  RRR4       R#   + '       g   i     R# ; i)r@   xN)         )r   r   r   r	   r   rA   r   rI   r   r   r   )Ir@   rR   threens        r'   test_identityrY   ^   sY   		!	!SM3K
!-....!X&&&&uzzuzz6!9}q	)))ay1}q	)))!%!12222yE!!!uzzuuw!||ayA~~ae}!!!ae}!!!A-a01SV;;; + 
"	!	!	!s   E7FFF.	c            	         \        R 4      p \        R4      p\        W4      p\        V\        4      '       g   Q h\        V\        4      '       g   Q hVP
                  V 8X  g   Q hVP                  V8X  g   Q hVP                  W38X  g   Q hVP                  RJ g   Q hW,          p\        V\        4      '       g   Q h\        V\        4      '       g   Q hVP
                  V 8X  g   Q hVP                  V8X  g   Q hVP                  W38X  g   Q hVP                  RJ g   Q h^V ,          V,          pV\        \        ^4      W4      8X  g   Q h^W,          ,          pV\        \        ^4      \        W4      4      8X  g   Q h\        W,          4      \        \        V4      \        V 4      4      8X  g   Q h\        W,          4      P                  RJ g   Q h\        \        \        ^^4      \        ^^4      4      4      P                  4       ^8X  g   Q h\        ^V ,          V4      ^\        W4      ,          8X  g   Q h\        V ^V,          4      ^\        W4      ,          8X  g   Q h\        R4      \        R4      rC\        R4      \        R4      re\        W4,           V4      \        W54      \        WE4      ,           8X  g   Q h\        W5V,           4      \        W54      \        W64      ,           8X  g   Q h\        ^V,          ^V,          ,           ^V,          ^V,          ,           4      ^\        W54      ,          ^\        W64      ,          ,           ^\        WE4      ,          ,           ^\        WF4      ,          ,           8X  g   Q hR# )kbFk1k2b1b2N)r   r   r   rA   r   ketbrarB   rC   r   r   r   r   r   r   doit)r[   r\   opr]   r^   r_   r`   s          r'   test_outer_productre   x   s   CACA	a	Bb,''''b(####66Q;;66Q;;88v%%%	
Bb,''''b(####66Q;;66Q;;88v%%%	
1QBWQZ&&&&	
ACBWQZa!34444!#;,vay&)<<<<!#;%%... l5A;a45::<AAA Aq!Qa);%;;;;1q5!Qa);%;;;; YD	YD	"% <#778 9 8"W% <#778 9 8R!b&!b&1r6/:R$$R$$%R$$% R$$%% & %r+   c                  H   \        R 4      p \        R4      p\        W,          4      \        V4      \        V 4      ,          8X  g   Q h\        W,           4      \        V 4      \        V4      ,           8X  g   Q h\        V ^,          4      \        V 4      ^,          8X  g   Q hR# )r=   r>   N)r   r   )r=   r>   s     r'   test_operator_daggerrg      st    AA!#;&)F1I----!%=F1Iq	1111!Q$<6!9a<'''r+   c                  2   \        R 4      p \        R4      p\        \        V! V 4      V 4      V! V 4      4      p\	        V ^,          V 4      p\        W#,          4      \	        ^V ,          V 4      8X  g   Q hVP                  \        V! V 4      V 4      8X  g   Q hVP                  V! V 4      8X  g   Q hVP                  V 38X  g   Q h\        W 4      \        \        V! V 4      V ^4      V! V 4      4      8X  g   Q h\        \        V! V 4      V ^4      V! V 4      4      p\	        V ^,          V 4      p\        W#,          4      \	        ^V ,          V 4      8X  g   Q hVP                  \        V! V 4      V ^4      8X  g   Q hVP                  V! V 4      8X  g   Q hVP                  V 38X  g   Q h\        W 4      \        \        V! V 4      V ^4      V! V 4      4      8X  g   Q h\        ^V ,          \        V! V 4      V 4      ,          V! V 4      4      pVP                  ^V ,          \        V! V 4      V 4      ,          8X  g   Q hVP                  V! V 4      8X  g   Q hVP                  V 38X  g   Q h\        W 4      \        \        ^V ,          \        V! V 4      V 4      ,          V 4      V! V 4      4      8X  g   Q h\        W#,          4      \	        ^V ,          V 4      8X  g   Q h\        R4      p\        \        V! W4      V ^4      \        V! W4      V^4      ,           V! W4      4      p\	        V ^,          V^,          ,          V^,          V ^,          ,          ,           W4      pVP                  \        V! W4      V ^4      \        V! W4      V^4      ,           8X  g   Q hVP                  V! W4      8X  g   Q hVP                  W38X  g   Q h\        W 4      \        \        VP                  V 4      V! W4      4      8X  g   Q h\        W$4      \        \        VP                  V4      V! W4      4      8X  g   Q h\        W%,          4      \	        ^V ^,          ,          ^V ,          V^,          ,          ,           ^V ^,          ,          V,          ,           ^V^,          ,          ,           W4      8X  g   Q h\        R4      w  rg\        ^V,          \        V\        V! Wg4      V4      ,          V4      ,          ^V^,          ,          \        V! Wg4      V^4      ,          ,           V! Wg4      4      p\	        V^,          \        V4      ,          Wg^ \        34      pVP                  ^V,          \        V\        V! Wg4      V4      ,          V4      ,          ^V^,          ,          \        V! Wg4      V^4      ,          ,           8X  g   Q hVP                  V! Wg4      8X  g   Q hVP                  Wg38X  g   Q h\        W&4      \        \        VP                  V4      V! Wg4      4      8X  g   Q h\        W'4      \        \        VP                  V4      V! Wg4      4      8X  g   Q h\        W%,          4      \	        ^\        V4      ,          Wg^ \        34      8X  g   Q hR# )rR   fyzr thN)r	   r   r   r   r   r   exprfunction	variablesr   r
   r   r   )rR   ri   dgrj   wrths           r'   test_differential_operatorrs      ss   sAAZ!a0!A$7AQT1A!#;,qsA....66Z!a((((::1;;1$:-j1q!.DadKKKKZ!a3QqT:AQT1A!#;,qsA....66Z!a++++::1;;1$:-j1q!.DadKKKKQqSAaD!!44ad;A66QqSAaD!,,,,,::1;;1$:Z!JqtQ,?(?CQqTJK K K!#;,qsA.... 	sAZ!A6'!A6789!	AAQT!Q$YAad*A1A66Z!A.AaGQ1JJJJJ::1   ;;1&   :Z2AaG<= = =:Z2AaG<= = =!#;,qAv!AqD'81QT6!8'Ca1f'L'(- - - - FOEAQqSAj11.E,Eq!II1Xj12q&AABCDQ8	MAQT#b'\11bk2A66	!JqAaHa00!44	1a4AaHb!,,	-- - - ::1!!!;;1'!!!:Z2AaH=> > >;Z3QqX>? ? ?!#;,qRy!!R[AAAAr+   c                     ^ RI Hp  ^ RIHp \	        R4      p\        R4      p\        R4      pVR,          VP                  4       8X  g   Q hVR,          VP                  4       8X  g   Q hVR,          VP                  4       8X  g   Q h\        RRR7      pV! WV4      '       g   Q hWE,          V ! WE4      8X  g   Q hV ! WE4      V ! WER	R
7      8X  g   Q h^ RI	H
p V! ^ 4      pV! WV4      '       g   Q hWu,          V ! Wu4      8X  g   Q hV ! WuR	R
7      V ! Wu4      8X  g   Q h\        RRRR7      pWx,          ^8X  g   Q h\        RRRR7      pWx,          V8X  g   Q h\        RRR7      pV! WV4      '       g   Q hWx,          V ! Wx4      8X  g   Q hV ! WxR	R
7      V ! Wx4      8X  g   Q hV^,          ^8X  g   Q hV^,          V8X  g   Q hR# )r   )Pow)	unchangedr@   rO   rL   rR   T)commutativeF)evaluate)XGaterX   )integereven)rz   odd)rz   N)
sympy.coreru   sympy.core.exprrv   r   r   r   rI   r
   sympy.physics.quantum.gatery   )	ru   rv   r@   rO   rL   rR   ry   XrX   s	            r'   test_eval_powerr      s   )AA#Ab5AEEGb5AEEGb5AEEG4(ASQ43q9q8s1%00000aASQ43q9qe$A	111T-A4199Tt,A4199T"ASQ43q9qe$c!i///a4199a4199r+   N);sympy.core.functionr   r   r   sympy.core.mulr   sympy.core.numbersr   r   sympy.core.symbolr	   r
   sympy.core.sympifyr   (sympy.functions.elementary.trigonometricr   sympy.physics.quantum.qexprr   sympy.physics.quantum.daggerr   sympy.physics.quantum.hilbertr   sympy.physics.quantum.operatorr   r   r   r   r   r   sympy.physics.quantum.stater   r   r   sympy.physics.quantum.qapplyr   sympy.physics.quantum.representr   sympy.physics.quantum.spinr   r   sympy.physics.quantum.tracer   sympy.matricesr   sympy.testing.pytestr   r!   r8   t_ketrF   rG   rJ   rM   rP   rY   re   rg   rs   r   r$   r+   r'   <module>r      s    < <  , / & 8 - / 6> > ? > / 5 3 *  7   
 	z)0	-
-<44&n(8Bvr+   