Ë
    7^(h7  ã                   ó4  — d dl mZmZmZ d dlmZ d dlmZmZm	Z	 d dl
mZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlm Z   ed	d
¬«      Z! ede!e!«      Z" ede!e!«      Z# eddd«      Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.y)é    )ÚLambdaÚSÚsymbols)ÚSum)ÚadjointÚ	conjugateÚ	transpose)ÚeyeÚMatrixÚ
ShapeErrorÚImmutableMatrix)ÚAdjointÚIdentityÚFunctionMatrixÚ
MatrixExprÚMatrixSymbolÚTraceÚ
ZeroMatrixÚtraceÚMatPowÚMatAddÚMatMul)Ú	OneMatrix)Úraises)ÚiÚnT)ÚintegerÚAÚBÚCé   é   c            	      óÈ  — t        t        t        «      t        «      sJ ‚t        t        t        «      t        «      rJ ‚t	        t
        d„ «       t        t        d«      «      dk(  sJ ‚t        t        ddg d¢«      «      dk(  sJ ‚t        t        t        «      «      t        t        t        «      «      k(  sJ ‚t        t        t        «      «      t        t        t        «      «      k(  sJ ‚t        t        t        «      «      t        t        «      k(  sJ ‚t        t        t        «      z  } t        t        d«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        t         t         «      «      t         k(  sJ ‚t        dt        z  t"        z  «      dt        t        t"        z  «      z  k(  sJ ‚t        t        j$                  «      t        t        «      k(  sJ ‚t'        d	«      \  }}t)        ddt+        ||f||z   «      «      }t        |«      d
k(  sJ ‚t	        t,        d„ «       t        t        «      j.                  t        u sJ ‚t1        t        t        «      «      t1        t        t        «      j3                  «       «      k(  sJ ‚t        t        «      j4                  du sJ ‚y )Nc                  ó    — t        t        «      S ©N)r   r    © ó    úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_trace.pyú<lambda>ztest_Trace.<locals>.<lambda>   s
   € œu¤Q›x€ r'   r!   )	é   é   r!   r"   é   é   é   é   é	   é   r,   r   r*   r+   zi jr-   c                  ó4   — t        t        j                  «      S r%   )r   r   ÚOner&   r'   r(   r)   ztest_Trace.<locals>.<lambda>.   s   € œe¤A§E¡E›l€ r'   T)Ú
isinstancer   r   r   r   r   r   r
   r   r   r   r   r	   r   r   r   r   r   ÚTr   r   r   Ú	TypeErrorÚargÚstrÚdoitÚis_commutative)Ú_r   ÚjÚFs       r(   Ú
test_Tracer>      s)  € Ü”eœA“h¤Ô&Ð&Ð&Üœ%¤›(¤JÔ/Ð/Ð/Ü
Œ:Ñ'Ô(Ü”�Q“‹=˜AÒÐÐÜ”˜˜1Ò9Ó:Ó;¸rÒAÐAÐAä”5œ“8Ó¤¤g¬a£jÓ 1Ò1Ð1Ð1Ü”Uœ1“XÓ¤%¬´«
Ó"3Ò3Ð3Ð3Ü”Uœ1“XÓ¤%¬£(Ò*Ð*Ð*ä	ŒE”!‹H‰€Aô ”˜!“Ó Ò"Ð"Ð"Ü”˜A˜qÓ!Ó" aÒ'Ð'Ð'Ü”˜1˜a“Ó! QÒ&Ð&Ð&Ü”˜1˜a“Ó! QÒ&Ð&Ð&Ü”œ1œa“Ó!¤QÒ&Ð&Ð&Ü�”1‘”Q‘‹<˜1œU¤1¤Q¡3›Z™<Ò'Ð'Ð'Ü”—‘‹:œœq›Ò!Ð!Ð!ä�5‹>�D€A€qÜ�q˜!œV Q¨ F¨A°©EÓ2Ó3€AÜ�‹8Ð2Ò2Ð2Ð2ä
Œ9Ñ*Ô+ä”‹8�<‰<œ1ÑÐÐäŒu”Q‹x‹=œC¤¤a£§¡£Ó0Ò0Ð0Ð0ä”‹8×"Ñ" dÑ*Ð*Ñ*r'   c                  ón  — t        t        t        z   «      t        t        «      t        t        «      z   k(  sJ ‚t        t        t        z   «      j                  t        t        t        «      k(  sJ ‚t        t        t        z   «      j                  «       t        t        «      t        t        «      z   k(  sJ ‚y r%   )r   r   r   r   r7   r   r9   r&   r'   r(   Útest_Trace_A_plus_Br@   6   ss   € Ü””Q‘‹<œ5¤›8¤e¬A£hÑ.Ò.Ð.Ð.Ü””Q‘‹<×Ñœv¤a¬›|Ò+Ð+Ð+Ü””Q‘‹<×ÑÓ¤%¬£(¬U´1«XÑ"5Ò5Ð5Ñ5r'   c                  óö   — t        g d¢gdz  «      } t        ddd«      }t        | d| z  |d|z  «      }t        |«      j                  |k(  sJ ‚t        |«      j                  «       ddt        |«      z  z
  k(  sJ ‚y )N)r*   r+   r!   r!   ÚYr+   éýÿÿÿé   )r   r   r   r   r7   r9   )ÚXrB   Úqs      r(   Útest_Trace_MatAdd_doitrG   <   sr   € äš˜ A™Ó&€AÜ�S˜!˜QÓ€AÜˆq�!�A‘#�q˜"˜Q™$Ó€AÜ�‹8�<‰<˜1ÒÐÐÜ�‹8�=‰=‹?˜b 1¤U¨1£X¡:™oÒ-Ð-Ñ-r'   c                  óê   — t        ddgddgg«      } t        | «      j                  «       dk(  sJ ‚t        | d«      }t        |«      j                  |k(  sJ ‚t        |«      j                  «       dk(  sJ ‚y )Nr*   r+   r!   r"   r,   é   )r   r   r9   r   r7   ©rE   rF   s     r(   Útest_Trace_MatPow_doitrK   E   sj   € Ü��A�˜˜A˜ÐÓ €AÜ�‹8�=‰=‹?˜aÒÐÐÜˆq�!‹€AÜ�‹8�<‰<˜1ÒÐÐÜ�‹8�=‰=‹?˜bÒ Ð Ñ r'   c                  óv   — t        ddgddgg«      } t        | «      t        | «      z   dt        | «      z  k(  sJ ‚y )Nr*   r+   r!   r"   )r   r   ©rE   s    r(   Útest_Trace_MutableMatrix_plusrN   M   s<   € ä��A�˜˜A˜ÐÓ €AÜ�‹8”e˜A“hÑ !¤E¨!£H¡*Ò,Ð,Ñ,r'   c                  óv  — t        ddgddgg«      } t        | d«      }t        |«      j                  d¬«      j                  |k(  sJ ‚t        | d| z  «      }t        |«      j                  d¬«      j                  |k(  sJ ‚t        | d| z  «      }t        |«      j                  d¬«      j                  |k(  sJ ‚y )Nr*   r+   r!   r"   F)Údeep)r   r   r   r9   r7   r   r   rJ   s     r(   Útest_Trace_doit_deep_FalserQ   S   s«   € Ü��A�˜˜A˜ÐÓ €AÜˆq�!‹€AÜ�‹8�=‰=˜eˆ=Ó$×(Ñ(¨AÒ-Ð-Ð-Üˆq�!�A‘#‹€AÜ�‹8�=‰=˜eˆ=Ó$×(Ñ(¨AÒ-Ð-Ð-Üˆq�!�A‘#‹€AÜ�‹8�=‰=˜eˆ=Ó$×(Ñ(¨AÒ-Ð-Ñ-r'   c                  ó¨   — t        dt        z  «      dt        t        «      z  k(  sJ ‚t        ddgddgg«      } t        t	        d| «      «      dk(  sJ ‚y )Nr+   r*   r!   r"   é
   )r   r   r   r   r   rM   s    r(   Útest_trace_constant_factorrT   ]   sP   € ä�”1‘‹:˜œ5¤›8™Ò#Ð#Ð#Ü˜!˜Q˜ ! Q Ð(Ó)€AÜ”˜˜1“Ó "Ò$Ð$Ñ$r'   c                  óü   — t        t        «      j                  t        «      t        t        t        t        f   t        dt
        dz
  f«      k(  sJ ‚t        t        d«      «      j                  t        «      dk(  sJ ‚y )Nr   r*   r!   )r   r   Úrewriter   r   r   r
   r&   r'   r(   Útest_trace_rewriterW   d   sY   € Ü”‹8×ÑœCÓ ¤C¬¬!¬Q¨$©´!°Q¼¸A¹°Ó$?Ò?Ð?Ð?Ü”�Q“‹=× Ñ ¤Ó%¨Ò*Ð*Ñ*r'   c                  ó~  — t        t        t        z  «      t        t        t        z  «      k7  sJ ‚t        t        t        z  «      j                  «       t        t        t        z  «      k(  sJ ‚t        t        t        j                  z  «      j                  «       t        t        t        j                  z  «      k(  sJ ‚y r%   )r   r   r   Ú
_normalizer5   r&   r'   r(   Útest_trace_normalizerZ   i   sv   € Ü””1‘‹:œœq¤™s›Ò#Ð#Ð#Ü””1‘‹:× Ñ Ó"¤e¬A¬a©C£jÒ0Ð0Ð0Ü””1—3‘3‘‹<×"Ñ"Ó$¬¬a´·±©e«Ò4Ð4Ñ4r'   c                  óè   — t        t        d„ «       t        ddd«      } t        | «      j	                  «       | d   | d   z   | d   z   k(  sJ ‚t        t        d«      «      j	                  «       dk(  sJ ‚y )Nc                  ó<   — t        t        «      j                  «       S r%   )r   r   Úas_explicitr&   r'   r(   r)   z(test_trace_as_explicit.<locals>.<lambda>p   s   € œu¤Q›x×3Ñ3Ó5€ r'   rE   r!   )r   r   )r*   r*   )r+   r+   )r   Ú
ValueErrorr   r   r]   r
   rM   s    r(   Útest_trace_as_explicitr_   o   sk   € Ü
Œ:Ñ5Ô6ä�S˜!˜QÓ€AÜ�‹8×ÑÓ! Q t¡W¨q°©wÑ%6¸¸4¹Ñ%@Ò@Ð@Ð@Ü”�Q“‹=×$Ñ$Ó&¨!Ò+Ð+Ñ+r'   N)/Ú
sympy.corer   r   r   Úsympy.concreter   Úsympy.functionsr   r   r	   Úsympy.matricesr
   r   r   r   Úsympy.matrices.expressionsr   r   r   r   r   r   r   r   r   r   r   Ú"sympy.matrices.expressions.specialr   Úsympy.testing.pytestr   Ú	sympy.abcr   r   r   r   r    r>   r@   rG   rK   rN   rQ   rT   rW   rZ   r_   r&   r'   r(   ú<module>rh      s¤   ðß )Ñ )Ý ß 9Ñ 9ß CÓ C÷÷ ÷ ñ õ 9Ý 'Ý ñ ˆC˜Ô€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€ò +òD6ò.ò!ò-ò.ò%ò+ò
5ó,r'   