Ë
    7^(h/  ã                   óX  — 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.„ ZDy/)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                  óf   ‡ — t         d   Š t        ˆ fd„ddt         j                  fD «       «      sJ ‚y )N)r(   r%   c              3   ó8   •K  — | ]  }|t        ‰«      v –— Œ y ­w©N)Ústr)Ú.0ÚsÚx12s     €úl/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_indexing.pyú	<genexpr>z)test_symbolic_indexing.<locals>.<genexpr>'   s   øè ø€ Ò9 ˆq”C˜“HŒ}Ñ9ùs   ƒÚ1Ú2)r   ÚallÚname)r/   s   @r0   Útest_symbolic_indexingr6   %   s+   ø€ Ü
ˆD‰'€CÜÓ9 s¨C´·±Ð&8Ô9Ô9Ð9Ñ9ó    c                  óŒ   — t         t        z   t        t        f   t         t        t        f   t        t        t        f   z   k(  sJ ‚y r+   )r   r   ÚiÚj© r7   r0   Útest_add_indexr<   ,   s1   € Ü”‰E”1”a�4‰=œAœa¤˜d™G¤a¬¬1¨¡gÑ-Ò-Ð-Ñ-r7   c                  óz  — t         t        z  d   t         d   t        d   z  t         d   t        d   z  z   k(  sJ ‚t         t        z  j                  «       t         j                  «       t        j                  «       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                  |j                  d	   t        «      sJ ‚|j                  d
   d
d  |j                  d
   d
d  k(  sJ ‚y )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Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€Aà�‰c�3‰Z€FÜ�1�Qœ�T‘7˜1œQ ˜T™7‘?¤Q¨¬1¨q©5 MÓ2€HØ�;‰;�q‰>×"Ñ" 8§=¡=°Ñ#3´QÔ7Ð7Ð7Ø�;‰;�q‰>˜!˜"Ð §¡¨qÑ!1°!°"Ð!5Ò5Ð5Ñ5r7   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 ‚y )Nr%   r>   r?   r@   rD   ©r(   r(   rA   )r   r$   r   r   )ÚQrD   ÚQ2s      r0   Útest_pow_indexrP   <   s&  € ÜŒq�!‹€AØˆT‰7”a˜‘g˜q‘j¤1 T¡7¬1¨T©7¡?Ñ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ñ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ñRñ	
ñ
ò 
ð 
ñ 
r7   c                  ój   — t         j                  t        t        f   t         t        t        f   k(  sJ ‚y r+   )r   ÚTr9   r:   r;   r7   r0   Útest_transpose_indexrS   S   s$   € Ü�3‰3Œq”!ˆt‰9œœ!œQ˜$™ÒÐÑr7   c                  óò   ‡ — t        d«      Š ‰ d   ‰ d   cxk(  r‰ d   cxk(  rdk(  sJ ‚ J ‚‰ d   ‰ d   cxk(  r‰ d   cxk(  rd	k(  sJ ‚ J ‚‰ t        d	f   j                  d
k(  sJ ‚t        t        ˆ fd„«       y )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€ r7   )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×Ñ &Ò(Ð(Ð(Ü
Œ:“Õ'r7   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J ‚ J ‚|d   |d   cxk(  rd	k(  sJ ‚ J ‚t        ||g||gg«      }|j                  «       |j                  «       k(  sJ ‚t        | |g|| gg«      }|j                  «       j                  t	        d
«      «      sJ ‚y )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   _   s  € Ü�‹€AÜ�1�aÓ€AÜ�a˜�V˜a ˜VÐ$Ó%€AÜ	œ˜Q›Ó	 €BÜ	�r˜2�h  R Ð)Ó	*€BØˆT‰7�a˜‘gÔ8  4¡Ô8¨A¨d©GÔ8°qÒ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Ô*Ð*Ñ*r7   c                  ó\  — 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 ‚y )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ØŒ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ÑLr7   c                  óz  — 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 ‚y )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�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Øˆ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Ò&Ð&Ñ&r7   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 ‚y )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€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Ó<Ò<Ð<Ñ<r7   c                  óž   — t        dt        d«      } t        dt        d«      }t        | g|gg«      }|dt        z  df   |t        df   k(  sJ ‚y )Nrh   r(   ri   r%   r   )r   rD   rE   r
   )rh   ri   r$   s      r0   Útest_block_index_symbolic_failr}   §   sT   € ô
 
�dœA˜qÓ	!€BÜ	�dœA˜qÓ	!€BÜ�b�T˜B˜4�LÓ!€AØˆQ”‰U�AˆX‰;˜"œQ ˜T™(Ò"Ð"Ñ"r7   c                  ó:   — t         j                  «       dd d …f    y )Nr   )r$   ra   r;   r7   r0   Útest_slicingr   ²   s   € Ü‡M�MƒO�A’q�DÓr7   c                  óH   — t        t        d„ «       t        t        d„ «       y )Nc                  ó   — t        d«      d   S ©Nr%   )r(   r%   rU   rA   r_   ©r   r;   r7   r0   rZ   ztest_errors.<locals>.<lambda>·   s   € œx¨›{¨=Ñ9€ r7   c                  ó"   — t        d«      g d¢   S r‚   rƒ   r;   r7   r0   rZ   ztest_errors.<locals>.<lambda>¸   s   € œx¨›{ª?Ñ;€ r7   )r   r\   r;   r7   r0   Útest_errorsr…   ¶   s   € Ü
Œ:Ñ9Ô:Ü
Œ:Ñ;Õ<r7   c                  óÄ	  — t        d«      \  } }t        d«      \  }}}d„ }t        t        z  t        z  } ||j	                  | |«      «      t        t        | |f   t        ||f   z  t        ||f   z  |dt        dz
  f|dt        dz
  f«      k(  sJ ‚t        j                  |j	                  | |«      «      |k(  sJ ‚t        j                  t        j                  z  t        j                  z  } ||j	                  | |«      «      t        t        ||f   t        ||f   z  t        || f   z  |dt        dz
  f|dt        dz
  f«      k(  sJ ‚t        j                  |j	                  | |«      | «      |k(  sJ ‚t        t        z  t        z  t        t        z  t        z  z   } ||j	                  | |«      «      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                  |j	                  | |«      «      |k(  sJ ‚dt        z  t        z  t        z  dt        z  t        z  t        z  z   } ||j	                  | |«      «      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                  |j	                  | |«      «      |k(  sJ ‚t        t        t        z   z  t        z  } ||j	                  | |«      «      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                  |j	                  | |«      «      |k(  sJ ‚t        t        dz  z  t        z  }t        t        z  t        t        z  z   t         z  } ||j	                  | |«      «      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 ‚y )Nzi, jzi_1:4c                 óš   — | j                  t        «      D �ci c]  }|t        |j                  «      “Œ }}| j	                  |«      S c c}w r+   )Úatomsr   r   r5   Úxreplace)Úexprr9   Úrepls      r0   Úreplace_dummiesz:test_matrix_expression_to_indices.<locals>.replace_dummies¿   s?   € Ø+/¯:©:´eÓ+<Ö= a�”6˜!Ÿ&™&“>Ñ!Ð=ˆÐ=Ø�}‰}˜TÓ"Ð"ùò >s   ˜A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’   »   sÐ  € Ü�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òEð Eð Eä×*Ñ*¨4¯;©;°q¸!Ó+<Ó=ÀÒEÐEÐEä�3‰3Œq�s‰s‰7”1—3‘3‰;€DÙ˜4Ÿ;™; q¨!Ó,Ó-ÜŒAˆa�ˆe‰H”Q�r˜2�v‘YÑœq  Q ™xÑ'¨"¨a´°1±¨¸¸A¼qÀ¹s°|ÓDòEð Eð Eä×*Ñ*¨4¯;©;°q¸!Ó+<¸aÓ@ÀDÒ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ÜŒAˆa�ˆe‰H”Q�r˜2�v‘YÑœq  Q ™xÑ'¨"¨a´°1±¨¸¸A¼qÀ¹s°|ÓDñ	EòEð Eð Eô ×*Ñ*¨4¯;©;°q¸!Ó+<Ó=ÀÒ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Ø	Œ#Œa��2�‰h”q˜˜R˜‘yÑ ¤ 2 q 5¡Ñ)¨B°´1°Q±3¨<¸"¸aÄÀ1Á¸Ó
FÑFñ	GòGð Gð Gô ×*Ñ*¨4¯;©;°q¸!Ó+<Ó=ÀÒ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òWð Wð Wä×*Ñ*¨4¯;©;°q¸!Ó+<Ó=ÀÒ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ÔmoØ�1ˆuñnñ Ø˜Aœq 1™u�~ó'ò'ð 'ñ 'r7   c            
      óª  ‡‡— 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 ‚y )Nr   )ÚaÚbÚcÚdr$   r&   ÚCÚw1r(   zi0:5)Úclsr%   rU   c                  ó0   •— t        j                  ‰‰ «      S r+   ©r   rŽ   ©r”   rŠ   s   €€r0   rZ   z=test_matrix_expression_from_index_summation.<locals>.<lambda>  ó   ø€ œz×>Ñ>¸tÀQÓG€ r7   c                  ó0   •— t        j                  ‰‰ «      S r+   rœ   r�   s   €€r0   rZ   z=test_matrix_expression_from_index_summation.<locals>.<lambda>  rž   r7   )Ú	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¤   é   sp  ù€ ß!Ó!Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ	�dœA˜qÓ	!€Bä  ¬UÔ3Ñ€BˆˆB��BäŒq��1�‰v”a˜˜!˜‘f‰}œQ˜q ˜s™VÑ# a¨¬A¨a©C [°1°a¼¸1¹°+Ó>€DÜ×*Ñ*¨4°Ó3´q¼±s¼1±uÒ<Ð<Ð<ÜŒq�s‰s�1�Q�3‰xœ˜!˜A˜#™‰œq  1 ™vÑ%¨¨1¬a°©c {°Q¸¼1¸Q¹3°KÓ@€DÜ×*Ñ*¨4°Ó3´q¼±s¼1±uÒ<Ð<Ð<Üˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×,Ñ,¨T°1Ó5¸¿¹¸Q¹¸q¹Ò@Ð@Ð@Üˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×,Ñ,¨T°1Ó5¸¿¹¸Q¿S¹S¹À¹ÒBÐBÐBÜˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×,Ñ,¨T°1Ó5¸¿¹¸Q¿S¹S¹À¹ÒBÐBÐBÜˆq��A�‰w˜˜1˜a˜4™Ñ  1 a¬¨1© +°°1´a¸±c¨{Ó;€DÜ×*Ñ*¨4°Ó3´yÀÄA³ÀqÑ7HÌÔSTÐVWËÑ7XÔ[dÐefÔhiÓ[jÐklÑ[lÔmvÔwxÐz{Óm|Ñ[|Ñ7|Ò|Ð|Ð|Üˆq��A�‰w˜‰z˜A˜q¤! a¡%˜=¨1¨a´°Q±¨-Ó8€DÜ×*Ñ*¨4°Ó3´u¸QÀÇÁ¹W³~ÒEÐEÐEÜˆq��A�‰w˜‰z˜A˜q¤! a¡%˜=¨1¨a´°Q±¨-Ó8€DÜ×*Ñ*¨4°Ó3´u¼]È1Ï3É3ÐPQÓ=RÐUVÑ=VÓ7WÒWÐWÐWÜ��!�Q�$‘˜!˜A˜q˜D™'Ñ! 1 Q¨ T¡7Ñ*¨Q°´1°Q±3¨KÓ8€DÜ×*Ñ*¨4°Ó3¸¸!¹¸Q±wÒ>Ð>Ð>Ü��!�Q�$‘˜!˜A˜q˜D™'Ñ! 1 Q¨ T¡7Ñ*¨Q°´1°Q±3¨KÓ8€DÜ×*Ñ*¨4°Ó3¸¸!¿#¹#¹¸q±yÒ@Ð@Ð@Üˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×*Ñ*¨4°Ó3°q¸!±tÒ;Ð;Ð;Üˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×*Ñ*¨4°Ó3°q¸!±t¸A±vÒ=Ð=Ð=ô ˆq��A�‰w˜˜Aœq ™s˜Ó$€DÜ×*Ñ*¨4°Ó6¼%À»(ÒBÐBÐBÜˆq��A�‰w�q˜˜A˜‘w‰˜q  A ™wÑ&¨¨A¬q°©s¨°a¸¼A¸a¹C°[ÓA€DÜ×*Ñ*¨4°Ó3´u¸Q³xÀ±zÀ!±|ÒCÐCÐCô
 Œq��1�‰v”a˜˜!˜‘f‰}œQ˜q ˜s™VÑ# a¨¬A¨a©C [°1°a¼°)Ó<€DÜ
Œ:ÔGÔHäŒq��1�‰v”a˜˜!˜‘f‰}œQ˜q ˜s™VÑ# a¨¬A¨a©C [°1°a¼¸1¹°+Ó>€DÜ
Œ:ÔGÔHô ˆq��A�‰w”s˜1˜Q ˜T™7 1 Q¨ T¡7™?¨Q°´1°Q±3¨KÓ8Ñ8¸1¸aÄÀ1Á¸+ÓF€DÜ×*Ñ*¨4°Ó3°q¸±s¸1±uÒ<Ð<Ð<ô ˆq��A�‰w”~ a¨Ó+Ñ+¨A¨a°¨d©GÑ3°a¸¼A¸a¹C°[À1ÀaÌÈ1ÉÀ+ÓN€DÜ×*Ñ*¨4°Ó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€DÜ×*Ñ*¨4´Ó3Ô7IÈ!Ï#É#ÈqÓ7QÒQÐQÐQô ˆq��R�‰y˜˜B ˜E™Ñ" R¨¬A¨a©C LÓ1€DÜ×*Ñ*¨4°Ó4¼ÀaÈÁdÈBÐPQÓ8RÒRÐRÐRäˆq��R�‰y˜˜2˜q˜5™Ñ! B¨¬1¨Q©3 <Ó0€DÜ×*Ñ*¨4°Ó4¼ÀaÈÁcÈ2ÈqÓ8QÒQÐQÑQr7   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   r6   r<   rK   rP   rS   r]   rf   rm   rt   r{   r}   r   r…   r’   r¤   r;   r7   r0   ú<module>r³      sj  ðÝ )ß 4Ñ 4Ý 9Ý CÝ $Ý >Ý =÷ñ å 4÷ñ ç 9Ý 4Ý Oß .á�Y¨Ô-�
€€1€aˆÙˆu˜dÔ#�€€1á��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€á�$˜˜1Ó€Ù�$˜˜1Ó€Ù�$˜˜1Ó€Ù�$˜˜1Ó€á��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€ò:ò.ò	6ò
ò. ò(ò+ò"Mò&'ò(=ð  ñ#ó ð#òò=ò
+'ó\BRr7   