Ë
    7^(h	H  ã                   ó  — 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
mZ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mZmZ d d
lmZmZmZmZm Z m!Z! d dl"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/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z=m>Z> d dl?m@Z@  edd¬«      \  ZAZBZCZDZE ed«      ZF e,deAeB«      ZG e,deBeC«      ZH e,deAeA«      ZI e,deAeA«      ZJ e,deBeA«      ZK e,deAd«      ZLd„ ZMd„ ZNd „ ZOd!„ ZPd"„ ZQd#„ ZRd$„ ZSd%„ ZTd&„ ZUd'„ ZVd(„ ZWd)„ ZXd*„ ZYd+„ ZZd,„ Z[d-„ Z\d.„ Z]d/„ Z^d0„ Z_d1„ Z`d2„ Zad3„ Zbd4„ Zcd5„ Zdd6„ Zee=d7„ «       Zfd8„ Zgd9„ Zhd:„ Zid;„ Zjd<„ Zkd=„ Zld>„ Zme=d?„ «       Znd@„ ZodA„ ZpdB„ ZqdC„ ZrdD„ ZsdE„ ZtdF„ ZudG„ ZvyH)Ié    )ÚSum)Ú	gcd_terms)ÚdiffÚexpand)ÚEq)ÚDummyÚSymbolÚStr)ÚKroneckerDelta)Úzeros)Úfactor)ÚSÚsymbolsÚAddÚMulÚSympifyErrorÚRationalÚFunction)ÚsinÚcosÚtanÚsqrtÚcbrtÚexp)Úsimplify)ÚImmutableMatrixÚInverseÚMatAddÚMatMulÚMatPowÚMatrixÚ
MatrixExprÚMatrixSymbolÚSparseMatrixÚ	TransposeÚAdjointÚ	MatrixSet)ÚNonSquareMatrixError)ÚDeterminantÚdet)ÚMatrixElement)Ú
ZeroMatrixÚIdentity)ÚraisesÚXFAILÚskip)Úversionz	n m l k pT©ÚintegerÚxÚAÚBÚCÚDÚEÚwé   c                  óÂ  ‡ — t        ddd«      sJ ‚t        d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        d‰ ‰ «      sJ ‚t        d
d¬«      Š t        t        ˆ fd„«       t        d
d¬«      Š t        t        ˆ fd„«       y )Nr5   é   r   c                  ó   — t        ddd«      S )Nr5   éÿÿÿÿr=   ©r#   © ó    úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_matexpr.pyú<lambda>z-test_matrix_symbol_creation.<locals>.<lambda>%   ó   € œ|¨C°°QÓ7€ rB   c                  ó   — t        ddd«      S )Nr5   ç       @r=   r@   rA   rB   rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>&   s   € œ|¨C°°aÓ8€ rB   c                  ó   — t        ddd«      S )Nr5   ù               @r=   r@   rA   rB   rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>'   rE   rB   c                  ó   — t        ddd«      S )Nr5   r=   r?   r@   rA   rB   rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>(   ó   € œ|¨C°°BÓ7€ rB   c                  ó   — t        ddd«      S )Nr5   r=   rG   r@   rA   rB   rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>)   s   € œ|¨C°°CÓ8€ rB   c                  ó   — t        ddd«      S )Nr5   r=   rI   r@   rA   rB   rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>*   rK   rB   ÚnFr2   c                  ó   •— t        d‰ ‰ «      S ©Nr5   r@   ©rN   s   €rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>/   ó   ø€ œ|¨C°°AÓ6€ rB   T)Únegativec                  ó   •— t        d‰ ‰ «      S rP   r@   rQ   s   €rC   rD   z-test_matrix_symbol_creation.<locals>.<lambda>1   rR   rB   )r#   r.   Ú
ValueErrorr   rQ   s   @rC   Útest_matrix_symbol_creationrV   "   s²   ø€ Ü˜˜Q Ô"Ð"Ð"Ü˜˜Q Ô"Ð"Ð"Ü
Œ:Ñ7Ô8Ü
Œ:Ñ8Ô9Ü
Œ:Ñ7Ô8Ü
Œ:Ñ7Ô8Ü
Œ:Ñ8Ô9Ü
Œ:Ñ7Ô8ä�‹€AÜ˜˜Q Ô"Ð"Ð"Ü�˜UÔ#€AÜ
Œ:Ó6Ô7Ü�˜dÔ#€AÜ
Œ:Ó6Õ7rB   c                  ó:  — t         j                  t        t        fk(  sJ ‚t         t        z  j                  t        t
        fk(  sJ ‚t         d   j                  dk(  sJ ‚t         d   j                  t         k(  sJ ‚t         d   j                  j                  dk(  sJ ‚y )N©r   r;   ©r   r   r5   )	r5   ÚshaperN   Úmr6   ÚlÚindicesÚsymbolÚnamerA   rB   rC   Útest_matexpr_propertiesr`   4   sz   € Ü�7‰7”qœ!�fÒÐÐÜ”‰E�=‰=œQ¤˜FÒ"Ð"Ð"ÜˆT‰7�?‰?˜fÒ$Ð$Ð$ÜˆT‰7�>‰>œQÒÐÐÜˆT‰7�>‰>×Ñ #Ò%Ð%Ñ%rB   c                  óD  — t         t        z  j                  t        j                  k(  sJ ‚t         t        z  j                  t        k(  sJ ‚dt        z  t        z
  t        z
  t        t        j                  Ž k(  sJ ‚t        t        z  j                  t        t        fk(  sJ ‚y ©Nr=   )	r4   r5   rZ   Ú	__class__r   r,   r6   rN   r\   rA   rB   rC   Útest_matexprrd   <   so   € ÜŒa‰C�;‰;œ!Ÿ'™'Ò!Ð!Ð!ÜŒa‰C�?‰?œfÒ$Ð$Ð$ØŒQ‰3”‰7”Q‰;œ*¤a§g¡gÐ.Ò.Ð.Ð.ÜŒa‰C�;‰;œ1œa˜&Ò Ð Ñ rB   c                  ót  ‡‡‡‡— t        dt        t        «      } t        dt        t        «      }t        dt        t        «      }| j	                  t        t        «      j
                  t        t        fk(  sJ ‚| |z  j	                  ||«      | |z  k(  sJ ‚| |z  j	                  t        t        «      j                  sJ ‚t        ddd«      Št        ddd«      Št        dd	d«      Št        d
t        d«      Š‰j	                  ‰‰«      ‰k(  sJ ‚t        d«      }‰j	                  t        d«      |«      j                  |ddfk(  sJ ‚‰d   j	                  ‰‰«      ‰d   k(  sJ ‚t        t        ˆˆfd„«       ‰d   j	                  ‰‰«      ‰d   k(  sJ ‚‰d   j	                  ‰‰«      ‰d   k(  sJ ‚t        t        ˆˆfd„«       t        t        ˆfd„«       t        d	dgddgg«      } t        d	dgddgg«      }t        ddd«      t        ddd«      }}||z  j	                  || ||i«      t        | |«      k(  sJ ‚y )Nr5   r6   r7   ÚWé   ÚXr=   ÚYr;   ÚZÚy©r;   r;   c                  ó.   •— ‰ d   j                  ‰ ‰«      S )Nrl   ©Úsubs)rh   ri   s   €€rC   rD   z#test_matexpr_subs.<locals>.<lambda>[   ó   ø€ ˜q ™wŸ|™|¨A¨qÓ1€ rB   rX   ©r=   r;   c                  ó.   •— ‰ d   j                  ‰ ‰«      S )N©r=   r=   rn   )rf   rj   s   €€rC   rD   z#test_matexpr_subs.<locals>.<lambda>b   rp   rB   c                  ó@   •— ‰ d   j                  ‰ t        d«      «      S )Nrs   r=   )ro   r   )rf   s   €rC   rD   z#test_matexpr_subs.<locals>.<lambda>d   s   ø€ ˜q ™wŸ|™|¨A¬u°Q«xÓ8€ rB   é   r8   )r#   rN   r[   r\   ro   rZ   Ú	is_squarer
   Úargsr.   Ú
IndexErrorr$   r!   r   )	r5   r6   r7   rk   r8   rf   rh   ri   rj   s	        @@@@rC   Útest_matexpr_subsry   C   s
  û€ Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ�Sœ!œQÓ€Aà�6‰6”!”Q‹<×Ñ¤!¤Q Ò'Ð'Ð'Øˆa‰C�:‰:�a˜Ó˜q ™sÒ"Ð"Ð"Øˆa‰C�:‰:”aœÓ×%Ò%Ð%Ð%ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�Sœ!˜QÓ€Aà�6‰6�!�Q‹<˜1ÒÐÐäˆC‹€AØ�6‰6”#�c“(˜AÓ×#Ñ#¨¨1¨a yÒ0Ð0Ð0àˆT‰7�<‰<˜˜1Ó  4¡Ò(Ð(Ð(ô
 Œ:Ô1Ô2àˆT‰7�<‰<˜˜1Ó  4¡Ò(Ð(Ð(ð ˆT‰7�<‰<˜˜1Ó  4¡Ò(Ð(Ð(ä
Œ:Ô1Ô2ä
Œ:Ó8Ô9ä�q˜!�f˜q !˜fÐ%Ó&€AÜ��A�˜˜A˜ÐÓ €AÜ˜˜Q Ó"¤L°°a¸Ó$;€q€Aàˆa‰C�:‰:�q˜!˜Q �lÓ#¤v¨a°£|Ò3Ð3Ñ3rB   c                  óì  ‡— t        dt        t        «      Št        dt        t        «      } t        ‰| z   t        «      sJ ‚‰| z   j
                  ‰j
                  k(  sJ ‚t        ‰‰z
  d| z  z   t        «      sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       ‰t        t        t        «      z   ‰z
  t        t        t        «      k(  sJ ‚t        t        d„ «       y )Nr5   r6   r=   c                  ó   •— ‰ dz   S ©Nr;   rA   ©r5   s   €rC   rD   ztest_addition.<locals>.<lambda>u   ó   ø€ ˜a !™e€ rB   c                  ó   •— d‰ z   S ©Né   rA   r}   s   €rC   rD   ztest_addition.<locals>.<lambda>v   r~   rB   c                  ó   •— d‰ z
  S r€   rA   r}   s   €rC   rD   ztest_addition.<locals>.<lambda>w   r~   rB   c                  óL   — t        t        t        «      t        j                  z   S ©N)r,   rN   r[   r   ÚZerorA   rB   rC   rD   ztest_addition.<locals>.<lambda>z   s   € œj¬¬AÓ.´·±Ñ7€ rB   )
r#   rN   r[   Ú
isinstancer   rZ   r   r.   Ú	TypeErrorr,   )r6   r5   s    @rC   Útest_additionrˆ   m   s¸   ø€ Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€Aä�a˜!‘eœVÔ$Ð$Ð$Ø�‰E�=‰=˜AŸG™GÒ#Ð#Ð#Ü�a˜!‘e˜a ™c‘k¤6Ô*Ð*Ð*ä
Œ9“mÔ$Ü
Œ9“mÔ$Ü
Œ9“mÔ$àŒzœ!œQÓÑ !Ñ#¤z´!´QÓ'7Ò7Ð7Ð7Ü
Œ9Ñ7Õ8rB   c                  óŠ  ‡— t        dt        t        «      } t        dt        t        «      Št        dt        t        «      }d| z  ‰z  j                  t        t        fk(  sJ ‚| dz  ‰z  t        t        t        «      k(  sJ ‚d| z  j                  | j                  k(  sJ ‚| t        t        t        «      z  ‰z  t        t        t        «      k(  sJ ‚|t        t        «      z  |j                  z  t        t        «      k(  sJ ‚‰dz  t        j                  ‰z  k(  sJ ‚t        t        ˆfd„«       t        dt        t        «      } t        dt        t        «      Št        t        «      | ‰z   z  | ‰z   k(  sJ ‚| dz  | z  | dz  k(  sJ ‚| dz  | j                  dz  z  | j                  k(  sJ ‚| dz  | j                  dz  z  | k(  sJ ‚y )Nr5   r6   r7   r=   r   c                  ó   •— d‰ z  S rb   rA   ©r6   s   €rC   rD   z%test_multiplication.<locals>.<lambda>‹   s   ø€ ¨¨!©€ rB   rg   )r#   rN   r[   r\   rZ   r,   r-   ÚIr   ÚHalfr.   ÚNotImplementedError)r5   r7   r6   s     @rC   Útest_multiplicationr�   }   s�  ø€ Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ�Sœ!œQÓ€Aàˆa‰C�‰E�=‰=œQ¤˜FÒ"Ð"Ð"Øˆa‰C�‰E”j¤¤AÓ&Ò&Ð&Ð&Øˆa‰C�;‰;˜!Ÿ'™'Ò!Ð!Ð!àŒzœ!œQÓÑ !Ñ#¤z´!´QÓ'7Ò7Ð7Ð7àŒxœ‹{‰?˜QŸS™SÑ ¤H¬Q£KÒ/Ð/Ð/àˆQ‰3”!—&‘&˜‘(Š?Ðˆ?Ü
Ô£Ô,ä�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ”A‹;˜!˜a™%Ñ  A¨¡EÒ)Ð)Ð)àˆa‰4�‰6�Q˜‘TŠ>Ðˆ>Øˆa‰4�—‘�q‘‰=˜AŸC™CÒÐÐØˆa‰4�—‘�q‘‰=˜AÒÐÑrB   c                  ó  — t        dt        t        «      } t        | d«      }|j                  dk(  sJ ‚|j                  | k(  sJ ‚| t        z  j                  t        k(  sJ ‚| dz  t        t        «      k(  sJ ‚| dz  | k(  sJ ‚| dz  |k(  sJ ‚| dz  t        | «      k(  sJ ‚| dz  dz  | k(  sJ ‚| dz  dz  | dz  k(  sJ ‚| t        j                  z  t        | «      k(  sJ ‚| t        dd«      z  t        | «      k(  sJ ‚t        t        d„ «       y )	Nr5   r=   r   r;   r?   rg   é   c                  ó"   — t        ddd«      dz  S )Nr6   rg   r=   r@   rA   rB   rC   rD   ztest_MatPow.<locals>.<lambda>¦   s   € ¬°c¸1¸aÓ)@À!Ñ)C€ rB   )r#   rN   r    r   Úbaser-   r   r   r�   r   r   r   r.   r(   )r5   ÚAAs     rC   Útest_MatPowr•   –   s  € Ü�Sœ!œQÓ€Aä	��1‹€BØ�6‰6�QŠ;Ðˆ;Ø�7‰7�aŠ<Ðˆ<ØŒq‰D�:‰:œŠ?Ðˆ?àˆa‰4”8œA“;ÒÐÐØˆa‰4�1Š9Ðˆ9Øˆa‰4�2Š:Ðˆ:Øˆb‰5”G˜A“JÒÐÐØˆr‰E�B‰;˜!ÒÐÐØˆq‰D�1‰9˜˜1™ÒÐÐØŒa�f‰f‰9œ˜Q›ÒÐÐØŒh�q˜!‹nÑ¤ Q£Ò'Ð'Ð'Ü
ÔÑ!CÕDrB   c                  ó¼   ‡‡‡— t        d«      \  ŠŠŠt        d‰‰«      } | j                  ‰‰fk(  sJ ‚t        t        ˆˆˆfd„«       | j                  «       | k(  sJ ‚y )Nzn,m,trh   c                  ó*   •—  t        d‰‰ «      ‰«      S )Nrh   r@   )r[   rN   Úts   €€€rC   rD   z#test_MatrixSymbol.<locals>.<lambda>­   s   ø€ Ð5œl¨3°°1Ó5°aÓ8€ rB   )r   r#   rZ   r.   r‡   Údoit)rh   r[   rN   r˜   s    @@@rC   Útest_MatrixSymbolrš   ©   sT   ú€ Ü�gÓ�G€A€qˆ!Ü�S˜!˜QÓ€AØ�7‰7�q˜!�fÒÐÐÜ
Œ9Õ8Ô9Ø�6‰6‹8�qŠ=Ð‰=rB   c                  ó˜   ‡ — t        ddd«      Š t        ‰ «      t        ddˆ fd„«      k(  sJ ‚t        ‰ «      t        ddˆ fd„«      k(  sJ ‚y )Nrh   r=   c                 ó   •— ‰| |f   S r„   rA   ©ÚiÚjrh   s     €rC   rD   z'test_dense_conversion.<locals>.<lambda>³   s   ø€ ÀAÀaÈÀdÁG€ rB   c                 ó   •— ‰| |f   S r„   rA   r�   s     €rC   rD   z'test_dense_conversion.<locals>.<lambda>´   s   ø€ °!°A°q°D±'€ rB   )r#   r   r!   )rh   s   @rC   Útest_dense_conversionr¡   ±   sJ   ø€ Ü�S˜!˜QÓ€AÜ˜1Ó¤°°AÓ7KÓ!LÒLÐLÐLÜ�!‹9œ˜q !Ó%9Ó:Ò:Ð:Ñ:rB   c                  óP   — t         t        z  j                  t         t        hk(  sJ ‚y r„   )r7   r8   Úfree_symbolsrA   rB   rC   Útest_free_symbolsr¤   ·   s   € ÜŒa‰C×Ñ¤!¤Q Ò'Ð'Ñ'rB   c                  ó`   — t        t        j                  t        ddd«      z  t        «      sJ ‚y )Nrh   r=   )r†   r   r…   r#   r"   rA   rB   rC   Útest_zero_matmulr¦   »   s$   € Ü”a—f‘fœ|¨C°°AÓ6Ñ6¼
ÔCÐCÑCrB   c                  óØ   — t        ddd«      } t        t        | t        t	        t
        «      dz  t        t
        «      dz  z   gg«      «      «      t        | t        dgg«      «      k(  sJ ‚y ©Nr5   r;   r=   )r#   r   r   r   r   r4   r   r!   r}   s    rC   Útest_matadd_simplifyr©   ¿   ó`   € Ü�S˜!˜QÓ€AÜ”F˜1œo´´A³¸±	¼CÄ»FÀA¹IÑ0EÐ/FÐ.GÓHÓIÓJÜˆq”&˜1˜#˜“-Ó ò!ð !ñ !rB   c                  óØ   — t        ddd«      } t        t        | t        t	        t
        «      dz  t        t
        «      dz  z   gg«      «      «      t        | t        dgg«      «      k(  sJ ‚y r¨   )r#   r   r   r   r   r4   r   r!   r}   s    rC   Útest_matmul_simplifyr¬   Å   rª   rB   c                  ó¾  — t        dt        t        «      } t        dt        t        «      }t        dt        t        «      }t	        t        «      t        t        t        «      | t        | |«      t        | | «      t        | «      t        | «      t        |«      t        |d«      t        |d«      t        |d«      g}|D ]   }| |j                  |j                  Ž k(  rŒ J ‚ y )Nr5   r6   rh   r=   r?   r   )r#   rN   r[   r\   r-   r,   r   r   r%   r&   r   r    rc   rw   )r5   r6   rh   ÚobjsÚobjs        rC   Útest_invariantsr°   Ë   s¯   € Ü�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ�Sœ!œQÓ€AÜ”Q‹Kœ¤A¤qÓ)¨1¬f°Q¸«l¼FÀ1Àa»LÜ�a‹Lœ' !›*¤g¨a£j´&¸¸A³,ÄÀqÈ"ÃÜ�1�a‹Lð€Dð ò /ˆØ�m�c—m‘m S§X¡XÐ.Ó.Ð.Ð.ñ/rB   c                  óì   — t        dt        t        «      } | d    | t        t        f    | t        dz   t        dz   f    t        ddd«      } t        dd«      D ]  }t        dd«      D ]	  }| ||f    Œ Œ y )Nr5   ©r;   r=   r;   r=   éþÿÿÿr?   )r#   rN   r[   r\   ÚkÚrange)r5   rž   rŸ   s      rC   Útest_matexpr_indexingr¶   Ö   sx   € Ü�Sœ!œQÓ€AØ€d‚GØ„aŒ€d‚GØ„aˆ!�eŒQ�‰U€l‚OÜ�S˜!˜QÓ€AÜ�2�q‹\ò ˆÜ�r˜1“ò 	ˆAØˆa�ˆd‹Gñ	ñrB   c                  ó¬  ‡ ‡— t        ddd«      Š ‰ d   ‰ d   k(  sJ ‚‰ t        d«         ‰ d   k(  sJ ‚‰ d   ‰ d   k(  sJ ‚t        ‰ d d…d d…f   «      ‰ d   ‰ d   ‰ d   ‰ d   gk(  sJ ‚t        t        ˆ fd	„«       t        t        ˆ fd
„«       t        dt
        t        «      Št        t        ˆfd„«       t        dt
        d«      Š‰d   ‰d   k(  sJ ‚y )Nr5   r=   rg   r;   rX   ©r;   r   rY   rl   c                  ó   •— ‰ d   S )Nr‘   rA   r}   s   €rC   rD   z&test_single_indexing.<locals>.<lambda>ç   ó   ø€ ˜q ™t€ rB   c                  ó   •— ‰ t            S r„   rQ   r}   s   €rC   rD   z&test_single_indexing.<locals>.<lambda>è   s   ø€ ˜q¤™t€ rB   r6   c                  ó   •— ‰ d   S r|   rA   r‹   s   €rC   rD   z&test_single_indexing.<locals>.<lambda>ê   rº   rB   )r#   ÚintÚlistr.   rx   rN   r[   ©r5   r6   s   @@rC   Útest_single_indexingrÀ   á   sÜ   ù€ Ü�S˜!˜QÓ€AØˆQ‰4�1�T‘7Š?Ðˆ?ØŒS�‹V‰9˜˜$™ÒÐÐØˆQ‰4�1�T‘7Š?Ðˆ?Ü��"�1�"�b�q�b�&‘	‹?˜q ™w¨¨$©°°4±¸!¸D¹'ÐBÒBÐBÐBÜ
Œ:“|Ô$Ü
Œ:“|Ô$Ü�Sœ!œQÓ€AÜ
Œ:“|Ô$Ü�Sœ!˜QÓ€AØˆQ‰4�1�T‘7Š?Ð‰?rB   c                  óV   — t         d   t         d   z  t         d   t         d   z  k(  sJ ‚y )NrX   r¸   r}   rA   rB   rC   Útest_MatrixElement_commutativerÂ   ï   s(   € ÜˆT‰7”1�T‘7‰?œa ™g¤a¨¡g™oÒ-Ð-Ñ-rB   c                  ó†  — t        ddd«      } | j                  «       j                  «       | d   | d   z  | d   z  | d   z  | d   | d   z  | d   z  | d   z  z
  | d   | d	   z  | d
   z  | d   z  z
  | d   | d	   z  | d   z  | d   z  z   | d   | d   z  | d
   z  | d   z  z   | d   | d   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z   | d   | d	   z  | d   z  | d   z  z   | d   | d	   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z   | d   | d   z  | d
   z  | d   z  z   | d   | d   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z   | d   | d   z  | d   z  | d   z  z   | d   | d   z  | d
   z  | d   z  z
  | d   | d   z  | d
   z  | d   z  z
  | d   | d   z  | d   z  | d   z  z   | d   | d   z  | d   z  | d   z  z   | d   | d   z  | d   z  | d   z  z
  | d   | d	   z  | d   z  | d   z  z
  | d   | d	   z  | d
   z  | d   z  z   k(  sJ ‚t        ddd«      }t        | |z   «      j	                  «       t        | |z   «      cxk(  r| |z   j                  «       k(  sJ ‚ J ‚y )Nr5   ru   rY   rl   rs   )rg   rg   )r=   rg   )rg   r=   r²   rq   )rg   r;   )r;   rg   rX   r¸   )r=   r   ©rg   r   ©r   r=   )r   rg   r6   )r#   Úas_explicitr*   r)   r™   r¿   s     rC   Útest_MatrixSymbol_determinantrÇ   ó   s9  € Ü�S˜!˜QÓ€AØ�=‰=‹?×ÑÓ  A d¡G¨A¨d©G¡O°A°d±GÑ$;¸A¸d¹GÑ$CØ	ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(Ø*+¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jà	ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(à*+¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ	%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ	%Jð
 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð
 +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ	%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ	%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ
%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ
%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ð +,¨D©'°!°D±'©/¸!¸D¹'Ñ*AÀ!ÀDÁ'Ñ*Iñ%Jð 	
ˆ$‰��$‘‰˜˜$™Ñ  $¡Ñ'ñ%(ò (ð (ð (ô 	�S˜!˜QÓ€AÜ�q˜1‘uÓ×"Ñ"Ó$¬¨A°©E«
ÔC°q¸1±u·k±k³mÒCÐCÑCÐCÑCrB   c                  ón   — t         d   t         d   z  j                  t         d   «      t         d   k(  sJ ‚y )NrÄ   rY   )r5   r   rA   rB   rC   Útest_MatrixElement_diffrÉ     s/   € Üˆd‰G”A�d‘G‰O×!Ñ!¤! D¡'Ó*¬a°©gÒ5Ð5Ñ5rB   c                  óŽ   — t        ddd«      } t        ddg«      }| d   j                  | |«      j                  «       |d   k(  sJ ‚y )NÚur=   r;   rg   r�   rY   )r#   r   ro   r™   )rË   Úvs     rC   Útest_MatrixElement_doitrÍ     sH   € Ü�S˜!˜QÓ€AÜ˜˜A˜Ó€AØˆT‰7�<‰<˜˜1Ó×"Ñ"Ó$¨¨$©Ò/Ð/Ñ/rB   c                  óF  — t        t        «      } t        | d«      j                  «       | dz  k(  sJ ‚| t        z  | k(  sJ ‚t        | d«      j                  «       | dz  k(  sJ ‚| dz  | k(  sJ ‚t        | d«      j                  «       | dz  k(  sJ ‚t        d«      }t        |d«      j                  «       |t        z  k(  sJ ‚t        |d«      j                  «       |k(  sJ ‚t        |d«      j                  «       |dz  k(  sJ ‚t        |d«      j                  «       |dz  k(  sJ ‚y )Nrg   r   r=   r³   ru   )r-   rN   r    r™   )ÚMÚNs     rC   Útest_identity_powersrÑ     s  € Ü”‹€AÜ�!�Q‹<×ÑÓ ! Q¡$Ò&Ð&Ð&ØŒa‰4�1Š9Ðˆ9Ü�!�Q‹<×ÑÓ ! Q¡$Ò&Ð&Ð&Øˆb‰5�AŠ:Ðˆ:Ü�!�R‹=×ÑÓ 1 a¡4Ò'Ð'Ð'Ü�‹€AÜ�!�Q‹<×ÑÓ !¤Q¡$Ò&Ð&Ð&Ü�!�Q‹<×ÑÓ !Ò#Ð#Ð#Ü�!�R‹=×ÑÓ 1 a¡4Ò'Ð'Ð'Ü�!�Q‹<×ÑÓ ! Q¡$Ò&Ð&Ñ&rB   c                  ó  ‡ ‡— t        t        t        «      Š ‰ dz  ‰ k(  sJ ‚t        t        ˆ fd„«       ‰ dz  t	        t        «      k(  sJ ‚t        ‰ d«      j                  «       ‰ dz  k(  sJ ‚t        t        ˆ fd„«       t        dd«      Št        ‰d«      j                  «       ‰dz  k(  sJ ‚t        t        ˆfd„«       ‰dz  t        ‰d«      j                  «       k(  sJ ‚‰dz  t	        d«      k(  sJ ‚t        t        ˆfd„«       y )	Nru   c                  ó   •— ‰ dz  S ©Nr³   rA   ©Úz1s   €rC   rD   z!test_Zero_power.<locals>.<lambda>"  ó   ø€ ˜b "™f€ rB   r   r=   c                  ó8   •— t        ‰ d«      j                  «       S rÔ   ©r    r™   rÕ   s   €rC   rD   z!test_Zero_power.<locals>.<lambda>%  ó   ø€ œf R¨›n×1Ñ1Ó3€ rB   rg   c                  ó   •— ‰ dz  S )NéýÿÿÿrA   ©Úz2s   €rC   rD   z!test_Zero_power.<locals>.<lambda>(  r×   rB   c                  ó8   •— t        ‰ d«      j                  «       S ©Nr?   rÙ   rÝ   s   €rC   rD   z!test_Zero_power.<locals>.<lambda>+  rÚ   rB   )r,   rN   r.   rU   r-   r    r™   )rÖ   rÞ   s   @@rC   Útest_Zero_powerrá     sä   ù€ Ü	”A”qÓ	€BØˆq‰5�BŠ;Ðˆ;Ü
Œ:“}Ô%Øˆq‰5”HœQ“KÒÐÐÜ�"�a‹=×ÑÓ 2 q¡5Ò(Ð(Ð(Ü
Œ:Ó3Ô4Ü	�A�qÓ	€BÜ�"�a‹=×ÑÓ 2 q¡5Ò(Ð(Ð(Ü
Œ:“}Ô%Øˆq‰5”F˜2˜q“M×&Ñ&Ó(Ò(Ð(Ð(Øˆq‰5”H˜Q“KÒÐÐÜ
Œ:Ó3Õ4rB   c                  ó~  — t        t        t        z  t        df   t        t        df   «      } t        t        t        f   j                  t        t        t        f   «      dk(  sJ ‚t        t        t        f   j                  t        d   «      t        dt        dt        dz
  f«      t        dt        d«      z  k(  sJ ‚t        d«      }| j                  t        t        |t        dt        dz
  f«      t        t        |f   z  |dt        dz
  f«      «      sJ ‚| j                  «       t        t        t        f   k(  sJ ‚y )Nr   r;   rY   Ú_i_1)r   r8   r:   r´   Úpr   rN   r   Údummy_eqr   r™   )Údexprrã   s     rC   Útest_matrixelement_diffrç   .  sù   € Ü”!”A‘#”q˜�s‘œQœq ˜s™VÓ$€EäŒQ”ˆT‰7�<‰<œœ!œQ˜$™Ó  AÒ%Ð%Ð%ÜŒQ”ˆT‰7�<‰<œ˜$™Ó ¤N°1´a¸!¼Q¸q¹S¸Ó$BÄ>ÐRSÔUVÐX^ÓC_Ñ$_Ò_Ð_Ð_Ü�‹=€DØ�>‰>œ#œn¨T´1°q¼!¸A¹#°hÓ?ÄÄ!ÀTÀ'Á
ÑJÈTÐSTÔVWÐZ[ÑV[ÐL\Ó]Ô^Ð^Ð^Ø�:‰:‹<œ1œQ¤˜T™7Ò"Ð"Ñ"rB   c                  ó€  ‡‡— t        d«      \  } }}}t        | |g||gg«      Št        d«      \  Š}‰‰|f   }t        |t        «      sJ ‚t	        ddgddgg«      }|‰|f   }t        |t        «      sJ ‚dD ]C  \  }}	|j                  ‰|||	i«      ‰||	f   k(  sJ ‚|j                  ‰|||	i«      |||	f   k(  rŒCJ ‚ t        ddd«      }
|
d	   j                  |
‰«      | k(  sJ ‚|
‰|f   j                  |
‰«      ‰‰|f   k(  sJ ‚‰‰|f   j                  ‰|
«      |
‰|f   k(  sJ ‚t        ‰d‰z  dz
  |f   t        «      sJ ‚‰d‰z  dz
  |f   j                  ‰d
|di«      ‰d   k(  sJ ‚t        ‰‰df   t        «      sJ ‚‰‰df   j                  ‰d«      ‰d	   k(  sJ ‚‰d‰f   j                  ‰d
«      ‰d   k(  sJ ‚‰‰|f   j                  | «      t        d
dgddgg«      ‰|f   k(  sJ ‚t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       y )Nzx y z wzi, jr=   rg   ru   r�   )rY   rX   r¸   rl   r5   rY   r;   r   r¸   rX   c                  ó   •— ‰ ‰df   S rb   rA   ©rÏ   rž   s   €€rC   rD   z0test_MatrixElement_with_values.<locals>.<lambda>Q  ó   ø€ ˜q  A ™w€ rB   c                  ó   •— ‰ ‰df   S rà   rA   rê   s   €€rC   rD   z0test_MatrixElement_with_values.<locals>.<lambda>R  s   ø€ ˜q  B ™x€ rB   c                  ó   •— ‰ d‰f   S rb   rA   rê   s   €€rC   rD   z0test_MatrixElement_with_values.<locals>.<lambda>S  rë   rB   c                  ó   •— ‰ d‰f   S rà   rA   rê   s   €€rC   rD   z0test_MatrixElement_with_values.<locals>.<lambda>T  s   ø€ ˜q  Q ™x€ rB   )
r   r!   r†   r+   r$   ro   r#   r   r.   rU   )r4   rk   Úzr:   rŸ   ÚMijÚMsÚmsijÚoiÚojr5   rÏ   rž   s              @@rC   Útest_MatrixElement_with_valuesrõ   8  s„  ù€ Ü˜Ó#�J€A€qˆ!ˆQÜ��A�˜˜A˜ÐÓ €AÜ�6‹?�D€A€qØ
ˆAˆqˆD‰'€CÜ�cœ=Ô)Ð)Ð)Ü	˜˜1�v  1˜vÐ&Ó	'€BØˆa�ˆd‰8€DÜ�dœMÔ*Ð*Ð*Ø2ò 7‰ˆˆBØ�x‰x˜˜B  2˜Ó'¨1¨R°¨V©9Ò4Ð4Ð4Ø�y‰y˜!˜R  B˜Ó(¨B¨r°2¨v©JÓ6Ð6Ð6ð7ô 	�S˜!˜QÓ€AØˆT‰7�<‰<˜˜1Ó Ò"Ð"Ð"ØˆQ�ˆT‰7�<‰<˜˜1Ó  1 a 4¡Ò(Ð(Ð(ØˆQ�ˆT‰7�<‰<˜˜1Ó  1 a 4¡Ò(Ð(Ð(ä�a˜˜!™˜a™ ˜
‘m¤]Ô3Ð3Ð3ØˆQˆq‰S�1‰W�aˆZ‰=×Ñ˜q ! Q¨˜lÓ+¨q°©wÒ6Ð6Ð6Ü�a˜˜1˜‘gœ}Ô-Ð-Ð-ØˆQ�ˆT‰7�<‰<˜˜1Ó  4¡Ò(Ð(Ð(ØˆQ�ˆT‰7�<‰<˜˜1Ó  4¡Ò(Ð(Ð(àˆQ�ˆT‰7�<‰<˜‹?œf q¨! f¨q°!¨fÐ%5Ó6°q¸!°tÑ<Ò<Ð<Ð<ä
Œ:”Ô'Ü
Œ:Ô'Ô(Ü
Œ:”Ô'Ü
Œ:Ô'Õ(rB   c                  ó¢  — t        ddd«      } | j                  «       | dz  k(  sJ ‚t        ddd«      j                  «       }|j                  «       t        d|d   z  gg«      k(  sJ ‚t        ddd«      j                  «       }|d   |d   z  |d	   |d
   z  z
  }t        |d   |d	    g|d
    |d   gg«      |z  }|j                  «       |k(  sJ ‚y )Nr6   rg   r?   rh   r;   rY   r=   rl   rX   r¸   )r#   ÚinvrÆ   r!   )r6   rh   ÚdetXÚinvXs       rC   Útest_invrú   W  së   € Ü�S˜!˜QÓ€AØ�5‰5‹7�a˜‘eÒÐÐô 	�S˜!˜QÓ×+Ñ+Ó-€AØ�5‰5‹7”f˜q  4¡™y˜k˜]Ó+Ò+Ð+Ð+ä�S˜!˜QÓ×+Ñ+Ó-€AØˆT‰7�1�T‘7‰?˜Q˜t™W Q t¡W™_Ñ,€DÜ�Q�t‘W˜q ™w˜hÐ'Ø�t‘W�H˜q ™wÐ'ð)ó *Ø,0ñ1€Dà�5‰5‹7�dŠ?Ð‰?rB   c                  ó  — t        dt        t        «      } t        dt        t        «      }| |z   t        t        z   z  }| t        z  |t        z  z   | t        z  z   |t        z  z   }||k7  sJ ‚t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚|dz  | dz  |dz  z  | dz  t        z  |dz  z  z
  dz  z  | dz  z  }t        t        «      }t        |«      |t        z
  |dz  | dz  |t        z
  z  |dz  z  dz  z  | dz  z  fv sJ ‚y )Nr5   r6   r?   )r#   rN   r7   r8   r   r   r-   )r5   r6   Úexpr1Úexpr2ÚexprrŒ   s         rC   Útest_factor_expandrÿ   f  s  € ä�Sœ!œQÓ€AÜ�Sœ!œQÓ€AØ�‰U”Qœ‘U‰O€EØŒa‰C�!”A‘#‰I˜œ!™‰O˜a¤™cÑ!€EØ�EŠ>Ðˆ>Ü�%‹=˜EÒ!Ð!Ð!Ü�%‹=˜EÒ!Ð!Ð!àˆr‰7�A˜‘G˜A ™G‘O a¨"¡g¬a¡i°°B±Ñ&7Ñ7¸2Ñ>Ñ>¸qÀ2¹wÑF€DÜ”‹€Aä�$‹<˜A¤™E 1 b¡5¨!¨R©%°´Q±©-¸¸2¹Ñ*=ÀÑ)BÑ#BÀ1ÀbÁ5Ñ#HÐIÑIÐIÑIrB   c            	      ó   ‡‡— 	 ddl mŠm}  t        ddd«      Š ‰t        ‰dd«      t        ‰dd«      gt        ‰dd«      t        ‰dd«      gg«      }   ‰‰«      |«      sJ ‚ |  ‰‰d¬«      |«      sJ ‚t        t        d	«      j                  d
«      d   «      dk\  rt        t        ˆˆfd„«       y y # t        $ r t	        d«       Y ŒÀw xY w)Nr   )ÚarrayÚarray_equalz?NumPy must be available to test creating matrices from ndarraysr5   r=   r;   T©ÚcopyÚnumpyú.c                  ó   •—  ‰‰ d¬«      S )NFr  rA   )r5   r  s   €€rC   rD   z'test_numpy_conversion.<locals>.<lambda>€  s   ø€ ¡%¨°Ô"6€ rB   )r  r  r  ÚImportErrorr0   r#   r+   r½   r1   Úsplitr.   r‡   )r  Únp_arrayr5   r  s     @@rC   Útest_numpy_conversionr  u  s×   ù€ ðPß,ô 	�S˜!˜QÓ€AÙ”} Q¨¨1Ó-¬}¸QÀÀ1Ó/EÐFÜ�1�a˜Óœ]¨1¨a°Ó3Ð4ð6ó 7€Há‘u˜Q“x Ô*Ð*Ð*Ù‘u˜Q TÔ*¨HÔ5Ð5Ð5Ü
Œ7�7Ó×!Ñ! #Ó& qÑ)Ó*¨aÒ/ÜŒyÔ6Õ7ð 0øô ò PÜÐNÖOðPús   „B6 Â6CÃCc                  ód  — t        ddd«      } | j                  | z  j                  j                  «       t	        | j                  | z  j                  d   | j                  | z  j                  d   g| j                  | z  j                  d   | j                  | z  j                  d   gg«      k(  sJ ‚y )Nr5   r�   r=   rY   rX   r¸   rl   )r#   ÚTrŒ   rÆ   r!   r}   s    rC   Útest_issue_2749r  ‚  s—   € Ü�S˜!˜QÓ€AØ�C‰C�!‰G�;‰;×"Ñ"Ó$¬°!·#±#¸±'·±¸TÑ1BÀQÇSÁSÈ1ÁWÇKÁKÐPTÑDUÐ0VØ‡c�cˆA�g‡[�[�Ñ˜Ÿ™˜q™Ÿ™ DÑ)Ð*ð0,ó )-ò -ð -ñ -rB   c                  óŠ   — t        ddd«      } | j                  | z  j                  «       dz  t        | d   dz  gg«      k(  sJ ‚y )Nr4   r;   r?   rY   r³   )r#   r  rÆ   r!   )r4   s    rC   Útest_issue_2750r  ˆ  sF   € Ü�S˜!˜QÓ€AØ�C‰C�‰E×ÑÓ  "Ñ$¬°°4±¸2±°Ð/@Ó(AÒAÐAÑArB   c                  óô   — t        ddd«      } t        ddd«      }t        | |«      dk(  sJ ‚t        | d   |d   «      j                  t        u sJ ‚t        dd«      } t        dd«      }t        | |«      dk(  sJ ‚y )	Nr5   rg   r;   r6   r=   Fr¸   T)r#   r   Úfuncr,   r¿   s     rC   Útest_issue_7842r  �  s�   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜˆa�‹8�uÒÐÐÜˆa�‰f�a˜‘gÓ×#Ñ#¤rÑ)Ð)Ð)Ü�1�aÓ€AÜ�1�aÓ€AÜˆa�‹8�tÒÐÑrB   c                  ó  — t        d«      }  t        d«      | «      }|j                  | «      }t        |«      t        |«      |z  z   }t	        |«      t        |«      |j                  | «      z  z   }t	        |«      t	        | «      z  |j                  | «      j                  | «      z  }t        |g|g|gg«      }t        |j                  |«      g|j                  |«      g|j                  |«      gg«      }|j                  |«      |k(  sJ ‚y )Nr˜   r4   )r   r   r   r   r   r   r!   )r˜   r4   ÚdxÚexp1Úexp2Úexp3r5   r6   s           rC   Útest_issue_21195r  —  sà   € Ü�‹€AØŒ�‹�aÓ€AØ	
�‰�‹€BÜˆq‹6”C˜“F˜2‘IÑ€DÜˆq‹6”C˜“F˜BŸG™G A›JÑ'Ñ'€DÜˆq‹6”#�a“&‰=˜"Ÿ'™' !›*×*Ñ*¨1Ó-Ñ-€DÜ��˜˜  Ð'Ó(€AÜ�—‘˜1“� §¡¨1£ °·±¸1³°Ð?Ó@€AØ�6‰6�!‹9˜Š>Ð‰>rB   c                  ó’  — t        ddd«      } t        ddd«      }| |z  }t        |«      j                  «       }t        ddd«      }|j                  | | t        |z  z   «      }|d   |d   z  |d   |d   z  z   |d	   |d
   z  z   }|d   j                  t        «      |k(  sJ ‚t        |d   t        «      j                  «       |k(  sJ ‚y )Nr5   r=   rg   r6   rË   rX   r¸   rl   rq   r²   rY   )r#   r!   Úadjugatero   r4   r   r™   )r5   r6   ÚJÚJinvrË   ÚJkÚexpecteds          rC   Útest_issue_24859r   £  sÏ   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AØ	ˆ!‰€AÜ�!‹9×ÑÓ€DÜ�S˜!˜QÓ€AØ	�‰�1�aœ!˜A™#‘gÓ	€Bà�‰w�q˜‘w‰  4¡¨¨4©¡Ñ0°1°T±7¸1¸T¹7±?ÑB€HØˆd‰8�=‰=œÓ˜xÒ'Ð'Ð'Ü��4‘œ!Ó×!Ñ!Ó# xÒ/Ð/Ñ/rB   c                  óL  — t        d«      } t        dd«      }t        d| «      t        | d«      cxk(  r| |fv sJ ‚ J ‚t        ddgddgg«      }t        t        dt        z  gdt        z  dt        z  gg«      }t        t        |«      t        |t        «      cxk(  r|k(  sJ ‚ J ‚t        ddd«      }t        ||«      t        ||«      k(  sJ ‚t        ||«      t        ||«      k(  sJ ‚t        t        ||«      }t        |t        |«      }t        ||t        «      }||cxk(  r|cxk(  rt        ||«      k(  sJ ‚ J ‚t        t        ||«      }t        |t        |«      }t        ||t        «      }||cxk(  r|cxk(  rt        ||«      k(  sJ ‚ J ‚t        ||«      |dz  k(  sJ ‚t        |||«      t        ||dz  «      k(  sJ ‚t        |||«      t        |dz  |«      k(  sJ ‚t        |||«      t        |||«      k(  sJ ‚t        |t        ||t        «      t        ||dz  «      k(  sJ ‚y ©Nr=   r   r;   rg   ru   r5   )r   r,   r   r!   r4   r#   r   )rï   rÖ   rÏ   ÚMxr5   ÚaÚbÚcs           rC   Útest_MatMul_postprocessorr'  °  s  € Üˆa‹€AÜ	�A�qÓ	€BÜˆq�!‹9œ˜A˜q›	Ô, a¨ WÑ,Ð,Ñ,Ð,Ð,ä��A�˜˜A˜ÐÓ €AÜ	”!�Q”q‘S�˜Aœa™C ¤1¡˜:Ð&Ó	'€BÜŒq�!‹9œ˜Aœq›	Ô' RÒ'Ð'Ñ'Ð'Ð'ä�S˜!˜QÓ€AÜˆq�!‹9œ˜q !›Ò$Ð$Ð$Üˆq�!‹9œ˜q !›Ò$Ð$Ð$äŒAˆq�!‹€AÜˆAŒq�!‹€AÜˆAˆq”!‹€AØ�Ô'�QÔ'œ&  Q›-Ò'Ð'Ñ'Ð'Ð'ÜŒAˆq�!‹€AÜˆAŒq�!‹€AÜˆAˆq”!‹€AØ�Ô'�QÔ'œ&  B›-Ò'Ð'Ñ'Ð'Ð'Üˆq�!‹9˜˜1™ÒÐÐÜˆq�!�Q‹<œ6 ! Q¨¡T›?Ò*Ð*Ð*Üˆq�!�Q‹<œ6 ! Q¡$¨›?Ò*Ð*Ð*Üˆq�!�Q‹<œ6 ! Q¨›?Ò*Ð*Ð*äˆq”!�Q˜œ1Ó¤¨¨2¨q©5Ó!1Ò1Ð1Ñ1rB   c                  óˆ   — t        d«      } t        | t        j                  «      t        t        j                  | «      k(  sJ ‚y rb   )r   r   r   ÚNaN)rï   s    rC   Útest_MatAdd_postprocessor_xfailr*  Í  s/   € ô 	ˆa‹€AÜˆq”!—%‘%‹=œC¤§¡ q›MÒ)Ð)Ñ)rB   c                  óZ  — t        d«      } t        d| «      t        | d«      cxk(  r| k(  sJ ‚ J ‚t        t        j                  | «      }|t        | t        j                  «      k(  sJ ‚t	        |t        «      sJ ‚|j
                  t        j                  | fk(  sJ ‚t        t        j                  | «      }|t        | t        j                  «      k(  sJ ‚t	        |t        «      sJ ‚|j
                  t        j                  | fk(  sJ ‚t        | t        j                  «      }t	        |t        «      sJ ‚|j
                  t        j                  | fk(  sJ ‚t        ddgddgg«      }t        t        |«      }|t        |t        «      k(  sJ ‚t	        |t        «      sJ ‚|j
                  t        |fk(  sJ ‚t        ddd«      }t        ||«      t        ||«      cxk(  r	||z   k(  sJ ‚ J ‚t        t        ||«      }|t        |t        |«      cxk(  rTt        ||t        «      cxk(  r?t        t        ||«      cxk(  r*t        |t        |«      cxk(  rt        ||t        «      k(  sJ ‚ J ‚t	        |t        «      sJ ‚|j
                  t        ||z   fk(  sJ ‚t        ||«      d|z  k(  sJ ‚t        |||«      t        |||«      cxk(  rt        |||«      cxk(  r|d|z  z   k(  sJ ‚ J ‚t        |t        ||t        «      }t	        |t        «      sJ ‚|j
                  dt        z  |d|z  z   fk(  sJ ‚y r"  )r   r   r   ÚInfinityr†   rw   ÚComplexInfinityr)  r!   r4   r#   )rï   r$  rÏ   r5   s       rC   Útest_MatAdd_postprocessorr.  Õ  sÑ  € ô
 	ˆa‹€Aäˆq�!‹9œ˜A˜q›	Ô& QÒ&Ð&Ñ&Ð&Ð&äŒA�J‰J˜Ó€AØ”�A”q—z‘zÓ"Ò"Ð"Ð"Ü�aœÔÐÐØ�6‰6”a—j‘j !�_Ò$Ð$Ð$äŒA×Ñ˜qÓ!€AØ”�A”q×(Ñ(Ó)Ò)Ð)Ð)Ü�aœÔÐÐØ�6‰6”a×'Ñ'¨Ð+Ò+Ð+Ð+äˆAŒq�u‰u‹€Aä�aœÔÐÐØ�6‰6”a—e‘e˜Q�ZÒÐÐä��A�˜˜A˜ÐÓ €AÜŒAˆq‹	€AØ”�A”q“	Š>Ðˆ>Ü�aœÔÐÐØ�6‰6”a˜�VÒÐÐä�S˜!˜QÓ€AÜˆq�!‹9œ˜A˜q›	Ô* Q¨¡UÒ*Ð*Ñ*Ð*Ð*ô 	ŒAˆq�!‹€AØ”�A”q˜!“Ô\¤ A q¬!£Ô\´´A°q¸!³Ô\ÄÀAÄqÈ!ÃÔ\ÔPSÐTUÐWXÔZ[ÓP\Ò\Ð\Ñ\Ð\Ð\Ü�aœÔÐÐØ�6‰6”a˜˜Q™�ZÒÐÐäˆq�!‹9˜˜!™ÒÐÐÜˆq�!�Q‹<œ3˜q ! Q›<ÔB¬3¨q°!°Q«<ÔB¸1¸qÀ¹s¹7ÒBÐBÑBÐBÐBäˆAŒq�!�QœÓ€AÜ�aœÔÐÐØ�6‰6�aœ‘c˜1˜q ™s™7�^Ò#Ð#Ñ#rB   c                  óJ  — t        t        t        t        z  t        t        z  z   «      «      t        k(  sJ ‚t        dt        z  t        z  dt        z  t        z  z   «      } t        | «      t        k(  sJ ‚| j
                  dt        z  t        z  dt        z  t        z  fk(  sJ ‚y )Nr=   ru   )Útyper   r7   r8   r   rw   )r$  s    rC   Ú test_simplify_matrix_expressionsr1    s|   € ä”	œ!œA™#¤¤!¡™)Ó$Ó%¬Ò/Ð/Ð/Ü�!”A‘#”a‘%˜!œA™#œa™%‘-Ó €AÜ�‹7”fÒÐÐØ�6‰6�aœ‘cœ!‘e˜Qœq™S¤™U�^Ò#Ð#Ñ#rB   c                  óþ   — t        ddd«      } t        ddd«      }t        | «      t        |«      z  }t        |«      t        | «      z  }||k7  sJ ‚||z
  dk7  sJ ‚t        |t        «      rJ ‚t        |t        «      rJ ‚y )Nr5   r=   r6   r   )r#   r   r†   )r5   r6   rü   rý   s       rC   Útest_expr3    s�   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�‹F”3�q“6‰M€EÜ�‹F”3�q“6‰M€EØ�EŠ>Ðˆ>Ø�5‰=˜AÒÐÐÜ˜%¤Ô%Ð%Ð%Ü˜%¤Ô%Ð%Ð%Ð%rB   c                  ó&   — t        t        d„ «       y )Nc                  ó   — t        ddd«      S )Nr;   r=   r5   r@   rA   rB   rC   rD   z#test_invalid_args.<locals>.<lambda>  s   € ¤¨a°°CÓ!8€ rB   )r.   r   rA   rB   rC   Útest_invalid_argsr6    s   € Ü
Œ<Ñ8Õ9rB   c                  óô   — t        dd¬«      } t        | dd«      }|j                  «       }|j                  dd«      }|j                  |j                  k(  sJ ‚|j                  d   |j                  d   k(  sJ ‚y )Nr5   T)Úcomplexr=   rg   r   )r	   r#   r™   ro   rw   )ÚA_labelr5   ÚA_1ÚA_2s       rC   Útest_matrixsymbol_from_symbolr<    sj   € ä�S $Ô'€GÜ�W˜a Ó#€Aà
�&‰&‹(€CØ
�&‰&��A‹,€CØ�8‰8�q—v‘vÒÐÐØ�8‰8�A‰;˜!Ÿ&™& ™)Ò#Ð#Ñ#rB   c                  ó°   — t        ddd«      } | j                  «       t        | d   | d   | d   g| d   | d   | d	   gg«      k(  sJ ‚t        t        d
„ «       y )Nrj   r=   rg   rY   rX   rÅ   r¸   rl   r²   c                  ó*   — t         j                  «       S r„   )r5   rÆ   rA   rB   rC   rD   z"test_as_explicit.<locals>.<lambda>,  s   € œqŸ}™}›€ rB   )r#   rÆ   r   r.   rU   )rj   s    rC   Útest_as_explicitr?  &  sm   € Ü�S˜!˜QÓ€AØ�=‰=‹?œoØ	
ˆ4‰�!�D‘'˜1˜T™7Ð#Ø	
ˆ4‰�!�D‘'˜1˜T™7Ð#ð/ó ò ð ð ô Œ:Ñ.Õ/rB   c                  ó  ‡‡— t        ddt        j                  ¬«      Š‰j                  dk(  sJ ‚‰j                  t        j                  k(  sJ ‚t        ddgddgg«      Š‰‰v sJ ‚t        dd«      Š‰‰v sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        t        t        j                  ¬«      Št        ‰v sJ ‚t        t        ˆfd	„«       t        t        ˆˆfd
„«       t        ddh d£¬«      Št        ddgddgg«      Št        ddgg«      } ‰‰v t        j                  k(  sJ ‚| ‰v t        j                  k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       y )Nr=   )Úsetrs   r;   rg   ru   c                  ó   •— t         ‰ v S r„   r}   ©rÏ   s   €rC   rD   z test_MatrixSet.<locals>.<lambda>7  ó   ø€ œa 1˜f€ rB   c                  ó   •— d‰ v S r|   rA   rC  s   €rC   rD   z test_MatrixSet.<locals>.<lambda>8  ó   ø€ ˜a 1˜f€ rB   c                  ó   •— t         ‰ v S r„   )r7   rC  s   €rC   rD   z test_MatrixSet.<locals>.<lambda>;  rD  rB   c                  ó   •— ‰‰ v S r„   rA   )rÏ   rh   s   €€rC   rD   z test_MatrixSet.<locals>.<lambda><  rF  rB   >   r;   r=   rg   c                  ó8   — t        ddt        j                  «      S )Nr=   r³   ©r'   r   ÚRealsrA   rB   rC   rD   z test_MatrixSet.<locals>.<lambda>B  s   € œy¨¨B´·±Ó8€ rB   c                  ó8   — t        ddt        j                  «      S )Ng333333@r?   rJ  rA   rB   rC   rD   z test_MatrixSet.<locals>.<lambda>C  s   € œy¨¨b´!·'±'Ó:€ rB   c                  ó   — t        ddd«      S )Nr=   )r;   r=   rg   )r'   rA   rB   rC   rD   z test_MatrixSet.<locals>.<lambda>D  s   € œi¨¨1¨iÓ8€ rB   )r'   r   rK  rZ   rA  r!   r,   r.   r‡   rN   r[   r5   ÚfalserU   )ri   rÏ   rh   s    @@rC   Útest_MatrixSetrO  /  s=  ù€ Ü�!�QœAŸG™GÔ$€AØ�7‰7�fÒÐÐØ�5‰5”A—G‘GÒÐÐÜ��A�˜˜A˜ÐÓ €AØ�‰6€Mˆ6Ü�1�aÓ€AØ�‰6€Mˆ6Ü
Œ9“nÔ%Ü
Œ9“nÔ%Ü”!”QœAŸG™GÔ$€AÜ�‰6€Mˆ6Ü
Œ9“nÔ%Ü
Œ9”nÔ%Ü�!�QšIÔ&€AÜ��A�˜˜A˜ÐÓ €AÜ��A�ˆxÓ€AØ�ˆF”q—w‘wÒÐÐØ�ˆF”q—w‘wÒÐÐÜ
Œ:Ñ8Ô9Ü
Œ:Ñ:Ô;Ü
Œ9Ñ8Õ9rB   c                  óB  — t        ddd«      } t        ddd«      }t        dd«      }|  |z    | z
  |z   |k(  sJ ‚|  |z    | z
  |z   j                  «       |k(  sJ ‚|  |z    | z
  |z   j                  «       |k(  sJ ‚|  |z    | z
  |z   |z
  j                  «       |k(  sJ ‚|  |z    | z
  |z   |z
  j                  «       |k(  sJ ‚| | |z   z  || j                  |j                  z   z  z   j                  «       | dz  | |z  z   || j                  z  z   ||j                  z  z   k(  sJ ‚y )Nr5   r=   r6   )r#   r,   r   r   r  )r5   r6   rj   s      rC   Útest_matrixsymbol_solvingrQ  G  sM  € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�1�aÓ€AØˆR�!‰Vˆ9�q‰=˜1Ñ Ò!Ð!Ð!Øˆb�1‰fˆI˜‰M˜AÑ×'Ñ'Ó)¨QÒ.Ð.Ð.Øˆb�1‰fˆI˜‰M˜AÑ×%Ñ%Ó'¨1Ò,Ð,Ð,Øˆb�1‰fˆI˜‰M˜AÑ Ñ!×+Ñ+Ó-°Ò2Ð2Ð2Øˆb�1‰fˆI˜‰M˜AÑ Ñ!×)Ñ)Ó+¨qÒ0Ð0Ð0Øˆq�1‰u‰I˜˜1Ÿ3™3 §¡™9™Ñ%×-Ñ-Ó/°1°a±4¸!¸A¹#±:ÀÀ!Ç#Á#ÁÑ3EÈÈ!Ï#É#ÉÑ3MÒMÐMÑMrB   N)wÚsympy.concrete.summationsr   Úsympy.core.exprtoolsr   Úsympy.core.functionr   r   Úsympy.core.relationalr   Úsympy.core.symbolr   r	   r
   Ú(sympy.functions.special.tensor_functionsr   Úsympy.matrices.denser   Úsympy.polys.polytoolsr   Ú
sympy.corer   r   r   r   r   r   r   Úsympy.functionsr   r   r   r   r   r   Úsympy.simplifyr   Úsympy.matricesr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   Úsympy.matrices.exceptionsr(   Ú&sympy.matrices.expressions.determinantr)   r*   Ú"sympy.matrices.expressions.matexprr+   Ú"sympy.matrices.expressions.specialr,   r-   Úsympy.testing.pytestr.   r/   r0   Úimportlib.metadatar1   rN   r[   r\   r´   rä   r4   r5   r6   r7   r8   r9   r:   rV   r`   rd   ry   rˆ   r�   r•   rš   r¡   r¤   r¦   r©   r¬   r°   r¶   rÀ   rÂ   rÇ   rÉ   rÍ   rÑ   rá   rç   rõ   rú   rÿ   r  r  r  r  r  r   r'  r*  r.  r1  r3  r6  r<  r?  rO  rQ  rA   rB   rC   ú<module>rd     sÏ  ðÝ )Ý *ß .Ý $ß 2Ñ 2Ý CÝ &Ý (÷÷ ñ ç :× :Ý #÷5÷ 5÷ 5ó 5õ ;ß CÝ <ß Cß 4Ñ 4Ý &á˜¨TÔ2�€€1€aˆˆAÙˆCƒL€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€ò8ò$&ò!ò'4òT9ò ò2Eò&ò;ò(òDò!ò!ò/òòò.òDò(6ò0ò'ò5ò#ò)ò>ð ñJó ðJò8ò-òBò
ò	ò
0ò2ð: ñ*ó ð*ò,$ò^$ò&ò:ò$ò0ò:ó0	NrB   