
    Qi                        d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZmZ 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 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 ddl m!Z!m"Z" 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,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7  e2d          Z8 e3d          Z9 e4d          Z: e4d          Z; e4d          Z< e4d          Z= e5d          Z> e5d          Z? e6d          Z@ e7d          ZA ed           ZB ed!          ZC ed"          ZD ed#d$%          ZE ed&d$d$'          ZF e*d(          ZG e*d)d*d+gi,          ZH e&e8eAd"d-.          ZI e&e9eAd"d-.          ZJ e&eAeAd"d-.          ZK e&e@eAd"d-.          ZL e&e=eAd"d-.          ZM e&e?eAd"d-.          ZNd/ ZOd0 ZPd1 ZQd2 ZRd3 ZSd4 ZTd5 ZUd6 ZVd7S )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                  V   t          t                    t          k    sJ t          t          t                                                    t          d          k    sJ t          t          t                                                    t          d          t          z  k    sJ t          t          t          z            t          t          j
        dz             t          t          j
        dz             z                                  k    sJ t          t          t          z            t          t          j
        dz             t          t          j
        dz             z                                  k    sJ t          t          t          z            t          t          j
        dz             t          t          j
        dz             z                                  k    sJ t                              d                                          t          d          t          t          d          t           z  t"          z  t$          z            z  t          d          t&          z  t(          z  t"          t$          z  t*          z  z   z  k    sJ t          j        t/          t0          j                  k    sJ t5          t6          dz
            D ]*} t8          | dz   | f         t          | dz             k    sJ +t:          st=          d           t?          t          t          dd          }t5          t6          dz
            D ]2} || dz   | f         tA          t          | dz                       k    sJ 3t:          st=          d           tB          st=          d	           t?          t          t          dd
d          }t5          t6          dz
            D ]2} || dz   | f         tA          t          | dz                       k    sJ 3|j"        dk    sJ |j"        dk    sJ d S )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/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_sho1d.pytest_RaisingOprV   9   s]   "::????b!!!##wr{{2222b!!!##wr{{2~5555"Q$<<DqMM&q//9AACCCCCC"R%==T"$(^^F24!8,<,<<DDFFFFFF"R%==T"$(^^F24!8,<,<<DDFFFFFF::d  ""	DD*5011	1GBKKM"4Dqwqy4PQR R R R|AJ7777774!8__ 4 4AE!G$QU33333 %#$$$RqqAAAL4!8__ ; ;AE!G$d1q5kk(:(:::::: %#$$$ %#$$$RqqRWXXXL4!8__ ; ;AE!G$d1q5kk(:(::::::**********    c                     t          t                    t          k    sJ t          t          t                                                    t          d          k    sJ t          t          t                                                    t          k    sJ t          t          t          z            t          t          j
                  t          t          j
        t          d          z
            z                                  k    sJ t          t          t          z            t          d          k    sJ t          t          t          z            t          t          j
                  t          t          j
        t          d          z
            z                                  k    sJ t                              d                                          t          d          t          t          d          t           z  t"          z  t$          z            z  t&          t(          z  t"          t$          z  t*          z  z   z  k    sJ t-          t.          dz
            D ]*} t0          | | dz   f         t          | dz             k    sJ +d S )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   s   !99????a!!##wqzz1111a  ""a''''!A#;;499VAC

N%;%;;CCEEEEEE!B$<<71::%%%%!B$<<DJJvbd71::o'>'>>FFHHHHHH99T??!!	DD*5011	1AbD1U7194DEF F F F4!8__ - -Qq1uW~a!e,,,,,- -rW   c                  >   t          t          t                                                    t          k    sJ t          t          t                                                    t          d          t          z  k    sJ t          t          t                                                    t          d          k    sJ t          t          t          z            t          j	        t          z  
                                k    sJ t                              d                                          t          t          z  k    sJ t                              d                                          t          d          t          d          t          z  t          z  t          z  z  t          dz  t          t          z  t           z  dz  z   z  t          d          t          d          z  z
  k    sJ t                              d                                          t          t          t          z  z  t          d          t          d          z  z
  k    sJ t#          t$                    D ]} t&          | | f         | k    sJ t&          t(          t*          z  k    sJ d S )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  ""gbkk!m3333a  ""gajj0000!A#;;13q5..******99S>>  BqD((((99T??!!gajj'!**Q,t2CE2I&J
A5Q& ")!**WQZZ"7&8 8 8 8 899S>>  AtEzNWQZZ

5J$JJJJJ4[[  QqSzQL&&&&&&&rW   c                     t          t          t                                                    t	          d          k    sJ t          t          t          z            t          t          z  t          j	        t	          d          t	          d          z  z   z  t          z  
                                k    sJ t                              d                                          t          t          z  t          t          z  t	          d          t	          d          z  z   z  k    sJ t                              d                                          t	          d          t	          d          t          z  z  t          dz  t          t          z  t           z  dz  z   z  k    sJ t                              d                                          t          t          z  t          t	          d          t	          d          z  z   z  k    sJ t#          t$                    D ]G} t&          | | f         t          t          z  | t	          d          t	          d          z  z   z  k    sJ Hd S )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   s   a  ""gajj0000!A#;;DJgajj.C(CDaGOOQQQQQQ99S>>  DJ1wqzz'!**7L0L$MMMMM99T??!!	WQZZ\	"RUagai!^%;<= = = =99S>>  DJGAJJwqzz4I0I$JJJJJ4[[ D DQqSzT%ZWQZZ

-B)BCCCCCCD DrW   c                  `   t          d                                          t          k    sJ t          d                                          t           k    sJ t          t          t
                                                    t          t
          j        t          j                  k    sJ t
          j	        t          t          j                  k    sJ t          t          j        df         t          d          k    sJ t           dt"          j        f         t          d          k    sJ d S )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----!!!##~ac13'?'??????l1:666666"$'?gajj((((!RT'?gajj((((((rW   c            
      @   t          t          t                    t          t                    z  t          ddf          } |                                 t          d          t          d          z  t          d          t          d          z  z   k    sJ t          t          t          t                    t          t                    z  t          dt          f          t          t                    z  d          t          t                    k    sJ t          d          }t          dt                    }t          t          t                    t          ||         t          |          z  |dt          f          z  d          }||t                   k    sJ t          t          t                    t          t          t                    t          t                    z  t          dt          f          z  t          ||         t          |          z  |dt          f          z  d          }||t                   k    sJ t          t                    5  t          t          t                    t          t          t                    t          t                    z  t          dt          f          z  t          |t                   t          t                    z  t          dt          f          z  d          }d d d            d S # 1 swxY w Y   d S )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   	VAYYvayy 1a)	,	,B7799q		&))+fQiiq		.AAAAAA F1IIfQii!Q,,VAYY6   
    	CAAF1IIc!A$vayy.1Qr(;;;dKKKFQqT>>>> q		#fQiiq		)Aq":666s1Q4q		>AaPR87T7TT  F QqT>>>>	
		 
 
1IIc&))F1II-1bz:::3qtF1II~PQRSTVx;X;XX
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   B'LLLc            	      :   t          dd          } t          t          |           dz   t          d          z            t	          | t
          z  t          t          t
                              z  t          t
                    z  t
          dt          f          z  }t          t          t                    |z  d          t          t          |           dz   t          d          z            | t          z  z  t          t          t                              z  k    sJ t          t          t          t                    t          z  |z  d                    t          t          t          t                    | z  |z  d                    k    sJ d S )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      sE   7t,,,E#e**a-!$%%cE1Hd9Q<<6H6H+H&QR))*SVWXYZ\U]&^&^^F&))F"T222c3u::q=.1:M6N6NuVWx6WX\]fgh]i]iXjXj6jjjjjF6!99Q;v-===>>(6RXYZR[R[\aRabhRhswKxKxKxByByyyyyyyrW   c                     t          ddd          } t          dd          }t          ddd          }t          ddd          }t          | d	| z   z  |z  t          |          z  t          |          z  |d
t          f          }t          t          |          |z  t          |          z  d          }t          |          | | d	z   z  |z  t          ||          z  k    sJ d S )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666DsD!!!AsDd333AsDd333A
tQtV}q *6!994q2h
?
?CF1IIcM&))+d;;;FFd1f1.12E2EEEE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 6 6 6 6 6 9 9 9 9 9 9 4 4 4 4 4 4 C C C C C C ( ( ( ( ( ( 0 0 0 0 0 0 , , , , , , / / / / / / ; ; ; ; ; ; 1 1 1 1 1 1 1 1 6 6 6 6 6 6 5 5 5 5 5 5 # # # # # # ( ( ( ( ( ( ) ) ) ) ) ) ) ) - - - - - - - -? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ys^^JsOO
F3KKVAYYVAYYVAYY
F3KKVAYYKHSMMw
F3KKwqzz
F3
F3D$/// ]7gj8*-EFFFy11W===	!11W555	!11W555	!11W555	2QQw	7	7	7	2QQw	7	7	7+ + +@
- 
- 
-' ' 'D D D) ) )
 
 
:z z zF F F F FrW   