
    gL                        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@d(S ))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                  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#   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      b/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_sho1d.pytest_RaisingOprG   /   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   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   !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,,,,,- -rH   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   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  ""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&&&&&&&rH   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   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   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rH   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   r6   r   r7   r<   r   r   r=   k3_repk3r   b3_repb3 rH   rF   test_SHOKetrZ   r   s    #;;!!##v----#;;!!##v----!!!##~ac13'?'??????l1:666666"$'?gajj((((!RT'?gajj((((((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      s5     + + + + + + + + " " " " " " $ $ $ $ $ $ 9 9 9 9 9 9 ( ( ( ( ( ( 0 0 0 0 0 0 , , , , , , / / / / / / ; ; ; ; ; ; 1 1 1 1 1 1 1 1 C C C C C C 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]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) ) ) ) )rH   