
    QiH
                        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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warns_deprecated_sympy)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   is_commutative)r   r   r   r   s       /var/www/development/aibuddy-work/election-extract/venv/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          |           | z  t          |           | z  k    sJ t                      5  t                      }t          |           | z  |z  t	          t          |           |           |z  k    sJ 	 d d d            n# 1 swxY w Y   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(   r   s     r   test_dagger_mulr)   &   s1   A!99Q;&))A+%%%%		!	! 4 4ayy{1}F1IIq 1 1! 3333334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 !99VAYY&))Q,....!99VAYY&))++++++s   ABB"Bc                       e Zd Zd ZdS )Fooc                     t           S N)r   )selfs    r   _eval_adjointzFoo._eval_adjoint2   s    r    N)__name__
__module____qualname__r/    r    r   r+   r+   0   s#            r    r+   c                  Z    t                      } t          |           }|t          k    sJ d S r-   )r+   r   r   )fds     r   test_eval_adjointr7   6   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_daggerrD   >   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 )Nr:   zscipy not installed.y      ?        r;   r<   y       @        g        )r=   r   rE   rG   
csr_matrixr?   r@   r   linalgnormr   todense)rG   rB   rC   s      r   test_scipy_sparse_daggerrN   J   s     %#$$$ #$$$$J-z/BCDDA6688))++D9>>6!99t+4466773>>>>>>r    c                      t          d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   Fr   Nr   r   argsr   r
   r   results     r   test_unknownrT   W   sK    
 	'''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)evaluateNrP   rR   s     r   test_unevaluatedrW   a   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   r   sympy.physics.quantum.operatorr   r   r   r&   r)   r+   r7   r=   rD   rE   rN   rT   rW   r3   r    r   <module>rb      s                     + + + + + + + + % % % % % % : : : : : : ' ' ' ' ' ' 8 8 8 8 8 8 8 8 ( ( ( ( ( ( = = = = = = = = E E E E E E E E- - -$  , , ,    $     
 ]7% % % 	gj8*-EFFF
? 
? 
?? ? ?? ? ? ? ?r    