§
    OŠtj9  ã                   ó¢  — d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZ d dlmZ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 d dlmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z% d dl&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dlm.Z.  edege dgg¦  «        Z/ eddgddgg¦  «        Z0 edgegg¦  «        Z1 G d„ de¦  «        Z2 G d„ de¦  «        Z3 G d„ de¦  «        Z4 G d„ de¦  «        Z5 e2d¦  «        Z6 e3d¦  «        Z7 e4d ¦  «        Z8 e5d!¦  «        Z9e7 ee1¦  «        f ee7¦  «        e1fe6e1f ee6¦  «         ee1¦  «        fe8e/f ee8¦  «         ee/¦  «        f ee6e7¦  «        e1e1j:        z  f ee8e9¦  «         ee/e0¦  «        fe8dz  e/dz  fe8e9z  de8z  z   e/e0z  de/z  z   f ee8e9¦  «        e/e0z  e0e/z  z
  f ee8e9¦  «        e/e0z  e0e/z  z   f ee7e6¦  «        e1j:        e1z  d          fgZ;d"„ Z<d#„ Z= ed$¦  «        Z>d%„ Z?d&„ Z@ ed'd(d)gi¬*¦  «        ZAd+„ ZBd,„ ZC e'd-¦  «        ZD e)d-¦  «        ZE e(d.¦  «        ZFd/„ ZGd0„ ZHd1„ ZId2S )3é    )ÚFloatÚIÚInteger)ÚMatrix)Úimport_module)Úskip)ÚDagger)Ú	representÚrep_innerproductÚrep_expectationÚenumerate_states)ÚBraÚKet)ÚOperatorÚOuterProduct)ÚTensorProduct)Úmatrix_tensor_product)Ú
Commutator)ÚAntiCommutator)ÚInnerProduct)Únumpy_ndarrayÚscipy_sparse_matrixÚto_numpyÚto_scipy_sparseÚto_sympy)ÚXKetÚXOpÚXBra)Úqapply)Úoperators_to_state)Úraisesé   é   é   é   c                   ó0   — e Zd Zed„ ¦   «         Zd„ Zd„ ZdS )ÚAKetc                 ó   — t           S ©N)ÚABra©Úselfs    úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_represent.pyÚ
dual_classzAKet.dual_class   ó   € åˆó    c                 ó   —  | j         di |¤ŽS ©Nr)   ©Ú_represent_AOp©r,   Úoptionss     r-   Ú_represent_default_basiszAKet._represent_default_basis#   ó   € Ø"ˆtÔ"Ð3Ð3¨7Ð3Ð3Ð3r0   c                 ó   — t           S r)   )ÚAvec©r,   Úbasisr6   s      r-   r4   zAKet._represent_AOp&   ó   € Ýˆr0   N)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr.   r7   r4   © r0   r-   r'   r'      sK   € € € € € àðð ñ „[ðð4ð 4ð 4ðð ð ð ð r0   r'   c                   ó$   — e Zd Zed„ ¦   «         ZdS )r*   c                 ó   — t           S r)   )r'   r+   s    r-   r.   zABra.dual_class,   r/   r0   N)r>   r?   r@   rA   r.   rB   r0   r-   r*   r*   *   s-   € € € € € àðð ñ „[ðð ð r0   r*   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚAOpc                 ó   —  | j         di |¤ŽS r2   r3   r5   s     r-   r7   zAOp._represent_default_basis3   r8   r0   c                 ó   — t           S r)   )ÚAmatr;   s      r-   r4   zAOp._represent_AOp6   r=   r0   N©r>   r?   r@   r7   r4   rB   r0   r-   rF   rF   1   ó2   € € € € € ð4ð 4ð 4ðð ð ð ð r0   rF   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚBOpc                 ó   —  | j         di |¤ŽS r2   r3   r5   s     r-   r7   zBOp._represent_default_basis<   r8   r0   c                 ó   — t           S r)   )ÚBmatr;   s      r-   r4   zBOp._represent_AOp?   r=   r0   NrJ   rB   r0   r-   rM   rM   :   rK   r0   rM   ÚaÚAÚBc                  óŽ   — t           D ]<} t          | d         t          d¬¦  «        }t          | d         ¦  «        }||k    sJ ‚Œ=d S )Nr   Úsympy©r<   Úformatr"   )Ú_testsr
   rR   r   ©ÚtestÚlhsÚrhss      r-   Útest_format_sympyr]   c   sS   € Ýð ð ˆÝ˜˜Qœ¥q°Ð9Ñ9Ô9ˆÝ�t˜A”wÑÔˆØ�cŠzˆzˆzˆzˆzðð r0   c                  ó  — t          t          d¦  «        ¦  «        t          d¦  «        k    sJ ‚t          t          d¦  «        ¦  «        t          d¦  «        k    sJ ‚t          dt          z   ¦  «        dt          z   k    sJ ‚d S )Nr"   ç      ð?)r
   r   r   r   rB   r0   r-   Útest_scalar_sympyr`   j   ss   € Ý•W˜Q‘Z”ZÑ Ô ¥G¨A¡J¤JÒ.Ð.Ð.Ð.Ý•U˜3‘Z”ZÑ Ô ¥E¨#¡J¤JÒ.Ð.Ð.Ð.Ý�S�1‘WÑÔ ¥q¡Ò(Ð(Ð(Ð(Ð(Ð(r0   Únumpyc                  ó  — t           st          d¦  «         t          D ]l} t          | d         t          d¬¦  «        }t          | d         ¦  «        }t          |t          ¦  «        r||k                         ¦   «         sJ ‚Œd||k    sJ ‚Œmd S )Núnumpy not installed.r   ra   rV   r"   )	Únpr   rX   r
   rR   r   Ú
isinstancer   ÚallrY   s      r-   Útest_format_numpyrg   s   s›   € Ýð %ÝÐ#Ñ$Ô$Ð$åð ð ˆÝ˜˜Qœ¥q°Ð9Ñ9Ô9ˆÝ�t˜A”wÑÔˆÝ�c�=Ñ)Ô)ð 	Ø˜3’J×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%à˜#’:�:�:�:�:ðð r0   c                  ó   — t           st          d¦  «         t          t          d¦  «        d¬¦  «        dk    sJ ‚t          t	          d¦  «        d¬¦  «        dk    sJ ‚t          dt
          z   d¬¦  «        dk    sJ ‚d S )Nrc   r"   ra   ©rW   r_   ù      ð?      ð?)rd   r   r
   r   r   r   rB   r0   r-   Útest_scalar_numpyrk   €   s‰   € Ýð %ÝÐ#Ñ$Ô$Ð$å•W˜Q‘Z”Z¨Ð0Ñ0Ô0°AÒ5Ð5Ð5Ð5Ý•U˜3‘Z”Z¨Ð0Ñ0Ô0°CÒ7Ð7Ð7Ð7Ý�S�1‘W WÐ-Ñ-Ô-°Ò;Ð;Ð;Ð;Ð;Ð;r0   ÚscipyÚfromlistÚsparse)Úimport_kwargsc                  ó†  — t           st          d¦  «         t          st          d¦  «         t          D ]Œ} t	          | d         t
          d¬¦  «        }t          | d         ¦  «        }t          |t          ¦  «        r;t           j	         
                    ||z
                       ¦   «         ¦  «        dk    sJ ‚Œ„||k    sJ ‚Œ�d S )Nrc   úscipy not installed.r   úscipy.sparserV   r"   g        )rd   r   rl   rX   r
   rR   r   re   r   ÚlinalgÚnormÚtodenserY   s      r-   Útest_format_scipy_sparserv   Œ   sÆ   € Ýð %ÝÐ#Ñ$Ô$Ð$Ýð %ÝÐ#Ñ$Ô$Ð$åð ð ˆÝ˜˜Qœ¥q°Ð@Ñ@Ô@ˆÝ˜d 1œgÑ&Ô&ˆÝ�cÕ.Ñ/Ô/ð 	Ý”9—>’> 3¨¡9×"5Ò"5Ñ"7Ô"7Ñ8Ô8¸CÒ?Ð?Ð?Ð?Ð?à˜#’:�:�:�:�:ðð r0   c                  ó,  — t           st          d¦  «         t          st          d¦  «         t          t	          d¦  «        d¬¦  «        dk    sJ ‚t          t          d¦  «        d¬¦  «        dk    sJ ‚t          dt          z   d¬¦  «        dk    sJ ‚d S )Nrc   rq   r"   rr   ri   r_   rj   )rd   r   rl   r
   r   r   r   rB   r0   r-   Útest_scalar_scipy_sparserx   ›   s    € Ýð %ÝÐ#Ñ$Ô$Ð$Ýð %ÝÐ#Ñ$Ô$Ð$å•W˜Q‘Z”Z¨Ð7Ñ7Ô7¸1Ò<Ð<Ð<Ð<Ý•U˜3‘Z”Z¨Ð7Ñ7Ô7¸3Ò>Ð>Ð>Ð>Ý�S�1‘W ^Ð4Ñ4Ô4¸
ÒBÐBÐBÐBÐBÐBr0   ÚxÚXc                  ób  — t          t          ¦  «        t          t          d¦  «        t          ¦  «                             ¦   «         k    sJ ‚t          t
          ¦  «        t          t
          t          d¦  «        ¦  «                             ¦   «         k    sJ ‚t          t          d„ ¦  «         d S )NÚx_1c                  ó*   — t          t          ¦  «        S r)   )r   Úx_oprB   r0   r-   ú<lambda>z*test_innerprod_represent.<locals>.<lambda>­   s   € Õ.­tÑ4Ô4€ r0   )	r   Úx_ketr   r   ÚdoitÚx_brar   r!   Ú	TypeErrorrB   r0   r-   Útest_innerprod_representr„   ª   s†   € Ý�EÑ"Ô"¥lµ4¸±;´;ÅÑ&FÔ&F×&KÒ&KÑ&MÔ&MÒMÐMÐMÐMÝ�EÑ"Ô"¥lµ5½$¸u¹+¼+Ñ&FÔ&F×&KÒ&KÑ&MÔ&MÒMÐMÐMÐMÝ
�9Ð4Ð4Ñ5Ô5Ð5Ð5Ð5r0   c                  óÒ   — t          t          t          ¦  «        dd¦  «        } t          t          ¦  «        t	          | d         j        t          z  | d         z  ¦  «        k    sJ ‚d S )Nr"   r#   r   )r   r    r~   r   r   Údual)Ú
basis_ketss    r-   Útest_operator_representrˆ   °   sj   € Ý!Õ"4µTÑ":Ô":¸A¸qÑAÔA€JÝÝñô Ý˜
 1œÔ*­4Ñ/°
¸1´Ñ=Ñ>Ô>ò?ð ?ð ?ð ?ð ?ð ?r0   c                  óò   — t          d¦  «        } t          | dd¦  «        t          d¦  «        gk    sJ ‚t          | g d¢¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gk    sJ ‚d S )NÚfoor"   Úfoo_1)r"   r#   r%   Úfoo_2Úfoo_4)r   r   )rZ   s    r-   Útest_enumerate_statesrŽ   ¶   sˆ   € Ý�‰;Œ;€DÝ˜D ! QÑ'Ô'­D°©M¬M¨?Ò:Ð:Ð:Ð:ÝØˆiˆiˆiñô Ý! '™]œ]­D°©M¬M½4À¹=¼=ÐIòJð Jð Jð Jð Jð Jr0   N)JÚsympy.core.numbersr   r   r   Úsympy.matrices.denser   Úsympy.externalr   Úsympy.testing.pytestr   Úsympy.physics.quantum.daggerr	   Úsympy.physics.quantum.representr
   r   r   r   Úsympy.physics.quantum.stater   r   Úsympy.physics.quantum.operatorr   r   Ú#sympy.physics.quantum.tensorproductr   r   Ú sympy.physics.quantum.commutatorr   Ú$sympy.physics.quantum.anticommutatorr   Ú"sympy.physics.quantum.innerproductr   Ú!sympy.physics.quantum.matrixutilsr   r   r   r   r   Úsympy.physics.quantum.cartesianr   r   r   Úsympy.physics.quantum.qapplyr   Ú!sympy.physics.quantum.operatorsetr    r!   rI   rP   r:   r'   r*   rF   rM   ÚkÚbrR   rS   ÚHrX   r]   r`   rd   rg   rk   rl   rv   rx   r€   r‚   r~   r„   rˆ   rŽ   rB   r0   r-   ú<module>r¢      s:  ðØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (Ø %Ð %Ð %Ð %Ð %Ð %à /Ð /Ð /Ð /Ð /Ð /ðPð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pà 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ =Ð =Ð =Ð =Ð =Ð =Ø EÐ EÐ EÐ EÐ EÐ EØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð <Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø /Ð /Ð /Ð /Ð /Ð /Ø @Ð @Ð @Ð @Ð @Ð @Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à€v��1ˆv˜˜˜A�wÐÑ Ô €Ø€v��1ˆv˜˜1�vÐÑÔ€Ø€v�ˆs�Q�CˆjÑÔ€ð
ð 
ð 
ð 
ð 
ˆ3ñ 
ô 
ð 
ðð ð ð ð ˆ3ñ ô ð ðð ð ð ð ˆ(ñ ô ð ðð ð ð ð ˆ(ñ ô ð ð 	€Dˆ�I„I€Ø€Dˆ�I„I€Ø€Cˆ�H„H€Ø€Cˆ�H„H€ð ˆˆˆt‰ŒÐØ€VˆA�Y„Y�Ðàˆ€IØ€VˆA�Y„Y���t‘”Ðàˆ€IØ€VˆA�Y„Y���t‘”Ðà€\�!�QÑÔ˜˜dœf™Ð%à€]�1�aÑÔÐ/Ð/°°dÑ;Ô;Ð<àˆ�Tˆ4�‰7€Oà€q�Sˆ1ˆQ‰3�Y��T‘	˜A˜d™FÑ"Ð#à€Z��1ÑÔ�t˜D‘y 4¨¡9Ñ,Ð-à€^�A�qÑÔ˜4 ™9 t¨D¡yÑ0Ð1à€\�!�QÑÔ˜$œ& ™+ qÔ)Ð*ð/
€ð6ð ð ð)ð )ð )ð €]�7ÑÔ€ð
ð 
ð 
ð<ð <ð <ð 	ˆ�g¨j¸8¸*Ð-EÐFÑFÔF€ðð ð ðCð Cð Cð 	ˆˆS‰	Œ	€ØˆˆS‰	Œ	€Ø
€sˆ3�x„x€ð6ð 6ð 6ð?ð ?ð ?ðJð Jð Jð Jð Jr0   