§
    ^²Åjð	  ã                   ó  — 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       úXC:\Projects\Historical\venv\Lib\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          ¦   «         }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Ý�!‰9Œ9�Q‰;�& ™)œ) A™+Ò%Ð%Ð%Ð%Ý�!‰9Œ9�Q‰;�q‰=�C¥ q¡	¤	¨1Ñ-Ô-¨aÑ/Ò/Ð/Ð/Ð/Ý�!‰9Œ9•V˜A‘Y”YÑ¥&¨¡)¤)¨Q¡,Ò.Ð.Ð.Ð.Ý�!‰9Œ9•V˜A‘Y”YÑ¥&¨¡)¤)Ò+Ð+Ð+Ð+Ð+Ð+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Ø•Š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_daggerrB   =   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 )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ÔD€AØ�6Š6‰8Œ8×ÒÑÔ×)Ò)Ñ+Ô+€DÝŒ9�>Š>�6 !™9œ9 tÑ+×4Ò4Ñ6Ô6Ñ7Ô7¸3Ò>Ð>Ð>Ð>Ð>Ð>r   c                  óˆ   — t          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   N©r   r   Úargsr   r
   ©r   Úresults     r   Útest_unknownrR   V   sD   € õ
 	�‰Œ€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)ÚevaluateNrN   rP   s     r   Útest_unevaluatedrU   `   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   Ú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ÑÔ€ð%ð %ð %ð 	ˆ�g¨j¸8¸*Ð-EÐFÑFÔF€ð
?ð 
?ð 
?ð?ð ?ð ?ð?ð ?ð ?ð ?ð ?r   