
    g	                        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mZ d dlmZ d d	lmZ d d
lmZmZ d Zd Zd Z G d de          Zd Z ed          Zd Z edddgi          Zd Zd Z d Z!dS )    )Expr)Mul)IInteger)symbols)	conjugate)Matrix)adjointDagger)import_module)skip)OperatorIdentityOperatorc                     t          dd          } t          |           t          |           k    sJ t          t          | z            t           t          |           z  k    sJ t          dd          }t          |          |k    sJ t          d          }t	          t          |          t
                    sJ t          d          }t          |          |k    sJ t          dd	
          }t          |          j        d	u sJ d S )NxT)complexirealp   AF)commutative)r   r   r   r   
isinstancer
   r   is_commutative)r   r   r   r   s       c/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_dagger.pytest_scalarsr      s    T"""A!99	!$$$$!A#;;1"Yq\\/))))$A!99>>>>AfQii)))))

A!99>>>>'''A!99#u,,,,,,    c                      t          d          } t          t          | t          z  gddgg          }t          |          |j        k    sJ d S )Nr         )r   r	   r   r   H)r   ms     r   test_matrixr$       sJ    AAaC1a&!""A!99r   c                     t          d          } t                      }t          |           | z  t          |           | z  k    sJ t          |           | z  |z  t          t          |           |           |z  k    sJ t          |           t          |           z  t          |           dz  k    sJ t          |           t          |          z  t          |           k    sJ d S )NOr    )r   r   r   r   )r&   r   s     r   test_dagger_mulr'   &   s    AA!99Q;&))A+%%%%!99Q;q=Cq		1--a/////!99VAYY&))Q,....!99VAYY&))++++++r   c                       e Zd Zd ZdS )Fooc                     t           S N)r   )selfs    r   _eval_adjointzFoo._eval_adjoint1   s    r   N)__name__
__module____qualname__r-    r   r   r)   r)   /   s#            r   r)   c                  Z    t                      } t          |           }|t          k    sJ d S r+   )r)   r   r   )fds     r   test_eval_adjointr5   5   s'    Aq		A666666r   numpyc                  0   t           st          d           t                               ddgddgg          } |                                                                                                 }t          |           |k                                    sJ d S )Nnumpy not installed.g      ?               @             g       @)npr   arraycopy	transposer   r   all)aadags     r   test_numpy_daggerrB   =   s     %#$$$
3+s|,--A6688))++D1II""$$$$$$$r   scipyfromlistsparse)import_kwargsc                     t           st          d           t          st          d           nt          j        } |                     ddgddgg          }|                                                                                                }t           j        	                    t          |          |z
                                            dk    sJ d S )Nr8   zscipy not installed.y      ?        r9   r:   y       @        g        )r;   r   rC   rE   
csr_matrixr=   r>   r   linalgnormr   todense)rE   r@   rA   s      r   test_scipy_sparse_daggerrL   I   s     %#$$$ #$$$$J-z/BCDDA6688))++D9>>6!99t+4466773>>>>>>r   c                      t          d          } t          |           }|j        | fk    rt          |t                    sJ dS )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_unknownrR   V   sD    
 	AAYYF;1$:fg#>#>r   c                      t          dd          } t          |           | k    sJ t          | d          }|j        | fk    rt          |t                    sJ dS )z:Check that evaluate=False returns unevaluated Dagger.
    r   Tr   F)evaluateNrN   rP   s     r   test_unevaluatedrU   `   se     	$A!99>>>>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)   r5   r;   rB   rC   rL   rR   rU   r1   r   r   <module>r`      s                     + + + + + + + + % % % % % % : : : : : : ' ' ' ' ' ' 8 8 8 8 8 8 8 8 ( ( ( ( ( ( % % % % % % E E E E E E E E- - -$  , , ,    $     
 ]7% % % 	gj8*-EFFF
? 
? 
?? ? ?? ? ? ? ?r   