
    \h                        S r SSKJr  SSKJr  SSKJrJr  SSKJ	r	  SSK
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  SSKJr  SSKJr  SSK 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,J-r-  SSK.J/r/J0r0  SSK1J2r2J3r3J4r4J5r5J6r6J7r7  \2" S5      r8\3" S5      r9\4" S5      r:\4" S5      r;\4" S5      r<\4" S5      r=\5" S5      r>\5" S5      r?\6" S5      r@\7" S5      rA\" S 5      rB\" S!5      rC\" S"5      rD\" S#S$S%9rE\" S&S$S$S'9rF\*" S(5      rG\*" S)S*S+/0S,9rH\&" \8\AS"S-S.9rI\&" \9\AS"S-S.9rJ\&" \A\AS"S-S.9rK\&" \@\AS"S-S.9rL\&" \=\AS"S-S.9rM\&" \?\AS"S-S.9rNS/ rOS0 rPS1 rQS2 rRS3 rSS4 rTS5 rUS6 rVg7)8zTests for sho1d.py    )Sum)oo)IInteger)S)Symbolsymbols)	factorial)exp)sqrt)Abs)KroneckerDelta)Dagger)hbar)
Commutator)qapply)InnerProduct)XPx)ComplexSpace)	represent)simplify)import_module)IndexedBaseIdx)skipraises)	RaisingOp
LoweringOpSHOKetSHOBraHamiltonianNumberOpak      bHNomegam   pTintegerq)nonnegativer0   numpyscipyfromlistsparse)import_kwargssympybasisndimformatc                  B   [        [        5      [        :X  d   e[        [        [        5      R	                  5       [        S5      :X  d   e[        [        [        5      R	                  5       [        S5      [        -  :X  d   e[        [        [        -  5      [        [        R                  S-   5      [        [        R                  S-   5      -  R                  5       :X  d   e[        [        [        -  5      [        [        R                  S-   5      [        [        R                  S-   5      -  R                  5       :X  d   e[        [        [        -  5      [        [        R                  S-   5      [        [        R                  S-   5      -  R                  5       :X  d   e[        R                  S5      R	                  5       [        S5      [        [        S5      [         -  ["        -  [$        -  5      -  [        S5      [&        -  [(        -  ["        [$        -  [*        -  -   -  :X  d   e[        R,                  [/        [0        R2                  5      :X  d   e[5        [6        S-
  5       H#  n [8        U S-   U 4   [        U S-   5      :X  a  M#   e   [:        (       d  [=        S5        [?        [        [        SSS9n[5        [6        S-
  5       H'  n XS-   U 4   [A        [        U S-   5      5      :X  a  M'   e   [:        (       d  [=        S5        [B        (       d  [=        S	5        [?        [        [        SS
SS9n[5        [6        S-
  5       H'  n X S-   U 4   [A        [        U S-   5      5      :X  a  M'   e   URD                  S:X  d   eURD                  S:X  d   eg )Nr&   xp   znumpy not installed.r-   r3   r9   zscipy not installed.zscipy.sparselil)r:   r;   r<   spmatrixfloat64)#r   adr$   r   doitr   r*   r   r%   r   nr    expandkzkfrewriter   r,   r+   r   r   r   hilbert_spacer   r   Infinityranger;   ad_rep_sympynpr   r   floatr4   dtype)iad_rep_numpyad_rep_scipys      ^/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_sho1d.pytest_RaisingOprV   9   s   ":??b!!!#wr{222b!!!#wr{2~555"Q$<DqM&q/9AACCCC"R%=T"$$(^F244!8,<<DDFFFF"R%=T"$$(^F244!8,<<DDFFFF::d  "	DD*501	1GBKM"4Dqwqy4PQR R R|AJJ77774!8_AE!G$QU333  2#$RqqAL4!8_E!G$d1q5k(::::  2#$5#$RqqRWXL4!8_E!G$d1q5k(::::  ******    c                  D   [        [        5      [        :X  d   e[        [        [        5      R	                  5       [        S5      :X  d   e[        [        [        5      R	                  5       [        :X  d   e[        [        [        -  5      [        [        R                  5      [        [        R                  [        S5      -
  5      -  R                  5       :X  d   e[        [        [        -  5      [        S5      :X  d   e[        [        [        -  5      [        [        R                  5      [        [        R                  [        S5      -
  5      -  R                  5       :X  d   e[        R                  S5      R	                  5       [        S5      [        [        S5      [         -  ["        -  [$        -  5      -  [&        [(        -  ["        [$        -  [*        -  -   -  :X  d   e[-        [.        S-
  5       H"  n [0        X S-   4   [        U S-   5      :X  a  M"   e   g )Nr&   r   r?   r@   )r   r$   rD   r   rE   r   r*   r   r%   r   rF   r    rG   rH   rI   rJ   r   r,   r+   r   r   r   rM   r;   a_reprR   s    rU   test_LoweringOpr[   Y   sw   !9??a!!#wqz111a  "a'''!A#;49VACC
N%;;CCEEEE!B$<71:%%%!B$<DJvbdd71:o'>>FFHHHH99T?!	DD*501	1AbD1U7194DEF F F4!8_Q1uW~a!e,,, rW   c                  N   [        [        [        5      R                  5       [        :X  d   e[        [        [        5      R                  5       [        S5      [        -  :X  d   e[        [        [        5      R                  5       [        S5      :X  d   e[        [        [        -  5      [        R                  [        -  R                  5       :X  d   e[        R                  S5      R                  5       [        [        -  :X  d   e[        R                  S5      R                  5       [        S5      [        S5      [        -  [        -  [        -  -  [        S-  [        [        -  [         -  S-  -   -  [        S5      [        S5      -  -
  :X  d   e[        R                  S5      R                  5       [        [        [        -  -  [        S5      [        S5      -  -
  :X  d   e[#        [$        5       H  n [&        X 4   U :X  a  M   e   [&        [(        [*        -  :X  d   eg )Nr>   r   r$   r?   r&   r@   r)   )r   r*   rD   rE   r$   r   r)   r   r%   rF   rG   rJ   r,   r   r+   r   r   rM   r;   N_reprN   rY   rZ   s    rU   test_NumberOpr^   e   s   a!!#r)))a  "gbk!m333a  "gaj000!A#;133q5..****99S> BqD(((99T?!gaj'!*Q,t2CE2I&J
A5Q& ")!*WQZ"7&8 8 8 899S> AtEzNWQZ
5J$JJJJ4[QSzQ L&&&&rW   c                     [        [        [        5      R                  5       [	        S5      :X  d   e[        [        [        -  5      [        [        -  [        R                  [	        S5      [	        S5      -  -   -  [        -  R                  5       :X  d   e[        R                  S5      R                  5       [        [        -  [        [        -  [	        S5      [	        S5      -  -   -  :X  d   e[        R                  S5      R                  5       [	        S5      [	        S5      [        -  -  [        S-  [        [        -  [         -  S-  -   -  :X  d   e[        R                  S5      R                  5       [        [        -  [        [	        S5      [	        S5      -  -   -  :X  d   e[#        [$        5       H9  n [&        X 4   [        [        -  U [	        S5      [	        S5      -  -   -  :X  a  M9   e   g )Nr   r&   r@   r$   r?   r*   )r   r)   r*   rE   r   r   r%   r   r+   rF   rG   rJ   rD   r$   r,   r   r   rM   r;   H_reprZ   s    rU   test_Hamiltonianra   r   sm   a  "gaj000!A#;DJgaj.C(CDaGOOQQQQ99S> DJ1wqz'!*7L0L$MMMM99T?!	WQZ\	"RUagai!^%;<= = =99S> DJGAJwqz4I0I$JJJJ4[QSzT%ZWQZ
-B)BCCCC rW   c                  &   [        S5      R                  5       [        :X  d   e[        S5      R                  5       [         :X  d   e[        [        [
        5      R                  5       [        [
        R                  [        R                  5      :X  d   e[
        R                  [        [        R                  5      :X  d   e[        [        R                  S4   [        S5      :X  d   e[         S["        R                  4   [        S5      :X  d   eg )Nr%   r(   r   r&   )r    
dual_classr!   r   r(   r%   rE   r   rF   rK   r   r   rL   k3_repk3r   b3_repb3 rW   rU   test_SHOKetri   |   s    #;!!#v---#;!!#v---!!!#~acc133'??????l1::6666"$$'?gaj(((!RTT'?gaj(((rW   c            
         [        [        [        5      [        [        5      -  [        SS45      n U R	                  5       [        S5      [        S5      -  [        S5      [        S5      -  -   :X  d   e[        [        [        [        5      [        [        5      -  [        S[        45      [        [        5      -  SS9[        [        5      :X  d   e[        S5      n[        S[        S9n[        [        [        5      [        X   [        U5      -  US[        45      -  SS9nX1[           :X  d   e[        [        [        5      [        [        [        5      [        [        5      -  [        S[        45      -  [        X   [        U5      -  US[        45      -  SS9nX1[           :X  d   e[        [        5         [        [        [        5      [        [        [        5      [        [        5      -  [        S[        45      -  [        U[           [        [        5      -  [        S[        45      -  SS9nS S S 5        g ! , (       d  f       g = f)Nr   r&   Tsum_doitr$   rF   )cls)r   r    r.   r!   rE   r   r   r1   r   r	   r   r   
ValueError)e1r$   rF   results       rU   test_sho_sumsrq      s   	VAYvay 1a)	,B779q	&)+fQiq	.AAAAA F1IfQi!Q,VAY6 
   	CAAF1Ic!$vay.1Qr(;;dKFqT>> q	#fQiq	)Aq":66s14q	>AaPR87TTF qT>>	
	1Ic&)F1I-1bz::3qtF1I~PQRSTVx;XX
 
		s   >A<I
Ic            	      b   [        SSS9n [        [        U 5      S-  * [        S5      -  5      [	        U [
        -  [        [        [
        5      5      -  [        [
        5      -  [
        S[        45      -  n[        [        [        5      U-  SS9[        [        U 5      S-  * [        S5      -  5      U [        -  -  [        [        [        5      5      -  :X  d   e[        [        [        [        5      [        -  U-  SS95      [        [        [        [        5      U -  U-  SS95      :X  d   eg )NalphaT)
is_complexr@   r   rk   )r   r   r   r   r   r.   r   r
   r    r   r   r!   r1   r   r$   )rs   cstates     rU   test_sho_coherant_staterv      s    7t,E#e*a-!$%cE1Hd9Q<6H+H&QR)*SVWXYZ\U]&^^F&)F"T2c3u:q=.1:M6NuVWx6WX\]fgh]iXj6jjjjF6!9Q;v-=>(6RXYZR[\aRabhRhswKxByyyyrW   c                  P   [        SSSS9n [        SSS9n[        SSSS9n[        SSSS9n[        U S	U -   -  U-  [        U5      -  [        U5      -  US
[        45      n[        [        U5      U-  [        U5      -  SS9n[        U5      X S	-   -  U-  [        X#5      -  :X  d   eg )NnbarT)realr2   rF   r/   rR   )r0   r2   jr&   r   rk   )r   r   r    r!   r   r   r   r   )rx   rF   rR   rz   rhorp   s         rU   test_issue_26495r|      s    &t6DsD!AsDd3AsDd3A
tQtV}q *6!94q2h
?CF1IcM&)+d;FF1f1.2EEEEErW   N)W__doc__sympy.concreter   
sympy.corer   sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r	   (sympy.functions.combinatorial.factorialsr
   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.complexesr   (sympy.functions.special.tensor_functionsr   sympy.physics.quantumr   sympy.physics.quantum.constantsr   r   sympy.physics.quantum.qapplyr   "sympy.physics.quantum.innerproductr   sympy.physics.quantum.cartesianr   r   sympy.physics.quantum.hilbertr   sympy.physics.quantum.representr   sympy.simplifyr   sympy.externalr   sympy.tensorr   r   sympy.testing.pytestr   r   sympy.physics.quantum.sho1dr   r   r    r!   r"   r#   rD   r$   r%   rH   rI   re   r(   rg   r)   r*   r+   r,   r;   r.   r1   rO   r4   rN   rY   r]   r`   rd   rf   rV   r[   r^   ra   ri   rq   rv   r|   rh   rW   rU   <module>r      s      + " - > 6 9 4 C ( 0 , / ; 1 6 5 # ( ) -? ? s^sO
3KAYAYAY
3KAYSMw
3Kqz
3
3D$/ 7gj8*-EF11W=!11W5!11W5!11W5	2QQw	7	2QQw	7+@
-'D)
:zFrW   