
    sgL                        d 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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"m#Z#m$Z$m%Z%m&Z&  e!d      Z' e"d      Z( e#d      Z) e#d      Z* e#d      Z+ e#d      Z, e$d      Z- e$d      Z. e%d      Z/ e&d      Z0 ed      Z1 ed      Z2 ed      Z3 ed      Z4 edddgi       Z5 ee'e0dd!"      Z6 ee(e0dd!"      Z7 ee0e0dd!"      Z8 ee/e0dd!"      Z9 ee,e0dd!"      Z: ee.e0dd!"      Z;d# Z<d$ Z=d% Z>d& Z?d' Z@y())zTests for sho1d.py    )IInteger)S)Symbol)sqrt)Dagger)hbar)
Commutator)qapply)InnerProduct)XPx)KroneckerDelta)ComplexSpace)	represent)import_module)skip)	RaisingOp
LoweringOpSHOKetSHOBraHamiltonianNumberOpak      bHNomegam   numpyscipyfromlistsparse)import_kwargssympybasisndimformatc                     t        t              t        k(  sJ t        t        t              j	                         t        d      k(  sJ t        t        t              j	                         t        d      t        z  k(  sJ t        t        t        z        t        t        j                  dz         t        t        j                  dz         z  j                         k(  sJ t        t        t        z        t        t        j                  dz         t        t        j                  dz         z  j                         k(  sJ t        t        t        z        t        t        j                  dz         t        t        j                  dz         z  j                         k(  sJ t        j                  d      j	                         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        j2                        k(  sJ t5        t6        dz
        D ]!  } t8        | dz   | f   t        | dz         k(  r!J  t:        st=        d       t?        t        t        dd      }t5        t6        dz
        D ]&  } || dz   | f   tA        t        | dz               k(  r&J  t:        st=        d       tB        st=        d	       t?        t        t        dd
d      }t5        t6        dz
        D ]&  } || dz   | f   tA        t        | dz               k(  r&J  |jD                  dk(  sJ |jD                  dk(  sJ y )Nr   xp   znumpy not installed.r#   r$   r*   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   floatr%   dtype)iad_rep_numpyad_rep_scipys      Y/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_sho1d.pytest_RaisingOprG   /   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_ 4AE!G$QU3334 #$RqqAL4!8_ ;AE!G$d1q5k(::::; #$#$RqqRWXL4!8_ ;AE!G$d1q5k(::::; ******    c                  2   t        t              t        k(  sJ t        t        t              j	                         t        d      k(  sJ t        t        t              j	                         t        k(  sJ t        t        t        z        t        t        j                        t        t        j                  t        d      z
        z  j                         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  j                         k(  sJ t        j                  d      j	                         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(  r!J  y )Nr   r   r0   r1   )r   r   r5   r
   r6   r   r    r   r   r   r7   r   r8   r9   r:   r;   r	   r"   r!   r   r   r   r>   r,   a_reprC   s    rF   test_LoweringOprL   O   s~   !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_ -Qq1uW~a!e,,,-rH   c                  :   t        t        t              j                         t        k(  sJ t        t        t              j                         t        d      t        z  k(  sJ t        t        t              j                         t        d      k(  sJ t        t        t        z        t        j                  t        z  j                         k(  sJ t        j                  d      j                         t        t        z  k(  sJ t        j                  d      j                         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        j                  d      j                         t        t        t        z  z  t        d      t        d      z  z
  k(  sJ t#        t$              D ]  } t&        | | f   | k(  rJ  t&        t(        t*        z  k(  sJ y )Nr/   r   r   r0   r   r1   r   )r
   r    r5   r6   r   r   r   r   r   r7   r8   r;   r"   r	   r!   r   r   r>   r,   N_repr?   rJ   rK   s    rF   test_NumberOprO   [   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[ QqSzQL&&&&rH   c                     t        t        t              j                         t	        d      k(  sJ t        t        t        z        t        t        z  t        j                  t	        d      t	        d      z  z   z  t        z  j                         k(  sJ t        j                  d      j                         t        t        z  t        t        z  t	        d      t	        d      z  z   z  k(  sJ t        j                  d      j                         t	        d      t	        d      t        z  z  t        dz  t        t        z  t         z  dz  z   z  k(  sJ t        j                  d      j                         t        t        z  t        t	        d      t	        d      z  z   z  k(  sJ t#        t$              D ]8  } t&        | | f   t        t        z  | t	        d      t	        d      z  z   z  k(  r8J  y )Nr   r   r1   r   r0   r    )r
   r   r    r6   r   r   r   r	   r!   r7   r8   r;   r5   r   r"   r   r   r>   r,   H_reprK   s    rF   test_HamiltonianrR   h   sv   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[ DQqSzT%ZWQZ
-B)BCCCCDrH   c                     t        d      j                         t        k(  sJ t        d      j                         t         k(  sJ t        t        t
              j                         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 y )Nr   r   r   r   )r   
dual_classr   r   r   r   r6   r   r7   r<   r   r   r=   k3_repk3r   b3_repb3 rH   rF   test_SHOKetrZ   r   s    #;!!#v---#;!!#v---!!!#~acc133'??????l1::6666"$$'?gaj(((!RTT'?gaj(((rH   N)A__doc__sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   sympy.physics.quantumr   sympy.physics.quantum.constantsr	   r
   sympy.physics.quantum.qapplyr   "sympy.physics.quantum.innerproductr   sympy.physics.quantum.cartesianr   r   (sympy.functions.special.tensor_functionsr   sympy.physics.quantum.hilbertr   sympy.physics.quantum.representr   sympy.externalr   sympy.testing.pytestr   sympy.physics.quantum.sho1dr   r   r   r   r   r   r5   r   r   r9   r:   rV   r   rX   r   r    r!   r"   r,   r@   r%   r?   rJ   rN   rQ   rU   rW   rG   rL   rO   rR   rZ   rY   rH   rF   <module>rk      sO    + " $ 9 ( 0 , / ; 1 C 6 5 ( %? ? s^sO
3KAYAYAY
3KAYSMw
3Kqz7gj8*-EF11W=!11W5!11W5!11W5	2QQw	7	2QQw	7+@
-'D)rH   