§
    OŠtj7  ã                   óN  — 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.dS )é    )Ú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            	      óx  — 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          ¦  «                             ¦   «         ¦  «        k    sJ ‚t          t          ¦  «        j        du sJ ‚d S )Nc                  ó*   — t          t          ¦  «        S ©N)r   r    © ó    úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_trace.pyú<lambda>ztest_Trace.<locals>.<lambda>   s   € �u¥Q™xœ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™lœ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”h¥Ñ&Ô&Ð&Ð&Ð&Ý�%¥™(œ(¥JÑ/Ô/Ð/Ð/Ð/Ý
�:Ð'Ð'Ñ(Ô(Ð(Ý•�Q‘”‰=Œ=˜AÒÐÐÐÝ•˜˜1Ð9Ð9Ð9Ñ:Ô:Ñ;Ô;¸rÒAÐAÐAÐAå•5�‘8”8ÑÔ¥¥g­a¡j¤jÑ 1Ô 1Ò1Ð1Ð1Ð1Ý•U�1‘X”XÑÔ¥%­µ©
¬
Ñ"3Ô"3Ò3Ð3Ð3Ð3Ý•U�1‘X”XÑÔ¥%­¡(¤(Ò*Ð*Ð*Ð*å	�E•!‰HŒH‰€Aõ •˜!‘”ÑÔ Ò"Ð"Ð"Ð"Ý•˜A˜qÑ!Ô!Ñ"Ô" aÒ'Ð'Ð'Ð'Ý•˜1˜a‘”Ñ!Ô! QÒ&Ð&Ð&Ð&Ý•˜1˜a‘”Ñ!Ô! QÒ&Ð&Ð&Ð&Ý•�1�a‘”Ñ!Ô!¥QÒ&Ð&Ð&Ð&Ý�•1‘•Q‘‰<Œ<˜1�U¥1¥Q¡3™ZœZ™<Ò'Ð'Ð'Ð'Ý•”‰:Œ:��q™œÒ!Ð!Ð!Ð!å�5‰>Œ>�D€A€qÝ�q˜!�V Q¨ F¨A°©EÑ2Ô2Ñ3Ô3€AÝ�‰8Œ8Ð2Ò2Ð2Ð2Ð2å
�9Ð*Ð*Ñ+Ô+Ð+å•‰8Œ8Œ<�1ÐÐÐÐå�u•Q‰xŒx‰=Œ=�C¥¥a¡¤§¢¡¤Ñ0Ô0Ò0Ð0Ð0Ð0å•‰8Œ8Ô" dÐ*Ð*Ð*Ð*Ð*Ð*r'   c                  óÌ  — 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   ¦  «                             ¦   «         t          t          ¦  «        t          t          ¦  «        z   k    sJ ‚d S r%   )r   r   r   r   r7   r   r9   r&   r'   r(   Útest_Trace_A_plus_Br@   6   s’   € Ý••Q‘‰<Œ<�5¥™8œ8¥e­A¡h¤hÑ.Ò.Ð.Ð.Ð.Ý••Q‘‰<Œ<Ô�v¥a­™|œ|Ò+Ð+Ð+Ð+Ý••Q‘‰<Œ<×ÒÑÔ¥%­¡(¤(­Uµ1©X¬XÑ"5Ò5Ð5Ð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          |¦  «                             ¦   «         ddt          |¦  «        z  z
  k    sJ ‚d S )N)r*   r+   r!   r!   ÚYr+   éýÿÿÿé   )r   r   r   r   r7   r9   )ÚXrB   Úqs      r(   Útest_Trace_MatAdd_doitrG   <   s‘   € å˜˜˜˜ A™Ñ&Ô&€AÝ�S˜!˜QÑÔ€AÝˆq�!�A‘#�q˜"˜Q™$ÑÔ€AÝ�‰8Œ8Œ<˜1ÒÐÐÐÝ�‰8Œ8�=Š=‰?Œ?˜b 1¥U¨1¡X¤X¡:™oÒ-Ð-Ð-Ð-Ð-Ð-r'   c                  ó   — t          ddgddgg¦  «        } t          | ¦  «                             ¦   «         dk    sJ ‚t          | d¦  «        }t          |¦  «        j        |k    sJ ‚t          |¦  «                             ¦   «         dk    sJ ‚d S )Nr*   r+   r!   r"   r,   é   )r   r   r9   r   r7   ©rE   rF   s     r(   Útest_Trace_MatPow_doitrK   E   s†   € Ý��A�˜˜A˜ÐÑ Ô €AÝ�‰8Œ8�=Š=‰?Œ?˜aÒÐÐÐÝˆq�!‰Œ€AÝ�‰8Œ8Œ<˜1ÒÐÐÐÝ�‰8Œ8�=Š=‰?Œ?˜bÒ Ð Ð Ð Ð Ð r'   c                  óš   — t          ddgddgg¦  «        } t          | ¦  «        t          | ¦  «        z   dt          | ¦  «        z  k    sJ ‚d S )Nr*   r+   r!   r"   )r   r   ©rE   s    r(   Útest_Trace_MutableMatrix_plusrN   M   sN   € å��A�˜˜A˜ÐÑ Ô €AÝ�‰8Œ8•e˜A‘h”hÑ !¥E¨!¡H¤H¡*Ò,Ð,Ð,Ð,Ð,Ð,r'   c                  ó°  — t          ddgddgg¦  «        } t          | d¦  «        }t          |¦  «                             d¬¦  «        j        |k    sJ ‚t          | d| z  ¦  «        }t          |¦  «                             d¬¦  «        j        |k    sJ ‚t          | d| z  ¦  «        }t          |¦  «                             d¬¦  «        j        |k    sJ ‚d S )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Œ8�=Š=˜eˆ=Ñ$Ô$Ô(¨AÒ-Ð-Ð-Ð-Ýˆq�!�A‘#‰Œ€AÝ�‰8Œ8�=Š=˜eˆ=Ñ$Ô$Ô(¨AÒ-Ð-Ð-Ð-Ýˆq�!�A‘#‰Œ€AÝ�‰8Œ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 ‚d S )Nr+   r*   r!   r"   é
   )r   r   r   r   r   rM   s    r(   Útest_trace_constant_factorrT   ]   sh   € å�•1‘‰:Œ:˜�5¥™8œ8™Ò#Ð#Ð#Ð#Ý˜!˜Q˜ ! Q Ð(Ñ)Ô)€AÝ•˜˜1‘”ÑÔ "Ò$Ð$Ð$Ð$Ð$Ð$r'   c                  óH  — t          t          ¦  «                             t          ¦  «        t          t          t          t          f         t          dt
          dz
  f¦  «        k    sJ ‚t          t          d¦  «        ¦  «                             t          ¦  «        dk    sJ ‚d S )Nr   r*   r!   )r   r   Úrewriter   r   r   r
   r&   r'   r(   Útest_trace_rewriterW   d   st   € Ý•‰8Œ8×Ò�CÑ Ô ¥C­­!­Q¨$¬µ!°Q½¸A¹°Ñ$?Ô$?Ò?Ð?Ð?Ð?Ý•�Q‘”‰=Œ=× Ò ¥Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*Ð*r'   c                  óÊ  — t          t          t          z  ¦  «        t          t          t          z  ¦  «        k    sJ ‚t          t          t          z  ¦  «                             ¦   «         t          t          t          z  ¦  «        k    sJ ‚t          t          t          j        z  ¦  «                             ¦   «         t          t          t          j        z  ¦  «        k    sJ ‚d S r%   )r   r   r   Ú
_normalizer5   r&   r'   r(   Útest_trace_normalizerZ   i   s“   € Ý••1‘‰:Œ:��q¥™s™œÒ#Ð#Ð#Ð#Ý••1‘‰:Œ:× Ò Ñ"Ô"¥e­A­a©C¡j¤jÒ0Ð0Ð0Ð0Ý••1”3‘‰<Œ<×"Ò"Ñ$Ô$­­aµ´©e©¬Ò4Ð4Ð4Ð4Ð4Ð4r'   c                  ó:  — t          t          d„ ¦  «         t          ddd¦  «        } t          | ¦  «                             ¦   «         | d         | d         z   | d         z   k    sJ ‚t          t          d¦  «        ¦  «                             ¦   «         dk    sJ ‚d S )Nc                  óN   — t          t          ¦  «                             ¦   «         S r%   )r   r   Úas_explicitr&   r'   r(   r)   z(test_trace_as_explicit.<locals>.<lambda>p   s   € �u¥Q™xœx×3Ò3Ñ5Ô5€ r'   rE   r!   )r   r   )r*   r*   )r+   r+   )r   Ú
ValueErrorr   r   r]   r
   rM   s    r(   Útest_trace_as_explicitr_   o   s�   € Ý
�:Ð5Ð5Ñ6Ô6Ð6å�S˜!˜QÑÔ€AÝ�‰8Œ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Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð ð €GˆC˜ÐÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€ð +ð  +ð  +ðD6ð 6ð 6ð.ð .ð .ð!ð !ð !ð-ð -ð -ð.ð .ð .ð%ð %ð %ð+ð +ð +ð
5ð 5ð 5ð,ð ,ð ,ð ,ð ,r'   