§
    OŠtj/  ã                   ó´  — d dl 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 d dlmZ d dlmZ 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 d dlmZ d dlm Z  d dl!m"Z"m#Z#  edd¬¦  «        \  Z$Z%Z&Z' edd¬¦  «        \  Z(Z) ede$e%¦  «        Z* ede%e&¦  «        Z+ ede%e&¦  «        Z, ede&e'¦  «        Z- ede&e&¦  «        Z. ede&e&¦  «        Z/ ede&e&¦  «        Z0 ede&e&¦  «        Z1 eddd¦  «        Z2 eddd¦  «        Z3 eddd¦  «        Z4 eddd¦  «        Z5d „ Z6d!„ Z7d"„ Z8d#„ Z9d$„ Z:d%„ Z;d&„ Z<d'„ Z=d(„ Z>d)„ Z?e"d*„ ¦   «         Z@d+„ ZAd,„ ZBd-„ ZCd.„ ZDd/S )0é    )ÚSum)ÚsymbolsÚSymbolÚDummy)Úsqrt)ÚKroneckerDelta)Úeye)ÚBlockMatrix)ÚHadamardPower)ÚMatrixSymbolÚ
MatrixExprÚMatrixElement)ÚMatPow)Ú
ZeroMatrixÚIdentityÚ	OneMatrix)ÚTraceÚtrace)ÚImmutableMatrix)ÚArrayTensorProduct)ÚXFAILÚraisesúk l m nT)Úintegerúi jÚWÚXÚYÚZÚX1ÚX2ÚX3ÚX4ÚAé   ÚBÚxé   c                  óv   ‡ — t           d         Š t          ˆ fd„ddt           j        fD ¦   «         ¦  «        sJ ‚d S )N)r(   r%   c              3   ó:   •K  — | ]}|t          ‰¦  «        v V — Œd S ©N)Ústr)Ú.0ÚsÚx12s     €úl/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_indexing.pyú	<genexpr>z)test_symbolic_indexing.<locals>.<genexpr>'   s-   øè è € Ð9Ð9 ˆq•C˜‘H”Hˆ}Ð9Ð9Ð9Ð9Ð9Ð9ó    Ú1Ú2)r   ÚallÚname)r/   s   @r0   Útest_symbolic_indexingr7   %   sD   ø€ Ý
ˆDŒ'€CÝÐ9Ð9Ð9Ð9 s¨Cµ´Ð&8Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9r2   c                  ó¶   — t           t          z   t          t          f         t           t          t          f         t          t          t          f         z   k    sJ ‚d S r+   )r   r   ÚiÚj© r2   r0   Útest_add_indexr<   ,   s:   € Ý•‰E•1•a�4Œ=�A�a¥˜dœG¥a­­1¨¤gÑ-Ò-Ð-Ð-Ð-Ð-Ð-r2   c                  ó  — t           t          z  d         t           d         t          d         z  t           d         t          d         z  z   k    sJ ‚t           t          z                       ¦   «         t                                ¦   «         t                               ¦   «         z  k    sJ ‚t	          dt
          t          ¦  «        } t	          dt          t          ¦  «        }| |z  d         }t          | dt          f         |t          df         z  t          d	t          d
z
  f¦  «        }|j
        d	                              |j
        d	         t          ¦  «        sJ ‚|j
        d
         d
d …         |j
        d
         d
d …         k    sJ ‚d S )N©r   r   ©r   r(   ©r(   r   r   r   )é   r%   rA   r%   r   r(   )r$   Úyr&   Ú
as_mutabler   ÚnÚmÚkr   r9   ÚargsÚdummy_eq)r   r   ÚresultÚexpecteds       r0   Útest_mul_indexrK   0   s)  € Ý�a‰C�Œ;�!˜Dœ'¥! D¤'™/­A¨d¬GµA°d´G©OÑ;Ò;Ð;Ð;Ð;Ý�a‰C×ÒÑÔ¥!§,¢,¡.¤.µ1·<²<±>´>Ñ"AÒBÐBÐBÐBÝ�S�!�QÑÔ€AÝ�S�!�QÑÔ€Aà�‰c�3ŒZ€FÝ�1�Q��T”7˜1�Q ˜Tœ7‘?¥Q¨­1¨q©5 MÑ2Ô2€HØŒ;�qŒ>×"Ò" 8¤=°Ô#3µQÑ7Ô7Ð7Ð7Ð7ØŒ;�qŒ>˜!˜"˜"Ô ¤¨qÔ!1°!°"°"Ô!5Ò5Ð5Ð5Ð5Ð5Ð5r2   c            
      óˆ  — t          t          d¦  «        } | d         t          d         dz  t          d         t          d         z  z   k    sJ ‚t          d¦  «        }t          |z  }|d         dt          t          d         t          d         z   dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   ¦  «         dz  t          d         dz  z   t          d         dz  z   |z  z  t          d         z  t          d         z  t          t          d         dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   t          d         dz  z   ¦  «        t          d         z   t          d         z
  t          t          d         dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   t          d         dz  z   ¦  «        z  z  dt          t          d         t          d         z   dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   ¦  «        dz  t          d         dz  z   t          d         dz  z   |z  z  t          d         z  t          d         z  t          t          d         dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   t          d         dz  z   ¦  «         t          d         z   t          d         z
  t          t          d         dz  dt          d         z  t          d         z  z
  dt          d         z  t          d         z  z   t          d         dz  z   ¦  «        z  z  z
  k    sJ ‚d S )Nr%   r>   r?   r@   rD   ©r(   r(   rA   )r   r$   r   r   )ÚQrD   ÚQ2s      r0   Útest_pow_indexrP   <   sV  € Ý�q�!‰Œ€AØˆTŒ7•a˜”g˜q‘j¥1 T¤7­1¨T¬7¡?Ñ2Ò2Ð2Ð2Ð2Ý�‰Œ€AÝ	
ˆA‰€BØˆdŒ8�qÝ•1�T”7�Q˜tœWÑ$ qÑ(¨1­Q¨t¬W©9µQ°t´WÑ+<Ñ<Ø�a�Œg‰I•a˜”gÑññ ô ð Ø ñ!Ý#$ T¤7¨1¡9ñ-Ý/0°¬w°q©yñ9àññ õ 	
ˆ$Œñ	õ �$”ñ	õ
 •!�D”'˜1‘*˜q¥ 4¤™y­¨4¬Ñ0Ñ0°1µQ°t´W±9½Q¸t¼WÑ3DÑDÝ�D”'˜1‘*ññ ô Ý ! $¤ñ(Ý*+¨D¬'ñ2å•�4”˜!‘˜a¥ $¤™i­¨$¬Ñ/Ñ/°!µA°d´G±)½A¸d¼GÑ2CÑCÅaÈÄgÈqÁjÑPÑQÔQñRñ
ð Ý•!�D”'�A˜dœGÑ# aÑ'¨!­A¨d¬G©)µA°d´GÑ*;Ñ;Ø�a�Œg‰I•a˜”gÑññ ô Ø ñ!Ý#$ T¤7¨1¡9ñ-Ý/0°¬w°q©yñ9àññ õ �Œwñõ ˜”wñõ •1�T”7˜A‘: ¥! D¤'¡	­!¨D¬'Ñ 1Ñ1°Aµa¸´g±I½aÀ¼gÑ4EÑEÝˆdŒG�Q‰Jññ ô ð Ý˜Dœ'ñ"Ý$% d¤Gñ,å•�4”˜!‘˜a¥ $¤™i­¨$¬Ñ/Ñ/°!µA°d´G±)½A¸d¼GÑ2CÑCÅaÈÄgÈqÁjÑPÑQÔQñRñ	
ñ
ò 
ð 
ð 
ð 
ð 
ð 
r2   c                  ó|   — t           j        t          t          f         t           t          t          f         k    sJ ‚d S r+   )r   ÚTr9   r:   r;   r2   r0   Útest_transpose_indexrS   S   s+   € ÝŒ3�q•!ˆtŒ9��!�Q˜$œÒÐÐÐÐÐr2   c                  ó2  ‡ — t          d¦  «        Š ‰ d         ‰ d         cxk    r‰ d         cxk    rdk    sn J ‚‰ d         ‰ d         cxk    r‰ d         cxk    rd	k    sn J ‚‰ t          d	f         j        d
k    sJ ‚t          t          ˆ fd„¦  «         d S )Né   r>   rM   )r%   r%   r(   r@   r?   )r%   r(   r   )r   r%   c                  ó   •— ‰ d         S )N©rU   rU   r;   ©ÚIs   €r0   ú<lambda>z%test_Identity_index.<locals>.<lambda>\   s   ø€ ˜q œw€ r2   )r   r9   Údelta_ranger   Ú
IndexErrorrX   s   @r0   Útest_Identity_indexr]   W   sÄ   ø€ Ý�‰Œ€AØˆTŒ7�a˜”gÐ-Ð-Ò-Ð-  4¤Ð-Ð-Ò-Ð-¨AÒ-Ð-Ð-Ð-Ð-Ð-ØˆTŒ7�a˜”gÐ-Ð-Ò-Ð-  4¤Ð-Ð-Ò-Ð-¨AÒ-Ð-Ð-Ð-Ð-Ð-Ø�Q�ˆTŒ7Ô &Ò(Ð(Ð(Ð(Ý
�:����Ñ'Ô'Ð'Ð'Ð'r2   c                  ó�  — t          d¦  «        } t          dd¦  «        }t          | | g| | gg¦  «        }t          t	          d¦  «        ¦  «        }t          ||g||gg¦  «        }|d         |d         cxk    r |d         cxk    r|d         cxk    rdk    sn J ‚|d         |d         cxk    rd	k    sn J ‚t          ||g||gg¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚t          | |g|| gg¦  «        }|                     ¦   «                              t	          d
¦  «        ¦  «        sJ ‚d S )NrU   r>   )rU   r   )r   rU   rW   r(   )rA   rU   )é   r(   r   é   )r   r   r
   r   r	   Úas_explicitÚequals)rY   r   r&   Úe3ÚBBÚBIs         r0   Útest_block_indexrf   _   sh  € Ý�‰Œ€AÝ�1�aÑÔ€AÝ�a˜�V˜a ˜VÐ$Ñ%Ô%€AÝ	�˜Q™œÑ	 Ô	 €BÝ	�r˜2�h  R Ð)Ñ	*Ô	*€BØˆTŒ7�a˜”gÐ8Ð8Ò8Ð8  4¤Ð8Ð8Ò8Ð8¨A¨d¬GÐ8Ð8Ò8Ð8°qÒ8Ð8Ð8Ð8Ð8Ð8ØˆTŒ7�a˜”gÐ"Ð"Ò"Ð" Ò"Ð"Ð"Ð"Ð"Ð"å	�r˜2�h  R Ð)Ñ	*Ô	*€BØ�=Š=‰?Œ?˜bŸnšnÑ.Ô.Ò.Ð.Ð.Ð.å	�q˜!�f˜q !˜fÐ%Ñ	&Ô	&€Bà�>Š>ÑÔ×"Ò"¥3 q¡6¤6Ñ*Ô*Ð*Ð*Ð*Ð*Ð*r2   c                  óv  — t          dt          t          ¦  «        } t          dt          t          ¦  «        }t          dt          t          ¦  «        }t          dt          t          ¦  «        }t          | |g||gg¦  «        }|d         t          |dd¦  «        k    sJ ‚|t          dz
  t          dz
  f         | t          dz
  t          dz
  f         k    sJ ‚|t          t          f         |d         k    sJ ‚|t          t          z   dz
  df         t          |t          t          z   dz
  d¦  «        k    sJ ‚|dt          t          z   dz
  f         t          |dt          t          z   dz
  ¦  «        k    sJ ‚|t          t          z   dz
  t          t          z   dz
  f         t          |t          t          z   dz
  t          t          z   dz
  ¦  «        k    sJ ‚|t          t          f         t          |t          t          ¦  «        k    sJ ‚|t          t          z   t          t          z   f         t          |t          t          z   t          t          z   ¦  «        k    sJ ‚|t          t          z
  dz
  t          t          z
  dz
  f         t          |t          t          z
  dz
  t          t          z
  dz
  ¦  «        k    sJ ‚d S )NÚA1ÚA2ÚA3ÚA4r>   r   r(   )	r   rD   rF   ÚlrE   r
   r   r9   r:   )rh   ri   rj   rk   r$   s        r0   Útest_block_index_symbolicrm   p   s*  € õ 
�d�A�qÑ	!Ô	!€BÝ	�d�A�qÑ	!Ô	!€BÝ	�d�A�qÑ	!Ô	!€BÝ	�d�A�qÑ	!Ô	!€BÝ�b˜"�X  B˜xÐ(Ñ)Ô)€AØˆTŒ7•m A q¨!Ñ,Ô,Ò,Ð,Ð,Ð,Ø�Q�‰U•A˜‘Eˆ\Œ?˜b¥ Q¡­¨A© Ô.Ò.Ð.Ð.Ð.Ø�Q•ˆTŒ7�b˜”hÒÐÐÐØ�Q•‰U�Q‰Y˜ˆ\Œ?�m¨A­qµ1©u°q©y¸!Ñ<Ô<Ò<Ð<Ð<Ð<ØˆQ••A‘˜‘	ˆ\Œ?�m¨A¨qµ!µa±%¸!±)Ñ<Ô<Ò<Ð<Ð<Ð<Ø�Q•‰U�Q‰Y��A™ ™	Ð!Ô"¥m°Aµq½1±u¸q±yÅ!ÅaÁ%È!Á)Ñ&LÔ&LÒLÐLÐLÐLØ�Q•ˆTŒ7•m A¥q­!Ñ,Ô,Ò,Ð,Ð,Ð,Ø�Q•‰U•A�‘Eˆ\Œ?�m¨A­qµ1©uµa½!±eÑ<Ô<Ò<Ð<Ð<Ð<Ø�Q•‰U�Q‰Y��A™ ™	Ð!Ô"¥m°Aµq½1±u¸q±yÅ!ÅaÁ%È!Á)Ñ&LÔ&LÒLÐLÐLÐLÐLÐLr2   c                  ó&  — t          ddd¬¦  «        \  } }}}t          ddd¬¦  «        \  }}t          d|| ¦  «        }t          d||¦  «        }t          d|| ¦  «        }t          d	||¦  «        }	t          ||g||	gg¦  «        }
|
d
         |d
         k    sJ ‚|
||z   dz
  df         ||dz
  df         k    sJ ‚|
d| |z   dz
  f         |d|dz
  f         k    sJ ‚|
||z   dz
  | |z   dz
  f         |	|dz
  |dz
  f         k    sJ ‚|
||f         t          |
||¦  «        k    sJ ‚|
||z   | |z   f         |	||f         k    sJ ‚|
||z
  dz
  | |z
  dz
  f         |||z
  dz
  | |z
  dz
  f         k    sJ ‚|
d|z  d| z  f         |	|| f         k    sJ ‚d S )Nr   T©r   Úpositiver   ©r   Únonnegativerh   ri   rj   rk   r>   r(   r   r%   ©r   r   r
   r   )rF   rl   rE   rD   r9   r:   rh   ri   rj   rk   r$   s              r0   Ú!test_block_index_symbolic_nonzerort   ƒ   s  € õ ˜¨D¸4Ð@Ñ@Ô@�J€A€qˆ!ˆQÝ�5 $°DÐ9Ñ9Ô9�D€A€qÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ�b˜"�X  B˜xÐ(Ñ)Ô)€AØˆTŒ7�b˜”hÒÐÐÐØˆQ�‰U�Q‰Y˜ˆ\Œ?˜b  Q¡¨ œlÒ*Ð*Ð*Ð*ØˆQ��A‘˜‘	ˆ\Œ?˜b  A¨¡E œlÒ*Ð*Ð*Ð*ØˆQ�‰U�Q‰Y˜˜A™ ™	Ð!Ô" b¨¨Q©°°A±¨Ô&6Ò6Ð6Ð6Ð6ØˆQ�ˆTŒ7•m A q¨!Ñ,Ô,Ò,Ð,Ð,Ð,ØˆQ�‰U�A˜‘Eˆ\Œ?˜b  A œhÒ&Ð&Ð&Ð&ØˆQ�‰U�Q‰Y˜˜A™ ™	Ð!Ô" b¨¨Q©°©°A¸±E¸A±IÐ)=Ô&>Ò>Ð>Ð>Ð>ØˆQ�‰U�A˜‘Eˆ\Œ?˜b  A œhÒ&Ð&Ð&Ð&Ð&Ð&r2   c                  ó  — t          ddd¬¦  «        \  } }}t          ddd¬¦  «        }t          d| | ¦  «        }t          d| |¦  «        }t          d| |¦  «        }t          d	|| ¦  «        }t          d
||¦  «        }t          d||¦  «        }	t          d|| ¦  «        }
t          d||¦  «        }t          d||¦  «        }t          |||g|||	g|
||gg¦  «        }|| |z   | |z   f         t          || |z   | |z   ¦  «        k    sJ ‚d S )Nzn m kTro   r9   rq   rh   ri   rj   rk   ÚA5ÚA6ÚA7ÚA8ÚA9rs   )rD   rE   rF   r9   rh   ri   rj   rk   rv   rw   rx   ry   rz   r$   s                 r0   Útest_block_index_larger{   —   s*  € Ý�g t°dÐ;Ñ;Ô;�G€A€qˆ!Ý�˜T¨tÐ4Ñ4Ô4€AÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ	�d˜A˜qÑ	!Ô	!€BÝ�b˜"˜b�\ B¨¨B <°"°b¸"°Ð>Ñ?Ô?€AØˆQ�‰U�A˜‘Eˆ\Œ?�m¨A¨q°1©u°a¸!±eÑ<Ô<Ò<Ð<Ð<Ð<Ð<Ð<r2   c                  óÎ   — t          dt          d¦  «        } t          dt          d¦  «        }t          | g|gg¦  «        }|dt          z  df         |t          df         k    sJ ‚d S )Nrh   r(   ri   r%   r   )r   rD   rE   r
   )rh   ri   r$   s      r0   Útest_block_index_symbolic_failr}   §   sf   € õ
 
�d�A˜qÑ	!Ô	!€BÝ	�d�A˜qÑ	!Ô	!€BÝ�b�T˜B˜4�LÑ!Ô!€AØˆQ•‰U�AˆXŒ;˜"�Q ˜Tœ(Ò"Ð"Ð"Ð"Ð"Ð"r2   c                  óL   — t                                ¦   «         dd d …f          d S )Nr   )r$   ra   r;   r2   r0   Útest_slicingr   ²   s#   € Ý‡M‚M�O„O�A�q�q�q�DÔÐÐÐr2   c                  ó^   — t          t          d„ ¦  «         t          t          d„ ¦  «         d S )Nc                  ó,   — t          d¦  «        d         S ©Nr%   )r(   r%   rU   rA   r_   ©r   r;   r2   r0   rZ   ztest_errors.<locals>.<lambda>·   s   € �x¨™{œ{¨=Ô9€ r2   c                  ó0   — t          d¦  «        g d¢         S r‚   rƒ   r;   r2   r0   rZ   ztest_errors.<locals>.<lambda>¸   s   € �x¨™{œ{¨?¨?¨?Ô;€ r2   )r   r\   r;   r2   r0   Útest_errorsr…   ¶   s0   € Ý
�:Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð;Ð;Ñ<Ô<Ð<Ð<Ð<r2   c                  óÆ  — t          d¦  «        \  } }t          d¦  «        \  }}}d„ }t          t          z  t          z  } ||                     | |¦  «        ¦  «        t          t          | |f         t          ||f         z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        k    sJ ‚t          j	        |                     | |¦  «        ¦  «        |k    sJ ‚t          j
        t          j
        z  t          j
        z  } ||                     | |¦  «        ¦  «        t          t          ||f         t          ||f         z  t          || f         z  |dt          dz
  f|dt          dz
  f¦  «        k    sJ ‚t          j	        |                     | |¦  «        | ¦  «        |k    sJ ‚t          t          z  t          z  t          t          z  t          z  z   } ||                     | |¦  «        ¦  «        t          t          | |f         t          ||f         z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        t          t          | |f         t          ||f         z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        z   k    sJ ‚t          j	        |                     | |¦  «        ¦  «        |k    sJ ‚dt          z  t          z  t          z  dt          z  t          z  t          z  z   } ||                     | |¦  «        ¦  «        dt          t          | |f         t          ||f         z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        z  dt          t          | |f         t          ||f         z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        z  z   k    sJ ‚t          j	        |                     | |¦  «        ¦  «        |k    sJ ‚t          t          t          z   z  t          z  } ||                     | |¦  «        ¦  «        t          t          | |f         t          ||f         t          ||f         z   z  t          ||f         z  |dt          dz
  f|dt          dz
  f¦  «        k    sJ ‚t          j	        |                     | |¦  «        ¦  «        |k    sJ ‚t          t          dz  z  t          z  }t          t          z  t          t          z  z   t           z  } ||                     | |¦  «        ¦  «        t          t          t          | |f         t          ||f         z  |dt          dz
  f¦  «        t          t          ||f         t          | |f         z  |dt          dz
  f¦  «        z   t           ||f         z  |dt          dz
  f¦  «        k    sJ ‚d S )Nzi, jzi_1:4c                 ót   — d„ |                       t          ¦  «        D ¦   «         }|                      |¦  «        S )Nc                 ó8   — i | ]}|t          |j        ¦  «        “ŒS r;   )r   r6   )r-   r9   s     r0   ú
<dictcomp>zNtest_matrix_expression_to_indices.<locals>.replace_dummies.<locals>.<dictcomp>À   s"   € Ð=Ð=Ð= a�•6˜!œ&‘>”>Ð=Ð=Ð=r2   )Úatomsr   Úxreplace)ÚexprÚrepls     r0   Úreplace_dummiesz:test_matrix_expression_to_indices.<locals>.replace_dummies¿   s3   € Ø=Ð=¨4¯:ª:µeÑ+<Ô+<Ð=Ñ=Ô=ˆØ�}Š}˜TÑ"Ô"Ð"r2   r   r(   r%   rU   )r   r   r   r   Ú_entryr   rl   rE   r   Úfrom_index_summationrR   r   r$   r&   r    r!   r"   )r9   r:   Úi1Úi2Úi3rŽ   rŒ   s          r0   Ú!test_matrix_expression_to_indicesr”   »   st  € Ý�6‰?Œ?�D€A€qÝ˜Ñ!Ô!�J€BˆˆBð#ð #ð #õ �Q‰3�q‰5€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ý�Aˆa�ˆeŒH•Q�r˜2�v”YÑ�q  Q œxÑ'¨"¨aµ°1±¨¸¸A½qÀ¹s°|ÑDÔDòEð Eð Eð EåÔ*¨4¯;ª;°q¸!Ñ+<Ô+<Ñ=Ô=ÀÒEÐEÐEÐEåŒ3�qŒs‰7•1”3‰;€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ý�Aˆa�ˆeŒH•Q�r˜2�v”YÑ�q  Q œxÑ'¨"¨aµ°1±¨¸¸A½qÀ¹s°|ÑDÔDòEð Eð Eð EåÔ*¨4¯;ª;°q¸!Ñ+<Ô+<¸aÑ@Ô@ÀDÒHÐHÐHÐHå�Q‰3�q‰5•1•Q‘3•q‘5‰=€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ý�Aˆa�ˆeŒH•Q�r˜2�v”YÑ�q  Q œxÑ'¨"¨aµ°1±¨¸¸A½qÀ¹s°|ÑDÔDÝ�Aˆa�ˆeŒH•Q�r˜2�v”YÑ�q  Q œxÑ'¨"¨aµ°1±¨¸¸A½qÀ¹s°|ÑDÔDñ	EòEð Eð Eð Eõ Ô*¨4¯;ª;°q¸!Ñ+<Ô+<Ñ=Ô=ÀÒEÐEÐEÐEà�Q‰3�q‰5•‰7�Q•q‘S�‘U�1‘WÑ€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ø	�#�a��2�Œh•q˜˜R˜”yÑ ¥ 2 q 5¤Ñ)¨B°µ1°Q±3¨<¸"¸aÅÀ1Á¸Ñ
FÔ
FÑFØ	�#�a��2�Œh•q˜˜R˜”yÑ ¥ 2 q 5¤Ñ)¨B°µ1°Q±3¨<¸"¸aÅÀ1Á¸Ñ
FÔ
FÑFñ	GòGð Gð Gð Gõ Ô*¨4¯;ª;°q¸!Ñ+<Ô+<Ñ=Ô=ÀÒEÐEÐEÐEå�a•!‰e‰9•Q‰;€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ý•�!�R�%”�!˜B ˜Fœ)¥a¨¨B¨¤iÑ/Ñ0µ°2°q°5´Ñ9¸BÀÅ1ÀQÁ3¸<È"ÈaÕQRÐSTÑQTÈÑVÔVòWð Wð Wð WåÔ*¨4¯;ª;°q¸!Ñ+<Ô+<Ñ=Ô=ÀÒEÐEÐEÐEå�Q�‰T‰6•!‰8€Dõ
 �r‰E•B•r‘E‰M�2Ñ€DØˆ?˜4Ÿ;š; q¨!Ñ,Ô,Ñ-Ô-Ý••B�q˜"�u”I¥ 2 r 6¤
Ñ*¨R°µA¸±E¨NÑ;Ô;½cÅ"ÀRÈÀVÄ*ÍrÐRSÐUWÐRWÌyÑBXÐ[]Ð_`ÕbcÐfgÑbgÐZhÑ>iÔ>iÑiÕmoØ�1ˆuônñ Ø˜A�q 1™u�~ñ'ô 'ò'ð 'ð 'ð 'ð 'ð 'r2   c            
      ót  ‡‡— ddl mŠm} m}m} t          dt          t          ¦  «        }t          dt          t          ¦  «        }t          dt          t          ¦  «        }t          dt          d¦  «        }t          dt          ¬	¦  «        \  }}}	}
}t          t          ‰| f         t          | |f         z  t          ||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        t          t          z  t          z  k    sJ ‚t          t          j        | ‰f         t          | |f         z  t          ||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        t          t          z  t          z  k    sJ ‚t          || ‰f         || |f         z  |||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        |j        |z  |z  k    sJ ‚t          || ‰f         ||| f         z  |||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        |j        |j        z  |z  k    sJ ‚t          |||f         || ‰f         z  ||| f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        |j        |j        z  |z  k    sJ ‚t          |‰| f         |‰| f         z   ‰dt          dz
  f| dt          dz
  f¦  «        Št          j        ‰‰¦  «        t%          dt          ¦  «        |z  t%          t          d¦  «        z  t%          dt          ¦  «        |z  t%          t          d¦  «        z  z   k    sJ ‚t          |‰| f         d
z  ‰dt          dz
  f| dt          dz
  f¦  «        Št          j        ‰‰¦  «        t'          ||j        z  ¦  «        k    sJ ‚t          |‰| f         dz  ‰dt          dz
  f| dt          dz
  f¦  «        Št          j        ‰‰¦  «        t'          t)          |j        d
¦  «        |z  ¦  «        k    sJ ‚t          |‰| f         |‰| f         z   || |f         z  | dt          dz
  f¦  «        Št          j        ‰‰¦  «        ||z   |z  k    sJ ‚t          |‰| f         || ‰f         z   || |f         z  | dt          dz
  f¦  «        Št          j        ‰‰¦  «        ||j        z   |z  k    sJ ‚t          |‰| f         || |f         z  |||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        |dz  k    sJ ‚t          |‰| f         || |f         z  |||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        |d
z  |z  k    sJ ‚t          |‰‰f         ‰dt          dz
  f¦  «        Št          j        ‰d ¦  «        t+          |¦  «        k    sJ ‚t          |‰‰f         || |f         z  |||f         z  ‰dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰| ¦  «        t+          |¦  «        |z  |z  k    sJ ‚t          t          ‰| f         t          | |f         z  t          ||f         z  | dt          dz
  f|dt          f¦  «        Št-          t.          ˆˆfd„¦  «         t          t          ‰| f         t          | |f         z  t          ||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št-          t.          ˆˆfd„¦  «         t          |‰| f         t          || |f         |||f         z  |dt          dz
  f¦  «        z  | dt          dz
  f¦  «        Št          j        ‰‰¦  «        ||z  |z  k    sJ ‚t          |‰| f         t1          | |¦  «        z  |||f         z  | dt          dz
  f|dt          dz
  f¦  «        Št          j        ‰‰¦  «        ||z  k    sJ ‚t          t1          |t          ¦  «        t1          |	t2          ¦  «        z  |t4          |f         z  |t6          |	f         z  |dt          dz
  f|	dt          dz
  f¦  «        Št          j        ‰t          ¦  «        t9          |j        |¦  «        k    sJ ‚t          |||	f         ||	df         z  |	dt          dz
  f¦  «        Št          j        ‰|¦  «        t;          ||z  |d¦  «        k    sJ ‚t          |||	f         ||	df         z  |	dt          dz
  f¦  «        Št          j        ‰|¦  «        t;          ||z  |d¦  «        k    sJ ‚d S )Nr   )ÚaÚbÚcÚdr$   r&   ÚCÚw1r(   zi0:5)Úclsr%   rU   c                  ó.   •— t          j        ‰‰ ¦  «        S r+   ©r   r�   ©r–   rŒ   s   €€r0   rZ   z=test_matrix_expression_from_index_summation.<locals>.<lambda>  ó   ø€ �zÔ>¸tÀQÑGÔG€ r2   c                  ó.   •— t          j        ‰‰ ¦  «        S r+   rž   rŸ   s   €€r0   rZ   z=test_matrix_expression_from_index_summation.<locals>.<lambda>  r    r2   )Ú	sympy.abcr–   r—   r˜   r™   r   rF   r   r   r   r   r   r   rl   rE   r   r�   rR   r   r   r   r   r   Ú
ValueErrorr   rD   r9   r:   r   r   )r—   r˜   r™   r$   r&   rš   r›   Úi0r‘   r’   r“   Úi4r–   rŒ   s               @@r0   Ú+test_matrix_expression_from_index_summationr¦   é   sZ	  øø€ Ø!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ý�S�!�QÑÔ€AÝ�S�!�QÑÔ€AÝ�S�!�QÑÔ€AÝ	�d�A˜qÑ	!Ô	!€Bå  ­UÐ3Ñ3Ô3Ñ€BˆˆB��Bå�q��1�Œv•a˜˜!˜”f‰}�Q˜q ˜sœVÑ# a¨­A¨a©C [°1°a½¸1¹°+Ñ>Ô>€DÝÔ*¨4°Ñ3Ô3µq½±s½1±uÒ<Ð<Ð<Ð<Ý�qŒs�1�Q�3Œx�˜!˜A˜#œ‰�q  1 œvÑ%¨¨1­a°©c {°Q¸½1¸Q¹3°KÑ@Ô@€DÝÔ*¨4°Ñ3Ô3µq½±s½1±uÒ<Ð<Ð<Ð<Ýˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ,¨T°1Ñ5Ô5¸¼¸Q¹¸q¹Ò@Ð@Ð@Ð@Ýˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ,¨T°1Ñ5Ô5¸¼¸Q¼S¹À¹ÒBÐBÐBÐBÝˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ,¨T°1Ñ5Ô5¸¼¸Q¼S¹À¹ÒBÐBÐBÐBÝˆq��A�Œw˜˜1˜a˜4œÑ  1 a­¨1© +°°1µa¸±c¨{Ñ;Ô;€DÝÔ*¨4°Ñ3Ô3µyÀÅA±´ÀqÑ7HÍÕSTÐVWÉÌÑ7XÕ[dÐefÕhiÑ[jÔ[jÐklÑ[lÕmvÕwxÐz{Ñm|Ôm|Ñ[|Ñ7|Ò|Ð|Ð|Ð|Ýˆq��A�Œw˜‰z˜A˜q¥! a¡%˜=¨1¨aµ°Q±¨-Ñ8Ô8€DÝÔ*¨4°Ñ3Ô3µu¸QÀÄ¹W±~´~ÒEÐEÐEÐEÝˆq��A�Œw˜‰z˜A˜q¥! a¡%˜=¨1¨aµ°Q±¨-Ñ8Ô8€DÝÔ*¨4°Ñ3Ô3µu½]È1Ì3ÐPQÑ=RÔ=RÐUVÑ=VÑ7WÔ7WÒWÐWÐWÐWÝ��!�Q�$”˜!˜A˜q˜Dœ'Ñ! 1 Q¨ T¤7Ñ*¨Q°µ1°Q±3¨KÑ8Ô8€DÝÔ*¨4°Ñ3Ô3¸¸!¹¸Q±wÒ>Ð>Ð>Ð>Ý��!�Q�$”˜!˜A˜q˜Dœ'Ñ! 1 Q¨ T¤7Ñ*¨Q°µ1°Q±3¨KÑ8Ô8€DÝÔ*¨4°Ñ3Ô3¸¸!¼#¹¸q±yÒ@Ð@Ð@Ð@Ýˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ*¨4°Ñ3Ô3°q¸!±tÒ;Ð;Ð;Ð;Ýˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ*¨4°Ñ3Ô3°q¸!±t¸A±vÒ=Ð=Ð=Ð=õ ˆq��A�Œw˜˜A�q ™s˜Ñ$Ô$€DÝÔ*¨4°Ñ6Ô6½%À¹(¼(ÒBÐBÐBÐBÝˆq��A�Œw�q˜˜A˜”w‰˜q  A œwÑ&¨¨A­q°©s¨°a¸½A¸a¹C°[ÑAÔA€DÝÔ*¨4°Ñ3Ô3µu¸Q±x´xÀ±zÀ!±|ÒCÐCÐCÐCõ
 �q��1�Œv•a˜˜!˜”f‰}�Q˜q ˜sœVÑ# a¨­A¨a©C [°1°a½°)Ñ<Ô<€DÝ
�:ÐGÐGÐGÐGÐGÑHÔHÐHå�q��1�Œv•a˜˜!˜”f‰}�Q˜q ˜sœVÑ# a¨­A¨a©C [°1°a½¸1¹°+Ñ>Ô>€DÝ
�:ÐGÐGÐGÐGÐGÑHÔHÐHõ ˆq��A�Œw•s˜1˜Q ˜Tœ7 1 Q¨ T¤7™?¨Q°µ1°Q±3¨KÑ8Ô8Ñ8¸1¸aÅÀ1Á¸+ÑFÔF€DÝÔ*¨4°Ñ3Ô3°q¸±s¸1±uÒ<Ð<Ð<Ð<õ ˆq��A�Œw•~ a¨Ñ+Ô+Ñ+¨A¨a°¨d¬GÑ3°a¸½A¸a¹C°[À1ÀaÍÈ1ÉÀ+ÑNÔN€DÝÔ*¨4°Ñ3Ô3°q¸±sÒ:Ð:Ð:Ð:å�~˜b¥!Ñ$Ô$¥^°B½Ñ%:Ô%:Ñ:¸1½QÀ¸U¼8ÑCÀAÅaÈÀeÄHÑLÈrÐSTÕVWÐXYÑVYÈlÐ]_ÐabÕdeÐfgÑdgÐ\hÑiÔi€DÝÔ*¨4µÑ3Ô3Õ7IÈ!Ì#ÈqÑ7QÔ7QÒQÐQÐQÐQõ ˆq��R�Œy˜˜B ˜EœÑ" R¨­A¨a©C LÑ1Ô1€DÝÔ*¨4°Ñ4Ô4½ÀaÈÁdÈBÐPQÑ8RÔ8RÒRÐRÐRÐRåˆq��R�Œy˜˜2˜q˜5œÑ! B¨­1¨Q©3 <Ñ0Ô0€DÝÔ*¨4°Ñ4Ô4½ÀaÈÁcÈ2ÈqÑ8QÔ8QÒQÐQÐQÐQÐQÐQr2   N)EÚsympy.concrete.summationsr   Úsympy.core.symbolr   r   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.special.tensor_functionsr   Úsympy.matrices.denser	   Ú&sympy.matrices.expressions.blockmatrixr
   Ú#sympy.matrices.expressions.hadamardr   Ú"sympy.matrices.expressions.matexprr   r   r   Ú!sympy.matrices.expressions.matpowr   Ú"sympy.matrices.expressions.specialr   r   r   Ú sympy.matrices.expressions.tracer   r   Úsympy.matrices.immutabler   Ú0sympy.tensor.array.expressions.array_expressionsr   Úsympy.testing.pytestr   r   rF   rl   rE   rD   r9   r:   r   r   r   r   r    r!   r"   r#   r$   r&   r'   rB   r7   r<   rK   rP   rS   r]   rf   rm   rt   r{   r}   r   r…   r”   r¦   r;   r2   r0   ú<module>rµ      sv  ðØ )Ð )Ð )Ð )Ð )Ð )Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø CÐ CÐ CÐ CÐ CÐ CØ $Ð $Ð $Ð $Ð $Ð $Ø >Ð >Ð >Ð >Ð >Ð >Ø =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð à 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø OÐ OÐ OÐ OÐ OÐ OØ .Ð .Ð .Ð .Ð .Ð .Ð .Ð .àˆW�Y¨Ð-Ñ-Ô-�
€€1€aˆØ€wˆu˜dÐ#Ñ#Ô#�€€1à€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€à€\�$˜˜1ÑÔ€Ø€\�$˜˜1ÑÔ€Ø€\�$˜˜1ÑÔ€Ø€\�$˜˜1ÑÔ€à€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€ð:ð :ð :ð.ð .ð .ð	6ð 	6ð 	6ð
ð 
ð 
ð. ð  ð  ð(ð (ð (ð+ð +ð +ð"Mð Mð Mð&'ð 'ð 'ð(=ð =ð =ð  ð#ð #ñ „ð#ðð ð ð=ð =ð =ð
+'ð +'ð +'ð\BRð BRð BRð BRð BRr2   