
    \hH
                         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Jr  S SKJr  S S	KJrJr  S S
KJrJr  S rS rS r " S S\5      rS r\" S5      rS r\" SSS/0S9rS r S r!S r"g)    )Expr)Mul)IInteger)symbols)	conjugate)Matrix)adjointDagger)import_module)skipwarns_deprecated_sympy)OperatorIdentityOperatorc                     [        SSS9n [        U 5      [        U 5      :X  d   e[        [        U -  5      [        * [        U 5      -  :X  d   e[        SSS9n[        U5      U:X  d   e[        S5      n[	        [        U5      [        5      (       d   e[        S5      n[        U5      U:X  d   e[        SS	S
9n[        U5      R                  S	L d   eg )NxT)complexirealp   AFcommutative)r   r   r   r   
isinstancer   is_commutative)r   r   r   r   s       _/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_dagger.pytest_scalarsr      s    T"A!9	!$$$!A#;1"Yq\/)))$A!9>>AfQi++++
A!9>>'A!9##u,,,    c                      [        S5      n [        [        U [        -  /SS//5      n[        U5      UR                  :X  d   eg )Nr         )r   r	   r   r   H)r   ms     r   test_matrixr&       s<    AAaC1a&!"A!9r    c                     [        S5      n [        U 5      U -  [        U 5      U -  :X  d   e[        5          [        5       n[        U 5      U -  U-  [	        [        U 5      U 5      U-  :X  d   e S S S 5        [        U 5      [        U 5      -  [        U 5      S-  :X  d   e[        U 5      [        W5      -  [        U 5      :X  d   eg ! , (       d  f       N^= f)NOr"   )r   r   r   r   r   )r(   r   s     r   test_dagger_mulr)   &   s    A!9Q;&)A+%%%		!ay{1}F1Iq 1! 3333 
" !9VAY&)Q,...!9VAY&)+++	 
"	!s   8C
Cc                       \ rS rSrS rSrg)Foo0   c                     [         $ N)r   )selfs    r   _eval_adjointFoo._eval_adjoint2   s    r     N)__name__
__module____qualname____firstlineno__r0   __static_attributes__r2   r    r   r+   r+   0   s    r    r+   c                  F    [        5       n [        U 5      nU[        :X  d   eg r.   )r+   r   r   )fds     r   test_eval_adjointr;   6   s    Aq	A6M6r    numpyc                     [         (       d  [        S5        [         R                  SS/SS//5      n U R                  5       R	                  5       R                  5       n[        U 5      U:H  R                  5       (       d   eg )Nnumpy not installed.g      ?               @             g       @)npr   arraycopy	transposer   r   all)aadags     r   test_numpy_daggerrH   >   sf    2#$
3+s|,-A668))+D1I""$$$$r    scipyfromlistsparse)import_kwargsc                     [         (       d  [        S5        [        (       d  [        S5        O[        R                  n W R	                  SS/SS//5      nUR                  5       R                  5       R                  5       n[         R                  R                  [        U5      U-
  R                  5       5      S:X  d   eg )Nr>   zscipy not installed.y      ?        r?   r@   y       @        g        )rA   r   rI   rK   
csr_matrixrC   rD   r   linalgnormr   todense)rK   rF   rG   s      r   test_scipy_sparse_daggerrR   J   s    2#$5#$J-z/BCDA668))+D99>>6!9t+44673>>>r    c                  ~    [        SSS9n [        U 5      nUR                  U 4:X  a  [        U[        5      (       d   eg)zCheck treatment of unknown objects.
Objects without adjoint or conjugate/transpose methods
are sympified and wrapped in dagger.
r   Fr   Nr   r   argsr   r
   r   results     r   test_unknownrX   W   s<    
 	'AAYF;;1$:fg#>#>>>#>r    c                      [        SSS9n [        U 5      U :X  d   e[        U SS9nUR                  U 4:X  a  [        U[        5      (       d   eg)z:Check that evaluate=False returns unevaluated Dagger.
    r   Tr   F)evaluateNrT   rV   s     r   test_unevaluatedr[   a   sO     	$A!9>>A&F;;1$:fg#>#>>>#>r    N)#sympy.core.exprr   sympy.core.mulr   sympy.core.numbersr   r   sympy.core.symbolr   $sympy.functions.elementary.complexesr   sympy.matrices.denser	   sympy.physics.quantum.daggerr
   r   sympy.externalr   sympy.testing.pytestr   r   sympy.physics.quantum.operatorr   r   r   r&   r)   r+   r;   rA   rH   rI   rR   rX   r[   r2   r    r   <module>rf      sx       + % : ' 8 ( = E-$,$ 
 7% 	gj8*-EF
???r    