§
    OŠtjDŸ  ã                   óú  — 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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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$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l0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZE d dlFmGZGmHZHmIZI d„ ZJ e¦   «         5   G d„ de)e*e+¦  «        ZKddd¦  «         n# 1 swxY w Y   d„ ZLd„ ZM e¦   «         5   G d„ de)e*e,¦  «        ZNddd¦  «         n# 1 swxY w Y   d„ ZOd „ ZP e¦   «         5   G d!„ d"e)e*e-¦  «        ZQddd¦  «         n# 1 swxY w Y   d#„ ZRd$„ ZS e¦   «         5   G d%„ d&e)e*e.¦  «        ZTddd¦  «         n# 1 swxY w Y   d'„ ZUd(„ ZV e¦   «         5   G d)„ d*e)e*e/¦  «        ZWddd¦  «         n# 1 swxY w Y    e¦   «         5   G d+„ d,e)e*e1¦  «        ZXddd¦  «         n# 1 swxY w Y   d-„ ZYd.„ ZZd/„ Z[d0„ Z\d1„ Z]d2„ Z^d3„ Z_d4„ Z`d5„ Zad6„ Zbd7„ Zcd8„ Zdd9„ Zed:„ Zfd;„ Zgd<„ Zhd=„ Zid>„ Zjd?„ Zkd@„ ZldA„ ZmdB„ ZndC„ ZodD„ ZpdE„ ZqdF„ ZrdG„ ZsdH„ ZtdI„ ZudJ„ ZvdK„ ZwdL„ ZxdM„ ZydN„ ZzdO„ Z{dP„ Z|dQ„ Z}dR„ Z~dS„ ZdT„ Z€dU„ Z�dV„ Z‚dW„ ZƒdX„ Z„dY„ Z…dZ„ Z†d[„ Z‡d\„ Zˆd]„ Z‰d^„ ZŠd_„ Z‹d`„ ZŒda„ Z�db„ ZŽdc„ Z�dd„ Z�de„ Z‘df„ Z’dg„ Z“dh„ Z”di„ Z•dj„ Z–dk„ Z—dl„ Z˜dm„ Z™dn„ Zšdo„ Z›dp„ Zœdq„ Z�edr„ ¦   «         Zžds„ ZŸdt„ Z du„ Z¡dv„ Z¢dw„ Z£dx„ Z¤dy„ Z¥dz„ Z¦d{„ Z§dS )|é    )ÚraisesÚXFAILÚwarns_deprecated_sympy)ÚQ)ÚExpr)ÚAdd)ÚFunction)Ú
NumberKindÚUndefinedKind)ÚIÚIntegerÚooÚpiÚRational)ÚS)ÚSymbolÚsymbols)ÚAbs)Úexp)Úsqrt)ÚcosÚsin)Ú
ShapeErrorÚNonSquareMatrixError)Ú
MatrixKind)Ú_MinimalMatrixÚ_CastableMatrixÚMatrixShapingÚMatrixPropertiesÚMatrixOperationsÚMatrixArithmeticÚMatrixSpecial)ÚMatrixCalculus)ÚMatrixÚdiagÚeyeÚmatrix_multiply_elementwiseÚonesÚzerosÚSparseMatrixÚbandedÚMutableDenseMatrixÚMutableSparseMatrixÚImmutableDenseMatrixÚImmutableSparseMatrix)ÚPoly)Úflatten)ÚImmutableDenseNDimArray)ÚxÚyÚzc                  ó¨  — ddl m} m}m}m}m}m}m} ddlm	}m
}m}	m}
m}m} ddlm}m}m}m} | |||||||||	|
||f}||||f}d„ |D ¦   «         }d}|D ]}}|D ]=}t)          ¦   «         5  t+          ||¦  «        du sJ ‚	 d d d ¦  «         n# 1 swxY w Y   Œ>t)          ¦   «         5  t+          ||¦  «        du sJ ‚	 d d d ¦  «         n# 1 swxY w Y   Œ~d S )	Nr   )ÚMatrixRequiredr   r"   r   r    r!   ÚMatrixCommon)ÚMatrixDeterminantÚMatrixReductionsÚMatrixSubspacesÚMatrixEigenr#   ÚMatrixDeprecated)r$   ÚImmutableMatrixr*   r/   c                 ó0   — g | ]} |d dgddgg¦  «        ‘ŒS ©é   é   é   é   © )Ú.0ÚMs     úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/tests/test_commonmatrix.pyú
<listcomp>z5test_matrix_deprecated_isinstance.<locals>.<listcomp>Y   s/   € Ð	4Ð	4Ð	4 !ˆ!ˆ!ˆa�ˆV�a˜�VÐÑ
Ô
Ð	4Ð	4Ð	4ó    rE   TF)Úsympy.matrices.commonr7   r   r"   r   r    r!   r8   Úsympy.matrices.matricesr9   r:   r;   r<   r#   r=   Úsympyr$   r>   r*   r/   r   Ú
isinstance)r7   r   r"   r   r    r!   r8   r9   r:   r;   r<   r#   r=   r$   r>   r*   r/   Ú
all_mixinsÚall_matricesÚMsÚtÚmixinrG   s                          rH   Ú!test_matrix_deprecated_isinstancerT   '   so  € ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð 	ØØØØØØØØØØØØð€Jð  	ØØØð	€Lð 
5Ð	4 |Ð	4Ñ	4Ô	4€BØ
€Aàð 1ð 1ˆØð 	4ð 	4ˆAÝ'Ñ)Ô)ð 4ð 4Ý! ! UÑ+Ô+¨tÐ3Ð3Ð3Ð3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4øå#Ñ%Ô%ð 	1ð 	1Ý˜a Ñ'Ô'¨5Ð0Ð0Ð0Ð0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1øð	1ð 1s$   Á(B
Â
BÂBÂ$CÃC
	ÃC
	c                   ó   — e Zd ZdS )ÚShapingOnlyMatrixN©Ú__name__Ú
__module__Ú__qualname__rE   rJ   rH   rV   rV   i   ó   € € € € € ØˆrJ   rV   Nc                 ó&   — t          | | d„ ¦  «        S )Nc                 ó(   — t          | |k    ¦  «        S ©N©Úint©ÚiÚjs     rH   ú<lambda>zeye_Shaping.<locals>.<lambda>n   s   € µ°A¸²F±´€ rJ   ©rV   ©Úns    rH   Úeye_Shapingrh   m   s   € Ý˜Q Ð#;Ð#;Ñ<Ô<Ð<rJ   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó   — dS ©Nr   rE   ra   s     rH   rd   zzeros_Shaping.<locals>.<lambda>r   s   € °€ rJ   re   rf   s    rH   Úzeros_Shapingrl   q   s   € Ý˜Q  > >Ñ2Ô2Ð2rJ   c                   ó   — e Zd ZdS )ÚPropertiesOnlyMatrixNrW   rE   rJ   rH   rn   rn   v   r[   rJ   rn   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó(   — t          | |k    ¦  «        S r^   r_   ra   s     rH   rd   z eye_Properties.<locals>.<lambda>{   ó   € µ3°q¸A²v±;´;€ rJ   ©rn   rf   s    rH   Úeye_Propertiesrs   z   ó   € Ý  1Ð&>Ð&>Ñ?Ô?Ð?rJ   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó   — dS rk   rE   ra   s     rH   rd   z"zeros_Properties.<locals>.<lambda>   ó   € °1€ rJ   rr   rf   s    rH   Úzeros_Propertiesrx   ~   ó   € Ý  1 n nÑ5Ô5Ð5rJ   c                   ó   — e Zd ZdS )ÚOperationsOnlyMatrixNrW   rE   rJ   rH   r{   r{   ƒ   r[   rJ   r{   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó(   — t          | |k    ¦  «        S r^   r_   ra   s     rH   rd   z eye_Operations.<locals>.<lambda>ˆ   rq   rJ   ©r{   rf   s    rH   Úeye_Operationsr   ‡   rt   rJ   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó   — dS rk   rE   ra   s     rH   rd   z"zeros_Operations.<locals>.<lambda>Œ   rw   rJ   r~   rf   s    rH   Úzeros_Operationsr‚   ‹   ry   rJ   c                   ó   — e Zd ZdS )ÚArithmeticOnlyMatrixNrW   rE   rJ   rH   r„   r„   �   r[   rJ   r„   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó(   — t          | |k    ¦  «        S r^   r_   ra   s     rH   rd   z eye_Arithmetic.<locals>.<lambda>•   rq   rJ   ©r„   rf   s    rH   Úeye_Arithmeticrˆ   ”   rt   rJ   c                 ó&   — t          | | d„ ¦  «        S )Nc                 ó   — dS rk   rE   ra   s     rH   rd   z"zeros_Arithmetic.<locals>.<lambda>™   rw   rJ   r‡   rf   s    rH   Úzeros_Arithmeticr‹   ˜   ry   rJ   c                   ó   — e Zd ZdS )ÚSpecialOnlyMatrixNrW   rE   rJ   rH   r�   r�   �   r[   rJ   r�   c                   ó   — e Zd ZdS )ÚCalculusOnlyMatrixNrW   rE   rJ   rH   r�   r�   ¢   r[   rJ   r�   c                  óø  — t          ddg d¢¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚| d         dk    sJ ‚| d         dk    sJ ‚t          | ¦  «        g d¢k    sJ ‚t          | dd d …f         ¦  «        g d¢k    sJ ‚t          | d d …df         ¦  «        ddgk    sJ ‚t          | d d …d d …f         ¦  «        t          | ¦  «        k    sJ ‚| d d …d d …f         | k    sJ ‚t          | ¦  «        | k    sJ ‚t          g d¢g d¢g¦  «        | k    sJ ‚t          g d¢g d¢f¦  «        | k    sJ ‚t          ddg¦  «        | k    sJ ‚t          d	¦  «        | k    sJ ‚t          ddgdd
gddgg¦  «        | k    rJ ‚d S )NrB   rC   )rA   rB   rC   rD   é   é   ©rA   rA   r‘   rA   ©rD   r‘   r’   ©rA   rB   rC   )r•   r”   rD   r’   )r   ÚrowsÚcolsÚlist©r3   s    rH   Útest__MinimalMatrixrš   ¦   sß  € Ý�q˜!Ð/Ð/Ð/Ñ0Ô0€AØŒ6�QŠ;ˆ;ˆ;ˆ;ØŒ6�QŠ;ˆ;ˆ;ˆ;ØˆQŒ4�1Š9ˆ9ˆ9ˆ9ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<Ý�‰7Œ7Ð(Ð(Ð(Ò(Ð(Ð(Ð(Ý��!�Q�Q�Q�$”‰=Œ=˜I˜I˜IÒ%Ð%Ð%Ð%Ý��!�!�!�Q�$”‰=Œ=˜Q ˜FÒ"Ð"Ð"Ð"Ý��!�!�!�Q�Q�Q�$”‰=Œ=�D ™GœGÒ#Ð#Ð#Ð#ØˆQˆQˆQ���ˆTŒ7�aŠ<ˆ<ˆ<ˆ<Ý˜!ÑÔ Ò!Ð!Ð!Ð!Ý˜9˜9˜9 i i iÐ0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜9˜9˜9 i i iÐ0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜9 iÐ0Ñ1Ô1°QÒ6Ð6Ð6Ð6ÝÐ0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý  A ¨¨A¨°°A°Ð7Ñ8Ô8¸AÒ=Ð=Ð=Ð>Ð=Ð=rJ   c                  óä  — t          ddgddgg¦  «        j        t          t          ¦  «        k    sJ ‚t          ddgddgg¦  «        j        t          t          ¦  «        k    sJ ‚t          ddg ¦  «        j        t          t          ¦  «        k    sJ ‚t          t          gg¦  «        j        t          t          ¦  «        k    sJ ‚t          dt          dgg¦  «        gg¦  «        j        t          t
          ¦  «        k    sJ ‚t          dgg¦  «        j        t          t          ¦  «        k    sJ ‚t          dt          dgg¦  «        gg¦  «        j        t          t
          ¦  «        k    sJ ‚d S )NrA   rB   rC   rD   r   )r$   Úkindr   r
   r3   r   r*   rE   rJ   rH   Ú	test_kindr�   ¹   sL  € Ý�A�q�6˜A˜q˜6Ð"Ñ#Ô#Ô(­JµzÑ,BÔ,BÒBÐBÐBÐBÝ�A�q�6˜A˜q˜6Ð"Ñ#Ô#Ô(­JµzÑ,BÔ,BÒBÐBÐBÐBÝ�!�Q˜ÑÔÔ ¥J­zÑ$:Ô$:Ò:Ð:Ð:Ð:Ý•A�3�%‰=Œ=Ô¥­JÑ!7Ô!7Ò7Ð7Ð7Ð7Ý�A•v ˜s˜e‘}”}Ð%Ð&Ñ'Ô'Ô,µ
½=Ñ0IÔ0IÒIÐIÐIÐIÝ˜!˜˜ÑÔÔ#¥zµ*Ñ'=Ô'=Ò=Ð=Ð=Ð=Ý˜!�V a S E™]œ]Ð+Ð,Ñ-Ô-Ô2µjÅÑ6OÔ6OÒOÐOÐOÐOÐOÐOrJ   c                  ó´   — t          ddg d¢¦  «        } |                      ¦   «         }|j        dk    sJ ‚t          d¦  «        D ]}||         |dz   k    sJ ‚Œd S )NrB   )rA   rC   rB   rD   rA   rD   )rV   Úvecr—   Úrange)ÚmÚm_vecrb   s      rH   Útest_vecr£   Ä   sn   € Ý˜!˜Q   Ñ-Ô-€AØ�EŠE‰GŒG€EØŒ:˜Š?ˆ?ˆ?ˆ?Ý�1‰XŒXð !ð !ˆØ�QŒx˜1˜q™5Ò Ð Ð Ð Ð ð!ð !rJ   c                  ó®  — t          d¦  «        \  } }}}t          | |g||gg¦  «        }t          | |g||gg¦  «        }t          | |g||gg¦  «        }t	          | |g||gg¦  «        }|                     ¦   «         |                     ¦   «         cxk    r=|                     ¦   «         cxk    r$|                     ¦   «         cxk    r| |||dœk    sn J ‚d S )Nza:d)©r   r   ©r   rA   ©rA   r   r“   )r   r,   r.   r-   r/   Útodok)ÚaÚbÚcÚdÚm1Úm2Úm3Úm4s           rH   Ú
test_todokr±   Ì   s  € Ý˜‘”�J€A€qˆ!ˆQÝ	˜a ˜V a¨ VÐ,Ñ	-Ô	-€BÝ	  1˜v¨¨1 vÐ.Ñ	/Ô	/€BÝ	˜q !˜f q¨! fÐ-Ñ	.Ô	.€BÝ	  A ¨¨A¨Ð/Ñ	0Ô	0€BØ�8Š8‰:Œ:˜Ÿš™œð 5ð 5ò 5ð 5 r§x¢x¡z¤zð 5ð 5ò 5ð 5°R·X²X±Z´Zð 5ð 5ò 5ð 5Ø˜A q°!Ð4Ð4ò5ð 5ð 5ð 5ð 5ð 5ð 5ð 5rJ   c                  ó  — t           j        t           j        t          t          z  t           j        gt          t          t          t          dz  gt          t           j         t          t          z  dgg} t           j        t           j        t          t          z  t           j        t          t          t          t          dz  t          t           j         t          t          z  dg}t          dd|¦  «        }|                     ¦   «         | k    sJ ‚d S )NrB   rC   rD   )	r   ÚOneÚHalfr3   r4   ÚZeror5   rV   Útolist)ÚlstÚflat_lstr¡   s      rH   Útest_tolistr¹   Ö   s¢   € ÝŒE•1”6�1�Q™3¥¤Ð'­!­Qµµ1°a±4¨½1½q¼u¸fÅaÍÁcÈ1Ð:MÐ
N€CÝ”•q”v�q¥™s¥A¤F­A­qµ!µQ¸±T½1½q¼u¸fÅaÍÁcÈ1ÐM€HÝ˜!˜Q Ñ)Ô)€AØ�8Š8‰:Œ:˜ÒÐÐÐÐÐrJ   c                  óê   — t          ddt          j        dgdt          j        gt          dgg¦  «        } dt          j        idt          j        idt          idœ}|                      ¦   «         |k    sJ ‚d S )NrC   rB   r   rA   ©r   rA   rB   )rV   r   r³   r´   r3   Útodod)r¡   Údicts     rH   Ú
test_tododr¾   Ü   sh   € Ý˜!˜Q¥!¤%¨ ¨aµ´¨[½1¸a¸&Ð AÑBÔB€AØ•1”5ˆz˜q¥!¤&˜k¨qµ!¨fÐ5Ð5€DØ�7Š7‰9Œ9˜ÒÐÐÐÐÐrJ   c                  óJ  ‡ — t          ddg d¢¦  «        Š t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         ‰                      d¦  «        ‰                      d¦  «        cxk    rt	          g d	¢g d
¢g¦  «        k    sn J ‚‰                      d¦  «        ‰                      d¦  «        cxk    rt	          ddgddgddgg¦  «        k    sn J ‚‰                      d¦  «        ‰                      d¦  «        cxk    rt	          g d	¢g d¢g¦  «        k    sn J ‚‰                      d¦  «        ‰                      d¦  «        cxk    rt	          ddgddgddgg¦  «        k    sn J ‚d S )NrC   ©	rA   rB   rC   rD   r‘   r’   é   é   é	   c                  ó.   •— ‰                       d¦  «        S ©Nr‘   ©Úrow_del©Úes   €rH   rd   z"test_row_col_del.<locals>.<lambda>ã   ó   ø€ ˜qŸyšy¨™|œ|€ rJ   c                  ó.   •— ‰                       d¦  «        S ©NéûÿÿÿrÆ   rÈ   s   €rH   rd   z"test_row_col_del.<locals>.<lambda>ä   ó   ø€ ˜qŸyšy¨™}œ}€ rJ   c                  ó.   •— ‰                       d¦  «        S rÅ   ©Úcol_delrÈ   s   €rH   rd   z"test_row_col_del.<locals>.<lambda>å   rÊ   rJ   c                  ó.   •— ‰                       d¦  «        S rÌ   rÐ   rÈ   s   €rH   rd   z"test_row_col_del.<locals>.<lambda>æ   rÎ   rJ   rB   éÿÿÿÿr•   r”   rA   rD   r‘   rÁ   rÂ   éþÿÿÿ©rÁ   rÂ   rÃ   r’   rÃ   )rV   r   Ú
IndexErrorrÇ   r$   rÑ   rÈ   s   @rH   Útest_row_col_delr×   á   sÍ  ø€ Ý˜!˜QÐ ;Ð ;Ð ;Ñ<Ô<€AÝ
�:Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ý
�:Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ý
�:Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ý
�:Ð,Ð,Ð,Ð,Ñ-Ô-Ð-à�9Š9�Q‰<Œ<˜1Ÿ9š9 R™=œ=ÐJÐJÒJÐJ­F°I°I°I¸y¸y¸yÐ3IÑ,JÔ,JÒJÐJÐJÐJÐJÐJØ�9Š9�Q‰<Œ<˜1Ÿ9š9 R™=œ=ÐLÐLÒLÐL­F°Q¸°F¸QÀ¸FÀQÈÀFÐ3KÑ,LÔ,LÒLÐLÐLÐLÐLÐLà�9Š9�Q‰<Œ<˜1Ÿ9š9 R™=œ=ÐJÐJÒJÐJ­F°I°I°I¸y¸y¸yÐ3IÑ,JÔ,JÒJÐJÐJÐJÐJÐJØ�9Š9�Q‰<Œ<˜1Ÿ9š9 R™=œ=ÐLÐLÒLÐL­F°Q¸°F¸QÀ¸FÀQÈÀFÐ3KÑ,LÔ,LÒLÐLÐLÐLÐLÐLÐLÐLrJ   c                  ó‚  — t          ddgddgg¦  «        } t          dt          gt          dgg¦  «        }t          dt          dgt          dt          gt          t          t          gg¦  «        }|                      ¦   «         | gk    sJ ‚|                     ¦   «         |gk    sJ ‚|                     ¦   «         |gk    sJ ‚d S ©NrA   rB   rC   )r$   r3   r4   r5   Úget_diag_blocks)r©   rª   r«   s      rH   Útest_get_diag_blocks1rÛ   ï   s¿   € Ý��A�˜˜A˜ÐÑ Ô €AÝ�•A��˜A˜ÐÑ Ô €AÝ�•A�q�	�A˜q¥!˜9¥q­!­Q iÐ0Ñ1Ô1€AØ×ÒÑÔ 1 #Ò%Ð%Ð%Ð%Ø×ÒÑÔ 1 #Ò%Ð%Ð%Ð%Ø×ÒÑÔ 1 #Ò%Ð%Ð%Ð%Ð%Ð%rJ   c                  ó.  — t          ddgddgg¦  «        } t          dt          gt          dgg¦  «        }t          dt          dgt          dt          gt          t          t          gg¦  «        }t	          | ||¦  «        t	          | ||¦  «        t	          | ||¦  «        t	          |||¦  «        f\  }}}}t          |j        |j        |¦  «        }t          |j        |j        |¦  «        }t          |j        |j        |¦  «        }t          |j        |j        |¦  «        }|                     ¦   «         | ||gk    sJ ‚|                     ¦   «         | ||gk    sJ ‚|                     ¦   «         | ||gk    sJ ‚|                     ¦   «         |||gk    sJ ‚d S rÙ   )	r$   r3   r4   r5   r%   rV   r–   r—   rÚ   )r©   rª   r«   ÚAÚBÚCÚDs          rH   Útest_get_diag_blocks2rá   ø   s€  € Ý��A�˜˜A˜ÐÑ Ô €AÝ�•A��˜A˜ÐÑ Ô €AÝ�•A�q�	�A˜q¥!˜9¥q­!­Q iÐ0Ñ1Ô1€AÝ�a˜˜A‘”¥ Q¨¨1¡¤­t°A°q¸!©}¬}½dÀ1ÀaÈ¹m¼mÐK�J€A€qˆ!ˆQÝ˜!œ& !¤&¨!Ñ,Ô,€AÝ˜!œ& !¤&¨!Ñ,Ô,€AÝ˜!œ& !¤&¨!Ñ,Ô,€AÝ˜!œ& !¤&¨!Ñ,Ô,€Aà×ÒÑÔ 1 a¨ )Ò+Ð+Ð+Ð+Ø×ÒÑÔ 1 a¨ )Ò+Ð+Ð+Ð+Ø×ÒÑÔ 1 a¨ )Ò+Ð+Ð+Ð+Ø×ÒÑÔ 1 a¨ )Ò+Ð+Ð+Ð+Ð+Ð+rJ   c                  óF   — t          ddddg¦  «        } | j        dk    sJ ‚d S )NrA   rB   r   ©rA   rB   )rV   Úshape©r¡   s    rH   Ú
test_shaperæ     s0   € Ý˜!˜Q  A Ñ'Ô'€AØŒ7�fÒÐÐÐÐÐrJ   c                  óB  — t          d¦  «        } |                      dd¦  «        t          ddd¦  «        k    sJ ‚t          ddd„ ¦  «        }|                     dd¦  «        t          d¦  «        k    sJ ‚|                     dd	¦  «        t          d
¦  «        k    sJ ‚d S )NrC   rA   rÃ   )	rA   r   r   r   rA   r   r   r   rA   rD   c                 ó   — | |z   S r^   rE   ra   s     rH   rd   ztest_reshape.<locals>.<lambda>  s
   € ¨a°!©e€ rJ   )r»   ©rC   rA   rB   )rC   rD   rB   ©rC   rD   r‘   rB   r’   ))r   rA   rB   rC   rA   rB   )rC   rD   rB   rC   rD   r‘   )rh   Úreshaper$   rV   ©Úm0r­   s     rH   Útest_reshaperî     s¶   € Ý	�Q‰Œ€BØ�:Š:�a˜ÑÔ�v a¨Ð,GÑHÔHÒHÐHÐHÐHÝ	˜1˜aÐ!3Ð!3Ñ	4Ô	4€BØ�:Š:Ø	ˆ1ñô ÝÐDÑEÔEòFð Fð Fð Fà�:Š:�a˜ÑÔ�vÐ&NÑOÔOÒOÐOÐOÐOÐOÐOrJ   c                  óÜ   — t          ddg d¢¦  «        } |                      d¦  «        t          ddg d¢¦  «        k    sJ ‚|                      d¦  «        t          ddg d¢¦  «        k    sJ ‚d S )NrC   rÀ   r   rA   r•   )rA   rD   rÁ   )rV   Úrowr$   Úcolrå   s    rH   Útest_row_colrò     sv   € Ý˜!˜QÐ ;Ð ;Ð ;Ñ<Ô<€AØ�5Š5�‰8Œ8•v˜a  I I IÑ.Ô.Ò.Ð.Ð.Ð.Ø�5Š5�‰8Œ8•v˜a  I I IÑ.Ô.Ò.Ð.Ð.Ð.Ð.Ð.rJ   c                  ó    — t          d¦  «                             t          g d¢¦  «        ¦  «        t          g d¢g d¢g d¢g¦  «        k    sJ ‚d S )NrC   ©rÁ   rÁ   rÁ   )rA   r   r   rÁ   )r   rA   r   rÁ   )r   r   rA   rÁ   )rh   Úrow_joinr$   rE   rJ   rH   Útest_row_joinrö     si   € Ý�q‰>Œ>×"Ò"¥6¨)¨)¨)Ñ#4Ô#4Ñ5Ô5Ý�<�<�<Ø�<�<Ø�<�<ð!ñ "ô "ò"ð "ð "ð "ð "ð "rJ   c                  ó¨   — t          d¦  «                             t          g d¢g¦  «        ¦  «        t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚d S )NrC   rô   ©rA   r   r   )r   rA   r   )r   r   rA   )rh   Úcol_joinr$   rE   rJ   rH   Útest_col_joinrú   #  sr   € Ý�q‰>Œ>×"Ò"¥6¨9¨9¨9¨+Ñ#6Ô#6Ñ7Ô7Ý�9�9�9Ø�9�9Ø�9�9Ø�9�9ðñ ô òð ð ð ð ð rJ   c                  ó:  — t          g d¢g¦  «        } t          dd¦  «        D ]w}g d¢}|                     |d¦  «         t          t	          d¦  «                             || ¦  «                             d¦  «                             ¦   «         ¦  «        |k    sJ ‚Œxd S )N©rD   rD   rD   éüÿÿÿr‘   rø   rD   rC   r   )r$   r    Úinsertr1   rh   Ú
row_insertrñ   r¶   )Úr4rb   Úls      rH   Útest_row_insertr  +  s    € Ý	����Ñ	Ô	€BÝ�2�q‰\Œ\ð Nð NˆØˆIˆIˆØ	�Š��A‰ŒˆÝ•{ 1‘~”~×0Ò0°°BÑ7Ô7×;Ò;¸AÑ>Ô>×EÒEÑGÔGÑHÔHÈAÒMÐMÐMÐMÐMðNð NrJ   c                  ó  — t          g d¢¦  «        } t          dd¦  «        D ]w}g d¢}|                     |d¦  «         t          t	          d¦  «                             || ¦  «                             d¦  «                             ¦   «         ¦  «        |k    sJ ‚Œxt          d¦  «                             dt          d	d	gd	d	gd	d	gd	d	gd	d	gd	d	gg¦  «        ¦  «        t          g d
¢g d¢g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚d S )Nrü   rý   r‘   ©r   r   r   rD   rC   r   r’   rB   )rA   r   r   rB   rB   r   r   r   )r   rA   r   rB   rB   r   r   r   )r   r   rA   rB   rB   r   r   r   )r   r   r   rB   rB   rA   r   r   )r   r   r   rB   rB   r   rA   r   )r   r   r   rB   rB   r   r   rA   )	r$   r    rþ   r1   rl   Ú
col_insertrð   r¶   rh   )Úc4rb   r  s      rH   Útest_col_insertr  3  sF  € Ý	�	�	�	Ñ	Ô	€BÝ�2�q‰\Œ\ð Pð PˆØˆIˆIˆØ	�Š��A‰ŒˆÝ•} QÑ'Ô'×2Ò2°1°bÑ9Ô9×=Ò=¸aÑ@Ô@×GÒGÑIÔIÑJÔJÈaÒOÐOÐOÐOÐOå�q‰>Œ>×$Ò$ Q­°°A°¸¸A¸ÀÀAÀÈÈAÈÐQRÐTUÐPVÐYZÐ\]ÐX^Ð/_Ñ(`Ô(`ÑaÔaÝÐ+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ò.ð .ð .ð .ð .ð .rJ   c                  ó¼  ‡ — t          ddd„ ¦  «        Š ‰                      g d¢ddg¦  «        t          ddg d¢¦  «        k    sJ ‚‰                      ddgg d	¢¦  «        t          ddg d
¢¦  «        k    sJ ‚‰                      t          d¦  «        t          d¦  «        ¦  «        ‰ k    sJ ‚t	          t
          ˆ fd„¦  «         t	          t
          ˆ fd„¦  «         d S )NrD   rC   c                 ó   — | dz  |z   S ©NrC   rE   ra   s     rH   rd   ztest_extract.<locals>.<lambda>D  ó   € ¨Q¨q©S°1©W€ rJ   )r   rA   rC   r   rA   rB   )r   rA   rC   rD   rÃ   é
   ©r   r   rB   )r   r   rB   rÃ   rÃ   é   c                  ó4   •— ‰                       dgdg¦  «        S )NrD   r   ©Úextractrå   s   €rH   rd   ztest_extract.<locals>.<lambda>H  ó   ø€ ˜qŸyšy¨!¨¨q¨cÑ2Ô2€ rJ   c                  ó4   •— ‰                       dgdg¦  «        S )Nr   rC   r  rå   s   €rH   rd   ztest_extract.<locals>.<lambda>I  r  rJ   )rV   r  r$   r    r   rÖ   rå   s   @rH   Útest_extractr  C  sñ   ø€ Ý˜!˜QÐ 4Ð 4Ñ5Ô5€AØ�9Š9�Y�Y�Y  A Ñ'Ô'­6°!°QÐ8KÐ8KÐ8KÑ+LÔ+LÒLÐLÐLÐLØ�9Š9�a˜�V˜Y˜Y˜YÑ'Ô'­6°!°QÐ8KÐ8KÐ8KÑ+LÔ+LÒLÐLÐLÐLØ�9Š9•U˜1‘X”X�u Q™xœxÑ(Ô(¨AÒ-Ð-Ð-Ð-Ý
�:Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý
�:Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3Ð3rJ   c                  óÈ  ‡‡— t          ddd„ ¦  «        Št          ddd„ ¦  «        Š‰‰                     ‰¦  «        k    sJ ‚‰                     ‰‰‰¦  «        t                                ‰‰‰¦  «        cxk    rt          g d¢g d¢g d¢g d¢g¦  «        k    sn J ‚t          t          ˆˆfd	„¦  «         t          j        ¦   «         t          ¦   «         k    sJ ‚t          j        d
d
¦  «        } t          j        d
d¦  «        }t          j        d
d¦  «        }t          j        d
d¦  «        }t                                | |||¦  «        Š‰j        d
k    r‰j        dk    sJ ‚d S )NrD   rC   c                 ó   — | dz  |z   S r
  rE   ra   s     rH   rd   ztest_hstack.<locals>.<lambda>M  r  rJ   c                 ó   — | dz  |z   S r
  rE   ra   s     rH   rd   ztest_hstack.<locals>.<lambda>N  ó   € ¨a°©c°A©g€ rJ   )	r   rA   rB   r   rA   rB   r   rA   rB   )	rC   rD   r‘   rC   rD   r‘   rC   rD   r‘   )	r’   rÁ   rÂ   r’   rÁ   rÂ   r’   rÁ   rÂ   )	rÃ   r  r  rÃ   r  r  rÃ   r  r  c                  ó0   •— ‰                       ‰ ‰¦  «        S r^   )Úhstack©r¡   r®   s   €€rH   rd   ztest_hstack.<locals>.<lambda>U  ó   ø€ ˜qŸxšx¨¨2™œ€ rJ   r   rA   rB   r’   )rV   r  r$   r   r   r)   r–   r—   )ÚM1ÚM2ÚM3ÚM4r¡   r®   s       @@rH   Útest_hstackr!  L  s’  øø€ Ý˜!˜QÐ 4Ð 4Ñ5Ô5€AÝ	˜1˜aÐ!5Ð!5Ñ	6Ô	6€BØ�—’˜‘”ÒÐÐÐØ�8Š8�A�q˜!ÑÔÕ 1× 8Ò 8¸¸A¸qÑ AÔ Að 4ð 4ò 4ð 4ÅVØ1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1ð	M3ñ F4ô F4ò 4ð 4ð 4ð 4ð 4ð 4õ
 �:Ð.Ð.Ð.Ð.Ð.Ñ/Ô/Ð/ÝŒ=‰?Œ?�f™hœhÒ&Ð&Ð&Ð&õ 
Œ�a˜Ñ	Ô	€BÝ	Œ�a˜Ñ	Ô	€BÝ	Œ�a˜Ñ	Ô	€BÝ	Œ�a˜Ñ	Ô	€BÝ× Ò   R¨¨RÑ0Ô0€AØŒ6�QŠ;ˆ;˜1œ6 Qš;˜;˜;Ð&˜;˜;rJ   c                  óæ  ‡ ‡— t          ddd„ ¦  «        Š t          ddd„ ¦  «        Š‰ ‰                      ‰ ¦  «        k    sJ ‚‰                      ‰ ‰ ‰ ¦  «        t                                ‰ ‰ ‰ ¦  «        cxk    r7t          g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        k    sn J ‚t          t          ˆ ˆfd	„¦  «         t          j        ¦   «         t          ¦   «         k    sJ ‚d S )
NrD   rC   c                 ó   — | dz  |z   S r
  rE   ra   s     rH   rd   ztest_vstack.<locals>.<lambda>b  r  rJ   c                 ó   — | dz  |z   S r
  rE   ra   s     rH   rd   ztest_vstack.<locals>.<lambda>c  r  rJ   r»   rê   )r’   rÁ   rÂ   )rÃ   r  r  c                  ó0   •— ‰                       ‰ ‰¦  «        S r^   )Úvstackr  s   €€rH   rd   ztest_vstack.<locals>.<lambda>r  r  rJ   )rV   r&  r$   r   r   r  s   @@rH   Útest_vstackr'  a  sK  øø€ Ý˜!˜QÐ 4Ð 4Ñ5Ô5€AÝ	˜1˜aÐ!5Ð!5Ñ	6Ô	6€BØ�—’˜‘”ÒÐÐÐØ�8Š8�A�q˜!ÑÔÕ 1× 8Ò 8¸¸A¸qÑ AÔ Að .ð .ò .ð .ÅVØ +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  Ø +  ðM-ñ F.ô F.ò .ð .ð .ð .ð .ð .õ �:Ð.Ð.Ð.Ð.Ð.Ñ/Ô/Ð/ÝŒ=‰?Œ?�f™hœhÒ&Ð&Ð&Ð&Ð&Ð&rJ   c            
      ó$  — t          ddddt          ddt          z  z
  g¦  «        } |                      ¦   «         t          j        t          d¦  «        t          j        t          hk    sJ ‚|                      t          ¦  «        t          hk    sJ ‚d S ©NrB   rA   )rn   r3   Úatomsr   r³   ÚNegativeOner   rå   s    rH   Ú
test_atomsr,  w  ss   € Ý˜Q  A q­!¨Q°µ1±©WÐ#5Ñ6Ô6€AØ�7Š7‰9Œ9�œ¥ !¡¤¥a¤mµQÐ7Ò7Ð7Ð7Ð7Ø�7Š7•6‰?Œ?�q˜cÒ!Ð!Ð!Ð!Ð!Ð!rJ   c                  óX   — t          t          gdgg¦  «        j        t          hk    sJ ‚d S rk   )rn   r3   Úfree_symbolsrE   rJ   rH   Útest_free_symbolsr/  }  s.   € Ý¥!  q c 
Ñ+Ô+Ô8½Q¸CÒ?Ð?Ð?Ð?Ð?Ð?rJ   c                  óP  — t          t          t          fdf¦  «        } |                      t          ¦  «        sJ ‚|                      t          ¦  «        rJ ‚|                      t
          ¦  «        sJ ‚t          dt          fdf¦  «        } |                      t          ¦  «        rJ ‚d S )N)rB   rC   rB   )rn   r3   r4   Úhasr5   r   ©rÝ   s    rH   Útest_hasr3  �  s†   € Ý�q¥!˜f fÐ-Ñ.Ô.€AØ�5Š5•‰8Œ8€O€Oˆ8Ø�uŠu•Q‰xŒxÐÐˆ<Ø�5Š5•‰=Œ=ÐÐˆ=å˜q¥!˜f fÐ-Ñ.Ô.€AØ�uŠu•Q‰xŒxÐÐˆ<ÐÐrJ   c                  ó¸  — t          d¦  «        } t          ddddg¦  «                             ¦   «         du sJ ‚t          ddd| dz  d| z  z   dz   t          | dz   dz   d| t          z  t           |  t          z  dg	¦  «        }|                     ¦   «         du sJ ‚|                     d¬¦  «        du sJ ‚|                     d	„ ¬¦  «        du sJ ‚t          ddd
„ |D ¦   «         ¦  «        }|                     d¬¦  «        du sJ ‚t          ddd„ t          j        gt          |¦  «        dd …         z   D ¦   «         ¦  «        }|                     ¦   «         du sJ ‚d S )Nr3   rB   rA   FrC   r   T©Úsimplifyc                 ó   — | S r^   rE   r™   s    rH   rd   z(test_is_anti_symmetric.<locals>.<lambda>‘  s   € °!€ rJ   c                 ó,   — g | ]} |j         ¦   «         ‘ŒS rE   ©Úexpand©rF   r3   s     rH   rI   z*test_is_anti_symmetric.<locals>.<listcomp>“  s    € Ð#:Ð#:Ð#:°1 H A¤H¡J¤JÐ#:Ð#:Ð#:rJ   c                 ó,   — g | ]} |j         ¦   «         ‘ŒS rE   r9  r;  s     rH   rI   z*test_is_anti_symmetric.<locals>.<listcomp>•  s    € Ð#NÐ#NÐ#N°1 H A¤H¡J¤JÐ#NÐ#NÐ#NrJ   )r   rn   Úis_anti_symmetricr4   r   r³   r˜   )r3   r¡   s     rH   Útest_is_anti_symmetricr>  ‹  s‰  € Ý�‰Œ€AÝ  1 q¨! fÑ-Ô-×?Ò?ÑAÔAÀUÐJÐJÐJÐJÝ˜Q  A q¨!¡t¨a°©c¡z°A¡~µq¸AÀ¹EÀA¹:¸+ÀqÈ!ÍAÉ#ÕPQÈrÐTUÐSUÕVWÑSWÐYZÐ#[Ñ\Ô\€AØ×ÒÑ Ô  DÐ(Ð(Ð(Ð(Ø×Ò¨ÐÑ.Ô.°%Ð7Ð7Ð7Ð7Ø×Ò¨¨ÐÑ4Ô4¸Ð=Ð=Ð=Ð=å˜Q Ð#:Ð#:¸Ð#:Ñ#:Ô#:Ñ;Ô;€AØ×Ò¨ÐÑ.Ô.°$Ð6Ð6Ð6Ð6Ý˜Q Ð#NÐ#N½¼¸Å$ÀqÁ'Ä'È!È"È"Ä+Ñ8MÐ#NÑ#NÔ#NÑOÔO€AØ×ÒÑ Ô  EÐ)Ð)Ð)Ð)Ð)Ð)rJ   c                  óV  — t          ddg d¢¦  «        } |                      ¦   «         rJ ‚|                      ¦   «         sJ ‚|                      d¬¦  «        sJ ‚t          ddg d¢¦  «        } |                      ¦   «         sJ ‚t          ddt          ddd¦  «        ¦  «        } |                      ¦   «         sJ ‚|                      ¦   «         sJ ‚t          ddg d¢¦  «        } | t          ddd¦  «        k    sJ ‚t          ddt	          dd¦  «        ¦  «        } |                      ¦   «         rJ ‚|                      ¦   «         sJ ‚t          d	¦  «        } |                      ¦   «         sJ ‚t          d
¦  «        } |                      ¦   «         sJ ‚t          dddt          dz  dt          z  z   dz   t          t          dz   dz  ddt          ddg	¦  «        } |                      ¦   «         sJ ‚|                      d¬¦  «        rJ ‚|                      ¦   «                              d¬¦  «        sJ ‚d S )NrB   ©r   rA   rA   r   Fr5  ©rA   r   r   rA   rC   rA   )	rA   r   r   r   rB   r   r   r   rC   ))r‘   r   ©r   r’   r¥   ))r‘   r   r   )r   r’   r   r   )	rn   Úis_diagonalÚis_symmetricr%   r)   r$   r3   r4   r:  rå   s    rH   Útest_diagonal_symmetricalrE  ™  s  € Ý˜Q  < < <Ñ0Ô0€AØ�}Š}‰ŒÐÐÐØ�>Š>ÑÔÐÐÐØ�>Š> 5ˆ>Ñ)Ô)Ð)Ð)Ð)å˜Q  < < <Ñ0Ô0€AØ�=Š=‰?Œ?ÐÐˆ?å˜Q ¥4¨¨1¨a¡=¤=Ñ1Ô1€AØ�=Š=‰?Œ?ÐÐˆ?Ø�>Š>ÑÔÐÐÐå˜Q Ð#>Ð#>Ð#>Ñ?Ô?€AØ•�Q˜˜1‘”ÒÐÐÐå˜Q ¥5¨¨A¡;¤;Ñ/Ô/€AØ�~Š~ÑÔÐÐÐØ�=Š=‰?Œ?ÐÐˆ?åÐ5Ñ6Ô6€AØ�=Š=‰?Œ?ÐÐˆ?åÐ3Ñ4Ô4€AØ�=Š=‰?Œ?ÐÐˆ?åˆq�!�a�˜A™ ¥!¡™ a™­­Q°©U°Q©J¸¸1½aÀÀAÐFÑGÔG€AØ�>Š>ÑÔÐÐÐØ�~Š~ uˆ~Ñ-Ô-Ð-Ð-Ð-Ø�8Š8‰:Œ:×"Ò"¨EÐ"Ñ2Ô2Ð2Ð2Ð2Ð2Ð2rJ   c                  óp  — t          dt          gt           dgg¦  «        } | j        sJ ‚t          dt          z  t          gt           dgg¦  «        } | j        du sJ ‚t          t          t          gt           dgg¦  «        } | j        �J ‚t          t          dgt           dgg¦  «        } | j        du sJ ‚d S )NrA   rB   F)rn   r   Úis_hermitianr3   ©r©   s    rH   Útest_is_hermitianrI  ¹  s½   € Ý˜q¥!˜f­ r¨1 gÐ.Ñ/Ô/€AØŒ>ÐÐˆ>Ý˜q¥™s¥A˜h­!¨¨Q¨Ð0Ñ1Ô1€AØŒ>˜UÐ"Ð"Ð"Ð"Ý�q¥!˜f­ r¨1 gÐ.Ñ/Ô/€AØŒ>Ð!Ð!Ð!Ý�q !˜f­ r¨1 gÐ.Ñ/Ô/€AØŒ>˜UÐ"Ð"Ð"Ð"Ð"Ð"rJ   c                  óð   — t          d¦  «        j        sJ ‚t          t          d¦  «        ¦  «        j        rJ ‚t          t	          d¦  «        ¦  «        j        rJ ‚t          g d¢g¦  «        j        rJ ‚d S )NrC   rø   )rs   Úis_Identityrn   r)   r(   rE   rJ   rH   Útest_is_IdentityrL  Ä  sv   € Ý˜!ÑÔÔ(Ð(Ð(Ð(Ý#¥E¨!¡H¤HÑ-Ô-Ô9Ð9Ð9Ð9Ý#¥D¨¡G¤GÑ,Ô,Ô8Ð8Ð8Ð8å# Y Y Y KÑ0Ô0Ô<Ð<Ð<Ð<Ð<Ð<rJ   c                  ó¼  — t          t          t          gt          t          gg¦  «        } |                      ¦   «         du sJ ‚t          g d¢g d¢g¦  «        } |                      ¦   «         du sJ ‚t          g d¢ddt          dgg¦  «        } |                      ¦   «         du sJ ‚t          dt          d	gg¦  «        } |                      ¦   «         du sJ ‚t          g d
¢g¦  «        } |                      ¦   «         du sJ ‚t          dgt          gd	gg¦  «        } |                      ¦   «         du sJ ‚t          dgdgd	gg¦  «        } |                      ¦   «         du sJ ‚d S )NTr@   ©r‘   r’   rÁ   rÂ   Fr‘   r’   rÂ   rA   rC   r•   rB   )rn   r3   Úis_symbolicrH  s    rH   Útest_is_symbolicrP  Ì  sc  € Ý�q¥!˜f¥q­! fÐ-Ñ.Ô.€AØ�=Š=‰?Œ?˜dÐ"Ð"Ð"Ð"Ý˜l˜l˜l¨L¨L¨LÐ9Ñ:Ô:€AØ�=Š=‰?Œ?˜eÐ#Ð#Ð#Ð#Ý˜l˜l˜l¨Q°µ1°a¨LÐ9Ñ:Ô:€AØ�=Š=‰?Œ?˜dÐ"Ð"Ð"Ð"Ý˜q¥! Q˜i˜[Ñ)Ô)€AØ�=Š=‰?Œ?˜dÐ"Ð"Ð"Ð"Ý˜i˜i˜i˜[Ñ)Ô)€AØ�=Š=‰?Œ?˜eÐ#Ð#Ð#Ð#Ý˜q˜c¥A 3¨¨˜_Ñ-Ô-€AØ�=Š=‰?Œ?˜dÐ"Ð"Ð"Ð"Ý˜q˜c A 3¨¨˜_Ñ-Ô-€AØ�=Š=‰?Œ?˜eÐ#Ð#Ð#Ð#Ð#Ð#rJ   c                  ó€   — t          g d¢g¦  «        } | j        du sJ ‚t          dgdgdgg¦  «        } | j        du sJ ‚d S )Nr•   TrA   rB   rC   F)rn   Úis_upperrH  s    rH   Útest_is_upperrS  Ý  sZ   € Ý˜i˜i˜i˜[Ñ)Ô)€AØŒ:˜ÐÐÐÐÝ˜q˜c A 3¨¨˜_Ñ-Ô-€AØŒ:˜ÐÐÐÐÐÐrJ   c                  ó€   — t          g d¢g¦  «        } | j        du sJ ‚t          dgdgdgg¦  «        } | j        du sJ ‚d S )Nr•   FrA   rB   rC   T)rn   Úis_lowerrH  s    rH   Útest_is_lowerrV  ä  sZ   € Ý˜i˜i˜i˜[Ñ)Ô)€AØŒ:˜ÐÐÐÐÝ˜q˜c A 3¨¨˜_Ñ-Ô-€AØŒ:˜ÐÐÐÐÐÐrJ   c                  óz   — t          dgdgg¦  «        } t          ddgddgg¦  «        }| j        rJ ‚|j        sJ ‚d S ©NrA   rB   )rn   Ú	is_squarer  s     rH   Útest_is_squarerZ  ë  sQ   € Ý˜q˜c A 3˜ZÑ(Ô(€AÝ	  1˜v¨¨1 vÐ.Ñ	/Ô	/€BØŒ{ÐÐˆ?ØŒ<ÐÐˆ<ÐÐrJ   c                  óª   — t          ddg d¢¦  «        } |                      ¦   «         sJ ‚t          ddg d¢¦  «        } |                      ¦   «         rJ ‚d S )NrB   r@  )r   rA   r   rA   )rn   rD  rå   s    rH   Útest_is_symmetricr\  ò  s^   € Ý˜Q  < < <Ñ0Ô0€AØ�>Š>ÑÔÐÐÐÝ˜Q  < < <Ñ0Ô0€AØ�~Š~ÑÔÐÐÐÐÐrJ   c                  ó  — t          g d¢g d¢g d¢g¦  «        } | j        sJ ‚t          ddg d¢¦  «        } | j        sJ ‚t          ddg d¢¦  «        } | j        du sJ ‚| j        du sJ ‚t          g d¢g d¢g d¢g¦  «        } | j        rJ ‚d S )	N)rC   rD   rA   )rB   rD   r‘   r»   rC   )	rC   rB   r   rD   rD   rA   rA   r‘   rB   )	rC   rB   rÓ   rD   rD   rA   rA   r‘   rB   Fré   )rn   Úis_upper_hessenbergÚis_lower_hessenbergr2  s    rH   Útest_is_hessenbergr`  ù  sÍ   € Ý˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?€AØÔ Ð Ð Ð Ý˜Q Ð#>Ð#>Ð#>Ñ?Ô?€AØÔ Ð Ð Ð Ý˜Q Ð#?Ð#?Ð#?Ñ@Ô@€AØÔ  EÐ)Ð)Ð)Ð)ØÔ  EÐ)Ð)Ð)Ð)å˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?€AØÔ$Ð$Ð$Ð$Ð$Ð$rJ   c                  óò  — t          ddg ¦  «        j        sJ ‚t          ddgddgg¦  «        j        sJ ‚t          t          dd¦  «        ¦  «        j        sJ ‚t          t          d¦  «        ¦  «        j        rJ ‚t          t          dgddgg¦  «        j        d k    sJ ‚t          t          dgddgg¦  «        j        dk    sJ ‚t          dd¬¦  «        } t          | dgddgg¦  «        j        dk    sJ ‚d S )	Nr   rC   rD   rA   Fr©   T)Únonzero)rn   Úis_zero_matrixr)   r&   r3   r   rH  s    rH   Útest_is_zerord    s  € Ý  1 bÑ)Ô)Ô8Ð8Ð8Ð8Ý ! Q ¨!¨Q¨Ð 0Ñ1Ô1Ô@Ð@Ð@Ð@Ý¥ a¨¡¤Ñ,Ô,Ô;Ð;Ð;Ð;Ý#¥C¨¡F¤FÑ+Ô+Ô:Ð:Ð:Ð:Ý¥! Q ¨!¨Q¨Ð 0Ñ1Ô1Ô@ÀDÒHÐHÐHÐHÝ¥! Q ¨!¨Q¨Ð 0Ñ1Ô1Ô@ÀEÒIÐIÐIÐIÝˆs˜DÐ!Ñ!Ô!€AÝ ! Q ¨!¨Q¨Ð 0Ñ1Ô1Ô@ÀEÒIÐIÐIÐIÐIÐIrJ   c            
      ó  — t          t          ddg d¢¦  «                             ¦   «         ¦  «        h d£k    sJ ‚t          dd¬¦  «        } t          t          dd| dddg¦  «                             ¦   «         ¦  «        | dhk    sJ ‚d S )	NrB   )r   rA   rB   rC   >   rA   rB   rC   r3   T©Úrealr   rA   )Úsetrn   Úvaluesr   r™   s    rH   Útest_valuesrj    s²   € ÝÕ# A q¨,¨,¨,ñ 
ô 
ß
Š&‰(Œ(ñô Ø �y�yò!ð !ð !ð !åˆs˜ÐÑÔ€AÝÕ# A q¨1¨a°°A¨,ñ 
ô 
ß
Š&‰(Œ(ñô Ø˜1�vòð ð ð ð ð rJ   c                  ó:  — t          t          d¦  «        ¦  «        } |                      d„ ¦  «        t          d¦  «        dz  k    sJ ‚|                      d„ ¦  «        t          d¦  «        k    sJ ‚|                      d„ ¦  «        t	          d¦  «        k    sJ ‚d S )NrC   c                 ó   — d| z  S ©NrB   rE   r™   s    rH   rd   z test_applyfunc.<locals>.<lambda>  s
   €  ! A¡#€ rJ   rB   c                 ó   — dS rk   rE   r™   s    rH   rd   z test_applyfunc.<locals>.<lambda>  ó   €  !€ rJ   c                 ó   — dS ©NrA   rE   r™   s    rH   rd   z test_applyfunc.<locals>.<lambda>  ro  rJ   )r{   r&   Ú	applyfuncr)   r(   )rí   s    rH   Útest_applyfuncrs    sŽ   € Ý	�c !™fœfÑ	%Ô	%€BØ�<Š<˜˜Ñ&Ô&­#¨a©&¬&°©(Ò2Ð2Ð2Ð2Ø�<Š<˜˜Ñ$Ô$­¨a©¬Ò0Ð0Ð0Ð0Ø�<Š<˜˜Ñ$Ô$­¨Q©¬Ò/Ð/Ð/Ð/Ð/Ð/rJ   c                  ó¤   — dt           gddgg} t          ddgt            dgg¦  «        }|                     ¦   «         t          | ¦  «        k    sJ ‚d S )Nr   rA   )r   r{   Úadjointr$   )ÚdatÚanss     rH   Útest_adjointrx  !  sU   € Ø�qˆ6�A�q�6Ð
€CÝ
  A ­!¨¨Q¨Ð0Ñ
1Ô
1€CØ�;Š;‰=Œ=�F 3™KœKÒ'Ð'Ð'Ð'Ð'Ð'rJ   c            
      ó  — t          ddg d¢¦  «        } t          dddt          j        z   ddt          j        z  z   ddt          j        z  z   ddt          j        z  z   g¦  «        }|                     ¦   «         \  }}|| k    sJ ‚|| k    sJ ‚d S )NrB   r@   rA   rC   rD   )r{   r   ÚImaginaryUnitÚas_real_imag)r­   r¯   r©   rª   s       rH   Útest_as_real_imagr|  '  s—   € Ý	˜a  L L LÑ	1Ô	1€BÝ	˜a Ø	
�QŒ_Ñ	˜a !¥A¤OÑ"3Ñ3Ø	ˆA�aŒoÑÑ˜q 1¥Q¤_Ñ#4Ñ4ð	6ñ
7ô 
7€Bð �?Š?ÑÔ�D€A€qØ�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7ˆ7ˆ7rJ   c                  ó˜  — t          dt          dgg d¢g¦  «        } | j        t          ddgt          dgddgg¦  «        k    sJ ‚| j        t          dt           dgg d¢g¦  «        k    sJ ‚| j        |                      ¦   «         k    sJ ‚| j        | j        j        k    sJ ‚| j        t          ddgt           dgddgg¦  «        k    sJ ‚d S )Nr   r‘   ©rA   rB   r   rA   rB   )r{   r   ÚTr$   rß   Ú	conjugateÚH©rG   s    rH   Útest_conjugaterƒ  2  s  € Ý˜q¥! Q˜iØ�	�	ðñ 	ô 	€Að Œ3•&˜1˜a˜&Ý˜a˜&Ø˜a˜&ð"ñ #ô #ò #ð #ð #ð #ð Œ3•&˜1�q˜b !˜*Ø$˜*˜*ð&ñ 'ô 'ò 'ð 'ð 'ð 'àŒ3�!—+’+‘-”-ÒÐÐÐàŒ3�!”#”%Š<ˆ<ˆ<ˆ<ØŒ3•&˜A˜q˜'Ý˜2˜q˜'Ø˜q˜'ð#ñ $ô $ò $ð $ð $ð $ð $ð $rJ   c                  óê   — t          t          t          t          d¬¦  «        gg¦  «        } | d         dt          z  k    sJ ‚|                      ¦   «         t	          dt          z  gg¦  «        k    sJ ‚d S )NF)Úevaluater   rB   )r{   r   r3   Údoitr$   rH  s    rH   Ú	test_doitr‡  D  sf   € Ý�s¥1¥a°%Ð8Ñ8Ô8Ð9Ð:Ñ;Ô;€AØˆQŒ4�1•Q‘3Š;ˆ;ˆ;ˆ;Ø�6Š6‰8Œ8•v ¥!¡˜u˜g‘”Ò&Ð&Ð&Ð&Ð&Ð&rJ   c                  óD  ‡ — t          ddt          d¦  «        dg¦  «        Š t          ˆ fd„t          d¦  «        D ¦   «         ¦  «        sJ ‚t          ˆ fd„t          d¦  «        D ¦   «         ¦  «        sJ ‚t          ˆ fd„t          d¦  «        D ¦   «         ¦  «        sJ ‚d S )NrB   rA   r‘   r’   c              3   ó„   •K  — | ]:}‰                      ¦   «         |         ‰|                               ¦   «         k    V — Œ;d S r^   ©Úevalf©rF   rb   r©   s     €rH   ú	<genexpr>ztest_evalf.<locals>.<genexpr>L  s@   øè è € Ð>Ð>°ˆq�wŠw‰yŒy˜Œ|˜q œtŸzšz™|œ|Ò+Ð>Ð>Ð>Ð>Ð>Ð>rJ   c              3   óˆ   •K  — | ]<}‰                      d ¦  «        |         ‰|                               d ¦  «        k    V — Œ=dS ©rB   NrŠ  rŒ  s     €rH   r�  ztest_evalf.<locals>.<genexpr>M  sD   øè è € Ð@Ð@°!ˆq�wŠw�q‰zŒz˜!Œ}  !¤§
¢
¨1¡¤Ò-Ð@Ð@Ð@Ð@Ð@Ð@rJ   c              3   óˆ   •K  — | ]<}‰                      d ¦  «        |         ‰|                               d ¦  «        k    V — Œ=dS r�  rf   rŒ  s     €rH   r�  ztest_evalf.<locals>.<genexpr>N  sD   øè è € Ð8Ð8¨!ˆq�sŠs�1‰vŒv�aŒy˜A˜aœDŸFšF 1™IœIÒ%Ð8Ð8Ð8Ð8Ð8Ð8rJ   )r{   r   Úallr    rH  s   @rH   Ú
test_evalfr’  J  s±   ø€ Ý˜Q ¥D¨¡G¤G¨Q <Ñ0Ô0€AÝÐ>Ð>Ð>Ð>µU¸1±X´XÐ>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>ÝÐ@Ð@Ð@Ð@µu¸Q±x´xÐ@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@ÝÐ8Ð8Ð8Ð8­u°Q©x¬xÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8rJ   c            	      ó  — t          t          t          t          z   z  dgt          t          z   t          z  t          z  t          t          t          t          t          z   z  z   z  gg¦  «        } |                      ¦   «         }|t	          t          t          z  t          dz  z   dgt          t          dz  z  t          t          dz  z  z   t          t          z  t          t          dz  z  z   t          dz  z   gg¦  «        k    sJ ‚t          dd¬¦  «        }t          ddt          t          |z  ¦  «        g¦  «                             d¬¦  «        t	          t          |¦  «        t          t          |¦  «        z  z   g¦  «        k    sJ ‚d S )NrB   rC   r©   Trf  rA   )Úcomplex)
r{   r3   r4   r:  r$   r   r   r   r   r   )rí   r­   r©   s      rH   Útest_expandr•  Q  sC  € Ý	¥¥1¥q¡5¡	¨1˜~µ!µa±%½±½A±½qÅ!ÅaÍÍQÉÁiÁ-Ñ?PÐ/QÐRÑ	SÔ	S€Bà	�Š‰Œ€BØ•Ý
�A‰#•�1‘‰*�aˆ�1�Q ™T™6¥A¥a¨¡d¡F™?­A­a©Cµ!µA°q±D±&©L½1¸a¹4Ñ,?Ð@ÐAñCô Cò Cð Cð Cð Cõ 	ˆs˜ÐÑÔ€Aå  1¥s­1¨Q©3¡x¤x jÑ1Ô1×8Ò8ÀÐ8ÑFÔFÝ•3�q‘6”6�A�c !™fœf™HÑ$Ð%Ñ&Ô&ò'ð 'ð 'ð 'ð 'ð 'rJ   c            	      óà  — t          t          t          ¦  «        dz  t          t          dz  ¦  «        gt          t          dz  ¦  «        t          t          ¦  «        dz  z  t          t          dz  ¦  «        t          t          ¦  «        dz  z  gg¦  «        } |                      t          j        t          ¦  «        t          j        t          ¦  «        z  ¦  «        }|t          t          dz  t          t          ¦  «        gt          dz  t          t          ¦  «        z  t          dz  t          t          ¦  «        z  gg¦  «        k    sJ ‚|                      t          j	        t          ¦  «        t          j	        t          ¦  «        z  ¦  «        }|t          t          dz  t          gt          t          dz  z  t          dz  t          z  gg¦  «        k    sJ ‚|                      t          j
        t          ¦  «        t          j
        t          ¦  «        z  ¦  «        }|t          t          dz  t           gt           t          dz  z  t          dz   t          z  gg¦  «        k    sJ ‚d S rm  )r{   r   r3   r   r4   Úrefiner   rg  r$   ÚpositiveÚnegativerì   s     rH   Útest_refinerš  ^  s®  € Ý	¥¥A¡¤¨¡	­4µ°1±©:¬:Ð6Ý•q˜!‘t‘*”*�S¥™VœV Q™YÑ&­­Q°©T©
¬
µ3µq±6´6¸1±9Ñ(<Ð=ð?ñ 
@ô 
@€Bà	�Š•1”6�!‘9”9�qœv¥a™yœyÑ(Ñ	)Ô	)€BØ•�!˜Q™$¥¥A¡¤˜­!¨Q©$­sµ1©v¬v©+µq¸!±t½CÅ¹F¼F±{Ð)CÐDÑEÔEÒEÐEÐEÐEà	�Š•1”:�a‘=”=¥1¤:­a¡=¤=Ñ0Ñ	1Ô	1€BØ•�!˜Q™$¥˜¥Q¥q¨!¡t¡V­Q°©Tµ!©VÐ$4Ð5Ñ6Ô6Ò6Ð6Ð6Ð6à	�Š•1”:�a‘=”=¥1¤:­a¡=¤=Ñ0Ñ	1Ô	1€BØ•�!˜Q™$¥ ˜¥q b­¨A©¡gµ°1±¨uµQ©wÐ%7Ð8Ñ9Ô9Ò9Ð9Ð9Ð9Ð9Ð9rJ   c                  óÈ   ‡‡— t          dt          ¬¦  «        \  ŠŠt          ddˆfd„¦  «        } t          ddˆfd„¦  «        }|                     ‰‰¦  «        }|| k    sJ ‚d S )NúF, G©ÚclsrB   c                 ó    •—  ‰| |z   ¦  «        S r^   rE   )rb   rc   ÚGs     €rH   rd   ztest_replace.<locals>.<lambda>m  ó   ø€ °°°!°A±#±´€ rJ   c                 ó    •—  ‰| |z   ¦  «        S r^   rE   ©rb   rc   ÚFs     €rH   rd   ztest_replace.<locals>.<lambda>n  r¡  rJ   ©r   r	   r{   Úreplace)ÚKrG   ÚNr¤  r   s      @@rH   Útest_replacer©  k  sr   øø€ Ý�6�xÐ(Ñ(Ô(�D€A€qÝ˜Q Ð#6Ð#6Ð#6Ð#6Ñ7Ô7€AÝ˜Q Ð#6Ð#6Ð#6Ð#6Ñ7Ô7€AØ	�	Š	�!�Q‰Œ€AØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6rJ   c                  óÂ  ‡— t          dt          ¬¦  «        \  Š} t          dd | d¦  «         ‰d¦  «         | d¦  «        if | d¦  «         ‰d¦  «         | d¦  «        if | d¦  «         ‰d¦  «         | d¦  «        if | d¦  «         ‰d¦  «         | d¦  «        ifg¦  «        }t          ddˆfd„¦  «        }|                     ‰| d¦  «        }||k    sJ ‚d S )Nrœ  r�  rB   r   rA   c                 ó    •—  ‰| |z   ¦  «        S r^   rE   r£  s     €rH   rd   z"test_replace_map.<locals>.<lambda>w  r¡  rJ   Tr¥  )r   r§  rG   r¨  r¤  s       @rH   Útest_replace_mapr¬  s  s)  ø€ Ý�6�xÐ(Ñ(Ô(�D€A€qÝ˜Q  Q Q q¡T¤T¨A¨A¨a©D¬D°!°!°A±$´$¨<Ð$8¸1¸1¸Q¹4¼4À!À!ÀAÁ$Ä$ÈÈÈ!ÉÌÀÐ:NÐQRÐQRÐSTÑQUÔQUÐXYÐXYÐZ[ÑX\ÔX\ØPQÐPQÐRSÑPTÔPTðXVð QWØYZÐYZÐ[\ÑY]ÔY]Ð`aÐ`aÐbcÑ`dÔ`dÐfgÐfgÐhiÑfjÔfjÐ_kÐXlð$nñ 	oô 	o€Aå˜Q Ð#6Ð#6Ð#6Ð#6Ñ7Ô7€AØ	�	Š	�!�Q˜ÑÔ€AØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6rJ   c                  óÐ  — t          ddgddgg¦  «        } | |                      d¦  «        cxk    r|                      d¦  «        k    sn J ‚|                      d¦  «        |                      d¦  «        cxk    r-|                      d¦  «        cxk    rt          d¦  «        k    sn J ‚|                      d¦  «        |                      d	¦  «        cxk    r-|                      d
¦  «        cxk    rt          d¦  «        k    sn J ‚|                      ¦   «         |                      d¦  «        cxk    r-|                      d¦  «        cxk    rt          d¦  «        k    sn J ‚d S )NrA   rB   rC   rD   r   rÔ   r’   ))rD   rC   ©rB   rA   rÓ   rÁ   ))rB   rD   ©rA   rC   iùÿÿÿéýÿÿÿ)©rC   rA   )rD   rB   )r$   Úrot90r2  s    rH   Ú
test_rot90r³  |  sg  € Ý��A�˜˜A˜ÐÑ Ô €AØ�—’˜‘
”
Ð(Ð(Ò(Ð(˜aŸgšg a™jœjÒ(Ð(Ð(Ð(Ð(Ð(Ø�7Š7�1‰:Œ:˜Ÿš ™œÐNÐNÒNÐN¨¯ª°©
¬
ÐNÐNÒNÐNµfÐ=MÑ6NÔ6NÒNÐNÐNÐNÐNÐNØ�7Š7�1‰:Œ:˜Ÿš ™œÐNÐNÒNÐN¨¯ª°©
¬
ÐNÐNÒNÐNµfÐ=MÑ6NÔ6NÒNÐNÐNÐNÐNÐNØ�7Š7‰9Œ9˜Ÿš ™œÐNÐNÒNÐN q§w¢w¨r¡{¤{ÐNÐNÒNÐNµfÐ=MÑ6NÔ6NÒNÐNÐNÐNÐNÐNÐNÐNrJ   c                  óX  — t          d¦  «        } t          d¦  «        }t          dt          z  dt          z  z   t          t          t          z  z   t          z  g |t          ¦  «        t           |t          ¦  «        z  z    |t          ¦  «        z  dd| z  t          | t          z  ¦  «        | z  z
  z  t          z  gg¦  «        }|                     ¦   «         t          t          t          z   t          t          z  z  dt          z   gdt          z   dddt          t          | z  ¦  «        z  z
  t          | z  z  z  gg¦  «        k    sJ ‚dt          z   dz  }t          |gg¦  «        }|                     ¦   «         t          |gg¦  «        k    sJ ‚|                     t          ¬¦  «        t          |                     t          ¬¦  «        gg¦  «        k    sJ ‚t          ddgddgg¦  «        }d| 
                    ¦   «         z                       ¦   «         t          dd	¦  «        k    sJ ‚d S )
Nrg   ÚfrA   rB   )Úratioé   rC   rD   é"   )r   r	   r{   r3   r4   r   r   r6  r$   r   Útracer   )rg   rµ  rG   Úeqr¡   s        rH   Útest_simplifyr»  ƒ  sç  € Ýˆs‰Œ€AÝ�‰Œ€Aå¨1­Q©3°µ1±©9ÅqÍ1ÍQÉ3ÁwÕRSÁmÐVØ�1•Q‘4”4�!˜A˜A�a™DœD™&‘= ! !¥A¡$¤$Ñ&¨¨Q¨q©Sµ3°q½2±v±;´;¸q±=Ñ-@Ñ(AÅBÑ(FÐHðJñ 	Kô 	K€Aà�:Š:‰<Œ<�6¥a­!¡e­aµ!©e¡_ÈQÕQRÉUÐ#TØ$%­¡E¨1¨q°1µS½¸A¹±Y´Y±;©ÅÀAÁÑ.FÑ+GÐIð#Kñ Lô Lò Lð Lð Lð Là
�a‰%�!‰€BÝ˜r˜d˜VÑ$Ô$€AØ�:Š:‰<Œ<�6 B 4 &™>œ>Ò)Ð)Ð)Ð)Ø�:Š:�Bˆ:ÑÔ¥6¨B¯KªK½b¨KÑ,AÔ,AÐ+BÐ*CÑ#DÔ#DÒDÐDÐDÐDõ 	��Q�˜!˜Q˜Ð Ñ!Ô!€AØˆq�wŠw‰yŒy‰M×#Ò#Ñ%Ô%­°!°R©¬Ò8Ð8Ð8Ð8Ð8Ð8rJ   c                  óè  — t          dt          gt          dgg¦  «                             t          d¦  «        t          ddgddgg¦  «        k    sJ ‚t          t          dgt          t          z   dgg¦  «                             t          dgt          dgg¦  «        t          ddgddgg¦  «        k    sJ ‚t          t          dgt          t          z   dgg¦  «                             t          dft          dfg¦  «        t          ddgddgg¦  «        k    sJ ‚t          t          dgt          t          z   dgg¦  «                             t          dt          di¦  «        t          ddgddgg¦  «        k    sJ ‚t          t          t          z  gg¦  «                             t          t          dz
  t          t          dz
  id¬	¦  «        t          t          dz
  t          dz
  z  gg¦  «        k    sJ ‚d S )
NrA   rD   r‘   rB   rÓ   rÔ   r°  T)Úsimultaneous)r{   r3   Úsubsr$   r4   rE   rJ   rH   Ú	test_subsr¿  •  sç  € Ý !¥Q ­!¨Q¨Ð 0Ñ1Ô1×6Ò6µq¸!Ñ<Ô<ÅÈÈAÈÐQRÐTUÐPVÐGWÑ@XÔ@XÒXÐXÐXÐXÝ¥! Q ­!­a©%°¨Ð 4Ñ5Ô5×:Ò:½QÀ¸GÅaÈÀWÐ;MÑNÔNÝ�B˜�7˜R ˜GÐ$Ñ%Ô%ò&ð &ð &ð &å¥! Q ­!­a©%°¨Ð 4Ñ5Ô5×:Ò:½QÀ¸GÅaÈÀWÐ;MÑNÔNÝ�B˜�7˜R ˜GÐ$Ñ%Ô%ò&ð &ð &ð &å¥! Q ­!­a©%°¨Ð 4Ñ5Ô5×:Ò:½A¸rÅ1Àb¸>ÑJÔJÝ�B˜�7˜R ˜GÐ$Ñ%Ô%ò&ð &ð &ð &å¥!¥A¡#  Ñ(Ô(×-Ò-­qµ!°a±%½½AÀ¹EÐ.BÐQUÐ-ÑVÔVÝ•Q˜‘U�Q ™U‘OÐ$Ð%Ñ&Ô&ò'ð 'ð 'ð 'ð 'ð 'rJ   c                  ój   — t          g d¢g d¢g d¢g¦  «        } |                      ¦   «         dk    sJ ‚d S )Nrø   )r   r‘   r   )r   r   rÂ   é   )r{   r¹  r‚  s    rH   Ú
test_tracerÂ  ¡  sE   € Ý˜i˜i˜iØ�	�	Ø�	�	ðñ 	ô 	€Að �7Š7‰9Œ9˜Š?ˆ?ˆ?ˆ?ˆ?ˆ?rJ   c                  ól  — t          dt          gt          dgg¦  «                             t          di¦  «        t          ddgddgg¦  «        k    sJ ‚t          t          dgt          t          z   dgg¦  «                             t          dt          di¦  «        t          ddgddgg¦  «        k    sJ ‚d S )NrA   rD   r‘   rB   rÓ   rÔ   r°  )r{   r3   Úxreplacer$   r4   rE   rJ   rH   Útest_xreplacerÅ  ¨  sÀ   € Ý !¥Q ­!¨Q¨Ð 0Ñ1Ô1×:Ò:½A¸q¸6ÑBÔBÝ�A�q�6˜A˜q˜6Ð"Ñ#Ô#ò$ð $ð $ð $å¥! Q ­!­a©%°¨Ð 4Ñ5Ô5×>Ò>ÅÀ2ÅqÈ"¸~ÑNÔNÝ�B˜�7˜R ˜GÐ$Ñ%Ô%ò&ð &ð &ð &ð &ð &rJ   c                  ó¨  ‡— t          ddg d¢¦  «        Št          t          ˆfd„¦  «         t          t          ˆfd„¦  «         ‰                     ddgddgg¦  «        } ‰                     ddgddgg¦  «        | cxk    rt          g d	¢g d
¢g d¢g¦  «        k    sn J ‚‰                     ddgddgg¦  «        } ‰                     ddgddggd¬¦  «        | cxk    rt          g d¢g d¢g d¢g¦  «        k    sn J ‚‰                     ddgddggd¬¦  «        } ‰                     ddgddggdd¬¦  «        | cxk    rt          g d¢g d¢g d¢g¦  «        k    sn J ‚‰                     g d¢¦  «        t          g d	¢g d
¢g d¢g¦  «        k    sJ ‚ddlm	} ‰                      |g d¢¦  «        ¦  «        t          g d	¢g d
¢g d¢g¦  «        k    sJ ‚d S )NrC   rD   )rA   rB   rC   rD   r‘   r’   rÁ   rÂ   rÃ   r  r  é   c                  ó4   •— ‰                       ddgg¦  «        S )Nr   r‘   )ÚpermuterH  s   €rH   rd   ztest_permute.<locals>.<lambda>²  s   ø€ ˜qŸyšy¨1¨a¨&¨Ñ2Ô2€ rJ   c                  óH   •— ‰                       t          d¦  «        ¦  «        S )Nr3   )rÉ  r   rH  s   €rH   rd   ztest_permute.<locals>.<lambda>³  s   ø€ ˜qŸyšy­°©¬Ñ5Ô5€ rJ   r   rB   rA   rN  )rÃ   r  r  rÇ  r@   r—   )Úorientation)rB   rC   rA   rD   )r’   rÁ   r‘   rÂ   )r  r  rÃ   rÇ  Úbackward)Ú	direction)rË  rÍ  )rC   rA   rB   rD   )rÁ   r‘   r’   rÂ   )r  rÃ   r  rÇ  )rA   rB   r   rC   )ÚPermutation)
r{   r   rÖ   Ú
ValueErrorÚpermute_rowsrÉ  r$   Úpermute_colsÚsympy.combinatoricsrÎ  )rª   rÎ  r©   s     @rH   Útest_permuterÓ  ¯  sä  ø€ Ý˜Q Ð#JÐ#JÐ#JÑKÔK€Aå
�:Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý
�:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ø	�Š˜˜A˜  A Ð'Ñ(Ô(€AØ�9Š9�q˜!�f˜q !˜fÐ%Ñ&Ô&¨!ð >ð >ò >ð >­vØ,;¨O¨OØ,;¨O¨OØ,;¨O¨Oð7=ñ 0>ô 0>ò >ð >ð >ð >ð >ð >ð
 	
�Š˜˜A˜  A Ð'Ñ(Ô(€AØ�9Š9�q˜!�f˜q !˜fÐ%°6ˆ9Ñ:Ô:¸að .ð .ò .ð .Ý"Ø+˜O˜OØ+˜O˜OØ+˜O˜Oð$-ñ .ô .ò.ð .ð .ð .ð .ð .ð 	
�Š˜˜A˜  A Ð'°:ˆÑ>Ô>€AØ�9Š9�q˜!�f˜q !˜fÐ%°6ÀZˆ9ÑPÔPÐTUð .ð .ò .ð .Ý"Ø+˜O˜OØ+˜O˜OØ+˜O˜Oð$-ñ .ô .ò.ð .ð .ð .ð .ð .ð �9Š9�\�\�\Ñ"Ô"¥fØ,;¨O¨OØ,;¨O¨OØ,;¨O¨Oð.=ñ '>ô '>ò >ð >ð >ð >ð
 0Ð/Ð/Ð/Ð/Ð/Ø�9Š9�[�[   Ñ.Ô.Ñ/Ô/µ6Ø,;¨O¨OØ,;¨O¨OØ,;¨O¨Oð;=ñ 4>ô 4>ò >ð >ð >ð >ð >ð >rJ   c                  ó~  — t          g d¢g d¢g d¢g d¢g¦  «        } |                      d¦  «        }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚|                      d¦  «        }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚|                      ¦   «         }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚d S )N©rA   rA   rA   rA   rB   )r   r   rA   rA   )r   r   r   rA   ©r   r   r   r   rÔ   )r   rA   rA   rA   )r{   Úupper_triangular)rÝ   ÚRs     rH   Útest_upper_triangularrÙ  Ó  sH  € åØ��Ø��Ø��Ø��ð	ñ 	ô 	€Að 	
×Ò˜1ÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&ñ ô ò ð ð ð ð 	
×Ò˜2ÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&ñ ô ò ð ð ð ð 	
×ÒÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&ñ ô ò ð ð ð ð ð rJ   c                  ó~  — t          g d¢g d¢g d¢g d¢g¦  «        } |                      ¦   «         }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚|                      d¦  «        }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚|                      d¦  «        }|t          g d¢g d¢g d¢g d¢g¦  «        k    sJ ‚d S )NrÕ  )rA   r   r   r   )rA   rA   r   r   )rA   rA   rA   r   rB   rÔ   rÖ  )r{   Úlower_triangularr„   )rÝ   ÚLs     rH   Útest_lower_triangularrÝ  ô  sH  € ÝØ$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	ñ 	ô 	€Að 	
×ÒÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&&ñ 'ô 'ò 'ð 'ð 'ð 'ð 	
×Ò˜1ÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&ñ ô ò ð ð ð ð 	
×Ò˜2ÑÔ€AØÕ$Ø$˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð	&ñ ô ò ð ð ð ð ð rJ   c                  óÜ   — t          ddgt          t          gg¦  «        } t          | ¦  «        t          ddgt	          t          ¦  «        t	          t          ¦  «        gg¦  «        k    sJ ‚d S )NrA   rÔ   rB   )r„   r3   r4   Úabsr   rå   s    rH   Útest_absrà    s\   € Ý˜q "˜g­­1 vÐ.Ñ/Ô/€AÝˆq‰6Œ6Õ)¨A¨q¨6µC½±F´F½CÅ¹F¼FÐ3CÐ*DÑEÔEÒEÐEÐEÐEÐEÐErJ   c            	      ó„  ‡ ‡— t          g d¢t          t          t          gdt          z  dt          t          z  gg¦  «        Š ‰ ‰ z   t          g d¢dt          z  dt          z  dt          z  gdt          z  ddt          z  t          z  gg¦  «        k    sJ ‚t          ddddg¦  «        Št	          t
          ˆ ˆfd„¦  «         d S )	Nr•   rB   iÎÿÿÿ)rB   rD   r’   rD   iœÿÿÿrA   c                  ó   •— ‰ ‰z   S r^   rE   ©r¡   rg   s   €€rH   rd   ztest_add.<locals>.<lambda>  s   ø€ ˜q 1™u€ rJ   )r„   r3   r4   r5   r   r   rã  s   @@rH   Útest_addrä    s¶   øø€ Ý˜i˜i˜i­!­Qµ¨°Qµq±S¸#½qÅ¹s°OÐDÑEÔE€AØˆq‰5Õ(¨)¨)¨)°a½±c¸1½Q¹3ÀÅ!Á°_ÀqÍÁsÈDÐRSÕTUÑRUÕVWÑRWÐFXÐ)YÑZÔZÒZÐZÐZÐZÝ˜Q  A q 6Ñ*Ô*€AÝ
�:�}�}�}�}�}Ñ%Ô%Ð%Ð%Ð%rJ   c                  óè  ‡‡— t          d¦  «        Št          d¦  «        Št          t          ˆˆfd„¦  «         t          t          ˆfd„¦  «         ‰‰z  } | d         dk    sJ ‚| d         dk    sJ ‚| d	         d
k    sJ ‚| d         d
k    sJ ‚| d         dk    sJ ‚| d         dk    sJ ‚	 t	          d¦  «         | d         dk    sJ ‚| d         dk    sJ ‚| d	         d
k    sJ ‚| d         d
k    sJ ‚| d         dk    sJ ‚| d         dk    sJ ‚n# t
          $ r Y nw xY w‰                     | ¦  «        }|t          ‰| ¦  «        k    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚|d	         dk    sJ ‚|d         d
k    sJ ‚|d         dk    sJ ‚|d         dk    sJ ‚t          t          ˆˆfd„¦  «         ‰t          d¦  «        z  } t          | t           ¦  «        sJ ‚| d         t          k    sJ ‚| d         dt          z  k    sJ ‚| d	         dt          z  k    sJ ‚| d         dk    sJ ‚t          ‰z  }| |k    sJ ‚d‰z  } t          | t           ¦  «        sJ ‚| d         dk    sJ ‚| d         dk    sJ ‚| d	         dk    sJ ‚| d         dk    sJ ‚	 t	          d¦  «         t          | t           ¦  «        sJ ‚| d         dk    sJ ‚| d         dk    sJ ‚| d	         dk    sJ ‚| d         dk    sJ ‚n# t
          $ r Y nw xY wt          t          dd¦  «        ¦  «        }t          dd¦  «         }t          |||g¦  «        }|                     |¦  «        t          |g|g|gg¦  «        k    sJ ‚d S )N)rã   r±  rB  )rã   )rC   r   c                  ó   •— ‰‰ z  S r^   rE   ©r©   rª   s   €€rH   rd   z%test_multiplication.<locals>.<lambda>-  s   ø€ ˜q ™s€ rJ   c                  ó   •— ‰ i z  S r^   rE   rH  s   €rH   rd   z%test_multiplication.<locals>.<lambda>.  s   ø€ ˜a ™d€ rJ   r¥   rÁ   r¦   rB   r§   r’   r“   )rB   r   é   r®  r   z	c = a @ brD   c                  ó.   •— ‰                       ‰¦  «        S r^   )Úmultiply_elementwiserç  s   €€rH   rd   z%test_multiplication.<locals>.<lambda>L  s   ø€ ˜q×5Ò5°aÑ8Ô8€ rJ   r3   rC   r‘   r  é   z	c = 5 @ brA   )r„   r   r   Ú	TypeErrorÚevalÚSyntaxErrorrë  r'   r   rN   r3   r$   r(   r   )r«   ÚhÚc2rÝ   Ú_hrÞ   r©   rª   s         @@rH   Útest_multiplicationró  !  s(  øø€ Ýð ñ 	ô 	€Aõ 	ð ñ 	ô 	€Aõ
 �:�{�{�{�{�{Ñ#Ô#Ð#Ý
�9�l�l�l�lÑ#Ô#Ð#à	ˆ!‰€AØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�bŠ=ˆ=ˆ=ˆ=ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ð
Ýˆ[ÑÔÐð �Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜"Š}ˆ}ˆ}ˆ}Ø�Œw˜!Š|ˆ|ˆ|ˆ|ˆ|øõ ð ð ð Øˆðøøøð 	
×Ò˜qÑ!Ô!€AØÕ+¨A¨qÑ1Ô1Ò1Ð1Ð1Ð1ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�bŠ=ˆ=ˆ=ˆ=ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<Ý
�:Ð8Ð8Ð8Ð8Ð8Ñ9Ô9Ð9à	�F�3‰KŒK‰€AÝ�aÕ-Ñ.Ô.Ð.Ð.Ð.ØˆTŒ7•aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�a�‘cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�a�‘cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<å	
ˆQ‰€BØ�Š7ˆ7ˆ7ˆ7à	ˆA‰€AÝ�aÕ-Ñ.Ô.Ð.Ð.Ð.ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�cŠ>ˆ>ˆ>ˆ>ØˆTŒ7�aŠ<ˆ<ˆ<ˆ<ð	Ýˆ[ÑÔÐõ ˜!Õ1Ñ2Ô2Ð2Ð2Ð2Ø�Œw˜!Š|ˆ|ˆ|ˆ|Ø�Œw˜#Š~ˆ~ˆ~ˆ~Ø�Œw˜#Š~ˆ~ˆ~ˆ~Ø�Œw˜!Š|ˆ|ˆ|ˆ|ˆ|øõ ð ð ð Øˆðøøøõ 	�t�A�q‰zŒzÑÔ€AÝ
�1�a‰.Œ.ˆ€BÝ��B˜ˆ|ÑÔ€AØ×!Ò! !Ñ$Ô$­Ø	ˆØ	ˆØ	ˆð0ñ )ô )ò ð ð ð ð ð s$   Â,D Ä
DÄDÊK4 Ë4
LÌ Lc                  ób  — t          ddgddgg¦  «        } |                      d¦  «        t          k    sJ ‚|                      d¦  «        t          k    sJ ‚	 t	          d¦  «         n# t
          $ r Y nt          $ r Y nw xY w	 t	          d¦  «         d S # t
          $ r Y d S t          $ r Y d S w xY w)NrA   rB   rC   rD   z2 @ aza @ 2)r$   Ú
__matmul__ÚNotImplementedÚ__rmatmul__rî  rï  rí  rH  s    rH   Útest_matmulrø  t  sì   € Ý��A�˜˜A˜ÐÑ Ô €Aà�<Š<˜‰?Œ?�nÒ,Ð,Ð,Ð,à�=Š=˜ÑÔ�~Ò-Ð-Ð-Ð-ðÝˆW‰ŒˆˆøÝð ð ð ØˆÝð ð ð ØˆðøøøðÝˆW‰ŒˆˆˆøÝð ð ð ØˆˆÝð ð ð Øˆˆðøøøs0   ÁA' Á'
A?Á3	A?Á>A?ÂB Â
B.Â!	B.Â-B.c                  ó  —  G d„ dt           ¦  «        } t          ddgddgg¦  «        } | ¦   «         }||z  t          |d|z  gd|z  d|z  gg¦  «        k    sJ ‚||z  t          |d|z  gd|z  d|z  gg¦  «        k    sJ ‚dS )zd
    Test that if explicitly specified as non-matrix, mul reverts
    to scalar multiplication.
    c                   ó   — e Zd ZdZdZdZdS )útest_non_matmul.<locals>.fooFr“   N)rX   rY   rZ   Ú	is_MatrixÚis_MatrixLikerä   rE   rJ   rH   Úfoorû  ’  s   € € € € € Øˆ	ØˆØˆˆˆrJ   rþ  rA   rB   rC   rD   N)r   r$   )rþ  rÝ   rª   s      rH   Útest_non_matmulrÿ  �  sÅ   € ð
ð ð ð ð �dñ ô ð õ
 	��A�˜˜A˜ÐÑ Ô €AØˆ‰Œ€AØˆQ‰3•&˜1˜a ™c˜( Q q¡S¨!¨A©# JÐ/Ñ0Ô0Ò0Ð0Ð0Ð0ØˆQ‰3•&˜1˜a ™c˜( Q q¡S¨!¨A©# JÐ/Ñ0Ô0Ò0Ð0Ð0Ð0Ð0Ð0rJ   c                  ón  — t          t          d„ ¦  «         t          ddgddgg¦  «        } | dz  d d …         dk    sJ ‚t          g d¢g d¢g d	¢g¦  «        } | dz  d d …         d
k    sJ ‚| dz  t          d¦  «        k    sJ ‚| dz  | k    sJ ‚t          dgg¦  «        dz  d         ddz  k    sJ ‚t          ddgddgg¦  «        t	          d¦  «        z  t          ddgddgg¦  «        k    sJ ‚t          ddgddgg¦  «        } |                      dd¬¦  «        |                      dd¬¦  «        k    sJ ‚d S )Nc                  ó&   — t          d¦  «        dz  S )Nrã   rB   ©r$   rE   rJ   rH   rd   ztest_power.<locals>.<lambda>ž  s   € ­°©¬¸Ñ):€ rJ   rB   rC   rD   r‘   )iü  i¡  i,*  i�7  )rB   rA   rC   )rD   rB   rD   )r’   rÇ  rA   )	i"  i  éû   iÀ  i¸  ip  i¾  iº  i±  r   rA   éd   r¥   rÁ   r  rì  é   é   Úcayley)ÚmethodÚmultiply)r   r   r„   r&   r   r$   Úpowr2  s    rH   Ú
test_powerr  �  s}  € Ý
ÕÐ!:Ð!:Ñ;Ô;Ð;å˜q !˜f q¨! fÐ-Ñ.Ô.€AØˆq‰D�!�!�!Œ9Ð2Ò2Ð2Ð2Ð2Ý˜i˜i˜i¨¨¨°J°J°JÐ?Ñ@Ô@€AØˆq‰D�!�!�!Œ9ÐEÒEÐEÐEÐEØˆa‰4•3�q‘6”6Š>ˆ>ˆ>ˆ>Øˆa‰4�1Š9ˆ9ˆ9ˆ9Ý  1 # Ñ'Ô'¨3Ñ.°Ô5¸¸C¹Ò?Ð?Ð?Ð?Ý ! Q ¨!¨Q¨Ð 0Ñ1Ô1µ7¸1±:´:Ñ=ÕAUÐXYÐ[]ÐW^ÐacÐegÐ`hÐViÑAjÔAjÒjÐjÐjÐjÝ��1��q˜�eˆ}ÑÔ€AØ�5Š5�˜Hˆ5Ñ%Ô%¨¯ª¨r¸*¨Ñ)EÔ)EÒEÐEÐEÐEÐEÐErJ   c                  ó`   — t          ddddg¦  «        } |  t          ddddg¦  «        k    sJ ‚d S )NrA   rB   rÓ   rÔ   r‡   rf   s    rH   Útest_negr  «  sA   € Ý˜Q  A q 6Ñ*Ô*€AØˆ2Õ% a¨¨R°¨HÑ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5rJ   c                  ód   — t          ddddg¦  «        } | | z
  t          ddddg¦  «        k    sJ ‚d S )NrA   rB   r   r‡   rf   s    rH   Útest_subr  °  sC   € Ý˜Q  A q 6Ñ*Ô*€AØˆq‰5Õ(¨¨A°°1¨vÑ6Ô6Ò6Ð6Ð6Ð6Ð6Ð6rJ   c            	      ó˜   — t          ddddg¦  «        } | dz  t          ddt          j        t          d¦  «        dz  g¦  «        k    sJ ‚d S rX  )r„   r   r´   rf   s    rH   Útest_divr  µ  sP   € Ý˜Q  A q 6Ñ*Ô*€AØˆQ‰3Õ& q¨!­a¬fµa¸±d´d¸1±fÐ-=Ñ>Ô>Ò>Ð>Ð>Ð>Ð>Ð>rJ   c                  óš  — t          t                               dd¦  «        ¦  «        g d¢k    sJ ‚t          t                               d¦  «        ¦  «        g d¢k    sJ ‚t          t                               d¦  «        ¦  «        t          k    sJ ‚t          t                               dt          ¬¦  «        ¦  «        t          k    sJ ‚d S )NrB   rA  r�  )r˜   r�   r&   Útyper$   rE   rJ   rH   Útest_eyer  º  s¸   € ÝÕ!×%Ò% a¨Ñ+Ô+Ñ,Ô,°°°Ò<Ð<Ð<Ð<ÝÕ!×%Ò% aÑ(Ô(Ñ)Ô)¨\¨\¨\Ò9Ð9Ð9Ð9ÝÕ!×%Ò% aÑ(Ô(Ñ)Ô)Õ->Ò>Ð>Ð>Ð>ÝÕ!×%Ò% a­VÐ%Ñ4Ô4Ñ5Ô5½Ò?Ð?Ð?Ð?Ð?Ð?rJ   c                  ó  — t          t                               dd¦  «        ¦  «        g d¢k    sJ ‚t          t                               d¦  «        ¦  «        g d¢k    sJ ‚t                               dd¦  «        t          g d¢g d¢g¦  «        k    sJ ‚t	          t                               d¦  «        ¦  «        t          k    sJ ‚t	          t                               dt          ¬¦  «        ¦  «        t          k    sJ ‚d S )NrB   rÕ  rC   ©rA   rA   rA   r�  )r˜   r�   r(   r$   r  rE   rJ   rH   Ú	test_onesr  Á  sî   € ÝÕ!×&Ò& q¨!Ñ,Ô,Ñ-Ô-°°°Ò=Ð=Ð=Ð=ÝÕ!×&Ò& qÑ)Ô)Ñ*Ô*¨l¨l¨lÒ:Ð:Ð:Ð:Ý×!Ò! ! QÑ'Ô'­6°9°9°9¸i¸i¸iÐ2HÑ+IÔ+IÒIÐIÐIÐIÝÕ!×&Ò& qÑ)Ô)Ñ*Ô*Õ.?Ò?Ð?Ð?Ð?ÝÕ!×&Ò& q­fÐ&Ñ5Ô5Ñ6Ô6½&Ò@Ð@Ð@Ð@Ð@Ð@rJ   c                  ó  — t          t                               dd¦  «        ¦  «        g d¢k    sJ ‚t          t                               d¦  «        ¦  «        g d¢k    sJ ‚t                               dd¦  «        t          g d¢g d¢g¦  «        k    sJ ‚t	          t                               d¦  «        ¦  «        t          k    sJ ‚t	          t                               dt          ¬¦  «        ¦  «        t          k    sJ ‚d S )NrB   rÖ  rC   r  r�  )r˜   r�   r)   r$   r  rE   rJ   rH   Ú
test_zerosr  É  sî   € ÝÕ!×'Ò'¨¨1Ñ-Ô-Ñ.Ô.°,°,°,Ò>Ð>Ð>Ð>ÝÕ!×'Ò'¨Ñ*Ô*Ñ+Ô+¨|¨|¨|Ò;Ð;Ð;Ð;Ý×"Ò" 1 aÑ(Ô(­F°I°I°I¸y¸y¸yÐ3IÑ,JÔ,JÒJÐJÐJÐJÝÕ!×'Ò'¨Ñ*Ô*Ñ+Ô+Õ/@Ò@Ð@Ð@Ð@ÝÕ!×'Ò'¨­vÐ'Ñ6Ô6Ñ7Ô7½6ÒAÐAÐAÐAÐAÐArJ   c                  ó^
  ‡ ‡‡‡— t           j        Št          ddgddgg¦  «        Š t          dt          gt          dgg¦  «        Št          dt          dgt          dt
          gt          t          t
          gg¦  «        Š ‰‰ ‰‰¦  «        t          g d¢g d¢dddt          ddgddt          dddgdddddt          gddddt          dgg¦  «        k    sJ ‚ ‰‰ ‰‰¦  «        t          g d¢g d¢dddt          dddgddt          ddddgdddddt          dgddddt          dt
          gddddt          t          t
          gg¦  «        k    sJ ‚ ‰‰ ‰‰¦  «        t          g d¢g d¢dddt          dddgddt          dt
          ddgddt          t          t
          ddgddddddt          gdddddt          dgg¦  «        k    sJ ‚t          t          t          t
          g¦  «        Š t          ddgdd	gg¦  «        Št          d
dgg¦  «        Š ‰‰ d‰‰¦  «        t          t          dddddgt          dddddgt
          dddddgg d¢g d¢g d¢g d¢g¦  «        k    sJ ‚t          t          ˆ ˆˆˆfd„¦  «          ‰d¦  «        t          dgg¦  «        k    sJ ‚ ‰dd¬¦  «        t          ddgddgg¦  «        k    sJ ‚ ‰dd¬¦  «        t          ddgddgg¦  «        k    sJ ‚ ‰ddd¬¦  «        t          ddgddgddgg¦  «        k    sJ ‚ ‰ddgŽ t          ddgddgg¦  «        k    sJ ‚ ‰t          ddg¦  «        ¦  «        t          dgdgg¦  «        k    sJ ‚ ‰dddgd	gd¬¦  «         ‰dgddgd	ggd¬¦  «        cxk    rt          ddgddgd	dgg¦  «        k    sn J ‚t           ‰d¦  «        ¦  «        t           k    sJ ‚t           ‰dt          ¬¦  «        ¦  «        t          k    sJ ‚t          j        g d¢¦  «        t          j        ddd¦  «        k    sJ ‚t          j        g d¢d¬¦  «        j	        dk    sJ ‚t          j        g d¢g¦  «        j	        dk    sJ ‚t          j        g d¢gd¬¦  «        j	        dk    sJ ‚t          j        g d¢gg¦  «        j	        dk    sJ ‚t          j        t          dd¦  «        dd¦  «        t          g d¢g d¢g¦  «        k    sJ ‚t          j        t          dd¦  «        dd¦  «        t          ddgddgddgddgg¦  «        k    sJ ‚d S )NrA   rB   rC   )rA   rB   r   r   r   r   )rB   rC   r   r   r   r   r   )rA   rB   r   r   r   r   r   )rB   rC   r   r   r   r   r   rD   r‘   r’   rÁ   )r   rÁ   r   r   r   r   )r   r   rA   rB   r   r   )r   r   rC   rD   r   r   )r   r   r   r   r‘   r’   c                  ó$   •—  ‰‰ d‰‰d¬¦  «        S )NrÁ   r‘   ©r–   rE   ©r©   rª   r«   r%   s   €€€€rH   rd   z test_diag_make.<locals>.<lambda>þ  s   ø€ ˜t˜t A q¨!¨Q°QÐ7Ñ7Ô7€ rJ   r  )r—   )r–   r—   F)Úunpackr�  r•   r±  r¯  )r   r   rA   r   )r   r   r   rB   )r�   r%   r$   r3   r4   r5   r   rÏ  r  rä   r(   r  s   @@@@rH   Útest_diag_maker  Ñ  sÎ  øøøø€ ÝÔ!€DÝ��A�˜˜A˜ÐÑ Ô €AÝ�•A��˜A˜ÐÑ Ô €AÝ�•A�q�	�A˜q¥!˜9¥q­!­Q iÐ0Ñ1Ô1€AØˆ4��1�a‰=Œ=�FØÐÐØÐÐØ	
ˆAˆq•!�Q˜ÐØ	
ˆA�q�!�Q˜ÐØ	
ˆAˆq�!�Q�ÐØ	
ˆAˆq�!•Q˜Ðð$ñ ô ò ð ð ð ð ˆ4��1�a‰=Œ=�FØÐÐØÐÐØ	
ˆAˆq•!�Q˜˜1ÐØ	
ˆA�q�!�Q˜˜1ÐØ	
ˆAˆq�!�Q�˜1ÐØ	
ˆAˆq�!•Q˜�1ÐØ	
ˆAˆq�!•Q��1Ðð$ñ ô ò ð ð ð ð ˆ4��1�a‰=Œ=�FØÐÐØÐÐØ	
ˆAˆq•!�Q˜˜1ÐØ	
ˆA�q�!•Q˜˜1ÐØ	
ˆA�q•!•Q˜˜1ÐØ	
ˆAˆq�!�Q˜�1ÐØ	
ˆAˆq�!�Q�˜1Ðð$ñ ô ò ð ð ð õ 	••1•aˆyÑÔ€AÝ��A�˜˜A˜ÐÑ Ô €AÝ��A�ˆxÑÔ€Að ˆ4��1�a˜ÑÔ�vÝ	
ˆAˆq�!�Q˜ÐÝ	
ˆAˆq�!�Q˜ÐÝ	
ˆAˆq�!�Q˜ÐØÐÐØÐÐØÐÐØÐÐð'ñ  ô  ò ð ð ð õ �:Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ñ8Ô8Ð8Øˆ4�‰7Œ7•f˜q˜c˜U‘m”mÒ#Ð#Ð#Ð#Øˆ4�˜ˆ?‰?Œ?�f q¨! f¨q°!¨fÐ%5Ñ6Ô6Ò6Ð6Ð6Ð6Øˆ4�˜ˆ?‰?Œ?�f q¨! f¨q°!¨fÐ%5Ñ6Ô6Ò6Ð6Ð6Ð6Øˆ4�˜ Ð"Ñ"Ô"¥f¨q°!¨f°q¸!°f¸qÀ!¸fÐ-EÑ&FÔ&FÒFÐFÐFÐFØˆ4�!�Q�ˆ=�FØ	
ˆAˆØ	
ˆAˆð$ñ ô ò ð ð ð ð ˆ4•˜˜1�v‘”ÑÔ¥6Ø	
ˆØ	
ˆð+ñ $ô $ò ð ð ð ð ˆ4��Q˜�F˜A� uÐ-Ñ-Ô-ØˆD�1�#˜˜1�v ˜sÐ#¨EÐ2Ñ2Ô2ðð ò ð Ý6<Ø	
ˆAˆØ	
ˆAˆØ	
ˆAˆð>ñ 7ô 7òð ð ð ð ð õ
 ���Q‘”‰=Œ=Õ-Ò-Ð-Ð-Ð-Ý���Q�FÐ#Ñ#Ô#Ñ$Ô$­Ò.Ð.Ð.Ð.ÝŒ;�y�y�yÑ!Ô!¥V¤[°°A°qÑ%9Ô%9Ò9Ð9Ð9Ð9ÝŒ;�y�y�y¨Ð/Ñ/Ô/Ô5¸Ò?Ð?Ð?Ð?ÝŒ;˜	˜	˜	�{Ñ#Ô#Ô)¨VÒ3Ð3Ð3Ð3ÝŒ;˜	˜	˜	�{¨5Ð1Ñ1Ô1Ô7¸6ÒAÐAÐAÐAÝŒ;˜˜˜˜�}Ñ%Ô%Ô+¨vÒ5Ð5Ð5Ð5åŒ;•t˜A˜q‘z”z 1 aÑ(Ô(­FØˆˆØˆˆð4ñ -ô -ò ð ð ð õ Œ;•t˜A˜q‘z”z 1 aÑ(Ô(­FØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð	4ñ -ô -ò ð ð ð ð ð rJ   c                  ó   ‡‡— t          ddt          d¦  «        ¦  «        Š‰                     ¦   «         } | ‰                     d¦  «        k    sJ ‚t          | ¦  «        dk    sJ ‚t          ‰                     d¦  «        ¦  «        dk    sJ ‚t          ‰                     d¦  «        ¦  «        dk    sJ ‚t          ‰                     d	¦  «        ¦  «        d
k    sJ ‚t	          ‰                     ¦   «         ¦  «        t	          ‰¦  «        k    sJ ‚t          ddddi¦  «        }t	          |                     ¦   «         ¦  «        t	          |¦  «        k    sJ ‚t	          ‰¦  «        t	          |¦  «        k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          d	d¦  «        Št          ˆfd„t          d‰j
        z
  ‰j        ¦  «        D ¦   «         ¦  «        ‰k    sJ ‚d S )NrC   rÃ   r   )r   rD   rÂ   rA   )rA   r‘   rÓ   )rC   rÁ   rB   )rB   r“   c                  ó.   •— ‰                       d¦  «        S r
  ©Údiagonalrå   s   €rH   rd   ztest_diagonal.<locals>.<lambda>,  s   ø€ ˜qŸzšz¨!™}œ}€ rJ   c                  ó.   •— ‰                       d¦  «        S )Nr°  r"  rå   s   €rH   rd   ztest_diagonal.<locals>.<lambda>-  s   ø€ ˜qŸzšz¨"™~œ~€ rJ   c                  ó8   •— ‰                       t          ¦  «        S r^   )r#  r   rå   s   €rH   rd   ztest_diagonal.<locals>.<lambda>.  s   ø€ ˜qŸzšz­"™~œ~€ rJ   c                 óV   •— i | ]%}|t          ‰                     |¦  «        ¦  «        “Œ&S rE   )r˜   r#  )rF   rb   rG   s     €rH   ú
<dictcomp>z!test_diagonal.<locals>.<dictcomp>0  s=   ø€ ð *ð *ð *Øð •d˜1Ÿ:š: a™=œ=Ñ)Ô)ð *ð *ð *rJ   )r$   r    r#  Útupler  r*   r   rÏ  r(   r+   r–   r—   )r¬   ÚsrG   r¡   s     @@rH   Útest_diagonalr*     s  øø€ Ýˆq�!•U˜1‘X”XÑÔ€AØ	�
Š
‰Œ€AØ�—
’
˜1‘”ÒÐÐÐÝ�‰8Œ8�yÒ Ð Ð Ð Ý�—’˜A‘”ÑÔ 6Ò)Ð)Ð)Ð)Ý�—’˜B‘”Ñ Ô  FÒ*Ð*Ð*Ð*Ý�—’˜A‘”ÑÔ 4Ò'Ð'Ð'Ð'Ý�—
’
‘”ÑÔ¥ a¡¤Ò(Ð(Ð(Ð(Ý�Q˜˜F A˜;Ñ'Ô'€AÝ�—
’
‘”ÑÔ¥ a¡¤Ò(Ð(Ð(Ð(Ý�‰7Œ7•d˜1‘g”gÒÐÐÐÝ
�:Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ý
�:Ð-Ð-Ð-Ð-Ñ.Ô.Ð.Ý
�:Ð-Ð-Ð-Ð-Ñ.Ô.Ð.ÝˆQ�‰
Œ
€AÝð *ð *ð *ð *Ý�q˜œ‘x ¤Ñ(Ô(ð*ñ *ô *ñ +ô +Ø./ò0ð 0ð 0ð 0ð 0ð 0rJ   c                  ó  — t                                dd¦  «        t                                dd¬¦  «        cxk    r�t                                dd¬¦  «        cxk    r`t                                ddd¬¦  «        cxk    r>t                                ddd¬¦  «        cxk    rt          g d¢g d	¢g d
¢g¦  «        k    sn J ‚t                                ddd¬¦  «        t          g d¢g d¢g d¢g¦  «        k    sJ ‚t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t                                dd¬¦  «        t                                dd¬¦  «        k    sJ ‚d S )NrC   rB   ©Ú
eigenvalue)Úsizer-  Úupper)Úband)r.  Úeigenvalr-  )rB   rA   r   )r   rB   rA   r  Úlower)rB   r   r   r~  r»   c                  ó6   — t                                d¦  «        S rm  ©r�   Újordan_blockrE   rJ   rH   rd   z#test_jordan_block.<locals>.<lambda>D  s   € Õ0×=Ò=¸aÑ@Ô@€ rJ   c                  ó8   — t                                dd¦  «        S )Ng      @rB   r4  rE   rJ   rH   rd   z#test_jordan_block.<locals>.<lambda>F  s   € Õ0×=Ò=¸cÀ1ÑEÔE€ rJ   c                  ó8   — t                                d¬¦  «        S )NrB   r,  r4  rE   rJ   rH   rd   z#test_jordan_block.<locals>.<lambda>H  s   € Õ0×=Ò=ÈÐ=ÑKÔK€ rJ   c                  ó:   — t                                dd¬¦  «        S )NrB   rD   )r-  r1  r4  rE   rJ   rH   rd   z#test_jordan_block.<locals>.<lambda>K  s!   € Õ×*Ò*Ø˜qð +ñ "ô "€ rJ   )r.  r1  )r�   r5  r$   r   rÏ  rE   rJ   rH   Útest_jordan_blockr9  4  s  € Ý×)Ò)¨!¨QÑ/Ô/Õ3D×3QÒ3QÐRSÐ`aÐ3QÑ3bÔ3bð ð ò ð Ý ×-Ò-°1ÀÐ-ÑCÔCðð ò ð å ×-Ò-¨a°¸Ð-ÑAÔAðð ò ð õ !×-Ò-Ø ¨qð .ñ 2ô 2ðð ò ð õ
 Ø�	�	Ø�	�	Ø�	�	ðñ ô òð ð ð ð ð õ ×)Ò)¨!¨Q°WÐ)Ñ=Ô=ÅØ�I�IØ�I�IØ�I�IðIñ B ô B ò  ð  ð  ð  õ
 �:Ð@Ð@ÑAÔAÐAå
�:ÐEÐEÑFÔFÐFå
�:ÐKÐKÑLÔLÐLå
�:ð"ð "ñ#ô #ð #õ
 ×)Ò)¨q¸QÐ)Ñ?Ô?Ý×&Ò&¨A¸Ð&Ñ:Ô:ò;ð ;ð ;ð ;ð ;ð ;rJ   c            	      óÐ  ‡— t          ddgddgg¦  «        } |                      t          dgdgg¦  «        ¦  «        t          dgdgg¦  «        gk    sJ ‚|                      t          dgdgg¦  «        d¬¦  «        t          dt          d¦  «        z  dz  gt          d¦  «        dz  gg¦  «        gk    sJ ‚|                      t          dgdgg¦  «        t          dgdgg¦  «        ¦  «        t          dgdgg¦  «        t          t          d	d¦  «        gt          d
d¦  «        gg¦  «        gk    sJ ‚|                      t          dgdgg¦  «        t          dgdgg¦  «        ¦  «        t          dgdgg¦  «        gk    sJ ‚|                      t          dgdgg¦  «        ¦  «        g k    sJ ‚t          g d¢g d¢g d¢g¦  «        }t          dgdgg¦  «        t          dgdgg¦  «        t          dgdgg¦  «        gŠ |j        ‰Ž t          dgdgg¦  «        t          t          dd¦  «        gt          dd¦  «        gg¦  «        gk    sJ ‚t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        gŠt	          t
          ˆfd„¦  «         t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        gŠt	          t
          ˆfd„¦  «         d S )NrA   rB   rC   rD   T)Ú	normalizer‘   rÓ   iôÿÿÿr’   r   )rÃ   rA   rÃ   )rC   r’   r  )rÂ   r‘   rB   rÍ   rÔ   é   é   r  r•   )rA   rD   r‘   c                  ó&   •— t          j        ‰ ddiŽS ©NÚ	rankcheckT©r$   Úorthogonalize©Úvecss   €rH   rd   z$test_orthogonalize.<locals>.<lambda>d  ó   ø€ �vÔ3°TÐJÀTÐJÐJ€ rJ   r”   rÕ   c                  ó&   •— t          j        ‰ ddiŽS r?  rA  rC  s   €rH   rd   z$test_orthogonalize.<locals>.<lambda>g  rE  rJ   )r$   rB  r   r   r   rÏ  )r¡   rg   rD  s     @rH   Útest_orthogonalizerG  S  s*  ø€ Ý��A�˜˜A˜ÐÑ Ô €AØ�?Š?�6 A 3¨¨ *Ñ-Ô-Ñ.Ô.µ6¸A¸3ÀÀ¸*Ñ3EÔ3EÐ2FÒFÐFÐFÐFØ�?Š?�6 A 3¨¨ *Ñ-Ô-¸ˆ?Ñ>Ô>Ý	�!•D˜‘G”G‘)˜A‘+�¥ a¡¤¨¡ Ð,Ñ	-Ô	-Ð.ò/ð /ð /ð /à�?Š?�6 A 3¨¨ *Ñ-Ô-­v¸°t¸a¸S°kÑ/BÔ/BÑCÔCÝ	�!��q�c�
Ñ	Ô	�V¥h¨s°AÑ&6Ô&6Ð%7½(À1Àa¹.¼.Ð9IÐ$JÑKÔKÐLòMð Mð Mð Mà�?Š?�6 A 3¨¨ *Ñ-Ô-­v¸°t¸a¸S°kÑ/BÔ/BÑCÔCÝ	�"�˜�s�Ñ	Ô	Ðòð ð ð à�?Š?�6 A 3¨¨ *Ñ-Ô-Ñ.Ô.°"Ò4Ð4Ð4Ð4å�	�	�	˜:˜:˜: y y yÐ1Ñ2Ô2€AÝ�R�D˜1˜#�;ÑÔ¥¨"¨°¨s¨Ñ!4Ô!4µf¸r¸dÀRÀD¸\Ñ6JÔ6JÐK€DØˆ1Œ?˜DÐ!Ý	�"�˜�s�Ñ	Ô	�f¥x°°2¡¤Ð&7½(À2ÀrÑ:JÔ:JÐ9KÐ%LÑMÔMÐNòOð Oð Oð Oõ �9�9�9ÑÔ�v i i iÑ0Ô0µ&¸¸¸Ñ2CÔ2CÐD€DÝ
�:ÐJÐJÐJÐJÑKÔKÐKå�9�9�9ÑÔ�v i i iÑ0Ô0µ&¸¸¸Ñ2CÔ2CÐD€DÝ
�:ÐJÐJÐJÐJÑKÔKÐKÐKÐKrJ   c                  ó‚  — t          j        d¦  «        \  } }| t          g d¢g d¢g d¢g¦  «        k    sJ ‚|t          g d¢g d¢g d¢g¦  «        k    sJ ‚t          j        d¦  «        \  } }| t          g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g¦  «        k    sJ ‚|t          g d¢g d¢g d¢g d
¢g d¢g d¢g d¢g¦  «        k    sJ ‚d S )NrA   )rÓ   rA   r   )rA   r   rA   )r   rA   rA   )rA   rA   r   rC   )r°  rA   r   r   r   r   r   )rA   rÔ   rA   r   r   r   r   )r   rA   rÓ   rA   r   r   r   )r   r   rA   r   rA   r   r   )r   r   r   rA   rA   rA   r   )r   r   r   r   rA   rB   rA   )r   r   r   r   r   rA   rC   )rC   rA   r   r   r   r   r   )rA   rB   rA   r   r   r   r   )r   rA   rA   rA   r   r   r   )r$   Ú	wilkinson)ÚwminusÚwpluss     rH   Útest_wilkinsonrL  i  s‚  € åÔ$ QÑ'Ô'�M€FˆEØ•VØ * 
 
Ø ) 	 	Ø ) 	 	ð+ñ ,ô ,ò ,ð ,ð ,ð ,ð •FØ%˜I˜IØ%˜I˜IØ%˜I˜Ið'ñ (ô (ò (ð (ð (ð (õ
 Ô$ QÑ'Ô'�M€FˆEØ•VØ 8Ð 8Ð 8Ø 7Ð 7Ð 7Ø 7Ð 7Ð 7Ø 7Ð 7Ð 7Ø 7Ð 7Ð 7Ø 7Ð 7Ð 7àÐÐðñ  ô  ò  ð  ð  ð  ð •FØ1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1ð3ñ 4ô 4ò 4ð 4ð 4ð 4ð 4ð 4rJ   c                  ó¨   — t          d¦  «        \  } }t          dd| |g¦  «        }|                     | ¦  «        t          ddddg¦  «        k    sJ ‚d S )Núx yrB   rA   r   )r   r�   Údiffr$   ©r3   r4   r¡   s      rH   Ú	test_diffrQ  ‹  sW   € å�5‰>Œ>�D€A€qÝ˜1˜a ! Q Ñ(Ô(€Aà�6Š6�!‰9Œ9�˜q ! a¨ VÑ,Ô,Ò,Ð,Ð,Ð,Ð,Ð,rJ   c                  óº   — t          d¦  «        \  } }t          dd| |g¦  «        }|                     | ¦  «        t          dd| dz  dz  || z  g¦  «        k    sJ ‚d S )NrN  rB   rA   )r   r�   Ú	integrater$   rP  s      rH   Útest_integraterT  “  sc   € Ý�5‰>Œ>�D€A€qÝ˜1˜a ! Q Ñ(Ô(€AØ�;Š;�q‰>Œ>�V A q¨1¨a©4°©6°1°Q±3¨-Ñ8Ô8Ò8Ð8Ð8Ð8Ð8Ð8rJ   c            	      óR  ‡‡— t          d¦  «        \  } }t          dd| t          |¦  «        z  | t          |¦  «        z  | dz  g¦  «        }t          dd| |g¦  «        }t	          t          |¦  «        |  t          |¦  «        z  gt          |¦  «        | t          |¦  «        z  gd| z  dgg¦  «        }|                     |¦  «        |k    sJ ‚t          ddg d¢¦  «        Št          ddg d¢¦  «        Št          t          ˆfd„¦  «         t          t          ˆˆfd	„¦  «         d S )
Nzrho,phirC   rA   rB   r   r@   rD   c                  óL   •— ‰                       t          ddg¦  «        ¦  «        S rX  )Újacobianr$   rå   s   €rH   rd   z test_jacobian2.<locals>.<lambda>¦  s   ø€ ˜aŸjšj­°°A°©¬Ñ8Ô8€ rJ   c                  ó.   •— ‰                      ‰ ¦  «        S r^   )rW  r  s   €€rH   rd   z test_jacobian2.<locals>.<lambda>§  s   ø€ ˜bŸkšk¨!™nœn€ rJ   )r   r�   r   r   r$   rW  r   rí  )ÚrhoÚphiÚXÚYÚJr¡   r®   s        @@rH   Útest_jacobian2r^  ™  s0  øø€ Ý�yÑ!Ô!�H€CˆÝ˜1˜a #¥c¨#¡h¤h¡,°µC¸±H´H±¸cÀ1¹fÐ!EÑFÔF€AÝ˜1˜a # s Ñ,Ô,€AÝÝ	ˆS‰Œ�C�4�˜C™œ‘=Ð!Ý	ˆS‰Œ�C�˜C™œ‘LÐ!Øˆc‰E˜qÐ!ðñ 	ô 	€Að
 �:Š:�a‰=Œ=˜AÒÐÐÐå˜1˜a   Ñ.Ô.€AÝ	˜A˜q , , ,Ñ	/Ô	/€BÝ
�9Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý
�9Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ð-Ð-rJ   c            	      óÌ   — t          d¦  «        \  } }t          ddd| z  |g¦  «        }|                     | d¦  «        t          ddt	          dd¦  «        |g¦  «        k    sJ ‚d S )NrN  rB   rA   r‘   )r   r�   Úlimitr$   r   rP  s      rH   Ú
test_limitra  ª  sf   € Ý�5‰>Œ>�D€A€qÝ˜1˜a ! A¡# q Ñ*Ô*€AØ�7Š7�1�a‰=Œ=�F 1 a­(°1°a©.¬.¸!Ð)<Ñ=Ô=Ò=Ð=Ð=Ð=Ð=Ð=rJ   c                  ó¦   ‡ ‡— t          g d¢g d¢g d¢g¦  «        Š g d¢Št          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         d S )Nr•   r”   rÕ   r  c                  ó   •— ‰ ‰z  S r^   rE   ©rG   Úvs   €€rH   rd   z"test_issue_13774.<locals>.<lambda>³  ó   ø€ ˜a ™c€ rJ   c                  ó   •— ‰‰ z  S r^   rE   rd  s   €€rH   rd   z"test_issue_13774.<locals>.<lambda>´  rf  rJ   )r$   r   rí  rd  s   @@rH   Útest_issue_13774rh  °  sc   øø€ Ý�	�	�	˜9˜9˜9 i i iÐ0Ñ1Ô1€AØˆ	ˆ	€AÝ
�9�k�k�k�k�kÑ"Ô"Ð"Ý
�9�k�k�k�k�kÑ"Ô"Ð"Ð"Ð"rJ   c                  ó¬  ‡‡— t          d¦  «        Št          d¦  «        Št          t          d„ ¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆˆfd„¦  «         t          d¦  «        \  } }}t	          j        t          d| g‰¦  «        ¦  «        t	          |  g¦  «        k    sJ ‚t	          j        t          d|| g‰¦  «        ¦  «        t	          d	|  gd| gg¦  «        k    sJ ‚t	          j        t          d||| g‰¦  «        ¦  «        t	          d	d	|  gdd	| gd	d| gg¦  «        k    sJ ‚d S )
Nr3   r4   c                  ó*   — t          j        d¦  «        S rq  )r$   Ú	companionrE   rJ   rH   rd   z test_companion.<locals>.<lambda>¹  s   € �vÔ/°Ñ2Ô2€ rJ   c                  óJ   •— t          j        t          dg‰ ¦  «        ¦  «        S rq  ©r$   rk  r0   r™   s   €rH   rd   z test_companion.<locals>.<lambda>º  s   ø€ �vÔ/µ°a°S¸!±´Ñ=Ô=€ rJ   c                  óL   •— t          j        t          ddg‰ ¦  «        ¦  «        S r)  rm  r™   s   €rH   rd   z test_companion.<locals>.<lambda>»  s   ø€ �vÔ/µ°a¸°V¸Q±´Ñ@Ô@€ rJ   c                  óR   •— t          j        t          ‰ ‰z  ‰ ‰g¦  «        ¦  «        S r^   rm  )r3   r4   s   €€rH   rd   z test_companion.<locals>.<lambda>¼  s$   ø€ �vÔ/µ°Q°q±S¸1¸a¸&Ñ0AÔ0AÑBÔB€ rJ   zc0:3rA   r   )r   r   rÏ  r   r$   rk  r0   )Úc0Úc1rñ  r3   r4   s      @@rH   Útest_companionrr  ¶  sz  øø€ Ýˆs‰Œ€AÝˆs‰Œ€AÝ
�:Ð2Ð2Ñ3Ô3Ð3Ý
�:Ð=Ð=Ð=Ð=Ñ>Ô>Ð>Ý
�:Ð@Ð@Ð@Ð@ÑAÔAÐAÝ
�:ÐBÐBÐBÐBÐBÑCÔCÐCå˜‘”�J€BˆˆBÝÔ�D ! R ¨!Ñ,Ô,Ñ-Ô-µ¸"¸¸±´Ò>Ð>Ð>Ð>ÝÔ�D ! R¨ ¨aÑ0Ô0Ñ1Ô1Ý��R�C�˜1˜r˜c˜(Ð#Ñ$Ô$ò%ð %ð %ð %åÔ�D ! R¨¨R °!Ñ4Ô4Ñ5Ô5Ý��A˜�s�˜a  R C˜[¨1¨a°"°¨+Ð6Ñ7Ô7ò8ð 8ð 8ð 8ð 8ð 8rJ   c            	      óž  — t          d¦  «        \  } }}t          | ||g¦  «        }|                     t          | ||gg d¢¦  «        ¦  «        }|t          dgdgdgg¦  «        k    sJ ‚t          | | | | | g| | | | | g| | | | | gg¦  «        }|                     t          | gdg¦  «        ¦  «        }|t          g d¢g d¢g d¢g¦  «        k    sJ ‚d S )Nzx, y zr•   rA   rB   rC   )rA   rA   rA   rA   rA   )r   r$   r¾  Úzip)r3   r4   r5   r  r  s        rH   Útest_issue_10589ru  Å  só   € Ý�hÑÔ�G€A€qˆ!Ý	��A�q�	Ñ	Ô	€BØ	�Š•�a˜˜A�Y 	 	 	Ñ*Ô*Ñ	+Ô	+€BØ•˜!˜˜q˜c A 3˜Ñ(Ô(Ò(Ð(Ð(Ð(å	�!�Q˜˜1˜a� 1 a¨¨A¨q /°A°q¸!¸QÀ°?ÐCÑ	DÔ	D€BØ	�Š•�a�S˜1˜#‘”Ñ	Ô	€BØ•˜˜˜¨/¨/¨/¸?¸?¸?ÐKÑLÔLÒLÐLÐLÐLÐLÐLrJ   c                  óÔ   —  G d„ dt           ¦  «        } t          ddg d¢¦  «        } | ddg d¢¦  «        }||z  }t          || ¦  «        sJ ‚|t          ddgddgg¦  «        k    sJ ‚d S )	Nc                   ó"   — e Zd Zej        dz   ZdS )útest_rmul_pr19860.<locals>.Foog{®Gáz„?N)rX   rY   rZ   r,   Ú_op_priorityrE   rJ   rH   ÚFoorx  Ð  s   € € € € € Ø)Ô6¸Ñ=ˆˆˆrJ   rz  rB   r@   rÁ   r  rì  r  )r.   r$   rN   )rz  r©   rª   r«   s       rH   Útest_rmul_pr19860r{  Ï  s¨   € ð>ð >ð >ð >ð >Õ"ñ >ô >ð >õ 	ˆq�!�\�\�\Ñ"Ô"€AØˆˆAˆq�,�,�,ÑÔ€Að 	
ˆ!‰€Aå�a˜ÑÔÐÐÐØ•˜˜B˜ " b Ð*Ñ+Ô+Ò+Ð+Ð+Ð+Ð+Ð+rJ   c                  óÂ   ‡ ‡— t          ddgddgg¦  «        Š t          ddgddgg¦  «        Št          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         d S )NrA   rB   rC   rD   c                  ó   •— ‰‰ z   S r^   rE   ©rÝ   rÞ   s   €€rH   rd   z"test_issue_18956.<locals>.<lambda>á  ó   ø€ ˜a !™e€ rJ   c                  ó   •— ‰ ‰z   S r^   rE   r~  s   €€rH   rd   z"test_issue_18956.<locals>.<lambda>â  r  rJ   )ÚArrayr$   r   rí  r~  s   @@rH   Útest_issue_18956r‚  Þ  sm   øø€ Ý��1ˆv˜˜1�vÐÑÔ€AÝ��1��q˜�eˆ}ÑÔ€AÝ
�9�m�m�m�m�mÑ$Ô$Ð$Ý
�9�m�m�m�m�mÑ$Ô$Ð$Ð$Ð$rJ   c                  ó®   —  G d„ dt           ¦  «        } t          ddddg¦  «        }| | ¦   «         k    sJ ‚ G d„ d| ¦  «        }| |¦   «         k    sJ ‚d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )útest__eq__.<locals>.Myc              3   ó   K  — dV — dV — d S rX  rE   ©Úselfs    rH   Ú__iter__ztest__eq__.<locals>.My.__iter__ç  s   è è € ØˆGˆGˆGØˆGˆGˆGØˆFrJ   c                 ó,   — t          | ¦  «        |         S r^   )r˜   )rˆ  rb   s     rH   Ú__getitem__z"test__eq__.<locals>.My.__getitem__ë  s   € Ý˜‘:”:˜a”=Ð rJ   N)rX   rY   rZ   r‰  r‹  rE   rJ   rH   ÚMyr…  æ  s2   € € € € € ð	ð 	ð 	ð	!ð 	!ð 	!ð 	!ð 	!rJ   rŒ  rB   rA   c                   ó   — e Zd Zd„ ZdS )útest__eq__.<locals>.My_sympyc                 ó    — t          | ¦  «        S r^   r  r‡  s    rH   Ú_sympy_z$test__eq__.<locals>.My_sympy._sympy_ð  s   € Ý˜$‘<”<ÐrJ   N)rX   rY   rZ   r�  rE   rJ   rH   ÚMy_sympyrŽ  ï  s#   € € € € € ð	 ð 	 ð 	 ð 	 ð 	 rJ   r‘  )Úobjectr$   )rŒ  r©   r‘  s      rH   Ú
test__eq__r“  å  s™   € ð!ð !ð !ð !ð !�Vñ !ô !ð !õ 	ˆq�!�a˜�VÑÔ€AØ��‘”Š9ˆ9ˆ9ˆ9ð ð  ð  ð  ð  �2ñ  ô  ð  ð ��‘
”
Š?ˆ?ˆ?ˆ?ˆ?ˆ?rJ   )¨Úsympy.testing.pytestr   r   r   Úsympy.assumptionsr   Úsympy.core.exprr   Úsympy.core.addr   Úsympy.core.functionr	   Úsympy.core.kindr
   r   Úsympy.core.numbersr   r   r   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.matrices.exceptionsr   r   Úsympy.matrices.kindr   rK   r   r   r   r   r    r!   r"   rL   r#   Úsympy.matricesr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úsympy.polys.polytoolsr0   Úsympy.utilities.iterablesr1   Ú#sympy.tensor.array.dense_ndim_arrayr2   r�  Ú	sympy.abcr3   r4   r5   rT   rV   rh   rl   rn   rs   rx   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/  r3  r>  rE  rI  rL  rP  rS  rV  rZ  r\  r`  rd  rj  rs  rx  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*  r9  rG  rL  rQ  rT  r^  ra  rh  rr  ru  r{  r‚  r“  rE   rJ   rH   ú<module>r¨     sœ  ðð GÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fà Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø "Ð "Ð "Ð "Ð "Ð "Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ *Ð *Ð *Ð *Ð *Ð *ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 3Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &Ø -Ð -Ð -Ð -Ð -Ð -Ø PÐ PÐ PÐ PÐ PÐ Pà Ð Ð Ð Ð Ð Ð Ð Ð Ð ð:1ð :1ð :1ðB ÐÑÔð ð ðð ð ð ð ˜N¨O¸]ñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
=ð =ð =ð3ð 3ð 3ð ÐÑÔð ð ðð ð ð ð ˜~¨Ð@Pñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
@ð @ð @ð6ð 6ð 6ð ÐÑÔð ð ðð ð ð ð ˜~¨Ð@Pñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
@ð @ð @ð6ð 6ð 6ð ÐÑÔð ð ðð ð ð ð ˜~¨Ð@Pñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
@ð @ð @ð6ð 6ð 6ð ÐÑÔð ð ðð ð ð ð ˜N¨O¸]ñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 ÐÑÔð ð ðð ð ð ð ˜^¨_¸nñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
?ð ?ð ?ð&Pð Pð Pð!ð !ð !ð5ð 5ð 5ðð ð ðð ð ð
Mð Mð Mð&ð &ð &ð,ð ,ð ,ð ð ð ð
Pð Pð Pð/ð /ð /ð"ð "ð "ðð ð ðNð Nð Nð.ð .ð .ð 4ð 4ð 4ð'ð 'ð 'ð*'ð 'ð 'ð,"ð "ð "ð@ð @ð @ðð ð ð*ð *ð *ð3ð 3ð 3ð@#ð #ð #ð=ð =ð =ð$ð $ð $ð"ð ð ðð ð ðð ð ð ð  ð  ð
%ð 
%ð 
%ðJð Jð Jðð ð ð0ð 0ð 0ð(ð (ð (ðð ð ð$ð $ð $ð$'ð 'ð 'ð9ð 9ð 9ð
'ð 
'ð 
'ð
:ð 
:ð 
:ðð ð ðð ð ðOð Oð Oð9ð 9ð 9ð$	'ð 	'ð 	'ðð ð ð&ð &ð &ð">ð ">ð ">ðHð ð ðBð ð ðBFð Fð Fð
&ð &ð &ðPð Pð Pðfð ð ð21ð 1ð 1ð Fð Fð Fð6ð 6ð 6ð
7ð 7ð 7ð
?ð ?ð ?ð
@ð @ð @ðAð Að AðBð Bð BðLð Lð Lð^0ð 0ð 0ð(;ð ;ð ;ð>Lð Lð Lð,4ð 4ð 4ðD ð-ð -ñ „ð-ð9ð 9ð 9ð.ð .ð .ð">ð >ð >ð#ð #ð #ð8ð 8ð 8ðMð Mð Mð,ð ,ð ,ð%ð %ð %ðð ð ð ð sl   ÃC)Ã)C-Ã0C-ÄD!Ä!D%Ä(D%Ä<EÅEÅ EÅ4FÆFÆFÆ,G	Ç	GÇGÇG;Ç;G?ÈG?