Ë
    7^(há   ã                   ó~  — d dl mZmZmZ d dl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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&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-  G d„ de«      Z. G d„ de«      Z/ e.«       Z0 e/«       Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d„ Z9d„ Z:y) é    )Ú
DerivativeÚFunctionÚdiff)ÚMul)ÚIntegerÚpi)ÚSymbolÚsymbols)Úsympify)Úsin)ÚQExpr)ÚDagger)ÚHilbertSpace)ÚOperatorÚUnitaryOperatorÚHermitianOperatorÚOuterProductÚDifferentialOperatorÚIdentityOperator)ÚKetÚBraÚWavefunction)Úqapply)Ú	represent)ÚJzKetÚJzBra)ÚTr)Úeye)Úwarns_deprecated_sympyc                   ó   — e Zd Zed„ «       Zy)Ú	CustomKetc                  ó   — y)N)Út© ©Úselfs    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_operator.pyÚdefault_argszCustomKet.default_args   ó   € àó    N©Ú__name__Ú
__module__Ú__qualname__Úclassmethodr(   r$   r*   r'   r!   r!      ó   „ Øñó ñr*   r!   c                   ó   — e Zd Zed„ «       Zy)ÚCustomOpc                  ó   — y)N)ÚTr$   r%   s    r'   r(   zCustomOp.default_args   r)   r*   Nr+   r$   r*   r'   r2   r2      r0   r*   r2   c                  óØ  — t        d«      } t        d«      }t        d«      }t        | t         «      sJ ‚t        | t        «      sJ ‚| j                  t	        d«      fk(  sJ ‚| j
                  du sJ ‚| j                  t        «       k(  sJ ‚| |z  || z  k7  sJ ‚| ||z   z  j                  «       | |z  | |z  z   k(  sJ ‚| |z   dz  j                  «       | dz  | |z  z   || z  z   |dz  z   k(  sJ ‚t        j                  d   t	        t        j                  «       d   «      k(  sJ ‚t        «       t        d«      k(  sJ ‚t        «       5  | t        «       z  | k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NÚAÚBÚCFé   r   ÚO)r   Ú
isinstancer   Úlabelr	   Úis_commutativeÚhilbert_spacer   ÚexpandÚt_opr(   r   r   )r6   r7   r8   s      r'   Útest_operatorrA   '   sh  € Ü�‹€AÜ�‹€AÜ�‹€Aä�aœÔ"Ð"Ð"Ü�aœÔÐÐà�7‰7”v˜c“{�nÒ$Ð$Ð$Ø×Ñ˜uÑ$Ð$Ð$Ø�?‰?œl›nÒ,Ð,Ð,àˆQ‰3�!�A‘#Š:Ðˆ:àˆq�1‰u‰I×ÑÓ 1 Q¡3¨¨1©¡9Ò,Ð,Ð,Ø�‰U�Q‰J×ÑÓ  A q¡D¨1¨Q©3¡J°°1±Ñ$4°q¸!±tÑ$;Ò;Ð;Ð;ä�:‰:�a‰=œF¤4×#4Ñ#4Ó#6°qÑ#9Ó:Ò:Ð:Ð:ä‹:œ #›Ò&Ð&Ð&Ü	Ó	!ñ )ØÔ!Ó#Ñ# qÒ(Ð(Ñ(÷)÷ )ñ )ús   ÅE Å E)c                  óz   — t        d«      } | | j                  «       z  dk(  sJ ‚| j                  «       | z  dk(  sJ ‚y )Nr6   é   )r   Úinv)r6   s    r'   Útest_operator_invrE   ?   s7   € Ü�‹€AØˆQ�U‰U‹W‰9˜Š>Ðˆ>Ø�5‰5‹7�1‰9˜Š>Ð‰>r*   c                  óþ   — t        d«      } t        | t         «      sJ ‚t        | t        «      sJ ‚t        | «      | k(  sJ ‚| j	                  «       | k7  sJ ‚| j
                  du sJ ‚t        | «      j
                  du sJ ‚y )NÚHF)r   r;   r   r   rD   r=   )rG   s    r'   Útest_hermitianrH   E   s{   € Ü˜#Ó€Aä�aÔ*Ô+Ð+Ð+Ü�aœÔ"Ð"Ð"ä�!‹9˜Š>Ðˆ>Ø�5‰5‹7�aŠ<Ðˆ<Ø×Ñ˜uÑ$Ð$Ð$Ü�!‹9×#Ñ# uÑ,Ð,Ñ,r*   c                  ó<  — t        d«      } t        | t         «      sJ ‚t        | t        «      sJ ‚| j                  «       t	        | «      k(  sJ ‚| t	        | «      z  dk(  sJ ‚t	        | «      | z  dk(  sJ ‚| j
                  du sJ ‚t	        | «      j
                  du sJ ‚y )NÚUrC   F)r   r;   r   rD   r   r=   )rJ   s    r'   Útest_unitaryrK   Q   sœ   € Ü˜Ó€Aä�aœÔ)Ð)Ð)Ü�aœÔ"Ð"Ð"à�5‰5‹7”f˜Q“iÒÐÐØŒV�A‹Y‰;˜!ÒÐÐÜ�!‹9�Q‰;˜!ÒÐÐØ×Ñ˜uÑ$Ð$Ð$Ü�!‹9×#Ñ# uÑ,Ð,Ñ,r*   c                  ó´  — t        «       5  t        «       } t        d«      }t        d«      }t	        d«      }t        | t        «      sJ ‚t        | t        «      sJ ‚| |z  |k(  sJ ‚|| z  |k(  sJ ‚| t        |«      z  t        |«      k(  sJ ‚t        |«      | z  t        |«      k(  sJ ‚t        | | z  t        «      sJ ‚|| z  |k(  sJ ‚| |z  |k(  sJ ‚| j                  «       | k(  sJ ‚t        | «      | k(  sJ ‚t        | |z  «      |k(  sJ ‚t        || z  «      |k(  sJ ‚dD ]$  }t        t        |«      «      t        |«      k(  rŒ$J ‚ 	 d d d «       y # 1 sw Y   y xY w)Nr:   Úxé   )r9   rN   é   )r   r   r   r	   r   r;   r   rD   r   r   r   )ÚIr:   rM   ÚthreeÚns        r'   Útest_identityrS   ^   sf  € Ü	Ó	!ñ <ÜÓˆÜ�S‹MˆÜ�3‹KˆÜ˜“
ˆä˜!Ô-Ô.Ð.Ð.Ü˜!œXÔ&Ð&Ð&à�1‰u˜ŠzÐˆzØ�1‰u˜ŠzÐˆzØ”6˜!“9‰}¤ q£	Ò)Ð)Ð)Ü�a‹y˜1‰}¤ q£	Ò)Ð)Ð)Ü˜!˜a™%Ô!1Ô2Ð2Ð2Ø�q‰y˜EÒ!Ð!Ð!Ø�1‰u˜ŠzÐˆzØ�u‰u‹w˜!Š|Ðˆ|Ü�a‹y˜AŠ~Ðˆ~Ü�a˜!‘e‹} Ò!Ð!Ð!Ü�a˜!‘e‹} Ò!Ð!Ð!àò 	<ˆAÜÔ-¨aÓ0Ó1´S¸³VÓ;Ð;Ð;ñ	<÷+<÷ <ñ <ús   ‹D5EÅEÅEc            	      óê  — t        d«      } t        d«      }t        | |«      }t        |t        «      sJ ‚t        |t        «      sJ ‚|j
                  | k(  sJ ‚|j                  |k(  sJ ‚|j                  | |fk(  sJ ‚|j                  du sJ ‚| |z  }t        |t        «      sJ ‚t        |t        «      sJ ‚|j
                  | k(  sJ ‚|j                  |k(  sJ ‚|j                  | |fk(  sJ ‚|j                  du sJ ‚d| z  |z  }|t        t        d«      | |«      k(  sJ ‚d| |z  z  }|t        t        d«      t        | |«      «      k(  sJ ‚t        | |z  «      t        t        |«      t        | «      «      k(  sJ ‚t        | |z  «      j                  du sJ ‚t        t        t        dd«      t        dd«      «      «      j                  «       dk(  sJ ‚t        d| z  |«      dt        | |«      z  k(  sJ ‚t        | d|z  «      dt        | |«      z  k(  sJ ‚t        d«      t        d«      }}t        d«      t        d	«      }}t        ||z   |«      t        ||«      t        ||«      z   k(  sJ ‚t        |||z   «      t        ||«      t        ||«      z   k(  sJ ‚t        d|z  d|z  z   d
|z  d|z  z   «      d
t        ||«      z  dt        ||«      z  z   dt        ||«      z  z   dt        ||«      z  z   k(  sJ ‚y )NÚkÚbFr9   rC   Úk1Úk2Úb1Úb2rN   é   é   é   )r   r   r   r;   r   ÚketÚbrar<   r=   r   r   r   r   r   r   Údoit)rU   rV   ÚoprW   rX   rY   rZ   s          r'   Útest_outer_productrb   x   s  € ÜˆC‹€AÜˆC‹€AÜ	�a˜Ó	€Bä�bœ,Ô'Ð'Ð'Ü�bœ(Ô#Ð#Ð#à�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Ø�8‰8˜˜1�vÒÐÐØ×Ñ Ñ%Ð%Ð%à	
ˆ1‰€Bä�bœ,Ô'Ð'Ð'Ü�bœ(Ô#Ð#Ð#à�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Ø�8‰8˜˜1�vÒÐÐØ×Ñ Ñ%Ð%Ð%à	
ˆ1‰ˆQ‰€Bà””W˜Q“Z  AÓ&Ò&Ð&Ð&à	
ˆAˆa‰C‰€Bà””W˜Q“Z¤¨a°Ó!3Ó4Ò4Ð4Ð4ä�!�A‘#‹;œ,¤v¨a£y´&¸³)Ó<Ò<Ð<Ð<Ü�!�A‘#‹;×%Ñ%¨Ñ.Ð.Ð.ô Œlœ5  A›;¬¨a°«Ó4Ó5×:Ñ:Ó<ÀÒAÐAÐAô ˜˜A™˜qÓ! Q¬°a¸Ó);Ñ%;Ò;Ð;Ð;Ü˜˜1˜q™5Ó! Q¬°a¸Ó);Ñ%;Ò;Ð;Ð;ô �‹Yœ˜D›	ˆ€BÜ�‹Yœ˜D›	ˆ€BÜ˜˜b™ "Ó%Ü˜˜RÓ ¤<°°BÓ#7Ñ7ò8ð 9ð 8ä˜˜R "™WÓ%Ü˜˜RÓ ¤<°°BÓ#7Ñ7ò8ð 9ð 8ä˜˜R™ ! b¡&™¨!¨b©&°1°r±6©/Ó:Ø”˜R Ó$Ñ$Ø”˜R Ó$Ñ$ñ%à”˜R Ó$Ñ$ñ%ð ”˜R Ó$Ñ$ñ%ò%ð &ñ %r*   c                  ó  — t        d«      } t        d«      }t        | |z  «      t        |«      t        | «      z  k(  sJ ‚t        | |z   «      t        | «      t        |«      z   k(  sJ ‚t        | dz  «      t        | «      dz  k(  sJ ‚y )Nr6   r7   r9   )r   r   )r6   r7   s     r'   Útest_operator_daggerrd   ¯   sx   € Ü�‹€AÜ�‹€AÜ�!�A‘#‹;œ& ›)¤F¨1£IÑ-Ò-Ð-Ð-Ü�!�a‘%‹=œF 1›I¬¨q«	Ñ1Ò1Ð1Ð1Ü�!�Q‘$‹<œ6 !›9 a™<Ò'Ð'Ñ'r*   c                  óR  — t        d«      } t        d«      }t        t         || «      | «       || «      «      }t	        | dz  | «      }t        ||z  «      t	        d| z  | «      k(  sJ ‚|j                  t         || «      | «      k(  sJ ‚|j                   || «      k(  sJ ‚|j                  | fk(  sJ ‚t        || «      t        t         || «      | d«       || «      «      k(  sJ ‚t        t         || «      | d«       || «      «      }t	        | dz  | «      }t        ||z  «      t	        d| z  | «      k(  sJ ‚|j                  t         || «      | d«      k(  sJ ‚|j                   || «      k(  sJ ‚|j                  | fk(  sJ ‚t        || «      t        t         || «      | d«       || «      «      k(  sJ ‚t        d| z  t         || «      | «      z   || «      «      }|j                  d| z  t         || «      | «      z  k(  sJ ‚|j                   || «      k(  sJ ‚|j                  | fk(  sJ ‚t        || «      t        t        d| z  t         || «      | «      z  | «       || «      «      k(  sJ ‚t        ||z  «      t	        d| z  | «      k(  sJ ‚t        d«      }t        t         || |«      | d«      t         || |«      |d«      z    || |«      «      }t	        | dz  |dz  z  |dz  | dz  z  z   | |«      }|j                  t         || |«      | d«      t         || |«      |d«      z   k(  sJ ‚|j                   || |«      k(  sJ ‚|j                  | |fk(  sJ ‚t        || «      t        t        |j                  | «       || |«      «      k(  sJ ‚t        ||«      t        t        |j                  |«       || |«      «      k(  sJ ‚t        ||z  «      t	        d| dz  z  d| z  |dz  z  z   d| dz  z  |z  z   d|dz  z  z   | |«      k(  sJ ‚t        d«      \  }}t        d|z  t        |t         |||«      |«      z  |«      z  d|dz  z  t         |||«      |d«      z  z    |||«      «      }t	        |dz  t        |«      z  ||d	t        f«      }|j                  d|z  t        |t         |||«      |«      z  |«      z  d|dz  z  t         |||«      |d«      z  z   k(  sJ ‚|j                   |||«      k(  sJ ‚|j                  ||fk(  sJ ‚t        ||«      t        t        |j                  |«       |||«      «      k(  sJ ‚t        ||«      t        t        |j                  |«       |||«      «      k(  sJ ‚t        ||z  «      t	        dt        |«      z  ||d	t        f«      k(  sJ ‚y )
NrM   Úfr9   rN   r\   rC   Úyzr thr   )r	   r   r   r   r   r   ÚexprÚfunctionÚ	variablesr   r
   r   r   )rM   rf   ÚdÚgrg   ÚwÚrÚths           r'   Útest_differential_operatorrp   ·   s¹  € Üˆs‹€AÜ�‹€AÜœZ©¨!«¨aÓ0±!°A³$Ó7€AÜ�Q˜‘T˜1Ó€AÜ�!�A‘#‹;œ, q¨¡s¨AÓ.Ò.Ð.Ð.Ø�6‰6”Z¡ !£ aÓ(Ò(Ð(Ð(Ø�:‰:™˜1›ÒÐÐØ�;‰;˜1˜$ÒÐÐÜ��1‹:Ô-¬j¹¸1»¸qÀ!Ó.DÁaÈÃdÓKÒKÐKÐKäœZ©¨!«¨a°Ó3±Q°q³TÓ:€AÜ�Q˜‘T˜1Ó€AÜ�!�A‘#‹;œ, q¨¡s¨AÓ.Ò.Ð.Ð.Ø�6‰6”Z¡ !£ a¨Ó+Ò+Ð+Ð+Ø�:‰:™˜1›ÒÐÐØ�;‰;˜1˜$ÒÐÐÜ��1‹:Ô-¬j¹¸1»¸qÀ!Ó.DÁaÈÃdÓKÒKÐKÐKä˜Q˜q™S¤©A¨a«D°!Ó!4Ñ4±a¸³dÓ;€AØ�6‰6�Q�q‘Sœ¡A a£D¨!Ó,Ñ,Ò,Ð,Ð,Ø�:‰:™˜1›ÒÐÐØ�;‰;˜1˜$ÒÐÐÜ��1‹:ÜœZ¨¨!©¬J±q¸³t¸QÓ,?Ñ(?ÀÓCÁQÀqÃTÓJòKð Kð Kä�!�A‘#‹;œ, q¨¡s¨AÓ.Ò.Ð.Ð.ô 	ˆs‹€AÜœZ©¨!¨Q«°°AÓ6Ü'©¨!¨Q«°°AÓ6ñ7Ù89¸!¸Q»ó	A€Aä�Q˜‘T˜!˜Q™$‘Y  A¡ a¨¡d¡Ñ*¨A¨qÓ1€AØ�6‰6”Z¡ ! Q£¨¨AÓ.´¹A¸aÀ»GÀQÈÓ1JÑJÒJÐJÐJØ�:‰:™˜1˜a›Ò Ð Ð Ø�;‰;˜1˜a˜&Ò Ð Ð Ü��1‹:ÜœZ¨¯©°Ó2±A°a¸³GÓ<ò=ð =ð =ä��1‹:ÜœZ¨¯©°Ó2±A°a¸³GÓ<ò=ð =ð =ä�!�A‘#‹;œ, q¨¨A©¡v°°!±°A°q±D±Ñ'8¸1¸QÀ¹T¹6À!¹8Ñ'CÀaÈÈ1ÉÁfÑ'LØ'(¨!ó-ò -ð -ð -ô �F‹O�E€A€rÜ˜Q˜q™S¤¨A¬j¹¸1¸b»À1Ó.EÑ,EÀqÓ!IÑIØ  1¡™X¤j±°1°b³¸2¸qÓ&AÑAñBÙCDÀQÈÃ8ó	M€Aä�Q˜‘Tœ#˜b›'‘\ 1 r¨1¬b kÓ2€AØ�6‰6Ø	ˆ!‰ŒJ�qœ¡A a¨£H¨aÓ0Ñ0°!Ó4Ñ4Ø	ˆ1ˆa‰4‰”™A˜a ›H b¨!Ó,Ñ,ñ	-ò-ð -ð -ð �:‰:™˜1˜b›Ò!Ð!Ð!Ø�;‰;˜1˜b˜'Ò!Ð!Ð!Ü��1‹:ÜœZ¨¯©°Ó2±A°a¸³HÓ=ò>ð >ð >ä��2‹;ÜœZ¨¯©°Ó3±Q°q¸"³XÓ>ò?ð ?ð ?ä�!�A‘#‹;œ, q¬¨R«¡y°!°b¸!¼R°[ÓAÒAÐAÑAr*   c                  óþ  — ddl m}  ddlm} t	        d«      }t        d«      }t        d«      }|dz  |j                  «       k(  sJ ‚|dz  |j                  «       k(  sJ ‚|dz  |j                  «       k(  sJ ‚t        dd	¬
«      } || ||«      sJ ‚||z   | ||«      k(  sJ ‚ | ||«       | ||d¬«      k(  sJ ‚ddl	m
}  |d«      } || ||«      sJ ‚||z   | ||«      k(  sJ ‚ | ||d¬«       | ||«      k(  sJ ‚t        dd	d	¬«      }||z  dk(  sJ ‚t        dd	d	¬«      }||z  |k(  sJ ‚t        dd	¬«      } || ||«      sJ ‚||z   | ||«      k(  sJ ‚ | ||d¬«       | ||«      k(  sJ ‚|dz  dk(  sJ ‚|dz  |k(  sJ ‚y )Nr   )ÚPow)Ú	unchangedr:   rJ   rG   éÿÿÿÿrM   T)ÚcommutativeF)Úevaluate)ÚXGaterR   )ÚintegerÚevenrC   )rx   Úodd)rx   r[   é   )Ú
sympy.corerr   Úsympy.core.exprrs   r   r   r   rD   r
   Úsympy.physics.quantum.gaterw   )	rr   rs   r:   rJ   rG   rM   rw   ÚXrR   s	            r'   Útest_eval_powerr€   ò   sÂ  € ÝÝ)Ü�‹€AÜ˜Ó€AÜ˜#Ó€AØˆb‰5�A—E‘E“GÒÐÐØˆb‰5�A—E‘E“GÒÐÐØˆb‰5�A—E‘E“GÒÐÐÜ� 4Ô(€AÙ�S˜!˜QÔÐÐØˆa‰4‘3�q˜!“9ÒÐÐÙˆq�‹8‘s˜1˜a¨%Ô0Ò0Ð0Ð0Ý0Ùˆa‹€AÙ�S˜!˜QÔÐÐØˆa‰4‘3�q˜!“9ÒÐÐÙˆq�!˜eÔ$©¨A¨q«	Ò1Ð1Ð1Ü�˜T¨Ô-€AØˆa‰4�1Š9Ðˆ9Ü�˜T tÔ,€AØˆa‰4�1Š9Ðˆ9Ü�˜TÔ"€AÙ�S˜!˜QÔÐÐØˆa‰4‘3�q˜!“9ÒÐÐÙˆq�!˜eÔ$¡c¨!¨Q£iÒ/Ð/Ð/Øˆa‰4�1Š9Ðˆ9Øˆa‰4�1Š9Ð‰9r*   N);Úsympy.core.functionr   r   r   Úsympy.core.mulr   Úsympy.core.numbersr   r   Úsympy.core.symbolr	   r
   Úsympy.core.sympifyr   Ú(sympy.functions.elementary.trigonometricr   Úsympy.physics.quantum.qexprr   Úsympy.physics.quantum.daggerr   Úsympy.physics.quantum.hilbertr   Úsympy.physics.quantum.operatorr   r   r   r   r   r   Úsympy.physics.quantum.stater   r   r   Úsympy.physics.quantum.qapplyr   Úsympy.physics.quantum.representr   Úsympy.physics.quantum.spinr   r   Úsympy.physics.quantum.tracer   Úsympy.matricesr   Úsympy.testing.pytestr   r!   r2   Út_ketr@   rA   rE   rH   rK   rS   rb   rd   rp   r€   r$   r*   r'   ú<module>r“      s    ðß <Ñ <Ý ß ,ß /Ý &Ý 8Ý -Ý /Ý 6÷>÷ >÷ ?Ñ >Ý /Ý 5ß 3Ý *Ý å 7ô�ô ôÐ ô ñ
 	‹€Ùƒz€ò)ò0ò	-ò
-ò<ò44&òn(ò8Bóvr*   