Ë
    7^(h`  ã                   ó  — 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 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mZmZmZmZ d dlmZ d dlm Z  d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,y)é    )ÚAdd)Ú	unchanged)ÚMul)Úsymbols)ÚEq)ÚSum)ÚimÚre)Ú	Piecewise)ÚImmutableDenseMatrix)ÚMatrixSymbol)ÚMatAdd)Ú
ZeroMatrixÚGenericZeroMatrixÚIdentityÚGenericIdentityÚ	OneMatrix)ÚMatMul)Úraisesc                  óÚ  ‡ — t        t        dd«      sJ ‚t        t        dd«      sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t	        d	«      Š t        t        ‰ ‰ «      sJ ‚t	        d	d
¬«      Š t        t        ˆ fd„«       t	        d	d¬«      Š t        t        ˆ fd„«       y )Né   r   c                  ó   — t        dd«      S ©Néÿÿÿÿr   ©r   © ó    úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_special.pyú<lambda>z+test_zero_matrix_creation.<locals>.<lambda>   ó   € œz¨"¨aÓ0€ r   c                  ó   — t        dd«      S ©Nç       @r   r   r   r   r   r   z+test_zero_matrix_creation.<locals>.<lambda>   s   € œz¨#¨qÓ1€ r   c                  ó   — t        dd«      S ©Nù               @r   r   r   r   r   r   z+test_zero_matrix_creation.<locals>.<lambda>   r    r   c                  ó   — t        dd«      S ©Nr   r   r   r   r   r   r   z+test_zero_matrix_creation.<locals>.<lambda>   ó   € œz¨!¨RÓ0€ r   c                  ó   — t        dd«      S ©Nr   r#   r   r   r   r   r   z+test_zero_matrix_creation.<locals>.<lambda>   s   € œz¨!¨SÓ1€ r   c                  ó   — t        dd«      S ©Nr   r&   r   r   r   r   r   z+test_zero_matrix_creation.<locals>.<lambda>   r)   r   ÚnF©Úintegerc                  ó   •— t        ‰ ‰ «      S ©Nr   ©r.   s   €r   r   z+test_zero_matrix_creation.<locals>.<lambda>   ó   ø€ œz¨!¨QÓ/€ r   T©Únegativec                  ó   •— t        ‰ ‰ «      S r2   r   r3   s   €r   r   z+test_zero_matrix_creation.<locals>.<lambda>!   r4   r   )r   r   r   Ú
ValueErrorr   r3   s   @r   Útest_zero_matrix_creationr9      s²   ø€ Ü”Z  AÔ&Ð&Ð&Ü”Z  AÔ&Ð&Ð&Ü
Œ:Ñ0Ô1Ü
Œ:Ñ1Ô2Ü
Œ:Ñ0Ô1Ü
Œ:Ñ0Ô1Ü
Œ:Ñ1Ô2Ü
Œ:Ñ0Ô1ä�‹€AÜ”Z  AÔ&Ð&Ð&Ü�˜UÔ#€AÜ
Œ:Ó/Ô0Ü�˜dÔ#€AÜ
Œ:Ó/Õ0r   c                  ón  ‡— t        «       Št        dd¬«      } t        d| | «      }‰‰k(  sJ ‚‰|k7  sJ ‚|‰k7  sJ ‚‰j                  sJ ‚t	        t
        ˆfd„«       t	        t
        ˆfd„«       t	        t
        ˆfd„«       t        «       ‰k(  sJ ‚t        ‰|«      t        |«      k(  sJ ‚t        ‰«       y )Nr.   Tr/   ÚAc                  ó   •— ‰ j                   S r2   ©Úshape©Úzs   €r   r   z*test_generic_zero_matrix.<locals>.<lambda>/   ó   ø€ ˜aŸg™g€ r   c                  ó   •— ‰ j                   S r2   ©Úrowsr?   s   €r   r   z*test_generic_zero_matrix.<locals>.<lambda>0   ó   ø€ ˜aŸf™f€ r   c                  ó   •— ‰ j                   S r2   ©Úcolsr?   s   €r   r   z*test_generic_zero_matrix.<locals>.<lambda>1   rE   r   )r   r   r   Úis_ZeroMatrixr   Ú	TypeErrorr   Úhash)r.   r;   r@   s     @r   Útest_generic_zero_matrixrL   $   s�   ø€ ÜÓ€AÜ�˜TÔ"€AÜ�S˜!˜QÓ€Aà�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š6€Mˆ6à�?Š?Ðˆ?ä
Œ9“oÔ&Ü
Œ9“nÔ%Ü
Œ9“nÔ%ä‹8�qŠ=Ðˆ=Ü�!�Q‹<œ6 !›9Ò$Ð$Ð$äˆ…Gr   c                  óP  ‡ — t        d«      sJ ‚t        d«      sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        d«      Š t        ‰ «      sJ ‚t        dd¬«      Š t        t        ˆ fd	„«       t        dd
¬«      Š t        t        ˆ fd„«       y )Nr   r   c                  ó   — t        d«      S )Nr   ©r   r   r   r   r   z/test_identity_matrix_creation.<locals>.<lambda><   ó
   € œx¨›|€ r   c                  ó   — t        d«      S )Nr#   rO   r   r   r   r   z/test_identity_matrix_creation.<locals>.<lambda>=   s
   € œx¨›}€ r   c                  ó   — t        d«      S )Nr&   rO   r   r   r   r   z/test_identity_matrix_creation.<locals>.<lambda>>   rP   r   r.   Fr/   c                  ó   •— t        ‰ «      S r2   rO   r3   s   €r   r   z/test_identity_matrix_creation.<locals>.<lambda>C   ó   ø€ œx¨›{€ r   Tr5   c                  ó   •— t        ‰ «      S r2   rO   r3   s   €r   r   z/test_identity_matrix_creation.<locals>.<lambda>E   rT   r   )r   r   r8   r   r3   s   @r   Útest_identity_matrix_creationrV   9   s   ø€ Ü�AŒ;Ðˆ;Ü�AŒ;Ðˆ;Ü
Œ:Ñ+Ô,Ü
Œ:Ñ,Ô-Ü
Œ:Ñ+Ô,ä�‹€AÜ�AŒ;Ðˆ;Ü�˜UÔ#€AÜ
Œ:Ó*Ô+Ü�˜dÔ#€AÜ
Œ:Ó*Õ+r   c                  ó‚  ‡— t        «       Št        dd¬«      } t        d| | «      }‰‰k(  sJ ‚‰|k7  sJ ‚|‰k7  sJ ‚‰j                  sJ ‚‰dz  ‰k(  sJ ‚t	        t
        ˆfd„«       t	        t
        ˆfd„«       t	        t
        ˆfd„«       t        «       ‰k(  sJ ‚t        ‰|«      t        |«      k(  sJ ‚t        ‰«       y )	Nr.   Tr/   r;   r   c                  ó   •— ‰ j                   S r2   r=   ©ÚIs   €r   r   z'test_generic_identity.<locals>.<lambda>T   rA   r   c                  ó   •— ‰ j                   S r2   rC   rY   s   €r   r   z'test_generic_identity.<locals>.<lambda>U   rE   r   c                  ó   •— ‰ j                   S r2   rG   rY   s   €r   r   z'test_generic_identity.<locals>.<lambda>V   rE   r   )r   r   r   Úis_Identityr   rJ   r   rK   )r.   r;   rZ   s     @r   Útest_generic_identityr^   H   s­   ø€ ÜÓ€AÜ�˜TÔ"€AÜ�S˜!˜QÓ€Aà�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š6€Mˆ6à�=Š=Ðˆ=Øˆb‰5�AŠ:Ðˆ:ä
Œ9“oÔ&Ü
Œ9“nÔ%Ü
Œ9“nÔ%ä‹8�qŠ=Ðˆ=Ü�!�Q‹<œ6 !›9Ò$Ð$Ð$äˆ…Gr   c                  óþ  ‡ — t        dd«      sJ ‚t        dd«      sJ ‚t        t        dd«      t        d«      «      sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d	„ «       t        d
«      Š t        ‰ ‰ «      sJ ‚t        d
d¬«      Š t        t        ˆ fd„«       t        d
d¬«      Š t        t        ˆ fd„«       y )Nr   r   é   c                  ó   — t        dd«      S r   ©r   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>b   ó   € œy¨¨QÓ/€ r   c                  ó   — t        dd«      S r"   rb   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>c   s   € œy¨¨aÓ0€ r   c                  ó   — t        dd«      S r%   rb   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>d   rc   r   c                  ó   — t        dd«      S r(   rb   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>e   ó   € œy¨¨BÓ/€ r   c                  ó   — t        dd«      S r+   rb   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>f   s   € œy¨¨CÓ0€ r   c                  ó   — t        dd«      S r-   rb   r   r   r   r   z*test_one_matrix_creation.<locals>.<lambda>g   rg   r   r.   Fr/   c                  ó   •— t        ‰ ‰ «      S r2   rb   r3   s   €r   r   z*test_one_matrix_creation.<locals>.<lambda>l   ó   ø€ œy¨¨A›€ r   Tr5   c                  ó   •— t        ‰ ‰ «      S r2   rb   r3   s   €r   r   z*test_one_matrix_creation.<locals>.<lambda>n   rk   r   )r   r   r   r   r8   r   r3   s   @r   Útest_one_matrix_creationrm   ^   sÀ   ø€ Ü�Q˜Œ?Ðˆ?Ü�Q˜Œ?Ðˆ?ÜŒi˜˜1‹oœx¨›{Ô+Ð+Ð+Ü
Œ:Ñ/Ô0Ü
Œ:Ñ0Ô1Ü
Œ:Ñ/Ô0Ü
Œ:Ñ/Ô0Ü
Œ:Ñ0Ô1Ü
Œ:Ñ/Ô0ä�‹€AÜ�Q˜Œ?Ðˆ?Ü�˜UÔ#€AÜ
Œ:Ó.Ô/Ü�˜dÔ#€AÜ
Œ:Ó.Õ/r   c                  ó¤  — t        dd¬«      \  } }t        d| |«      }t        | |«      }||z   |k(  sJ ‚||j                  z  t        | | «      k(  sJ ‚||j                  z  t        | | «      k(  sJ ‚||z
  t        |j                  Ž k(  sJ ‚|sJ ‚|j                  «       t        || «      k(  sJ ‚|j                  «       |k(  sJ ‚|j                  «       t        || «      k(  sJ ‚t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | | «      dz  t        | «      k(  sJ ‚t        dd«      j                  «       t        j                  dd«      k(  sJ ‚y )Nún mTr/   r;   r   é   )r   r   r   ÚTr>   Ú	transposeÚ	conjugateÚadjointr
   r	   r   Úas_explicitr   Úzeros)r.   Úmr;   ÚZs       r   Útest_ZeroMatrixry   q   sL  € Ü�5 $Ô'�D€A€qÜ�S˜!˜QÓ€AÜ�1�aÓ€Aàˆq‰5�AŠ:Ðˆ:ØˆQ�S‰S‰5”J˜q !Ó$Ò$Ð$Ð$ØˆQ�S‰S‰5”J˜q !Ó$Ò$Ð$Ð$Øˆq‰5”J §¡Ð(Ò(Ð(Ð(á€Hˆ1à�;‰;‹=œJ q¨!Ó,Ò,Ð,Ð,Ø�;‰;‹=˜AÒÐÐØ�9‰9‹;œ* Q¨Ó*Ò*Ð*Ð*Üˆa‹5�AŠ:Ðˆ:Üˆa‹5�AŠ:Ðˆ:ä�a˜Ó˜QÑ¤(¨1£+Ò-Ð-Ð-Ü�a˜Ó×'Ñ'Ó)Ô-A×-GÑ-GÈÈ1Ó-MÒMÐMÑMr   c                  ó  — t        dd¬«      } t        t        | | d¬«      | «      }t        |j                  t        «      sJ ‚|j                  «       t        d| z  | «      k(  sJ ‚t        |j                  «       j                  t        «      sJ ‚y ©Nr.   Tr/   F)Úevaluater   )r   r   r   Ú
isinstancerD   Údoitr   )r.   ÚZnns     r   Útest_ZeroMatrix_doitr€   ‡   sp   € Ü�˜TÔ"€AÜ
”S˜˜A¨Ô.°Ó
2€CÜ�c—h‘h¤Ô$Ð$Ð$Ø�8‰8‹:œ A a¡C¨Ó+Ò+Ð+Ð+Ü�c—h‘h“j—o‘o¤sÔ+Ð+Ñ+r   c                  óp  — t        dd¬«      \  } }t        d| |«      }t        | |«      }|j                  | |fk(  sJ ‚t	        ||z   t
        «      sJ ‚|j                  «       t        || «      k(  sJ ‚|j                  «       |k(  sJ ‚|j                  «       t        || «      k(  sJ ‚t        |«      |k(  sJ ‚t        |«      t        | |«      k(  sJ ‚t        | | «      dz  t        | «      k(  sJ ‚t        | | «      }|d   dk(  sJ ‚t        dd	«      }|j                  «       t        j                  dd	«      k(  sJ ‚y )
Nro   Tr/   r;   r   )r`   r   r`   r   rp   )r   r   r   r>   r}   r   rr   rs   rt   r
   r	   r   r   ru   r   Úones)r.   rw   r;   ÚUs       r   Útest_OneMatrixr„   �   s+  € Ü�5 $Ô'�D€A€qÜ�S˜!˜QÓ€AÜ�!�Q‹€Aà�7‰7�q˜!�fÒÐÐÜ�a˜!‘eœSÔ!Ð!Ð!Ø�;‰;‹=œI a¨›OÒ+Ð+Ð+Ø�;‰;‹=˜AÒÐÐØ�9‰9‹;œ) A q›/Ò)Ð)Ð)Üˆa‹5�AŠ:Ðˆ:Üˆa‹5”J˜q !Ó$Ò$Ð$Ð$ä�Q˜‹?˜aÑ¤8¨A£;Ò.Ð.Ð.ä�!�Q‹€AØˆT‰7�aŠ<Ðˆ<ä�!�Q‹€AØ�=‰=‹?Ô2×7Ñ7¸¸1Ó=Ò=Ð=Ñ=r   c                  ó  — t        dd¬«      } t        t        | | d¬«      | «      }t        |j                  t        «      sJ ‚|j                  «       t        d| z  | «      k(  sJ ‚t        |j                  «       j                  t        «      sJ ‚y r{   )r   r   r   r}   rD   r~   r   )r.   ÚUnns     r   Útest_OneMatrix_doitr‡   ¥   sp   € Ü�˜TÔ"€AÜ
”C˜˜1 uÔ-¨qÓ
1€CÜ�c—h‘h¤Ô$Ð$Ð$Ø�8‰8‹:œ 1 q¡5¨!Ó,Ò,Ð,Ð,Ü�c—h‘h“j—o‘o¤sÔ+Ð+Ñ+r   c                  ó  — t        dd¬«      \  } }}t        d| d«      }t        | |«      t        ||«      z  t        | |«      |z  k(  sJ ‚|t        dd«      z  |k(  sJ ‚t        dd«      |j                  z  |j                  k(  sJ ‚y )Nzn m kTr/   Úwr`   )r   r   r   rq   )r.   rw   Úkr‰   s       r   Útest_OneMatrix_mulr‹   ­   s†   € Ü�g tÔ,�G€A€qˆ!Ü�S˜!˜QÓ€AÜ�Q˜‹?œY q¨!›_Ñ,´	¸!¸Q³À!Ñ0CÒCÐCÐCØŒy˜˜A‹Ñ !Ò#Ð#Ð#Ü�Q˜‹?˜QŸS™SÑ  A§C¡CÒ'Ð'Ñ'r   c            	      óÒ  — t        dd¬«      \  } }t        d| |«      }t        d«      \  }}t        | «      }t        |«      }||z  |k(  sJ ‚||z  |k(  sJ ‚|j                  «       |k(  sJ ‚|j	                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚t        |«      |k(  sJ ‚t        |«      t        | | «      k(  sJ ‚|||f   dk7  sJ ‚t        |||f   |d| dz
  f|d| dz
  f«      j                  | d«      j                  «       dk(  sJ ‚t        t        |||f   |d| dz
  f«      |d| dz
  f«      j                  | d«      j                  «       dk(  sJ ‚t        |||f   |d| dz
  f«      }|j                  «       dk(  sJ ‚t        |||f   |d| d	z
  f«      }|j                  «       j                  t        d|dk\  || d	z
  k  z  fd
«      «      sJ ‚t        |||f   |d| dz
  f«      }|j                  «       j                  t        d|dk\  || dz
  k  z  fd
«      «      sJ ‚t        d«      j                  «       t!        j"                  d«      k(  sJ ‚y )Nro   Tr/   r;   zi jr   r`   rp   r   )r   T)r   r   r   rr   Úinversers   rt   r
   r	   r   r   Úsubsr~   Údummy_eqr   ru   r   Úeye)r.   rw   r;   ÚiÚjÚInÚImÚexprs           r   Útest_Identityr–   µ   s¢  € Ü�5 $Ô'�D€A€qÜ�S˜!˜QÓ€AÜ�5‹>�D€A€qä	�!‹€BÜ	�!‹€BàˆR‰4�1Š9Ðˆ9Øˆa‰4�1Š9Ðˆ9à�<‰<‹>˜RÒÐÐØ�:‰:‹<˜2ÒÐÐØ�<‰<‹>˜RÒÐÐØ�:‰:‹<˜2ÒÐÐÜˆb‹6�RŠ<Ðˆ<Üˆb‹6”Z  1Ó%Ò%Ð%Ð%àˆa�ˆd‰8�qŠ=Ðˆ=Üˆr�!�Q�$‰x˜!˜Q  !¡˜ q¨!¨Q¨q©S kÓ2×7Ñ7¸¸!Ó<×AÑAÓCÀqÒHÐHÐHÜŒs�2�a˜�d‘8˜a  A a¡C˜[Ó)¨A¨q°!°A±#¨;Ó7×<Ñ<¸Q¸qÓA×FÑFÓHÈAÒMÐMÐMô ˆr�!�Q�$‰x˜!˜Q  !¡˜Ó%€DØ�9‰9‹;˜!ÒÐÐÜˆr�!�Q�$‰x˜!˜Q  !¡˜Ó%€DØ�9‰9‹;×ÑÜØ��a‘˜A  1¡™HÑ%Ð&Øó	
ôð ð ô ˆr�!�Q�$‰x˜!˜Q  !¡˜Ó%€DØ�9‰9‹;×ÑÜØ��a‘˜A  1¡™HÑ%Ð&Øó	
ôð ð ô �A‹;×"Ñ"Ó$Ô(<×(@Ñ(@ÀÓ(CÒCÐCÑCr   c                  ó  — t        dd¬«      } t        t        | | d¬«      «      }t        |j                  t        «      sJ ‚|j                  «       t        d| z  «      k(  sJ ‚t        |j                  «       j                  t        «      sJ ‚y r{   )r   r   r   r}   rD   r~   r   )r.   ÚInns     r   Útest_Identity_doitr™   ß   sk   € Ü�˜TÔ"€AÜ
”3�q˜! eÔ,Ó
-€CÜ�c—h‘h¤Ô$Ð$Ð$Ø�8‰8‹:œ ! A¡#›Ò&Ð&Ð&Ü�c—h‘h“j—o‘o¤sÔ+Ð+Ñ+r   N)-Úsympy.core.addr   Úsympy.core.exprr   Úsympy.core.mulr   Úsympy.core.symbolr   Úsympy.core.relationalr   Úsympy.concrete.summationsr   Ú$sympy.functions.elementary.complexesr	   r
   Ú$sympy.functions.elementary.piecewiser   Úsympy.matrices.immutabler   Ú"sympy.matrices.expressions.matexprr   Ú!sympy.matrices.expressions.mataddr   Ú"sympy.matrices.expressions.specialr   r   r   r   r   Ú!sympy.matrices.expressions.matmulr   Úsympy.testing.pytestr   r9   rL   rV   r^   rm   ry   r€   r„   r‡   r‹   r–   r™   r   r   r   ú<module>r¨      sw   ðÝ Ý %Ý Ý %Ý $Ý )ß 7Ý :Ý 9Ý ;Ý 4÷Iõ Iå 4Ý 'ò1ò$ò*,òò,0ò&Nò,,ò>ò,,ò(ò'DóT,r   