
    \h9                         S SK Jr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JrJr  S SKJr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!J"r"J#r#J$r$J%r%  S SK&J'r'J(r(J)r)  S SK*J+r+  S SK,J-r-  S SKJ.r.  \" S\/\* S//5      r/\" SS/SS//5      r0\" S/\//5      r1 " S S\5      r2 " S S\5      r3 " S S\5      r4 " S S\5      r5\2" S5      r6\3" S5      r7\4" S 5      r8\5" S!5      r9\7\" \15      4\" \75      \14\6\14\" \65      \" \15      4\8\/4\" \85      \" \/5      4\" \6\75      \1\1Rt                  -  4\" \8\95      \" \/\05      4\8S-  \/S-  4\8\9-  S\8-  -   \/\0-  S\/-  -   4\" \8\95      \/\0-  \0\/-  -
  4\" \8\95      \/\0-  \0\/-  -   4\" \7\65      \1Rt                  \1-  S    4/r;S" r<S# r=\" S$5      r>S% r?S& r@\" S'S(S)/0S*9rAS+ rBS, rC\'" S-5      rD\)" S-5      rE\(" S.5      rFS/ rGS0 rHS1 rIg2)3    )FloatIInteger)Matrix)import_module)skip)Dagger)	representrep_innerproductrep_expectationenumerate_states)BraKet)OperatorOuterProduct)TensorProduct)matrix_tensor_product)
Commutator)AntiCommutator)InnerProduct)numpy_ndarrayscipy_sparse_matrixto_numpyto_scipy_sparseto_sympy)XKetXOpXBra)qapply)operators_to_state)raises            c                   0    \ rS rSr\S 5       rS rS rSrg)AKet   c                     [         $ N)ABraselfs    b/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_represent.py
dual_classAKet.dual_class           c                 &    U R                   " S0 UD6$ Nr*   _represent_AOpr-   optionss     r.   _represent_default_basisAKet._represent_default_basis#       ""3733r2   c                     [         $ r*   )Avecr-   basisr8   s      r.   r6   AKet._represent_AOp&       r2    N)	__name__
__module____qualname____firstlineno__classmethodr/   r9   r6   __static_attributes__rB   r2   r.   r'   r'      s     4r2   r'   c                   $    \ rS rSr\S 5       rSrg)r+   *   c                     [         $ r*   )r'   r,   s    r.   r/   ABra.dual_class,   r1   r2   rB   N)rC   rD   rE   rF   rG   r/   rH   rB   r2   r.   r+   r+   *   s     r2   r+   c                        \ rS rSrS rS rSrg)AOp1   c                 &    U R                   " S0 UD6$ r4   r5   r7   s     r.   r9   AOp._represent_default_basis3   r;   r2   c                     [         $ r*   )Amatr>   s      r.   r6   AOp._represent_AOp6   rA   r2   rB   NrC   rD   rE   rF   r9   r6   rH   rB   r2   r.   rN   rN   1       4r2   rN   c                        \ rS rSrS rS rSrg)BOp:   c                 &    U R                   " S0 UD6$ r4   r5   r7   s     r.   r9   BOp._represent_default_basis<   r;   r2   c                     [         $ r*   )Bmatr>   s      r.   r6   BOp._represent_AOp?   rA   r2   rB   NrU   rB   r2   r.   rX   rX   :   rV   r2   rX   aABc                  l    [          H*  n [        U S   [        SS9n[        U S   5      nX:X  a  M*   e   g )Nr   sympyr?   formatr"   )_testsr
   r`   r   testlhsrhss      r.   test_format_sympyrk   c   s6    Qq9tAwzz r2   c                      [        [        S5      5      [        S5      :X  d   e[        [        S5      5      [        S5      :X  d   e[        S[        -   5      S[        -   :X  d   eg )Nr"         ?)r
   r   r   r   rB   r2   r.   test_scalar_sympyrn   j   sS    WQZ GAJ...U3Z E#J...S1Wq(((r2   numpyc                      [         (       d  [        S5        [         HZ  n [        U S   [        SS9n[        U S   5      n[        U[        5      (       a  X:H  R                  5       (       d   eMS  X:X  a  MZ   e   g )Nnumpy not installed.r   ro   rd   r"   )	npr   rf   r
   r`   r   
isinstancer   allrg   s      r.   test_format_numpyru   s   sh    2#$Qq9tAwc=))J##%%%%:: r2   c                      [         (       d  [        S5        [        [        S5      SS9S:X  d   e[        [	        S5      SS9S:X  d   e[        S[
        -   SS9S:X  d   eg )Nrq   r"   ro   re   rm         ?      ?)rr   r   r
   r   r   r   rB   r2   r.   test_scalar_numpyry      s[    2#$WQZ0A555U3Z0C777S1WW-;;;r2   scipyfromlistsparse)import_kwargsc                  \   [         (       d  [        S5        [        (       d  [        S5        [         Hv  n [	        U S   [
        SS9n[        U S   5      n[        U[        5      (       a7  [         R                  R                  X-
  R                  5       5      S:X  d   eMo  X:X  a  Mv   e   g )Nrq   scipy not installed.r   scipy.sparserd   r"   g        )rr   r   rz   rf   r
   r`   r   rs   r   linalgnormtodenserg   s      r.   test_format_scipy_sparser      s    2#$5#$Qq@d1g&c.//99>>39"5"5"78C???:: r2   c                      [         (       d  [        S5        [        (       d  [        S5        [        [	        S5      SS9S:X  d   e[        [        S5      SS9S:X  d   e[        S[        -   SS9S:X  d   eg )Nrq   r   r"   r   rw   rm   rx   )rr   r   rz   r
   r   r   r   rB   r2   r.   test_scalar_scipy_sparser      si    2#$5#$WQZ71<<<U3Z73>>>S1W^4
BBBr2   xXc                     [        [        5      [        [        S5      [        5      R	                  5       :X  d   e[        [
        5      [        [
        [        S5      5      R	                  5       :X  d   e[        [        S 5        g )Nx_1c                       [        [        5      $ r*   )r   x_oprB   r2   r.   <lambda>*test_innerprod_represent.<locals>.<lambda>   s
    .t4r2   )	r   x_ketr   r   doitx_brar   r!   	TypeErrorrB   r2   r.   test_innerprod_representr      s[    E"l4;&F&K&K&MMMME"l5$u+&F&K&K&MMMM
945r2   c                      [        [        [        5      SS5      n [        [        5      [	        U S   R
                  [        -  U S   -  5      :X  d   eg )Nr"   r#   r   )r   r    r   r   r   dual)
basis_ketss    r.   test_operator_representr      sP    !"4T":AqAJ
1**4/
1=>? ? ?r2   c                      [        S5      n [        U SS5      [        S5      /:X  d   e[        U / SQ5      [        S5      [        S5      [        S5      /:X  d   eg )Nfoor"   foo_1)r"   r#   r%   foo_2foo_4)r   r   )rh   s    r.   test_enumerate_statesr      s]    ;DD!Q'DM?:::i!']DM4=IJ J Jr2   N)Jsympy.core.numbersr   r   r   sympy.matrices.denser   sympy.externalr   sympy.testing.pytestr   sympy.physics.quantum.daggerr	   sympy.physics.quantum.representr
   r   r   r   sympy.physics.quantum.stater   r   sympy.physics.quantum.operatorr   r   #sympy.physics.quantum.tensorproductr   r    sympy.physics.quantum.commutatorr   $sympy.physics.quantum.anticommutatorr   "sympy.physics.quantum.innerproductr   !sympy.physics.quantum.matrixutilsr   r   r   r   r   sympy.physics.quantum.cartesianr   r   r   sympy.physics.quantum.qapplyr   !sympy.physics.quantum.operatorsetr    r!   rS   r]   r=   r'   r+   rN   rX   kbr`   ra   Hrf   rk   rn   rr   ru   ry   rz   r   r   r   r   r   r   r   r   rB   r2   r.   <module>r      s[   2 2 ' ( % /P P 0 A = E 7 ? ;J J < ; / @ '1vAw 1v1vsQCj
3 
3 ( (  	IIHH tAYIAYtIAYt!Qdff%1a/d;<T47OqS1Q3YT	AdF"#1tDy49,-Aq49tDy01!Q$&&+q)*/
6) 7
< 	gj8*-EFC 	S	S	
3x6?Jr2   