
    Цi	                         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  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)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
   r   is_commutative)r   r   r   r   s       f/var/www/html/ai-image-ml/venv/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                  f   [        S5      n [        5       n[        U 5      U -  [        U 5      U -  :X  d   e[        U 5      U -  U-  [        [        U 5      U 5      U-  :X  d   e[        U 5      [        U 5      -  [        U 5      S-  :X  d   e[        U 5      [        U5      -  [        U 5      :X  d   eg )NOr    )r   r   r   r   )r&   r   s     r   test_dagger_mulr'   &   s    AA!9Q;&)A+%%%!9Q;q=Cq	1-a////!9VAY&)Q,...!9VAY&)+++r   c                       \ rS rSrS rSrg)Foo/   c                     [         $ N)r   )selfs    r   _eval_adjointFoo._eval_adjoint1   s    r    N)__name__
__module____qualname____firstlineno__r.   __static_attributes__r0   r   r   r)   r)   /   s    r   r)   c                  F    [        5       n [        U 5      nU[        :X  d   eg r,   )r)   r   r   )fds     r   test_eval_adjointr9   5   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_daggerrF   =   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        )r?   r   rG   rI   
csr_matrixrA   rB   r   linalgnormr   todense)rI   rD   rE   s      r   test_scipy_sparse_daggerrP   I   s    2#$5#$J-z/BCDA668))+D99>>6!9t+44673>>>r   c                      [        S5      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   Nr   r   argsr   r
   r   results     r   test_unknownrV   V   s9    
 	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)evaluateNrR   rT   s     r   test_unevaluatedrY   `   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   sympy.physics.quantum.operatorr   r   r   r$   r'   r)   r9   r?   rF   rG   rP   rV   rY   r0   r   r   <module>rd      sx       + % : ' 8 ( % E-$,$ 
 7% 	gj8*-EF
???r   