§
    OŠtjH
  ã                   ó  — 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       úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_dagger.pyÚtest_scalarsr      sô   € Ý�˜TÐ"Ñ"Ô"€AÝ�!‰9Œ9�	 !™œÒ$Ð$Ð$Ð$Ý•!�A‘#‰;Œ;�1˜"�Y q™\œ\™/Ò)Ð)Ð)Ð)å�˜$ÐÑÔ€AÝ�!‰9Œ9˜Š>ˆ>ˆ>ˆ>å�‰Œ€AÝ•f˜Q‘i”i¥Ñ+Ô+Ð+Ð+Ð+å�‰
Œ
€AÝ�!‰9Œ9˜Š>ˆ>ˆ>ˆ>å� Ð'Ñ'Ô'€AÝ�!‰9Œ9Ô# 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Ý•�A•a‘C�˜1˜a˜&Ð!Ñ"Ô"€AÝ�!‰9Œ9˜œÒÐÐÐÐÐ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Ý�!‰9Œ9�Q‰;�& ™)œ) A™+Ò%Ð%Ð%Ð%Ý	Ñ	!Ô	!ð 4ð 4ÝÑÔˆÝ�a‰yŒy˜‰{˜1‰}¥¥F¨1¡I¤I¨qÑ 1Ô 1°!Ñ 3Ò3Ð3Ð3Ð3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ �!‰9Œ9•V˜A‘Y”YÑ¥&¨¡)¤)¨Q¡,Ò.Ð.Ð.Ð.Ý�!‰9Œ9•V˜A‘Y”YÑ¥&¨¡)¤)Ò+Ð+Ð+Ð+Ð+Ð+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Ø•Š6ˆ6ˆ6ˆ6ˆ6ˆ6r    Ú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Ø�6Š6‰8Œ8×ÒÑÔ×)Ò)Ñ+Ô+€DÝ�1‰IŒI˜Ò×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$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ÔD€AØ�6Š6‰8Œ8×ÒÑÔ×)Ò)Ñ+Ô+€DÝŒ9�>Š>�6 !™9œ9 tÑ+×4Ò4Ñ6Ô6Ñ7Ô7¸3Ò>Ð>Ð>Ð>Ð>Ð>r    c                  óŒ   — t          dd¬¦  «        } t          | ¦  «        }|j        | fk    rt          |t          ¦  «        sJ ‚dS )zŒCheck 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Ý�A‰YŒY€FØŒ;˜1˜$ÒÐ¥:¨fµgÑ#>Ô#>ÐÐÐ>ÐÐ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Ý�!‰9Œ9˜Š>ˆ>ˆ>ˆ>Ý�A Ð&Ñ&Ô&€FØŒ;˜1˜$ÒÐ¥:¨fµgÑ#>Ô#>ÐÐÐ>ÐÐ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ÑÔ€ð%ð %ð %ð 	ˆ�g¨j¸8¸*Ð-EÐFÑFÔF€ð
?ð 
?ð 
?ð?ð ?ð ?ð?ð ?ð ?ð ?ð ?r    