Ë
    7^(h|} ã                   ó2	  — d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlm Z m!Z! d dl"m#Z#m$Z$m%Z% d dl&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZC d dlDmEZE d dlFmGZG d dlHmIZI d dlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZb d dlHmcZc d dldmeZemfZf d dlgmhZh d dlimjZjmkZkmlZl d d lmmnZn d d!lompZpmqZqmrZrmsZsmtZtmuZu d d"lvmwZw d d#lxmyZy d d$lzm{Z{ d d%l|m}Z} d d&l~mZ d d'l€m�Z� d d(l‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠ eNeOeLeMfZ‹d d)lŒm�Z�mŽZŽ d d*l�m�Z�m‘Z‘  eu«       5   G d+„ d,e�eŽe�«      Z’ddd«        eu«       5   G d-„ d.e�eŽe‘«      Z“ddd«       d/„ Z”d0„ Z•d1„ Z–d2„ Z—d3„ Z˜d4„ Z™d5„ Zšd6„ Z›d7„ Zœd8„ Z�d9„ Zžd:„ 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¶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Ö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åd�„ Zæd‚„ Zçdƒ„ Zèd„„ Zéd…„ Zêd†„ Zëd‡„ Zìdˆ„ Zíd‰„ ZîdŠ„ Zïd‹„ ZðdŒ„ Zñd�„ ZòdŽ„ Zód�„ Zôd�„ Zõd‘„ Zöd’„ Z÷d“„ Zød”„ Zùd•„ Zúd–„ Zûd—„ Züd˜„ Zýd™„ Zþdš„ Zÿd›„ �Z dœ„ �Zd�„ �Zdž„ �ZdŸ„ �Zd „ �Zd¡„ �Zd¢„ �Zd£„ �Zd¤„ �Z	d¥„ �Z
d¦„ �Zd§„ �Zd¨„ �Zd©„ �Zdª„ �Zd«„ �Zd¬„ �Zd­„ �Zd®„ �Zd¯„ �Zd°„ �Zd±„ �Zd²„ �Zd³„ �Zd´„ �Zdµ„ �Zd¶„ �Zd·„ �Zd¸„ �Zd¹„ �Zdº„ �Zd»„ �Z d¼„ �Z!d½„ �Z"d¾„ �Z#d¿„ �Z$dÀ„ �Z%dÁ„ �Z&dÂ„ �Z'dÃ„ �Z(dÄ„ �Z)eqdÅ„ «       �Z*dÆ„ �Z+dÇ„ �Z,dÈ„ �Z-dÉ„ �Z.dÊ„ �Z/dË„ �Z0erdÌ„ «       �Z1dÍ„ �Z2dÎ„ �Z3dÏ„ �Z4dÐ„ �Z5dÑ„ �Z6dÒ„ �Z7dÓ„ �Z8dÔ„ �Z9dÕ„ �Z:dÖ„ �Z;d×„ �Z<dØ„ �Z=dÙ„ �Z>dÚ„ �Z?dÛ„ �Z@dÜ„ �ZAdÝ„ �ZBdÞ„ �ZCdß„ �ZDdà„ �ZEdá„ �ZFdâ„ �ZGdã„ �ZHdä„ �ZIdå„ �ZJ etdæ«      dç„ «       �ZKdè„ �ZLdé„ �ZMdê„ �ZNdë„ �ZOdì„ �ZPdí„ �ZQdî„ �ZRdï„ �ZSdð„ �ZTdñ„ �ZUdò„ �ZVdó„ �ZWdô„ �ZXdõ„ �ZYdö„ �ZZy# 1 sw Y   �ŒíxY w# 1 sw Y   �ŒÝxY w)÷é    N)ÚHashable)ÚAdd)ÚFunctionÚdiffÚexpand)ÚEÚFloatÚIÚIntegerÚRationalÚnanÚooÚpi)ÚPow)ÚS)ÚSymbolÚsymbols)Úsympify)ÚAbs)ÚexpÚlog)ÚMaxÚMinÚsqrt)ÚcosÚsinÚtan)Ú	integrate)Ú	transpose)ÚHermitianOperatorÚOperatorÚDagger)ÚPolyÚPurePoly)ÚRootOf)Ússtr)Ú	FiniteSet)ÚsignsimpÚsimplify)Útrigsimp)Ú
ShapeErrorÚMatrixErrorÚNonSquareMatrixError©ÚDeferredVector)Ú_find_reasonable_pivot_naive)Ú	_simplify)ÚGramSchmidtÚImmutableMatrixÚImmutableSparseMatrixÚMatrixÚSparseMatrixÚ
casoratianÚdiagÚeyeÚhessianÚmatrix_multiply_elementwiseÚonesÚ
randMatrixÚ	rot_axis1Ú	rot_axis2Ú	rot_axis3Ú	wronskianÚzerosÚMutableDenseMatrixÚImmutableDenseMatrixÚMatrixSymbolÚdotprodsimpÚrot_ccw_axis1Úrot_ccw_axis2Úrot_ccw_axis3)Ú_dotprodsimp_state)ÚTupleÚWild)ÚKroneckerDelta)ÚflattenÚcaptureÚiterable)Úignore_warnings)ÚraisesÚXFAILÚslowÚskipÚskip_under_pyodideÚwarns_deprecated_sympy©ÚQ)ÚArray)ÚArrayDerivative)ÚMatPow)Ú
Quaternion)ÚO)ÚaÚbÚcÚdÚxÚyÚzÚt)Ú_MinimalMatrixÚ_CastableMatrix)ÚMatrixSubspacesÚMatrixReductionsc                   ó   — e Zd Zy)ÚSubspaceOnlyMatrixN©Ú__name__Ú
__module__Ú__qualname__© ó    ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_matrices.pyrl   rl   G   ó   „ Ørr   rl   c                   ó   — e Zd Zy)ÚReductionsOnlyMatrixNrm   rq   rr   rs   rv   rv   L   rt   rr   rv   c                 ó   — t        | | d„ «      S )Nc                 ó   — t        | |k(  «      S ©N)Úint©ÚiÚjs     rs   ú<lambda>z eye_Reductions.<locals>.<lambda>Q   s   € ´3°q¸A±v³;€ rr   ©rv   ©Úns    rs   Úeye_Reductionsr‚   P   s   € Ü  1Ñ&>Ó?Ð?rr   c                 ó   — t        | | d„ «      S )Nc                  ó   — y©Nr   rq   r{   s     rs   r~   z"zeros_Reductions.<locals>.<lambda>U   ó   � rr   r   r€   s    rs   Úzeros_Reductionsr‡   T   s   € Ü  1¡nÓ5Ð5rr   c                  ó  — t        t        «      D ]ï  \  } }|j                  dd«      }|j                  dk(  rt	        d„ |j                  D «       «      sJ ‚|j
                  dk(  rt        |j
                  «      t        u sJ ‚|j                  dk(  rt        |j                  «      t        u sJ ‚| dz  s-t        |j                  «       «      t        t        t        fv rŒÍJ ‚t        |j                  «       «      t        u rŒïJ ‚ y )Né   é   )r‰   rŠ   c              3   ó>   K  — | ]  }t        |«      t        u –— Œ y ­wry   )Útyperz   )Ú.0r|   s     rs   ú	<genexpr>ztest_args.<locals>.<genexpr>\   s   è ø€ Ò(I¸A¬¨a«´C¬Ñ(Iùs   ‚)Ú	enumerateÚclassesrB   ÚshapeÚallÚrowsrŒ   rz   ÚcolsÚflatÚlistÚtuplerK   ÚtodokÚdict)r�   ÚclsÚms      rs   Ú	test_argsrœ   X   sÊ   € ÜœGÓ$ò 	+‰ˆˆ3Ø�I‰I�a˜‹Oˆà�w‰w˜&Ò ¤SÑ(IÀÇÁÔ(IÔ%IÐIÐIØ�v‰v˜Š{œt A§F¡F›|¬sÑ2Ð2Ð2Ø�v‰v˜Š{œt A§F¡F›|¬sÑ2Ð2Ð2Ø�1ŠuÜ˜Ÿ™›“>¤d¬E´5Ð%9Ò9Ð9Ð9ä˜Ÿ™›	“?¤dÒ*Ð*Ð*ñ	+rr   c                  ó�  — t         t        fD ]H  } | j                  dd«      }t        «       5  |j                  }d d d «       |j                  «       k(  rŒHJ ‚ t        t        fD ]H  } | j                  dd«      }t        «       5  |j                  }d d d «       |j                  «       k(  rŒHJ ‚ y # 1 sw Y   ŒxxY w# 1 sw Y   Œ-xY w©Nr‰   rŠ   )
r5   r3   rB   rW   Ú_matr•   r6   r4   Ú_smatr˜   )rš   r›   ÚmatÚsmats       rs   Útest_deprecated_mat_smatr£   e   s¹   € Ü”Ð&ò ˆØ�I‰I�a˜‹OˆÜ#Ó%ñ 	Ø—&‘&ˆC÷	à�a—f‘f“h‹Ðˆð	ô
 Ô2Ð2ò !ˆØ�I‰I�a˜‹OˆÜ#Ó%ñ 	Ø—7‘7ˆD÷	à�q—w‘w“yÓ Ð Ð ñ	!÷	ð 	ú÷
	ð 	ús   ¬B0ÂB<Â0B9	Â<C	c                  ó”   — t        ddt        t        g«      } | t        z  t        ddt        t        z  t        t        z  g«      k(  sJ ‚y ©Né   rŠ   )r5   rc   rd   re   )Úvs    rs   Útest_divisionr¨   r   s;   € Üˆq�!”aœ�VÓ€AØŒQ‰3”&˜˜A¤¤!¡¤Q¤q¡S˜zÓ*Ò*Ð*Ñ*rr   c            	      óF  ‡ ‡— 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„«       y )	N©r¦   rŠ   r‰   rŠ   iÎÿÿÿ)rŠ   é   é   r«   iœÿÿÿr¦   c                  ó   •— ‰ ‰z   S ry   rq   ©r›   r�   s   €€rs   r~   ztest_sum.<locals>.<lambda>{   s   ø€ ˜q 1™u€ rr   )r5   rc   rd   re   rR   r+   r®   s   @@rs   Útest_sumr¯   w   s‡   ù€ Ü’	œAœq¤!˜9 q¬¡s¨C´´1± oÐ6Ó7€AØˆq‰5”FšI¨¬!©¨Q¬q©S°!´A±# ¸¼1¹¸dÀAÄaÁCÌÁEÐ8JÐKÓLÒLÐLÐLÜˆq�!�a˜�VÓ€AÜ
Œ:”}Õ%rr   c                  ó‚   — t        dddt        g«      } t        dddt        t        «      g«      }t        | «      |k(  sJ ‚y )Nr¦   rŠ   éýÿÿÿr‰   )r5   rc   r   Úabsr®   s     rs   Útest_absr³   }   s:   € Üˆq�!�bœ!�WÓ€AÜˆq�!�aœœQ›�[Ó!€AÜˆq‹6�QŠ;Ð‰;rr   c                  ó”   — t        d«      } t        d«      }| |z    | j                  |«      cxk(  rt        ddgddgg«      k(  sJ ‚ J ‚y )N)©r¦   rŠ   ©r‰   r¦   ©rµ   )r‰   r   rŠ   r«   r¬   r¦   )r5   Úadd©r_   r`   s     rs   Útest_additionrº   ‚   s]   € Üð ó 	€Aô
 	ð ó 	€Að
 ˆq‰5�E�A—E‘E˜!“HÔ8¤¨¨A¨°°A°Ð'7Ó 8Ò8Ð8Ñ8Ð8Ñ8rr   c            
      óª  — t         t        fD �]›  }  | ddt        d«      «      }||d d …d d …f   k(  sJ ‚|dd d …f   t        ddg d¢«      k(  sJ ‚|d d …df   t        g d¢«      k(  sJ ‚|ddgd d …f   t        g d¢g d¢g«      k(  sJ ‚|ddgdf   |ddgdgf   k(  sJ ‚|dddgf   |dgddgf   k(  sJ ‚|d d …ddgf   t        ddgdd	gd
dgg«      k(  sJ ‚|d   dk(  sJ ‚|dd…d d …f   t        g d¢g d¢g«      k(  sJ ‚|d d …dd…f   t        ddgdd	gd
dgg«      k(  sJ ‚|d d d…df   |ddgdf   k(  sJ ‚|dd d d…f   |dddgf   k(  sJ ‚ | ddt        d«      «      }|g d¢d d …f   t        g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚|d d …g d¢f   t        g d¢g d¢g d¢g«      k(  r�ŒœJ ‚ t        j                  d«      }d|d<   d|d<   d	|d<    |j                  ddgdg«      t        dgdgg«      k(  sJ ‚ |j                  ddgg d¢«      t        g d¢g d¢g«      k(  sJ ‚ |j                  g d¢g d¢«      t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nr‰   é	   r¦   ©r‰   r«   é   )r¦   r«   é   r   ©r   r¦   rŠ   rŠ   r«   r¬   r¿   ©r   r   )r   rŠ   r¦   rŠ   r¦   )r¬   r¿   é   )r‰   r¾   r«   r¾   r«   )r¬   rÂ   r¿   rÂ   r¿   rµ   ©r   r¦   ©rŠ   r   )rŠ   rŠ   rŠ   ©r   r   r   )r¦   r   r¦   rŠ   )rŠ   r   r¦   r   ©rŠ   r   r   r   )r   r   r‰   r   )r   r«   r   r«   )r5   r6   ÚrangerB   Úextract)ÚMr_   s     rs   Útest_fancy_index_matrixrÊ   �   s!  € Ü”lÐ#ó ˆÙˆa�”E˜!“HÓˆØ�A’aš�d‘GŠ|Ðˆ|Ø�’A�‰wœ&  A¢yÓ1Ò1Ð1Ð1Ø’�A�‰wœ&¢Ó+Ò+Ð+Ð+Ø�!�Q�š�‰|œv¢y²)Ð&<Ó=Ò=Ð=Ð=Ø�!�Q�˜�‰|˜q ! Q ¨!¨ ™~Ò-Ð-Ð-Ø��Q˜�F�‰|˜q !  q¨! f ™~Ò-Ð-Ð-Ø’�Q˜�F�‰|œv¨¨1 v°°1¨v¸¸1°vÐ&>Ó?Ò?Ð?Ð?Ø�‰w˜!Š|Ðˆ|Ø��1�’a�‰yœF¢IªyÐ#9Ó:Ò:Ð:Ð:Ø’�A�a�C�‰yœF Q¨ F¨Q°¨F°Q¸°FÐ#;Ó<Ò<Ð<Ð<Ø‘�1��a�‰y˜A˜q !˜f a˜i™LÒ(Ð(Ð(Ø�‘C�a�C�‰y˜A˜a ! Q ˜i™LÒ(Ð(Ð(Ùˆa�”E˜!“HÓˆØ’¢!Ð#Ñ$¬ÚÚÚÚÚð0ó )ò ð 	ð ð ’’K�Ñ ¤FÚÚÚð,ó %ô ð 	ð ð+ô4 	×Ñ˜1Ó€AØ€A€d�GØ€A€d�GØ€A€d�GØˆ1�9‰9�a˜�V˜a˜SÓ!¤VØ€CØ€Cð-	ó &
ò 
ð 
ð 
ð ˆ1�9‰9�a˜�VšYÓ'¬6ÚÚð3ó ,ò ð ð ð ˆ1�9‰9’\¢<Ó0´FÚÚÚÚð	<ó 5ò ð ñ rr   c                  óH  ‡‡— t        d«      Št        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 ‚t        ‰| «      }| ‰j                  | «      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 ‚y # t        $ r Y �Œow xY w# t        $ r Y y w xY w)N)rµ   r¶   ©r   r¬   r·   rÁ   r¿   rÃ   rŠ   ©r¦   r   r¬   ©r¦   r¦   rÄ   é   ©rŠ   r¦   r   z	c = a @ br«   c                  ó   •— t        ‰ ‰«      S ry   )r;   r¹   s   €€rs   r~   z%test_multiplication.<locals>.<lambda>ä   s   ø€ Ô:¸1¸aÓ@€ rr   rc   r‰   r¾   é
   é   z	c = 5 @ b)
r5   ÚevalÚSyntaxErrorr;   Úmultiply_elementwiserR   r+   r   Ú
isinstancerc   )ra   ÚhÚc2r_   r`   s      @@rs   Útest_multiplicationrÚ   ¼   sê  ù€ Üð ó 	€Aô 	ð ó 	€Að
 	
ˆ!‰€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˜!Š|Ðˆ|ä# A qÓ)€AØÐ&�×&Ñ& qÓ)Ò)Ð)Ð)ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�bŠ=Ðˆ=ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<Ü
Œ:Ô@ÔAà	ŒF�3‹K‰€AÜ�aœÔ Ð Ð ØˆT‰7”aŠ<Ðˆ<ØˆT‰7�aœ‘cŠ>Ðˆ>ØˆT‰7�aœ‘cŠ>Ðˆ>ØˆT‰7�aŠ<Ðˆ<ä	
ˆQ‰€BØ�Š7€Nˆ7à	ˆA‰€AÜ�aœÔ Ð Ð ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�cŠ>Ðˆ>ØˆT‰7�cŠ>Ðˆ>ØˆT‰7�aŠ<Ðˆ<ð	Üˆ[Ôô ˜!œVÔ$Ð$Ð$Ø�‰w˜!Š|Ðˆ|Ø�‰w˜#Š~Ðˆ~Ø�‰w˜#Š~Ðˆ~Ø�‰w˜!Š|Ð‰|øô] ò ÚðûôN ò Ùðús$   ÁH Æ?H È	HÈHÈ	H!È H!c                  óÖ  ‡‡— t        t        dgdt        gg«      } | dz  | k(  sJ ‚t        t        t        gddgg«      } | dz  t        t        t        gt        t        gg«      k(  sJ ‚t        dddt        d«       dz  gg d¢g d¢t        d«       dz  dddgg«      Št        t        t
        dz  z  dt        t        z  t
        dz  z  dz  t        t        z  t
        dz  z  dz  z   t        t
        dz  «      z   t        t
        dz  z  dz  t        t        dz  z  t
        d	z  z  d
z  z   t        t        z  t        z  t
        d	z  z  dz  z   t        t        dz  z  t
        d	z  z  d
z  z   t        t
        dz  «      z   gdt        t
        dz  z  dz  t        t
        d	z  «      t        t
        dz  «      gt        t        z  t
        dz  z  dz  t        t        z  t
        dz  z  dz  z   t        t
        dz  «      z   t        t
        d	z  «      t        t        dz  z  t
        d	z  z  d
z  t        t        z  t        z  t
        d	z  z  dz  z   t        t        dz  z  t
        d	z  z  d
z  z   t        t
        dz  «      z   t        t        z  t
        d	z  z  dz  t        t        z  t
        d	z  z  dz  z   t        t
        dz  «      z   gt        t
        dz  z  dz  t        t        dz  z  t
        d	z  z  d
z  z   t        t        z  t        z  t
        d	z  z  dz  z   t        t        dz  z  t
        d	z  z  d
z  z   t        t
        dz  «      z   t        t
        dz  «      t        t        z  t
        d	z  z  dz  t        t        z  t
        d	z  z  dz  z   t        t
        dz  «      z   t        t
        d	z  z  dz  dt        z  t        dz  z  t
        dz  z  dz  z   t        t        z  t        z  t
        dz  z  d
z  z   dt        z  t        dz  z  t
        dz  z  dz  z   t        t
        dz  «      z   gg«      Št        t         t
        dz  z  dz  t        t        dz  z  t
        d	z  z  dz  z
  t        t        z  t        z  t
        d	z  z  dz  z
  t        t        dz  z  t
        d	z  z  dz  z
  t        t
        dz  «      z   t        t
        dz  «      t         t        z  t
        d	z  z  dz  t        t        z  t
        d	z  z  dz  z
  t        t
        dz  «      z   t         t
        d	z  z  d	z  dt        z  t        dz  z  t
        dz  z  dz  z
  t        t        z  t        z  t
        dz  z  dz  z
  dt        z  t        dz  z  t
        dz  z  dz  z
  t        t
        dz  «      z   gdt        t
        dz  z  dz  t        t
        d	z  «      t        t
        dz  «      gt        t        z  t
        dz  z  dz  t        t        z  t
        dz  z  dz  z   t        t
        dz  «      z   t        t
        d	z  «      t        t        dz  z  t
        d	z  z  d
z  t        t        z  t        z  t
        d	z  z  dz  z   t        t        dz  z  t
        d	z  z  d
z  z   t        t
        dz  «      z   t        t        z  t
        d	z  z  dz  t        t        z  t
        d	z  z  dz  z   t        t
        dz  «      z   gt         t
        dz  z  dz  dt         t        z  t
        dz  z  dz  t        t        z  t
        dz  z  dz  z
  t        t
        dz  «      z   t         t
        dz  z  dz  t        t        dz  z  t
        d	z  z  dz  z
  t        t        z  t        z  t
        d	z  z  dz  z
  t        t        dz  z  t
        d	z  z  dz  z
  t        t
        dz  «      z   gg«      }t        ddˆˆfd„«      }‰‰z  |cxk(  r|k(  sJ ‚ J ‚y )Nr   rŠ   r¦   ©r   r¦   r   r   ©r   r   r¦   r   r«   rÂ   r¾   r¬   é    é0   r¿   é   r‰   é@   r¼   é`   é   é€   é   c                 óB   •‡ ‡— t        ˆˆˆ ˆfd„t        d«      D «       Ž S )Nc              3   ó<   •K  — | ]  }‰‰|f   ‰|‰f   z  –— Œ y ­wry   rq   )r�   ÚkÚAÚBr|   r}   s     €€€€rs   rŽ   zAtest_multiplication_inf_zero.<locals>.<lambda>.<locals>.<genexpr>  s%   øè ø€ Ò(I¸1¨¨1¨Q¨3©°°!°A°#±­Ñ(Iùs   ƒr«   )r   rÇ   )r|   r}   ré   rê   s   ``€€rs   r~   z.test_multiplication_inf_zero.<locals>.<lambda>  s   ú€ ¤3Ö(IÄÀaÃÔ(IÐ#J€ rr   )	r5   r   r   r   r   rc   r`   r_   r^   )rÉ   ÚCÚC2ré   rê   s      @@rs   Útest_multiplication_inf_zerorí     s.  ù€ ä”�Q�˜!œR˜Ð!Ó"€AØ�‰6�QŠ;Ðˆ;ä””R�˜1˜a˜&Ð!Ó"€AØ�‰6”Vœc¤3˜Z¬#¬s¨Ð4Ó5Ò5Ð5Ð5äØ	
ˆAˆq”1�Q“4�%˜‘'ÐÚÚÜ
ˆA‹$ˆˆq‰�!�Q˜Ðð	ó 	€Aô 	Ü	ŒAˆq‰D‰�!”Rœ‘Tœ!˜Q™$‘Y˜q‘[¤2¤a¡4¬¨1©¡9¨Q¡;Ñ.´´1°a±4³Ñ8¼"¼QÀ¹T¹'À!¹)ÄbÌÈAÉÁgÌaÐQRÉdÁlÐSUÁoÑ:UÔXZÔ[\ÑX\Ô]^ÑX^Ô_`ÐbcÑ_cÑXcÐdfÑXfÑ:fÔikÔlmÐopÑlpÑipÔqrÐtuÑquÑiuÐvxÑixÑ:xÔ{|Ô}~ð  ABñ  ~Bó  |Cñ  ;Cð  	DØ	
ŒBŒq�!‰t‰G�A‰I”qœ˜A™“w¤¤! Q¡$£Ð(Ü	ŒA‰Œa�‰d‰�1‰”rœ!‘tœA˜q™D‘y ‘{Ñ	"¤Q¤q¨!¡t£WÑ	,¬a´°1±«g´r¼!¸Q¹$±w¼qÀ!¹t±|ÀB±ÌÌAÉÌaÉÔPQÐSTÑPTÉÐUWÉÑ7WÔZ\Ô]^Ð`aÑ]aÑZaÔbcÐefÑbfÑZfÐgiÑZiÑ7iÔlmÔnoÐqrÑnrÓlsÑ7sÔuwÔxyÑuyÔz{Ð}~Ñz~Ñu~ð  @Bñ  vBô  EGô  HIñ  EIô  JKð  MNñ  JNñ  ENð  OQñ  EQñ  vQô  TUô  VWð  YZñ  VZó  T[ñ  v[ð  	\Ü	ŒAˆq‰D‰�‰”Rœ˜1™‘WœQ ™T‘\ "‘_Ñ	$¤r¬!¡t¬A¡v¬a°©d¡{°2¡~Ñ	5¼¼1¸a¹4¹ÄÀ1Á¹ÀR¹Ñ	GÌ!ÌAÈqÉDË'Ñ	QÔSTÔUVÐXYÑUYÓSZÔ\^Ô_`Ñ\`ÔabÐdeÑaeÑ\eÐfhÑ\hÔkmÔnoÑkoÔpqÐstÑptÑktÐuwÑkwÑ\wÔz{Ô|}ð  @Añ  }Aó  {Bñ  ]Bô  DFô  GHð  JKñ  GKñ  DKð  LMñ  DMð  PQô  RTñ  PTô  UVð  XYñ  UYñ  PYô  Z[ð  ]^ñ  Z^ñ  P^ð  _añ  Pañ  Daô  dfô  ghñ  dhô  ijñ  djô  klð  noñ  koñ  doð  prñ  drñ  Drð  uvô  wyñ  uyô  z{ð  }~ñ  z~ñ  u~ô  @ð  BCñ  Cñ  uCð  DFñ  uFñ  DFô  IJô  KLð  NOñ  KOó  IPñ  DPð  	Qð	Ró 	S€Aô 	Ü€SŒˆA‰�Xˆa�Z”"”Q˜‘T‘'œ!˜Q™$‘,˜r‘/Ñ!¤B¤q¡D¬¡F¬1¨a©4¡K°¡NÑ2´R¼¸1¹±W¼QÀ¹T±\À"±_ÑDÄqÌÈAÉÃwÑNÔRSÔTUÐWXÑTXÓRYÔrtÐqtÔuvÑqvÔwxÐz{Ñw{Ñq{Ð|~Ñq~ô  BDô  EFñ  BFô  GHð  JKñ  GKñ  BKð  LNñ  BNñ  rNô  QRô  STð  VWñ  SWó  QXñ  rXô  []ð  Z]ô  ^_ð  abñ  ^bñ  Zbð  cdñ  Zdð  ghô  ikñ  gkô  lmð  opñ  lpñ  gpô  qrð  tuñ  quñ  guð  vyñ  gyñ  Zyô  |~ô  @ñ  |@ô  ABñ  |Bô  CDð  FGñ  CGñ  |Gð  HJñ  |Jñ  ZJð  MNô  OQñ  MQô  RSð  UVñ  RVñ  MVô  WXð  Z[ñ  W[ñ  M[ð  \_ñ  M_ñ  Z_ô  bcô  deð  ghñ  dhó  biñ  Zið  jØMNÔPRÔSTÐVWÑSWÑPWÐXYÑPYô  QRô  STð  VWñ  SWó  QXô  bcô  deð  ghñ  dhó  bið  jÜ+-¬a©4´°1±©9°Q©;¼¼A¹¼aÀ¹d¹À1¹Ñ+DÄqÌÈAÉÃwÑ+NÔRSÔTUÐWXÑTXÓRYÔ[]Ô^_ÐabÑ^bÑ[bÔcdÐfgÑcgÑ[gÐhjÑ[jÔmoÔpqÑmqÔrsÑmsÔtuÐwxÑtxÑmxÐy{Ñm{Ñ[{ô  Aô  BCð  EFñ  BFñ  Fô  GHð  JKñ  GKñ  Kð  LNñ  Nñ  \Nô  QRô  STð  VWñ  SWó  QXñ  \Xô  DFô  GHñ  DHô  IJð  LMñ  IMñ  DMð  NPñ  DPô  SUô  VWñ  SWô  XYð  [\ñ  X\ñ  S\ð  ]_ñ  S_ñ  D_ô  bcô  deð  ghñ  dhó  biñ  Dið  jÜEGÀCÌÈ1ÉÁHÈQÁJÐXYÔrtÐqtÔuvÑqvÔwxÐz{Ñw{Ñq{Ð|~Ñq~ô  BDô  EFñ  BFô  GHð  JKñ  GKñ  BKð  LNñ  BNñ  rNô  QRô  STð  VWñ  SWó  QXñ  rXô  acð  `cô  deð  ghñ  dhñ  `hð  ijñ  `jô  moô  pqð  stñ  ptñ  mtô  uvð  xyñ  uyñ  myð  z|ñ  m|ñ  `|ô  Aô  BCñ  Cô  DEñ  Eô  FGð  IJñ  FJñ  Jð  KMñ  Mñ  `Mô  PRô  STð  VWñ  SWñ  PWô  XYð  [\ñ  X\ñ  P\ð  ]_ñ  P_ñ  `_ô  bcô  deð  ghñ  dhó  biñ  `ið  jð	kó 	l€Aô 
��1ÔJÓ	K€BàˆQ‰3�!Œ>�rŠ>Ð‰>Ð‰>rr   c                  ó   ‡‡‡‡— t        t        d„ «       t        } t        ddgddgg«      Š‰dz  d d   | d«      dz   | d	«      dz   | d
«      dz   | d«      dz  gk(  sJ ‚‰dz  d d  g d¢k(  sJ ‚t        g d¢g d¢g d¢g«      Š‰dz  d d  g 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z  t	        d«      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«      Š‰t        j                  z  d d  g d¢k(  sJ ‚t        ddgddgg«      Š‰t        j                  z  dz  ‰k(  sJ ‚t        ddgddgg«      t        j                  z  t        ddgt        j                  dgg«      k(  sJ ‚t        ddgddgg«      d z  t        ddgd dgg«      k(  sJ ‚dd!lm	Š t        dt        gddgg«      ‰z  t        dt        ‰z  gddgg«      k(  sJ ‚t        t        t        gdt        gg«      ‰z  t        t        ‰z  t        t        ‰dz
  z  z  ‰z  gdt        ‰z  gg«      k(  sJ ‚t        t        ‰z  t        ‰dz
  z  ‰z  t        ‰z  ‰dz  z  t        ‰z  ‰z  z
  dt        dz  z  z  gdt        ‰z  t        ‰dz
  z  ‰z  gddt        ‰z  gg«      sJ ‚t        t        ddgdt        dgddt        gg«      ‰z  t        t        ‰z  t        ‰dz
  z  ‰z  dgdt        ‰z  dgddt        ‰z  gg«      k(  sJ ‚t        ddgddgg«      Š‰j                  t        d«      «      ‰j                  d«      k(  sJ ‚t        dgg«      Š‰dz  t        d"gg«      cxk(  r3‰j                  t        d«      «      cxk(  r‰j                  d«      k(  sJ ‚ J ‚t        g d#¢g d$¢g d%¢g d&¢g d'¢g«      Št        t        ˆfd(„«       t        t        d)„ «       t        g d*¢g d+¢g d,¢g«      Š‰d-z  t        g d,¢g d,¢g d,¢g«      k(  sJ ‚t        t        ˆfd.„«       t        t        ˆfd/„«       t        ddgddgg«      Š‰d-z  t        d0d1gd2d3gg«      k(  sJ ‚t        g d+¢g d+¢g d+¢g«      Š‰d-z  t        g d+¢g d+¢g d+¢g«      k(  sJ ‚t        g d*¢g d+¢g d+¢g«      Š‰d-z  t        g d+¢g d+¢g d+¢g«      k(  sJ ‚t!        d4d5¬6«      Št#        ‰‰z  t$        «      sJ ‚t!        d4d5d5¬7«      Št        t        ˆˆfd8„«       t!        d4d5d5¬9«      Š‰‰z  t        t'        d‰«      t'        d‰«      t'        d‰«       t'        d‰«      z
  dz   gdt'        d‰«      dt'        d‰«      z
  gg d+¢g«      k(  sJ ‚‰‰dz   z  t        g d+¢g d+¢g d+¢g«      k(  sJ ‚t        t        ˆfd:„«       t        g d+¢g d;¢g d<¢g«      Š‰d=z  t        g d>¢g d?¢g d@¢g«      k(  sJ ‚‰d=z  ‰dz  k(  sJ ‚t        g d*¢g dA¢g d,¢g«      Št!        d4«      Š‰‰z  Š‰j)                  ‰d«      j+                  «       ‰dz  k(  sJ ‚t        t        ˆˆfdB„«       ‰‰z  ‰d‰z  z  k(  sJ ‚t        g d,¢g d,¢g d,¢g«      Št!        d4d5d5¬C«      Š‰‰z  ‰k(  sJ ‚t!        d4d5d5¬9«      Š‰‰z  t-        d‰z  d‰z  d‰z  «      k(  sJ ‚‰‰z  j)                  ‰d«      t	        d«      k(  sJ ‚‰‰z  j)                  ‰d«      t/        d«      k(  sJ ‚t        g dD¢g dE¢g dF¢g«      Š‰dGz  t-        dHdHdH«      k(  sJ ‚‰t0        z  t-        dt0        z  dt0        z  dt0        z  «      k(  sJ ‚t        g d*¢g d+¢g d+¢g«      Št        t        ˆfdI„«       t        t        ˆfdJ„«       t        t        j                  t        j                  gt        j                  t        j                  gg«      Š‰t        j                  z  ‰k(  sJ ‚t        ddgddgg«      Š‰t        j                  z  t        t        j                  t        j                  gdt        j                  z  dt        j                  z  gg«      k(  sJ ‚y )KNc                  ó   — t        d«      dz  S ©Nrµ   rŠ   ©r5   rq   rr   rs   r~   ztest_power.<locals>.<lambda>#  s   € ¬°«¸Ñ):€ rr   rŠ   r‰   r«   r¾   r±   ióþÿÿrÂ   é™   é3   iãÿÿÿ)iü  i¡  i,*  i�7  )rŠ   r¦   r‰   )r«   rŠ   r«   )r¬   rà   r¦   )	i"  i  éû   iÀ  i¸  ip  i¾  iº  i±  r   r¦   éd   rÁ   i€–˜ r¿   rÒ   rÓ   é   é!   rã   rß   é9   )r¾   rŠ   r«   r¿   éÿÿÿÿg      à?r€   i   )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   c                  ó8   •— ‰ j                  t        d«      «      S ©NrÒ   )Ú_matrix_pow_by_jordan_blocksr   ©r›   s   €rs   r~   ztest_power.<locals>.<lambda>L  s   ø€  × >Ñ >¼qÀ»uÓ E€ rr   c                  óT   — t        ddgddgg«      j                  t        d«      «      S )Nr¦   r‰   éöÿÿÿ)r5   rü   r   rq   rr   rs   r~   ztest_power.<locals>.<lambda>O  s*   € ¤¨¨A¨°°A°Ð'7Ó 8× UÑ UÔVWÐX[ÓV\Ó ]€ rr   ©r   r¦   r   ©r   r   r¦   rÅ   ç      $@c                  ó   •— ‰ dz  S ©NçÍÌÌÌÌÌ @rq   ©ré   s   €rs   r~   ztest_power.<locals>.<lambda>R  ó   ø€ ˜q #™v€ rr   c                  ó"   •— ‰ t        dd«      z  S rž   ©r   r  s   €rs   r~   ztest_power.<locals>.<lambda>S  ó   ø€ ˜q¤(¨1¨a£.Ñ0€ rr   i«ÒòhiÒO<ivï´0i¿óˆr�   T)Úinteger)r  Únegativec                  ó   •— ‰ ‰z  S ry   rq   )ré   r�   s   €€rs   r~   ztest_power.<locals>.<lambda>]  s   ø€ ˜q !™t€ rr   )r  Únonnegativec                  ó"   •— ‰ t        dd«      z  S rž   r	  r  s   €rs   r~   ztest_power.<locals>.<lambda>d  r
  rr   )r‰   r   r¦   )r«   r‰   r¦   g      @)é¨   éH   éY   )i#  é�   é¡   )i<  i  iI  ©rù   r   r   c                  óD   •— ‰ j                  ‰d«      j                  «       S )Néþÿÿÿ)ÚsubsÚdoit)ÚAnr�   s   €€rs   r~   ztest_power.<locals>.<lambda>l  s   ø€ ˜rŸw™w q¨"›~×2Ñ2Ó4€ rr   )r  Úpositive©rŠ   r   r   )r   rŠ   r   ©r   r   rŠ   r  gd%îû%@c                  ó   •— ‰ dz  S r  rq   r  s   €rs   r~   ztest_power.<locals>.<lambda>{  r  rr   c                  ó   •— ‰ t         z  S ry   ©r
   r  s   €rs   r~   ztest_power.<locals>.<lambda>|  s   ø€ ˜q¤!™t€ rr   )rR   r-   r   r5   r9   r   r   ÚHalfÚ	sympy.abcr�   r_   r`   rü   Ú_eval_pow_by_recursionr,   Ú
ValueErrorr   r×   r\   rM   r  r  r8   rB   r
   )ÚRré   r  r›   r�   s    @@@@rs   Ú
test_powerr&  "  s±  û€ Ü
ÔÑ!:Ô;ä€AÜ��A�˜˜A˜ÐÓ €AØˆr‰E‘1ˆ:™!˜D›' !™)¡Q s£V¨A¡X©q°«u°Q©w¹¸#»¸q¹ÐAÒAÐAÐAØˆq‰D‘!ˆ9Ò2Ò2Ð2Ð2Ü’	š9¢jÐ1Ó2€AØˆq‰D‘!ˆ9ÒEÒEÐEÐEØˆa‰4”3�q“6Š>Ðˆ>Øˆa‰4�1Š9Ðˆ9Ü�Q�C�5‹M˜SÑ  $Ñ'¨1¨c©6Ò1Ð1Ð1Üˆq‹6�8Ñœs 1›vÒ%Ð%Ð%Ü�A�q�6˜A˜q˜6Ð"Ó#¤W¨Q£ZÑ/´6¸A¸r¸7ÀRÈÀHÐ:MÓ3NÒNÐNÐNä��R�˜2˜r˜(Ð#Ó$€AØŒq�v‰v‰I‘qˆ>š\Ò)Ð)Ð)Ü��A�˜˜Q˜Ð Ó!€AØŒq�v‰v‰I˜‰>˜QÒÐÐä�A�q�6˜A˜q˜6Ð"Ó#¤Q§V¡VÑ+¬v¸¸1°vÄÇÁÈ¸{Ð6KÓ/LÒLÐLÐLÜ�A�q�6˜A˜q˜6Ð"Ó# SÑ(¬F°Q¸°F¸SÀ!¸HÐ3EÓ,FÒFÐFÐFÝÜ�A”q�6˜A˜q˜6Ð"Ó# QÑ&¬&°1´a¸±c°(¸QÀ¸FÐ1CÓ*DÒDÐDÐDÜ”A”q�6˜Aœq˜6Ð"Ó# QÑ&¬&´1°a±4¼¼1¸qÀ¹s¹8¹ÀA¹Ð2FÈÌAÈqÉDÈ	Ð1RÓ*SÒSÐSÐSÜÜ	
ˆA‰Œq�1�q‘5‰z˜!‰|œa ™d 1 a¡4™i¬!¨Q©$¨q©&Ñ0°1´Q¸±T±6Ñ:Ð;Ø”q˜!‘t¬a°!°a±%©j¸©lÐ;Ø˜!´a¸±dÐ;ð=ô >ð >ð >ô ”A�q˜!�9˜q¤! Q˜i¨!¨Q´¨Ð3Ó4°aÑ7¼6Ü	
ˆA‰Œq�1�Q‘3‰x˜‰z˜1ÐØ	
ŒAˆq‰D�!ˆØ	
ˆAŒq�!‰tˆðCó <ò ð ð ô
 	��A�˜˜A˜ÐÓ €AØ×)Ñ)¬!¨A«$Ó/°1×3KÑ3KÈAÓ3NÒNÐNÐNÜ��ˆu‹€AØˆb‰5”F˜U˜G˜9Ó%ô %¨×)GÑ)GÌÈ"ËÓ)Nô %Ø	× Ñ  Ó$ò%ð %ñ %ð %ð %ô 	Ò Ò"3²_ÂoÒWfÐgÓh€AÜ
Œ;ÓEÔFô Œ;Ñ]Ô^Ü’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Ü
Œ:“~Ô&Ü
Œ:Ó0Ô1Ü��A�˜˜A˜ÐÓ €AØˆd‰7”f˜z¨9Ð5¸	À9Ð7MÐNÓOÒOÐOÐOÜ’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Ü’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Üˆs˜DÔ!€AÜ�a˜‘dœFÔ#Ð#Ð#Üˆs˜D¨4Ô0€AÜ
Œ:”|Ô$Üˆs˜D¨dÔ3€AØˆa‰4”6Ü	˜˜1Ó	œ~¨a°Ó3´nÀQÈÓ6JÐ5JÌ^Ð\]Ð_`ÓMaÑ5aÐdeÑ5eÐfØœ~¨a°Ó3ÈQÔQ_Ð`aÐcdÓQeÑMeÐfÚfðhó iò ið ið ið ˆq�1‰u‰:œ¢ªI²yÐ AÓBÒBÐBÐBÜ
Œ:Ó0Ô1Ü’	š9¢iÐ0Ó1€AØˆc‰6”Vš_ªoºÐOÓPÒPÐPÐPØˆc‰6�Q˜‘TŠ>Ðˆ>Ü’	š*¢YÐ/Ó0€AÜˆs‹€AØ	
ˆA‰€BØ�7‰7�1�a‹=×ÑÓ 1 a¡4Ò'Ð'Ð'Ü
Œ:Ô4Ô5Ø�‰7�a˜!˜A™#‘hÒÐÐô 	’š¢Ð(Ó)€AÜˆs˜D¨4Ô0€AØˆa‰4�1Š9Ðˆ9Üˆs˜D¨dÔ3€AØˆa‰4”4˜˜1™˜a ™d A q¡DÓ)Ò)Ð)Ð)Øˆq‰D�;‰;�q˜!Ó¤ A£Ò&Ð&Ð&Øˆq‰D�;‰;�q˜!Ó¤ a£Ò(Ð(Ð(Ü’š¢Ð)Ó*€AØˆc‰6”T˜6 6¨6Ó2Ò2Ð2Ð2ØŒa‰4”4˜œA™˜q¤!™t Q¬¡TÓ*Ò*Ð*Ð*Ü’	š9¢iÐ0Ó1€AÜ
Œ:“~Ô&Ü
Œ:“|Ô$Ü”—‘œŸ™Ð ¤1§6¡6¬1¯6©6Ð"2Ð3Ó4€AØŒa�f‰f‰9˜Š>Ðˆ>Ü��A�˜˜1�vˆÓ€AØŒa�f‰f‰9œ¤!§&¡&¬!¯&©&Ð!1°A´a·f±f±H¸aÄÇÁ¹hÐ3GÐ HÓIÒIÐIÑIrr   c            
      ó   — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | j                  «       j	                  «       t        t        dt        z  «      t        d«      z   dz  t        dt        z  «       t        d«      z   dz  gt        dt        z  «       t        d«      z   dz  t        dt        z  «      t        d«      z   dz  gg«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¦   TrŠ   )r5   rc   rF   r   r   ©rÉ   s    rs   Ú$test_issue_17247_expression_blowup_1r)  ƒ  sÝ   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ ?Ø�u‰u‹w�~‰~Ó¤6Ü�1”Q‘3‹xœ#˜a›&Ñ  !Ñ#¤s¨1¬Q©3£x i´#°a³&Ñ&8¸!Ñ%;Ð<Ü�1”Q‘3‹xˆiœ#˜a›&Ñ  !Ñ#¤s¨1¬Q©3£x´#°a³&Ñ'8¸!Ñ&;Ð<ð+>ó $?ò ?ð 	?ñ ?÷?÷ ?ñ ?ús   ¹B1C4Ã4C=c                  óö   — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | j                  «       \  }}||z  |j	                  «       z  sJ ‚	 d d d «       y # 1 sw Y   y xY w©Nr¦   T)r5   rc   rF   Újordan_formÚinv©rÉ   ÚPÚJs      rs   Ú$test_issue_17247_expression_blowup_2r1  Š  sl   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ Ø�}‰}Ó‰ˆˆ1Ø�‰s�1—5‘5“7Š{Ð‰{÷÷ ñ ús   ¹,A/Á/A8c            	      ó:  — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | dz  t        dt        dz  z  dz   ddt        dz  z  z
  gddt        dz  z  z
  dt        dz  z  dz   gg«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¦   Trõ   l                )r5   rc   rF   r(  s    rs   Ú$test_issue_17247_expression_blowup_3r3  �  sì   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ _Ø�#‰vœØ+¬A¨s©FÑ2Ð5SÑSÐUsð  wUô  VWð  Y\ñ  V\ñ  w\ñ  V\ð  ]Ø+Ð.LÌQÐPSÉVÑ.SÑSÐUsÔtuÐwzÑtzÑUzð  ~\ñ  V\ð  ]ð!^ó _ò _ð 	_ñ _÷_÷ _ñ _ús   ¹ABÂBc                  ó¦   — t        t        d«      «      } t        d«      5  | dz  t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na1  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128]]TrÒ   aŸ  [
            [     7369525394972778926719607798014571861/604462909807314587353088 - 229284202061790301477392339912557559*I/151115727451828646838272,   -19704281515163975949388435612632058035/1208925819614629174706176 + 14319858347987648723768698170712102887*I/302231454903657293676544,      -3623281909451783042932142262164941211/604462909807314587353088 - 6039240602494288615094338643452320495*I/604462909807314587353088,    109260497799140408739847239685705357695/2417851639229258349412352 - 7427566006564572463236368211555511431*I/2417851639229258349412352, -16095803767674394244695716092817006641/2417851639229258349412352 + 10336681897356760057393429626719177583*I/1208925819614629174706176,    -42207883340488041844332828574359769743/2417851639229258349412352 - 182332262671671273188016400290188468499*I/4835703278458516698824704],
            [50566491050825573392726324995779608259/1208925819614629174706176 - 90047007594468146222002432884052362145*I/2417851639229258349412352,  74273703462900000967697427843983822011/1208925819614629174706176 + 265947522682943571171988741842776095421*I/1208925819614629174706176, -116900341394390200556829767923360888429/2417851639229258349412352 - 53153263356679268823910621474478756845*I/2417851639229258349412352, 195407378023867871243426523048612490249/1208925819614629174706176 - 1242417915995360200584837585002906728929*I/9671406556917033397649408,   -863597594389821970177319682495878193/302231454903657293676544 + 476936100741548328800725360758734300481*I/9671406556917033397649408, -3154451590535653853562472176601754835575/19342813113834066795298816 - 232909875490506237386836489998407329215*I/2417851639229258349412352],
            [   -1715444997702484578716037230949868543/302231454903657293676544 + 5009695651321306866158517287924120777*I/302231454903657293676544,     -30551582497996879620371947949342101301/604462909807314587353088 - 7632518367986526187139161303331519629*I/151115727451828646838272,           312680739924495153190604170938220575/18889465931478580854784 - 108664334509328818765959789219208459*I/75557863725914323419136,    -14693696966703036206178521686918865509/604462909807314587353088 + 72345386220900843930147151999899692401*I/1208925819614629174706176,  -8218872496728882299722894680635296519/1208925819614629174706176 - 16776782833358893712645864791807664983*I/1208925819614629174706176,      143237839169380078671242929143670635137/2417851639229258349412352 + 2883817094806115974748882735218469447*I/2417851639229258349412352],
            [   3087979417831061365023111800749855987/151115727451828646838272 + 34441942370802869368851419102423997089*I/604462909807314587353088, -148309181940158040917731426845476175667/604462909807314587353088 - 263987151804109387844966835369350904919*I/9671406556917033397649408,   50259518594816377378747711930008883165/1208925819614629174706176 - 95713974916869240305450001443767979653*I/2417851639229258349412352,  153466447023875527996457943521467271119/2417851639229258349412352 + 517285524891117105834922278517084871349*I/2417851639229258349412352,  -29184653615412989036678939366291205575/604462909807314587353088 - 27551322282526322041080173287022121083*I/1208925819614629174706176,   196404220110085511863671393922447671649/1208925819614629174706176 - 1204712019400186021982272049902206202145*I/9671406556917033397649408],
            [     -2632581805949645784625606590600098779/151115727451828646838272 - 589957435912868015140272627522612771*I/37778931862957161709568,     26727850893953715274702844733506310247/302231454903657293676544 - 10825791956782128799168209600694020481*I/302231454903657293676544,      -1036348763702366164044671908440791295/151115727451828646838272 + 3188624571414467767868303105288107375*I/151115727451828646838272,     -36814959939970644875593411585393242449/604462909807314587353088 - 18457555789119782404850043842902832647*I/302231454903657293676544,      12454491297984637815063964572803058647/604462909807314587353088 - 340489532842249733975074349495329171*I/302231454903657293676544,      -19547211751145597258386735573258916681/604462909807314587353088 + 87299583775782199663414539883938008933*I/1208925819614629174706176],
            [  -40281994229560039213253423262678393183/604462909807314587353088 - 2939986850065527327299273003299736641*I/604462909807314587353088, 331940684638052085845743020267462794181/2417851639229258349412352 - 284574901963624403933361315517248458969*I/1208925819614629174706176,      6453843623051745485064693628073010961/302231454903657293676544 + 36062454107479732681350914931391590957*I/604462909807314587353088,  -147665869053634695632880753646441962067/604462909807314587353088 - 305987938660447291246597544085345123927*I/9671406556917033397649408,  107821369195275772166593879711259469423/2417851639229258349412352 - 11645185518211204108659001435013326687*I/302231454903657293676544,     64121228424717666402009446088588091619/1208925819614629174706176 + 265557133337095047883844369272389762133*I/1208925819614629174706176]])r5   r   rF   r(  s    rs   Ú$test_issue_17247_expression_blowup_4r5  —  so   € ô8 	Œqð Kó Ló 	M€Aô 
�TÓ	ñ JØ�"‰uœœqð "Hó  Ió Jò Jð 	Jñ J÷J÷ Jñ Jús    AÁAc                  ó  — t        ddd„ «      } t        d«      5  | j                  d«      t        t        dz  ddt
        z  z
  t        dz  z  z   dt
        z  t        dz  z  z   t        d	¬
«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   c                 ó&   — dd| |z   z  t         z  z   S ©Nr¦   rù   r   r{   s     rs   r~   z6test_issue_17247_expression_blowup_5.<locals>.<lambda>Ä  ó   €  ! r¨Q¨q©S¡k´!¡mÑ"3€ rr   Trc   éúÿÿÿr¾   é$   r«   ÚEX©Údomain)r5   rF   Úcharpolyr$   rc   r
   r(  s    rs   Ú$test_issue_17247_expression_blowup_5r@  Ã  s|   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ _Ø�z‰z˜#‹¤(¬1¨a©4°2¸¼!¹±8¼QÀ¹T±/Ñ+AÀBÄqÁDÌÈAÉÁIÑ+MÌqÐY]Ô"^Ò^Ð^Ñ^÷_÷ _ñ _ús   šAA=Á=Bc            	      óÒ   — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  d«      dk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)NrÂ   rá   TÚbareissr   ©r5   rÇ   rc   rF   Údet©r|   rÉ   s     rs   Ú$test_issue_17247_expression_blowup_6rF  È  sa   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ %Ø�u‰u�YÓ 1Ò$Ð$Ñ$÷%ð %ùò /÷%ð %úó   •A·AÁA&c                  óŽ   — t        ddd„ «      } t        d«      5  | j                  d«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   c                 ó&   — dd| |z   z  t         z  z   S r8  r   r{   s     rs   r~   z6test_issue_17247_expression_blowup_7.<locals>.<lambda>Î  r9  rr   TÚ	berkowitzr   )r5   rF   rD  r(  s    rs   Ú$test_issue_17247_expression_blowup_7rK  Í  sE   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ 'Ø�u‰u�[Ó! QÒ&Ð&Ñ&÷'÷ 'ñ 'ús	   š;»Ac            	      óÒ   — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  d«      dk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)NrÂ   rá   TÚlur   rC  rE  s     rs   Ú$test_issue_17247_expression_blowup_8rN  Ò  s`   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ  Ø�u‰u�T‹{˜aÒÐÑ÷ ð  ùò /÷ ð  úrG  c                  ó  — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  «       t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      dfk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)NrÂ   rá   T)r¦   r   rù   r  r±   éüÿÿÿéûÿÿÿr:  ©r   r¦   rŠ   r‰   r«   r¾   r¬   r¿   ©r   r   r   r   r   r   r   r   rÃ   )r5   rÇ   rc   rF   ÚrrefrE  s     rs   Ú$test_issue_17247_expression_blowup_9rU  ×  s�   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ 	6Ø�v‰v‹xœFÚ*Ú*Ú*Ú*Ú*Ú*Ú*Ú*ð$,ó -ð /5ð6ò 6ð 	6ñ 6÷	6ð 	6ùò /÷	6ð 	6ús   •A:·9A?Á?Bc                  ó�   — t        ddd„ «      } t        d«      5  | j                  dd«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   c                 ó&   — dd| |z   z  t         z  z   S r8  r   r{   s     rs   r~   z7test_issue_17247_expression_blowup_10.<locals>.<lambda>å  r9  rr   Tr   )r5   rF   Úcofactorr(  s    rs   Ú%test_issue_17247_expression_blowup_10rY  ä  sG   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ %Ø�z‰z˜!˜QÓ 1Ò$Ð$Ñ$÷%÷ %ñ %ús	   š<¼Ac                  óª   — t        ddd„ «      } t        d«      5  | j                  «       t        dddgdz  «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   c                 ó&   — dd| |z   z  t         z  z   S r8  r   r{   s     rs   r~   z7test_issue_17247_expression_blowup_11.<locals>.<lambda>ê  r9  rr   Tr   r;  )r5   rF   Úcofactor_matrixr(  s    rs   Ú%test_issue_17247_expression_blowup_11r]  é  sT   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ ;Ø× Ñ Ó"¤f¨Q°°A°3°r±6Ó&:Ò:Ð:Ñ:÷;÷ ;ñ ;ús   š%A	Á	Ac                  ó¦   — t        ddd„ «      } t        d«      5  | j                  «       dddt        z  dddik(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   c                 ó&   — dd| |z   z  t         z  z   S r8  r   r{   s     rs   r~   z7test_issue_17247_expression_blowup_12.<locals>.<lambda>ï  r9  rr   Tr¦   r   r«   )r5   rF   Ú	eigenvalsr
   r(  s    rs   Ú%test_issue_17247_expression_blowup_12ra  î  sS   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ 5Ø�{‰{‹}  A q¬¡s¨A¨q°!Ð 4Ò4Ð4Ñ4÷5÷ 5ñ 5ús   š#AÁAc            
      ó€  — t        ddt        z
  t        dz   dt        z
  gdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dt        z
  gdddt        z
  dgg«      } | j                  «       }|d   ddt        g d¢«      gfk(  sJ ‚|d   d   t        t        d«      t        dz
  z  z
  dz   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   d   j	                  dd¬«      t        t         t        d«      t        dz
  z  z   dz
  t        dz
  z  gdt        z  t        dz  dt        z  z
  dz   z  t        dz   t        t        d«      t        dz
  z  z
  dz   z  t        dz  dt        z  z
  dz   z  z   gt         t        d«      t        dz
  z  z   dz
  t        dz
  z  gdgg«      k(  sJ ‚|d   d   t        t        d«      t        dz
  z  z   dz   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   d   j	                  dd¬«      t        t         t        d«      t        dz
  z  z
  dz
  t        dz
  z  gdt        z  t        dz  dt        z  z
  dz   z  t        dz   t        t        d«      t        dz
  z  z   dz   z  t        dz  dt        z  z
  dz   z  z   gt         t        d«      t        dz
  z  z
  dz
  t        dz
  z  gdgg«      k(  sJ ‚y )	Nr   r¦   rŠ   )r   rù   r   r¦   FT)ÚdeepÚnumerrP  )r5   rc   Ú
eigenvectsr   r   )rÉ   Úevs     rs   Ú%test_issue_17247_expression_blowup_13rg  ó  sç  € ÜØ�”A‘”q˜1‘u˜a¤!™eÐ$Ø	
ŒQ‰”�A‘˜1œa !™eÐ$Ø�”A‘”q˜1‘u˜a¤!™eÐ$Ø�A˜1œq™5 !Ð$ð	&ó 	'€Að 
�‰‹€BØˆa‰5�Q˜œF¢=Ó1Ð2Ð3Ò3Ð3Ð3Øˆa‰5�‰8”qœ4 ›7¤A¨¡E™?Ñ*¨QÑ.Ò.Ð.Ð.Øˆa‰5�‰8�qŠ=Ðˆ=Øˆa‰5�‰8�A‰;×Ñ 5°ÐÓ5¼Üˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	ŒA‰Œq�!‰t�aœ‘c‰z˜A‰~Ñ	¤! a¡%¬!¬d°1«g´q¸1±u©oÑ*=ÀÑ*AÑ!BÄAÀqÁDÈ1ÌQÉ3ÁJÐQRÁNÑ!SÑ	SÐTÜˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	
ˆð	Aó :ò ð ð ð ˆa‰5�‰8”qœ4 ›7¤A¨¡E™?Ñ*¨QÑ.Ò.Ð.Ð.Øˆa‰5�‰8�qŠ=Ðˆ=Øˆa‰5�‰8�A‰;×Ñ 5°ÐÓ5¼Üˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	ŒA‰Œq�!‰t�aœ‘c‰z˜A‰~Ñ	¤! a¡%¬!¬d°1«g´q¸1±u©oÑ*=ÀÑ*AÑ!BÄAÀqÁDÈ1ÌQÉ3ÁJÐQRÁNÑ!SÑ	SÐTÜˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	
ˆð	Aó :ò ð ñ rr   c                  óä  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  gddt        z  ddt        z  ddt        z  ddt        z  gg d¢g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NrÂ   r¦   r«   Tr   rS  )r5   rc   rF   Úechelon_formr(  s    rs   Ú%test_issue_17247_expression_blowup_14rj    sï   € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ 	GØ�~‰~Ó¤6Ü�‰U�Aœ‘Eœ1˜q™5 !¤a¡%¬¨Q©°´A±´q¸1±u¸aÄ!¹eÐDØ�aœ‘c˜q A¤a¡C¨Q°!´A±#¸1ÀÄ!ÁÐDÚDÚDÚDÚDÚDÚDð+Fó $Gò Gð 	Gñ G÷	G÷ 	Gñ 	Gús   ÁBC&Ã&C/c                  óÖ  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  gg«      t        ddt        z  ddt        z  ddt        z  ddt        z  gg«      gk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NrÂ   r¦   r«   Tr   )r5   rc   rF   Úrowspacer(  s    rs   Ú%test_issue_17247_expression_blowup_15rm    s"  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ PØ�z‰z‹|¤¬¨Q©°´A±´q¸1±u¸aÄ!¹eÄQÈÁUÈAÔPQÉEÔSTÐWXÑSXÐZ[Ô^_ÑZ_Ð(`Ð'aÓ bÔdjÐmnÐpqÔrsÑpsÐuvÐxyÔz{Ñx{Ð}~ð  ABô  CDñ  ADð  FGð  IJô  KLñ  ILð  mMð  lNó  eOð   Pò  Pð  	Pñ  P÷P÷ Pñ Pús   ÁBCÃC(c                  ó*  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gg«      t        dt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gg«      gk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NrÂ   r¦   r«   T)r5   rc   rF   Úcolumnspacer(  s    rs   Ú%test_issue_17247_expression_blowup_16rp  !  s²  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ yØ�}‰}‹¤6¬A°©E¨7°A¼±E°7¼AÀ¹E¸7ÀAÌÁEÀ7ÌAÐPQÉEÈ7ÐTUÔXYÑTYÐSZÔ\]Ð`aÑ\aÐ[bÐdeÔhiÑdiÐcjÐ*kÓ#lÔntÐwxÔ{|Ñw|Ðv}ô  @Að  DEñ  @Eð  Fð  HIô  LMñ  HMð  GNô  PQð  TUñ  PUð  OVð  XYô  \]ñ  X]ð  W^ô  `að  deñ  `eð  _fð  hiô  lmñ  hmð  gnô  pqð  tuñ  puð  ovð  vwó  oxð  #yò  yð  	yñ  y÷y÷ yñ yús   ÁB:D	Ä	Dc                  ó  — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  «       t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        d	gd
gdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      gk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)NrÂ   rá   Tr¦   r  r   rŠ   r±   r‰   rP  r«   rQ  r¾   r:  r¬   éùÿÿÿ)r5   rÇ   rc   rF   Ú	nullspacerE  s     rs   Ú%test_issue_17247_expression_blowup_17rt  &  s]  € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ 8Ø�{‰{‹}Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6ð!8ò 8ð 	8ñ 8÷8ð 8ùò /÷8ð 8ús   •C3·B2C8Ã8Dc                  óÜ   — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr¬   r¦   r‰   T)r5   rc   rF   Úis_nilpotentr(  s    rs   Ú%test_issue_17247_expression_blowup_18rw  1  sj   € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ $Ø—>‘>Ô#Ð#Ð#Ð#÷$÷ $ñ $ús   ÁA"Á"A+c                  ó’   — t        t        d«      «      } t        d«      5  | j                  «       rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nay  [
        [             -3/4,                     0,         1/4 + I/2,                     0],
        [                0, -177/128 - 1369*I/128,                 0, -2063/256 + 541*I/128],
        [          1/2 - I,                     0,                 0,                     0],
        [                0,                     0,                 0, -177/128 - 1369*I/128]]T)r5   r   rF   Úis_diagonalizabler(  s    rs   Ú%test_issue_17247_expression_blowup_19rz  6  sO   € ÜŒqð aó bó 	c€Aô
 
�TÓ	ñ )Ø×&Ñ&Ô(Ð(Ð(Ð(÷)÷ )ñ )ús	    =½Ac                  óÒ  — t        t        dz   dt        z
  ddgdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dgdddt        dz   gg«      } t        d«      5  | j                  «       t        dddt        dz   t        dz
  z  gg d¢g d¢g d¢g«      t        g d¢ddt        z  ddgddt        dz   dgdddt        dz   gg«      fk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nr¦   r   T)r¦   rù   r   r   ©r¦   r¦   r¦   r   ©r   r   r   r¦   rÆ   rŠ   )r5   rc   rF   Údiagonalizer(  s    rs   Ú%test_issue_17247_expression_blowup_20r  ?  s  € ÜÜˆ�UˆQ”‰U˜ Ð#ØŒ�UŒQ�‰U˜œQ ™UÐ#Ø	
ˆQ”‰U”Q˜‘U Ð#Ø	
�˜œQ ™UÐ#ð	%ó 	&€Aô
 
�TÓ	ñ 
&Ø�}‰}‹¤6Ø��Aœ˜A™¤ A¡‘Ð'Ú'Ú'Ú'ð	+)ó $*ô
 Ú"Ø�”!‘˜ Ð"Ø�!”Q˜‘U Ð"Ø�!˜œA ™EÐ"ð	$ó %ð	#&ò 	&ð 		&ñ 	&÷
&÷ 
&ñ 
&ús   Á#A0CÃC&c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Ná�  [
        [             -3/4,       45/32 - 37*I/16,                   0,                     0],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,                   0, -2063/256 + 541*I/128],
        [                0,         9/4 + 55*I/16, 2473/256 + 137*I/64,                     0],
        [                0,                     0,                   0, -177/128 - 1369*I/128]]TÚGE©Úmethodáv  [
            [-26194832/3470993 - 31733264*I/3470993, 156352/3470993 + 10325632*I/3470993, 0, -7741283181072/3306971225785 + 2999007604624*I/3306971225785],
            [4408224/3470993 - 9675328*I/3470993, -2422272/3470993 + 1523712*I/3470993, 0, -1824666489984/3306971225785 - 1401091949952*I/3306971225785],
            [-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
            [0, 0, 0, -11328/952745 + 87616*I/952745]]©r5   r   rF   r-  r(  s    rs   Ú%test_issue_17247_expression_blowup_21r‡  Q  ój   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜DˆuÓ!¤V¬Að /:ó -;ó &<ò <ð 	<ñ <÷<÷ <ñ <úó    *AÁAc                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr�  TÚLUrƒ  r…  r†  r(  s    rs   Ú%test_issue_17247_expression_blowup_22rŒ  ^  rˆ  r‰  c                  óÜ   — t        t        d«      «      } t        d«      5  | j                  d¬«      j	                  «       t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr�  TÚADJrƒ  r…  )r5   r   rF   r-  r   r(  s    rs   Ú%test_issue_17247_expression_blowup_23r�  k  ss   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜EˆuÓ"×)Ñ)Ó+¬v´að 9:ó 7;ó 0<ò <ð 	<ñ <÷<÷ <ñ <ús    8A"Á"A+c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t	        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr�  TÚCHrƒ  r…  ©r6   r   rF   r-  r5   r(  s    rs   Ú%test_issue_17247_expression_blowup_24r“  x  sj   € Ü”Qð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜DˆuÓ!¤V¬Að /:ó -;ó &<ò <ð 	<ñ <÷<÷ <ñ <úr‰  c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t	        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr�  TÚLDLrƒ  r…  r’  r(  s    rs   Ú%test_issue_17247_expression_blowup_25r–  …  sj   € Ü”Qð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜EˆuÓ"¤f¬Qð 0:ó .;ó '<ò <ð 	<ñ <÷<÷ <ñ <úr‰  c                  ó˜   — t        t        d«      «      } t        d«      5  | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na¹  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64,         -9/32 - I/16,      183/256 - 97*I/128],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512, -219/128 + 115*I/256, 6301/4096 - 6609*I/1024],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,         1/4 - 5*I/16,        65/128 + 87*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,     85/256 - 33*I/16,    805/128 + 2415*I/512],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,            1/4 + I/2,        -129/64 - 9*I/64],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,     125/64 + 87*I/64,   -2063/256 + 541*I/128],
        [               -2,         17/4 - 13*I/2,             1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,                 -3/4,         45/32 - 37*I/16],
        [     1/4 + 13*I/4,    -825/64 - 147*I/32,          21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64,    -149/64 + 49*I/32,   -177/128 - 1369*I/128]]Tr«   ©r5   r   rF   Úrankr(  s    rs   Ú%test_issue_17247_expression_blowup_26rš  ’  sL   € ÜŒqð zó {ó 	|€Aô 
�TÓ	ñ Ø�v‰v‹x˜1Š}Ð‰}÷÷ ñ úó    A Á A	c            	      óÒ  — t        ddt        z
  t        dz   dt        z
  gdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dt        z
  gdddt        z
  dgg«      } t        d«      5  | j                  «       \  }}|j	                  «       t        t        d«      «      j	                  «       k(  sJ ‚|t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   r¦   Ta±  [
            [    0,  4*x/(x**2 - 2*x + 1), -(-17*x**4 + 12*sqrt(2)*x**4 - 4*sqrt(2)*x**3 + 6*x**3 - 6*x - 4*sqrt(2)*x + 12*sqrt(2) + 17)/(-7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 + 8*x**3 - 2*x**2 + 8*x + 6*sqrt(2)*x - 5*sqrt(2) - 7), -(12*sqrt(2)*x**4 + 17*x**4 - 6*x**3 - 4*sqrt(2)*x**3 - 4*sqrt(2)*x + 6*x - 17 + 12*sqrt(2))/(7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 - 8*x**3 + 2*x**2 - 8*x + 6*sqrt(2)*x - 5*sqrt(2) + 7)],
            [x - 1, x/(x - 1) + 1/(x - 1),                       (-7*x**3 + 5*sqrt(2)*x**3 - x**2 + sqrt(2)*x**2 - sqrt(2)*x - x - 5*sqrt(2) - 7)/(-3*x**3 + 2*sqrt(2)*x**3 - 2*sqrt(2)*x**2 + 3*x**2 + 2*sqrt(2)*x + 3*x - 3 - 2*sqrt(2)),                       (7*x**3 + 5*sqrt(2)*x**3 + x**2 + sqrt(2)*x**2 - sqrt(2)*x + x - 5*sqrt(2) + 7)/(2*sqrt(2)*x**3 + 3*x**3 - 3*x**2 - 2*sqrt(2)*x**2 - 3*x + 2*sqrt(2)*x - 2*sqrt(2) + 3)],
            [    0,                     1,                                                                                            -(-3*x**2 + 2*sqrt(2)*x**2 + 2*x - 3 - 2*sqrt(2))/(-x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x + 1 + sqrt(2)),                                                                                            -(2*sqrt(2)*x**2 + 3*x**2 - 2*x - 2*sqrt(2) + 3)/(x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x - 1 + sqrt(2))],
            [1 - x,                     0,                                                                                                                                                                                               1,                                                                                                                                                                                             1]]a  [
            [0, 1,                       0,                       0],
            [0, 0,                       0,                       0],
            [0, 0, x - sqrt(2)*(x - 1) + 1,                       0],
            [0, 0,                       0, x + sqrt(2)*(x - 1) + 1]])r5   rc   rF   r,  r   r   r.  s      rs   Ú%test_issue_17247_expression_blowup_27r�  Ÿ  s  € ÜØ�”A‘”q˜1‘u˜a¤!™eÐ$Ø	
ŒQ‰”�A‘˜1œa !™eÐ$Ø�”A‘”q˜1‘u˜a¤!™eÐ$Ø�A˜1œq™5 !Ð$ð	&ó 	'€Aô
 
�TÓ	ñ KØ�}‰}‹‰ˆˆ1Ø�x‰x‹zœV¤Að 'oó %pó q÷ rxñ  rxó  rzò	zð 	zð zð
 ”Fœ1ð Ió Jó Kò Kð 	Kñ K÷K÷ Kñ Kús   Á1A"CÃC&c                  óª   — t        t        d«      «      } t        d«      5  | j                  «       t        d«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr�  Ta�  [
            sqrt(14609315/131072 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2)])r5   r   rF   Úsingular_valuesr(  s    rs   Ú%test_issue_17247_expression_blowup_28r   ²  sj   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ dØ× Ñ Ó"¤að )có 'dò dð 	dñ d÷d÷ dñ dús    A	Á	Ac                  ó˜   — t        t        d«      «      } t        d«      5  | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na¢	  [
        [1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I,15/128-3/32*I,19/256+551/1024*I],
        [21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I,129/256-549/512*I,42533/16384+29103/8192*I],
        [-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I],
        [1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I],
        [-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I],
        [1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I],
        [-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I],
        [-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I],
        [0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I],
        [1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I],
        [0,-4*I,0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I],
        [0,1/4+1/2*I,1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I]]TrÂ   r˜  r(  s    rs   Útest_issue_16823r¢  À  sL   € äŒqð Fó Gó 	H€Aô 
�TÓ	ñ Ø�v‰v‹x˜1Š}Ð‰}÷÷ ñ úr›  c                  óf  — t        g d¢dt        d«      z   dt        d«      z   dt        d«      z
  t        d«       dz
  dddddg	ddt        d«      z  z   ddt        d«      z  z
  ddt        d«      z  z
  ddt        d«      z  z   dddddg	d	t        d«      z  dz
  dd
t        d«      z  z
  dd
t        d«      z  z   dd
t        d«      z  z   ddddd
g	ddt        d«      z  z
  dt        d«      z  dz   dt        d«      z  dz   ddt        d«      z  z
  dddddg	dd
t        d«      z  z   dd
t        d«      z  z   d	t        d«      z  dz
  dd
t        d«      z  z
  ddddd
g	d	dt        d«      z  z   d	dt        d«      z  z
  d	dt        d«      z  z
  d	dt        d«      z  z   dddddg	dt        d«      z
  t        d«       dz
  dt        d«      z   dt        d«      z   dddddg	g«      } t        d«      5  | j                  «       t        ddddddddt	        d«      dz  g	ddddddddt	        d«       dz  g	ddddddddt	        d«      dz  g	ddddddddt	        d«       dz  g	g d¢ddddddddt	        d«       dz  g	g d¢ddddddddt	        d«       dz  g	g«      dfk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)N)	r¦   r¦   r¦   r¦   r¦   r   r¦   r   r   r¦   rŠ   rù   rQ  rr  r  r   r±   r‰   r¿   r«   éôÿÿÿrà   T)	r   r   r   r   r¦   r   r   r   r   )	r   r   r   r   r   r   r¦   r   r   rR  )r5   r   rF   rT  r   r(  s    rs   Útest_issue_18531r¥  Ó  s  € äÚ#Ø	
ŒT�!‹W‰�bœ4 ›7‘l A¬¨Q«¡K´$°q³'°¸A±¸qÀ!ÀRÈÈAÐNØ	ˆa”�Q“‰i‰˜˜a¤ Q£™i™¨¨a´°Q³©i©¸¸aÄÀQÃ¹i¹ÈÈQÐPRÐTVÐXYÐZØ	ŒD�‹G‰�a‰˜˜Qœt A›w™Y™¨¨Q¬t°A«w©Y©¸¸A¼dÀ1»g¹I¹ÀrÈ2ÈqÐRTÐVWÐXØ	
ˆQŒt�A‹w‰Y‰˜œ$˜q›'™	 A™ q¬¨a«¡y°1¡}°a¸!¼DÀ»G¹)±mÀQÈÈQÐPRÐTUÐVØ	ˆa”�Q“‰i‰˜˜Qœt A›w™Y™¨¬4°«7©
°Q©¸¸A¼dÀ1»g¹I¹ÀqÈ"ÈbÐRTÐVWÐXØ	ˆa”�Q“‰i‰˜˜a¤ Q£™i™¨¨a´°Q³©i©¸¸aÄÀQÃ¹i¹ÈÈQÐPRÐTVÐXYÐZØ	
ŒT�!‹W‰”t˜A“w�h ‘l A¬¨Q«¡K°´d¸1³g±¸rÀ1ÀaÈÈAÐNð	
ó 		€Aô 
�TÓ	ñ 	KØ�v‰v‹xœFØ��1�a˜˜A˜q !¤a¨£d¨1¡fÐ-Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ø��1�a˜˜A˜q !¤a¨£d¨1¡fÐ-Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ú*Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ú*Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-ð$/ó 0ð 2JðKò Kð 	Kñ K÷	K÷ 	Kñ 	Kús   Ç.B/J'Ê'J0c            	      ó–
  — t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        «      5  dt        d«      d<   d d d «       t        «       t        g «      cxk(  rt        ddg «      k(  sJ ‚ J ‚t        g g«      t        ddg «      k(  sJ ‚t        g g g«      t        d	dg «      k(  sJ ‚t	        «       5  t        dgd
gg«      j                  «       dgd
ggk(  sJ ‚	 d d d «       t	        «       5  t        dgd
gg«      j                  j                  «       dggd
ggk(  sJ ‚	 d d d «       t        dgg«      } t	        «       5  t        j                  | d<   d d d «       t        t        dgddgg«      }|}|j                  |j                  k(  sJ ‚|j                  d	k(  sJ ‚|d d  t        dddgk(  sJ ‚t        d	d	t        dddg«      }|}|j                  |j                  k(  sJ ‚|j                  d	k(  sJ ‚|d d  t        dddgk(  sJ ‚||k(  sJ ‚t        |«      |k(  sJ ‚t        d	dt        dd«      «      }t        ddt        dd«      «      }t        ||g«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|d d  g d¢k(  sJ ‚t        t        d	«      «      t        d	«      k(  sJ ‚t        t        t        d	«      «      «      t        t        d	«      «      k(  sJ ‚t        |«       |j                  «       k(  sJ ‚t        t        |«      «      t        |«      j!                  «       k(  sJ ‚|t        |«      usJ ‚t#        dd	«      t#        dd«      d	z  gt#        d	d«      dz  t#        d	d	«      dz  gg}t        |«      } | t        g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  «       |k7  sJ ‚t        |d¬«      j                  «       |k(  sJ ‚t%        dd	d	«      }t#        d	«      |g}t        |«      t        ddgddg|d   |d   g|d   |d   gg«      k(  sJ ‚t	        «       5  t        |d¬«      j                  «       |D �	cg c]  }	|	g‘Œ c}	k(  sJ ‚	 d d d «       t        t#        d	«      t#        d«      g«      t        t#        d	«      g«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        dd	gddgg«      } t        | dg«      }
|
t        dd	gddgddgg«      k(  sJ ‚y # 1 sw Y   �Œ¶xY w# 1 sw Y   �Œ$xY w# 1 sw Y   �ŒìxY w# 1 sw Y   �ŒÆxY wc c}	w # 1 sw Y   ŒÓxY w)Nc                  ó.   — t        ddt        d«      «      S )Nr¾   é   )r5   rÇ   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>ì  s   € œv a¨¬E°"«IÓ6€ rr   c                  ó   — t        ddg «      S )Nr¾   rù   rñ   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>í  s   € œv a¨¨RÓ0€ rr   c                  ó   — t        d«      d   S rð   rñ   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>î  s   € œv f›~¨aÑ0€ rr   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«   F©Úevaluateré   rÃ   rÍ   rÎ   c                  óB   — t        t        d«      t        dd«      g«      S )NrŠ   r   r‰   ©r5   r<   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>4  ó   € œv¤t¨A£w´°Q¸³
Ð&;Ó<€ rr   c                  óB   — t        t        d«      t        dd«      g«      S )NrŠ   r‰   r   r¯  rq   rr   rs   r~   ztest_creation.<locals>.<lambda>5  r°  rr   )r¾   r¬   r¬   )rR   r$  Ú
IndexErrorr5   rW   ÚtolistÚTr   ÚEmptySetrc   r”   r“   rÇ   r9   r3   Úas_immutableÚ
as_mutabler<   rE   )rÉ   r_   r›   r`   Úc23Úc13ra   Údatré   r|   ÚM2s              rs   Útest_creationr¼  ë  sH  € Ü
Œ:Ñ6Ô7Ü
Œ:Ñ0Ô1Ü
Œ:Ñ0Ô1Ü	”
Ó	ñ ØŒˆv‹�qÑ÷ô ‹8”v˜b“zÔ5¤V¨A¨q°"Ó%5Ò5Ð5Ñ5Ð5Ð5Ü�2�$‹<œ6 ! Q¨Ó+Ò+Ð+Ð+Ü�2�r�(Óœv a¨¨BÓ/Ò/Ð/Ð/ô 
 Ó	!ñ ?Ü˜˜˜T�{�mÓ$×+Ñ+Ó-°A°3¸°+°Ò>Ð>Ñ>÷?ä	Ó	!ñ CÜ˜˜˜T�{�mÓ$×&Ñ&×-Ñ-Ó/°a°S°E¸D¸6°?ÒBÐBÑB÷Cä��ˆu‹€AÜ	Ó	!ñ Ü—*‘*ˆˆ$‰÷ô 	”�A�˜˜A˜ÐÓ €AØ	€AØ�6‰6�Q—V‘VÒÐÐØ�6‰6�QŠ;Ðˆ;Ø‰Qˆ4”A�q˜!˜Q�<ÒÐÐäˆq�!”a˜˜A˜q�\Ó"€AØ	€AØ�6‰6�Q—V‘VÒÐÐØ�6‰6�QŠ;Ðˆ;Ø‰Qˆ4”A�q˜!˜Q�<ÒÐÐà�Š6€Mˆ6ä�!‹9˜Š>Ðˆ>ä
��A”u˜Q “{Ó
#€CÜ
��A”u˜Q “|Ó
$€CÜ��SˆzÓ€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Ø‰Qˆ4Ò.Ò.Ð.Ð.ä”#�a“&‹>œS ›VÒ#Ð#Ð#Üœ?¬3¨q«6Ó2Ó3´ÄsÈ1ÃvÓ7NÒNÐNÐNÜ˜1Ó  §¡Ó!1Ò1Ð1Ð1Ü”/ !Ó$Ó%¬¸Ó);×)FÑ)FÓ)HÒHÐHÐHà”F˜1“IÑÐÐä��1‹I”t˜A˜a“y ‘{Ð#¤d¨1¨Q£i°¡k´4¸¸!³9¸Q±;Ð%?Ð
@€CÜˆs‹€AØ”ÚÚÚÚÚðó ò ð ð ð �8‰8‹:˜ÒÐÐä�# Ô&×-Ñ-Ó/°3Ò6Ð6Ð6Ü�S˜!˜QÓ€AÜ�‹7�Aˆ,€CÜ�#‹;œ&Ø�AÐØ�AÐØ€t�Wˆa�‰gÐØ€t�Wˆa�‰gÐð	"ó ò ð ð ô
 
 Ó	!ñ JÜ�c EÔ*×1Ñ1Ó3ÀSÖ7IÀ¸ºÒ7IÒIÐIÑI÷Jô ”4˜“7œD ›GÐ$Ó%¬´°a³°	Ó):Ò:Ð:Ð:Ü
Œ:Ñ<Ô=Ü
Œ:Ñ<Ô=ô 	��A�˜˜A˜ÐÓ €AÜ	��F�Ó	€BØ”˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1Ò1Ð1Ñ1÷Wñ ú÷?ñ ?ú÷Cñ Cú÷ñ üòh 8J÷Jð JúsN   ÁTÃ	'TÄ2T ÅT-Ð<T?Ñ
T:Ñ%T?ÔTÔTÔ T*Ô-T7Ô:T?Ô?Uc                  ó   — t        j                  dt        dd«      t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  «      t        g d¢g d¢g d	¢g d
¢g«      k(  sJ ‚y )Nr‰   rŠ   r¦   r«   r¾   r¬   r¿   )r¦   rŠ   rŠ   rŠ   r‰   r‰   )r«   rŠ   rŠ   rŠ   r¾   r¾   )r¬   r¬   r¿   r¿   r¾   r¾   )r5   Ú	irregularr<   rq   rr   rs   Útest_irregular_blockr¿  =  s�   € Ü×Ñ˜Aœt A a›y¬$¨q°«)°A©+´t¸A¸a³yÀ±{ÜˆQˆq‹	�!‰”T˜!˜A“Y˜q‘[¤$ q¨£)¨A¡+¬t°A°a«y¸©{ó<Ü?EÚÚÚÚð	Gó @òð ñ rr   c                  ó2  — 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                  «       | k(  sJ ‚y )NrŠ   r‰   )	r   ÚOner!  rc   rd   ÚZerore   r5   r³  )Úlstr›   s     rs   Útest_tolistrÄ  F  sc   € Ü�E‰E”1—6‘6œ1œQ™3¤§¡Ð'¬!¬Q´´1°a±4¨¼1¼q¿u¹u¸fÄaÌÁcÈ1Ð:MÐ
N€CÜˆs‹€AØ�8‰8‹:˜ÒÐÑrr   c                  ó  — t        dd«      j                  «       t        dd«      k(  sJ ‚t        dd«      j                  «       t        t        dd«      «      k(  sJ ‚t        dd«      j                  «       t        t        dd«      «      k(  sJ ‚y ©Nr   r‰   )rB   r·  r¶  r3   rq   rr   rs   Útest_as_mutablerÇ  L  su   € Ü��A‹;×!Ñ!Ó#¤u¨Q°£{Ò2Ð2Ð2Ü��A‹;×#Ñ#Ó%¬¼¸qÀ!»Ó)EÒEÐEÐEÜ��A‹;×#Ñ#Ó%¬¼¸qÀ!»Ó)EÒEÐEÑErr   c                  ó   — t        d«      } | d d…d d…f   t        d«      k(  sJ ‚| dd…dd…f   t        d«      k(  sJ ‚t        ddd„ «      }|dd d …f   t        ddd«      k(  sJ ‚|dd…df   t        ddd«      k(  sJ ‚t        g d	¢g d
¢g d¢g d¢g«      }|d d …df   t        ddg d¢«      k(  sJ ‚|dd …d d …f   t        g d¢g d¢g«      k(  sJ ‚y )Nr«   r‰   rŠ   r   c                 ó   — | |z   S ry   rq   r{   s     rs   r~   ztest_slicing.<locals>.<lambda>W  ó
   €  1 q¡5€ rr   r¦   rÀ   ©rŠ   r‰   )r   r¦   rŠ   r‰   ©r«   r¾   r¬   r¿   ©rÂ   r¼   rÒ   é   ©rà   é   é   rÓ   rù   )r‰   r¿   rÎ  rÓ   r  )r9   rB   r5   )Úm0Úm1Úm2s      rs   Útest_slicingrÕ  R  sö   € Ü	ˆQ‹€BØˆbˆqˆb�"�1�"ˆf‰:œ˜Q›ÒÐÐØˆa�ˆc�1�Q�3ˆh‰<œ5 ›8Ò#Ð#Ð#ä	��1Ñ(Ó	)€BØˆa’ˆd‰8”v˜a  IÓ.Ò.Ð.Ð.Øˆa�ˆc�1ˆf‰:œ  1 fÓ-Ò-Ð-Ð-ä	’š|ª^Ò=MÐNÓ	O€BØŠa�ˆe‰9œ˜q !¢^Ó4Ò4Ð4Ð4Øˆb‰c’1ˆf‰:œ¢Ò1AÐ BÓCÒCÐCÑCrr   c                  óª  — t        d«      } t        d«      | dd…dd…f<   | t        d«      k(  sJ ‚t        d«      | d d…d d…f<   | t        d«      k(  sJ ‚t        ddd«      | d d …df<   | t        d«      k(  sJ ‚t        d«      | d d …d d …f<   | t        d«      k(  sJ ‚g d¢| d d …d d …f<   | t        d«      k(  sJ ‚ddg| d d…df<   | t        d	«      k(  sJ ‚y )
Nr«   rŠ   )©r   r   r   r   r×  rÝ   r}  r¦   ©r¦   rŠ   r‰   r«   r   )©r¦   r   r   r   )rŠ   r¦   r   r   )r‰   r   r¦   r   )r«   r   r   r¦   ©rØ  ©r¾   r¬   r¿   rÂ   ©r¼   rÒ   rÎ  rà   ©rÐ  rÑ  rÓ   rå   ))r   rŠ   r‰   r«   )r   r¬   r¿   rÂ   rÜ  rÝ  )rB   r9   r5   rý   s    rs   Útest_submatrix_assignmentrÞ  `  s$  € Üˆa‹€AÜ�a“&€A€aˆ€cˆ1ˆQˆ3€h�KØ”ð &ó 'ò 'ð 'ð 'ô �A“€A€b€q€bˆ"ˆ1ˆ"€f�IØ”�A“Š;Ðˆ;Ü�Q˜˜<Ó(€A‚aˆ€d�GØ”ð &ó 'ò 'ð 'ð 'ô �A‹h€A‚aŠ€d�GØ”�a“Š=Ðˆ=ÚM€A‚aŠ€d�GØ”ð *ó +ò +ð +ð +ð �1ˆv€A€b€q€bˆ!€e�HØ”ð *ó +ò +ð +ñ +rr   c                  ó`  ‡ — t        ddd„ «      Š ‰ j                  g d¢ddg«      t        ddg d¢«      k(  sJ ‚‰ j                  ddgg d	¢«      t        ddg d
¢«      k(  sJ ‚‰ j                  t        d«      t        d«      «      ‰ k(  sJ ‚t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nr«   r‰   c                 ó   — | dz  |z   S ©Nr‰   rq   r{   s     rs   r~   ztest_extract.<locals>.<lambda>}  s   €  ! A¡#¨¡'€ rr   )r   r¦   r‰   r   r¦   rŠ   )r   r¦   r‰   r«   r¼   rÒ   r  )r   r   rŠ   r¼   r¼   rÎ  c                  ó,   •— ‰ j                  dgdg«      S )Nr«   r   ©rÈ   rý   s   €rs   r~   ztest_extract.<locals>.<lambda>�  ó   ø€ ˜qŸy™y¨!¨¨q¨cÓ2€ rr   c                  ó,   •— ‰ j                  dgdg«      S rÆ  rã  rý   s   €rs   r~   ztest_extract.<locals>.<lambda>‚  rä  rr   )r5   rÈ   rÇ   rR   r²  rý   s   @rs   Útest_extractræ  |  s—   ø€ Üˆq�!Ñ)Ó*€AØ�9‰9’Y  A Ó'¬6°!°QÒ8KÓ+LÒLÐLÐLØ�9‰9�a˜�VšYÓ'¬6°!°QÒ8KÓ+LÒLÐLÐLØ�9‰9”U˜1“Xœu Q›xÓ(¨AÒ-Ð-Ð-Ü
Œ:Ó2Ô3Ü
Œ:Ó2Õ3rr   c                  óú   — t        d«      } | j                  dd«      t        ddd«      k(  sJ ‚t        ddd„ «      }|j                  dd«      t        d«      k(  sJ ‚|j                  dd	«      t        d
«      k(  sJ ‚y )Nr‰   r¦   r¼   )	r¦   r   r   r   r¦   r   r   r   r¦   r«   c                 ó   — | |z   S ry   rq   r{   s     rs   r~   ztest_reshape.<locals>.<lambda>ˆ  rÊ  rr   )rÀ   ©r‰   r¦   rŠ   )r‰   r«   rŠ   r½   rŠ   r¬   ))r   r¦   rŠ   r‰   r¦   rŠ   )r‰   r«   rŠ   r‰   r«   r¾   )r9   Úreshaper5   ©rÒ  rÓ  s     rs   Útest_reshaperì  …  sˆ   € Ü	ˆQ‹€BØ�:‰:�a˜Óœv a¨Ð,GÓHÒHÐHÐHÜ	��1Ñ(Ó	)€BØ�:‰:Ø	ˆ1óÜÐDÓEòFð Fð Fà�:‰:�a˜ÓœvÐ&NÓOÒOÐOÑOrr   c                  ó    — t        d«      } | j                  d„ «      t        d«      dz  k(  sJ ‚| j                  d„ «      t        d«      k(  sJ ‚y )Nr‰   c                 ó   — d| z  S ©NrŠ   rq   ©rc   s    rs   r~   z test_applyfunc.<locals>.<lambda>�  s
   €  ! A¡#€ rr   rŠ   c                  ó   — yr…   rq   rð  s    rs   r~   z test_applyfunc.<locals>.<lambda>‘  r†   rr   )r9   Ú	applyfuncrB   )rÒ  s    rs   Útest_applyfuncró  Ž  sE   € Ü	ˆQ‹€BØ�<‰<™Ó&¬#¨a«&°©(Ò2Ð2Ð2Ø�<‰<™Ó$¬¨a«Ò0Ð0Ñ0rr   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«      } | j                  «       }|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        t        t        |z  «      g«      j                  d¬«      t        t        |«      t        t        |«      z  z   g«      k(  sJ ‚t        g d¢g d¢g d	¢g«      j                  «       t        d
d
t        dd«      gg d¢g d¢g«      k(  sJ ‚y )NrŠ   r‰   r_   T©Úreal)ÚcomplexrÀ   )r   r   rù   rÅ   r¦   )r   r¦   rù   r  )
r5   rc   rd   r   r   r   r
   r   r   r   )rÒ  rÓ  r_   s      rs   Útest_expandrø  ”  sW  € Ü	”!”Qœ‘U‘)˜Q�¤A¬¡E¬1¡9¬a¡-´´A¼¼1¼q¹5¹	±MÑ1BÐ!CÐDÓ	E€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ô 	ˆs˜Ô€Aä”3”q˜‘s“8�*Ó×$Ñ$¨TÐ$Ó2Ü”�A“œœ3˜q›6™Ñ!Ð"Ó#ò$ð $ð $ô ’9šjª)Ð4Ó5×9Ñ9Ó;¼vØ	
ˆAŒx˜˜1‹~ÐÚÚðGó @ò ð ñ rr   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«      } | j                  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 ‚| 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 ‚| 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 ‚y rï  )
r5   r   rc   r   rd   ÚrefinerY   rö  r  r  rë  s     rs   Útest_refinerû  ¦  st  € Ü	”#”a“&˜!‘)œT¤! Q¡$›ZÐ(Ü”a˜‘d“œC¤›F A™IÑ%¤t¬A¨q©D£z´#´a³&¸!±)Ñ';Ð<ð>ó 
?€Bà	�‰”1—6‘6œ!“9œqŸv™v¤a›yÑ(Ó	)€BØ”œ!˜Q™$¤¤A£˜¬!¨Q©$¬s´1«v©+´q¸!±t¼CÄ»F±{Ð)CÐDÓEÒEÐEÐEà	�‰”1—:‘:œa“=¤1§:¡:¬a£=Ñ0Ó	1€BØ”œ!˜Q™$¤˜¤Q¤q¨!¡t¡V¬Q°©T´!©VÐ$4Ð5Ó6Ò6Ð6Ð6à	�‰”1—:‘:œa“=¤1§:¡:¬a£=Ñ0Ó	1€BØ”œ!˜Q™$¤ ˜¤q b¬¨A©¡g´°1±¨u´Q©wÐ%7Ð8Ó9Ò9Ð9Ñ9rr   c                  óz  — t        dd«      } t        ddd¬«      } | t        ddd¬«      k(  sJ ‚t        dddd«      } t        ddd¬«      } | t        ddd¬«      k(  sJ ‚| j                  «       } |j                  «        || k(  sJ ‚t        j                  d«      }| t        dd|¬«      k(  sJ ‚d	D ])  }d
D ]"  }t        |d||¬«      } | | j
                  k(  rŒ"J ‚ Œ+ t        ddd¬«      } d}t        | j                  d   «      D ]/  }t        | j                  d   «      D ]  }| ||f   dk(  sŒ|dz  }Œ Œ1 |dk(  sJ ‚y )Nr‰   )Úseedr«   r   é–   T)rý  Ú	symmetric)rÿ  Úprng)rÒ   rÎ  )rõ   éF   é   )rÿ  Úpercentr   rÒ   r¦   r  )Úminr  r  )r=   Úcopyr)   ÚrandomÚRandomr´  rÇ   r‘   )rÉ   r   ÚrngÚsizer  Ú
zero_countr|   r}   s           rs   Útest_randomr  ²  sb  € Ü�1�aÓ€AÜ�1�a˜aÔ €AØ”
˜1˜a aÔ(Ò(Ð(Ð(ä�1�a˜˜CÓ €AÜ�1˜1¨Ô-€AØ”
˜1 1°Ô5Ò5Ð5Ð5à	�‰‹€AØ€A‡J�J„LØ�Š6€Mˆ6ä
�-‰-˜Ó
€CØ”
˜1¨°3Ô7Ò7Ð7Ð7ð ò ˆØ$ò 	ˆGÜ˜4¨4¸ÀsÔKˆAØ˜Ÿ™“8ˆO�8ñ	ðô
 	�2˜1 bÔ)€AØ€JÜ�1—7‘7˜1‘:Óò  ˆÜ�q—w‘w˜q‘zÓ"ò 	 ˆAØ��A�‰w˜!‹|Ø˜a‘‘
ñ	 ð ð ˜ÒÐÑrr   c                  óê  ‡‡— t        d«      } | j                  «       t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚t        g d¢g d	¢g d
¢g«      } | j                  «       }| |z  t        d«      k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚t        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 d¢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«      }|j                  d%¬«      |z  t        |j                  d&   «      k(  sJ ‚t        Š ‰g d'¢g d(¢g d)¢g«      Št        ˆˆfd*„d+j                  «       D «       «      sJ ‚t        Š ‰g d'¢g d(¢g d)¢g«      Št        ˆˆfd,„d+j                  «       D «       «      sJ ‚y )-Nr«   r‹  rƒ  rŽ  r‘  r•  ÚQR)rŠ   r‰   r¾   )r‰   r¬   rŠ   )rÂ   r‰   r¬   r‰   )r   r   r   r   r¦   r   r   r¦   r   r¦   r¦   r¦   r   r   r   r¦   r¦   r   r   r   r   r¦   r¦   r   r   )r¦   r   r¦   r   r   r¦   r   r   r¦   r   r¦   r   r¦   r¦   r¦   r   r¦   r¦   r   r   r   r   r   r¦   r   )r¦   r¦   r¦   r¦   r   r¦   r   r   r¦   r¦   r   r   r   r¦   r¦   r¦   r¦   r   r   r¦   r¦   r   r   r¦   r¦   )r¦   r   r   r   r   r   r¦   r¦   r   r   r¦   r¦   r¦   r   r   r   r   r   r   r¦   r   r   r¦   r   r   )r¦   r   r   r¦   r¦   r¦   r   r¦   r   r   r¦   r   r   r¦   r¦   r¦   r   r¦   r   r   r   r¦   r   r   r   )r¦   r   r   r   r   r   r   r   r¦   r¦   r¦   r   r¦   r   r¦   r¦   r¦   r¦   r   r   r   r¦   r¦   r   r¦   )r   r¦   r¦   r¦   r   r   r   r   r¦   r¦   r¦   r   r¦   r   r¦   r   r¦   r   r¦   r   r¦   r   r   r¦   r   )r¦   r¦   r   r   r   r¦   r¦   r   r   r¦   r¦   r   r¦   r¦   r   r¦   r¦   r   r¦   r   r¦   r¦   r   r¦   r¦   )r   r   r¦   r¦   r¦   r   r   r¦   r¦   r   r¦   r¦   r   r¦   r   r   r   r   r   r   r¦   r   r¦   r   r¦   )r¦   r   r¦   r¦   r¦   r   r¦   r   r   r¦   r¦   r   r¦   r¦   r   r¦   r¦   r¦   r¦   r   r¦   r¦   r¦   r   r   )r   r¦   r¦   r   r   r   r   r¦   r¦   r   r¦   r   r¦   r   r¦   r¦   r   r   r¦   r   r   r   r¦   r¦   r   )r¦   r   r   r¦   r   r¦   r   r¦   r¦   r   r   r¦   r   r¦   r   r¦   r   r¦   r   r¦   r   r¦   r¦   r   r   )r   r¦   r¦   r   r   r¦   r¦   r   r   r¦   r¦   r   r¦   r   r   r   r¦   r   r   r¦   r   r¦   r¦   r   r¦   )r¦   r¦   r¦   r   r¦   r   r   r¦   r   r   r¦   r   r¦   r¦   r   r   r¦   r¦   r¦   r   r¦   r   r¦   r¦   r   )r   r¦   r   r   r   r   r¦   r¦   r   r¦   r¦   r   r   r   r   r¦   r   r¦   r¦   r¦   r   r   r¦   r   r   )r¦   r¦   r¦   r¦   r   r¦   r¦   r¦   r¦   r¦   r¦   r   r   r   r¦   r   r¦   r   r¦   r   r   r¦   r   r   r   )r   r   r   r¦   r   r¦   r¦   r   r¦   r   r   r   r   r   r¦   r   r¦   r¦   r   r¦   r   r¦   r¦   r   r¦   )r   r¦   r   r¦   r   r   r   r   r¦   r¦   r¦   r   r   r¦   r¦   r¦   r   r   r¦   r   r¦   r¦   r   r¦   r¦   )r¦   r   r¦   r¦   r   r¦   r   r¦   r¦   r   r¦   r¦   r¦   r   r¦   r   r   r   r   r¦   r   r   r¦   r   r¦   )r   r   r   r¦   r   r   r¦   r¦   r   r¦   r¦   r   r¦   r   r¦   r¦   r   r   r   r   r   r   r   r   r   )r¦   r   r   r   r   r¦   r   r¦   r   r   r¦   r¦   r   r¦   r   r¦   r¦   r¦   r¦   r   r¦   r¦   r¦   r¦   r¦   )r   r   r¦   r¦   r   r¦   r   r   r   r¦   r   r   r¦   r   r   r¦   r   r   r   r¦   r   r¦   r   r¦   r¦   )r   r   r   r   r   r¦   r¦   r¦   r   r¦   r¦   r¦   r   r   r   r¦   r   r¦   r¦   r   r¦   r¦   r   r   r   )r   r   r¦   r   r¦   r¦   r   r¦   r¦   r¦   r   r   r¦   r   r¦   r   r   r¦   r   r¦   r   r   r   r   r   )r   r   r   r¦   r¦   r   r¦   r¦   r¦   r   r   r¦   r   r¦   r   r¦   r¦   r   r¦   r¦   r¦   r   r   r¦   r   ÚBLOCKr   )rß   é1   é   )r¼   éG   é^   )é;   é   éA   c              3   óV   •K  — | ]   }t        ‰j                  |«      «      ‰u –— Œ" y ­wry   ©rŒ   r-  ©r�   Úsrš   r›   s     €€rs   rŽ   ztest_inverse.<locals>.<genexpr>  ó"   øè ø€ ÒL¨Œt�A—E‘E˜!“H‹~ Ô$ÑLùó   ƒ&)zGE ADJ LU CH LDL QRc              3   óV   •K  — | ]   }t        ‰j                  |«      «      ‰u –— Œ" y ­wry   r  r  s     €€rs   rŽ   ztest_inverse.<locals>.<genexpr>  r  r  )r9   r-  r5   r‘   r3   r’   Úsplitr4   )ré   ÚAinvÚAArš   r›   s      @@rs   Útest_inverser   Ð  sm  ù€ ÜˆA‹€AØ�5‰5‹7”c˜!“fÒÐÐØ�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ø�5‰5˜ˆ5Ó¤# a£&Ò(Ð(Ð(Ø�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ø�5‰5˜ˆ5Ó¤# a£&Ò(Ð(Ð(Ø�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ü’	ÚÚðó 	€Að �5‰5‹7€DØˆT‰6”S˜“VÒÐÐØ�5‰5˜ˆ5Ó Ò%Ð%Ð%Ø�5‰5˜ˆ5Ó $Ò&Ð&Ð&Ø�5‰5˜ˆ5Ó Ò%Ð%Ð%Ø�5‰5˜ˆ5Ó $Ò&Ð&Ð&Ø�5‰5˜ˆ5Ó Ò%Ð%Ð%ä	Ò\ÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWð1Yó 
Z€Bð2 �6‰6˜ˆ6Ó! BÑ&¬#¨b¯h©h°q©kÓ*:Ò:Ð:Ð:ä
€CÙŠ\ÚÚðó 	€Aô ÔLÐ.C×.IÑ.IÓ.KÔLÔLÐLÐLÜ
€CÙŠ\ÚÚðó 	€Aô ÔLÐ.C×.IÑ.IÓ.KÔLÔLÐLÑLrr   c                  ó˜  — t        ddt        dz  t        z  dt        dz  z  t        t        z  z   g«      } t        t        g}| j                  |«      t        dt        z  t        z  t        dz  gt        dt        z  t        z   gg«      k(  sJ ‚t        ddt        t        dz  t        dz  z  g«      } | j                  |«      t        ddgdt        z  t        dz  z  t        dz  dz  t        dz  z  gg«      k(  sJ ‚t        dz  t        z  }t        t        g}t	        ||«      t        dt        z  dt        z  gdt        z  dgg«      k(  sJ ‚t        dz  t        dz  z  }t	        ||«      t        dt        dz  z  dt        z  t        dz  z  gdt        z  t        dz  z  dt        dz  z  t        z  gg«      k(  sJ ‚t
        t        t        dz  z  z   }t        dz  dt        dz  z  z   }t        ddt        z  gdt        z  dt        z  gg«      }|t	        |t        t        t        g«      «      k(  sJ ‚|t	        |t        t        t        g«      j                  «      k(  sJ ‚t	        |t        t        f|g«      t        ddt        dz  z  dt        z  gdt        dz  z  dt        z  dt        z  gdt        z  dt        z  dgg«      k(  sJ ‚y )Nr¦   rŠ   r«   r‰   r   r¬   )r5   rc   rd   Újacobianr:   re   r´  )ÚLÚsymsÚfÚgÚanss        rs   Útest_jacobian_hessianr(  
  sŒ  € Üˆq�!”a˜‘dœ1‘f˜a¤ 1¡™f¤q¬¡s™lÐ+Ó,€AÜŒqˆ6€DØ�:‰:�dÓœv¨¬!©¬A©¬q°!©t }´q¸!¼A¹#Ä¹'°lÐ&CÓDÒDÐDÐDäˆq�!”aœ˜A™œa ™d™�^Ó$€AØ�:‰:�dÓœv¨¨1 v°´!±´A°q±D±¼!¸Q¹$¸q¹&ÄÀAÁ¹+Ð/FÐ&GÓHÒHÐHÐHä	ˆ1‰ŒQ‰€AÜŒqˆ6€DÜ�1�dÓœv¨¬!©¨Q¬q©S z°A´a±C¸°8Ð&<Ó=Ò=Ð=Ð=ä	ˆ1‰ŒQ�‰T‰	€AÜ�1�dÓÜ�”1�a‘4‘˜œ1™œQ ™T™Ð" Q¤q¡S¬¨A©¡X¨q´°A±©v´a©xÐ$8Ð9Ó:ò;ð ;ð ;ô 	
ŒAŒa�‰d‰F‰
€AÜ	ˆ1‰ˆq”�A‘‰v‰€AÜ
�1˜œ!™�*Ø”Q‘3˜œ!™�*ðó €Cà”'˜!œV¤Q¬ F›^Ó,Ò,Ð,Ð,Ø”'˜!œV¤Q¬ F›^×-Ñ-Ó.Ò.Ð.Ð.Ü�1”qœ!�f˜q˜cÓ"¤fØ�”1�a‘4‘˜œ1™ÐØ	
Œ1ˆa‰4‰�A”a‘C˜œ1™ÐØŒa‰C�A”a‘C˜1Ðð.ó ' ò  ð  ñ  rr   c                  ó  — t        t        t        «      t        t        «      gt        «      t        t        «      dz  t        t        «      dz  z   k(  sJ ‚t        t	        t        «      t	        dt        z  «      gt        «      t	        dt        z  «      k(  sJ ‚t        t	        t        «      t        gt        «      t	        t        «      t        t	        t        «      z  z
  k(  sJ ‚t        dt        t        dz  gt        «      dk(  sJ ‚dt	        t        «      z  t        t        «      z  t        z  dt        t        «      z  t	        t        «      z  t        dz  z  z   dt	        t        «      z  t        t        «      z  t        z  z
  t	        t        «      t        t        «      z  t        dz  z  z
  t	        t        «      t        t        «      z  t        dz  z  z   } t        t	        t        «      t        t        «      t        dz  gt        «      j                  «       | k(  sJ ‚t        t	        t        «      t        t        «      t        dz  gt        d¬«      j                  «       | k(  sJ ‚t        dz   t        t        «      dz  z  t        dz  t        t        «      dz  z  z
  dt        z  t        t        «      dz  z  z
  dt        z  t        t        «      dz  z  z
  }t        t        t        «      t        t        «      t        dz  gt        «      j                  «       |k(  sJ ‚t        t        t        «      t        t        «      t        dz  gt        d¬«      j                  «       |k(  sJ ‚t        g t        «      dk(  sJ ‚y )NrŠ   r‰   r¦   r:  r¬   rJ  rƒ  )rA   r   rc   r   r   r   )Úw1Úw2s     rs   Útest_wronskianr,  &  s‚  € Ü”cœ!“fœc¤!›fÐ%¤qÓ)¬S´«V°Q©Y¼¼Q»À¹Ñ-BÒBÐBÐBÜ”cœ!“fœc !¤A¡#›hÐ'¬Ó+¬s°1´Q±3«xÒ7Ð7Ð7Ü”cœ!“fœa�[¤!Ó$¬¬A«´´3´q³6±Ñ(9Ò9Ð9Ð9Ü�aœœA˜q™D�\¤1Ó%¨Ò*Ð*Ð*Ø	ŒC”‹F‰”3”q“6Ñ	œ!Ñ	˜a¤¤A£™h¤s¬1£v™o¬a°©dÑ2Ñ	2°Q´s¼1³v±X¼cÄ!»f±_ÄQÑ5FÑ	FÜŒA‹Œs”1‹v‰”a˜‘dÑñ
Ü ¤›V¤C¬£F™]¬1¨a©4Ñ/ñ
0€Bä”cœ!“fœc¤!›f¤a¨¡dÐ+¬QÓ/×6Ñ6Ó8¸BÒ>Ð>Ð>Ü”cœ!“fœc¤!›f¤a¨¡dÐ+¬Q°{ÔC×JÑJÓLØòð ð ä
ˆQ‰$ˆŒs”1‹v�q‰y‰œ1˜a™4¤¤A£¨¡	™>Ñ	)¨A¬a©C´´A³¸±	©MÑ	9¸A¼a¹CÄÄAÃÈÁ	¹MÑ	I€BÜ”cœ!“fœc¤!›f¤a¨¡dÐ+¬QÓ/×6Ñ6Ó8¸BÒ>Ð>Ð>Ü”cœ!“fœc¤!›f¤a¨¡dÐ+¬Q°{ÔC×JÑJÓLØòð ð ä�RœÓ˜qÒ Ð Ñ rr   c                  ó¬  — t        dt        gt        dgg«      j                  t        d«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  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«      j                  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«      j                  t        dt        di«      t        ddgddgg«      k(  sJ ‚t        t        t        z  g«      j                  t        t        dz
  t        t        dz
  id¬	«      t        t        dz
  t        dz
  z  g«      k(  sJ ‚t        D ]7  } t        dd
gd
dgg«      | j                  d«      j                  dd«      k(  rŒ7J ‚ y )Nr¦   r«   r¾   rŠ   rù   r  r±   T)Úsimultaneousr   )r5   rc   r  rd   r�   r9   ©rš   s    rs   Ú	test_subsr0  7  sÕ  € Ü�A”q�6œA˜q˜6Ð"Ó#×(Ñ(¬¨AÓ.´&¸1¸a¸&À1ÀaÀ&Ð9IÓ2JÒJÐJÐJÜ”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬q°"¨g¼¸2°wÐ-?Ó@Ü��Q�˜"˜a˜Ð!Ó"ò#ð #ð #ä”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬q°"¨g¼¸2°wÐ-?Ó@Ü��Q�˜"˜a˜Ð!Ó"ò#ð #ð #ä”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬a°´Q¸¨^Ó<Ü��Q�˜"˜a˜Ð!Ó"ò#ð #ð #ä”1”Q‘3�%‹=×Ñœq¤! a¡%¬¬A°©EÐ2ÀÐÓFÜ”�Q‘œ˜Q™‘Ð Ó!ò"ð "ð "ô ò AˆÜ˜˜1�v  1˜vÐ&Ó'¨3¯7©7°1«:¯?©?¸1¸aÓ+@Ó@Ð@Ð@ñArr   c                  ó¨  — t        dt        gt        dgg«      j                  t        di«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  t        dt        di«      t        ddgddgg«      k(  sJ ‚t        D ]8  } t        ddgddgg«      | j                  d«      j                  ddi«      k(  rŒ8J ‚ y )	Nr¦   r«   r¾   rŠ   rù   r  r±   r   )r5   rc   Úxreplacerd   r�   r9   r/  s    rs   Útest_xreplacer3  E  sâ   € Ü�A”q�6œA˜q˜6Ð"Ó#×,Ñ,¬a°¨VÓ4Ü��A�˜˜A˜ÐÓ ò!ð !ð !ä”A�q�6œA¤™E 1˜:Ð&Ó'×0Ñ0´!°R¼¸B°Ó@Ü��Q�˜"˜a˜Ð!Ó"ò#ð #ð #äò GˆÜ˜˜1�v  1˜vÐ&Ó'¨3¯7©7°1«:×+>Ñ+>ÀÀ1¸vÓ+FÓFÐFÐFñGrr   c                  ó  — 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«      }|j                  «        |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«      }|j                  «        |t        |gg«      k(  sJ ‚|j                  t        ¬«       |t        |j                  t        ¬«      gg«      k(  sJ ‚y )Nr�   r%  r¦   rŠ   )Úratio)	r   r   r5   rc   rd   r   r   r)   r   )r�   r%  rÉ   Úeqs       rs   Útest_simplifyr7  M  s\  € Üˆs‹€AÜ�‹€Aä˜Qœq™S 1¤Q¡3™Y¼¼Q¼q¹S¹ÄA¹ÐHÙ”Q“4œ!™Aœa›D™&‘=¡!¤A£$Ñ&¨¨Q¨q©S´3°q¼2±v³;¸q±=Ñ-@Ñ(AÄBÑ(FÐHðJó 	K€Aà‡J�J„LØ”œ1œq™5¤1¤q¡5™/À!ÄaÁ%ÐIØ$%¬¡E¨1¨q°1´S¼¸A¹³Y±;©ÄÀAÁÑ.FÑ+GÐIðKó Lò Lð Lð Là
Œa‰%�!‰€BÜ��ˆv‹€AØ‡J�J„LØ”˜˜�v“ÒÐÐØ‡J�J”R€JÔØ”˜Ÿ™¬2˜Ó.Ð/Ð0Ó1Ò1Ð1Ñ1rr   c                  ó
  — t        g d¢g d¢g«      } | j                  t        ddgddgddgddgddgddgddgd	d	gd
d
gddgg
«      k(  sJ ‚| j                  j                  | k(  sJ ‚| j                  | j                  «       k(  sJ ‚y )N)
r¦   rŠ   r‰   r«   r¾   r¬   r¿   rÂ   r¼   r   r¦   rŠ   r‰   r«   r¾   r¬   r¿   rÂ   r¼   r   )r5   r´  r   r(  s    rs   Útest_transposer9  ^  s¬   € ÜÒ.Ú.ð0ó 	1€Aà�3‰3”&˜Q ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜Fð	%ó 	&ò 	&ð 	&ð 	&ð �3‰3�5‰5�AŠ:Ðˆ:Ø�3‰3�!—+‘+“-ÒÐÑrr   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                  | 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 ‚y )Nr   r¾   )r¦   rŠ   r   r¦   rŠ   )r5   r
   r´  rë   Ú	conjugateÚHr(  s    rs   Útest_conjugater=  o  sí   € Ü�”A�q�	Úðó 	€Að �3‰3”&˜1˜a˜&Ü˜a˜&Ø˜a˜&ð"ó #ò #ð #ð #ð �3‰3”&˜1œq˜b !˜*Ú$ð&ó 'ò 'ð 'ð 'à�3‰3�!—+‘+“-ÒÐÐà�3‰3�!—#‘#—%‘%Š<Ðˆ<Ø�3‰3”&˜A˜q˜'Ü˜2˜q˜'Ø˜q˜'ð#ó $ò $ð $ñ $rr   c            
      ó"  — t        t        d„ «       t        dt        t        t        gddt        t        gdddt        gg d¢g«      } | j                  t        g d¢t         dddgt         t         ddgt         t         t        dgg«      k(  sJ ‚y )Nc                  ó,   — t        d«      j                  S rá  )r9   ÚDrq   rr   rs   r~   z!test_conj_dirac.<locals>.<lambda>‚  s   € ¤3 q£6§8¡8€ rr   r¦   r   r}  rÙ  rù   )rR   ÚAttributeErrorr5   r
   r@  r(  s    rs   Útest_conj_diracrB  �  s”   € Ü
Œ>Ñ+Ô,ä�”A”qœ!�Ø�A”qœ!�Ø�A�qœ!�Úðó 	€Að
 �3‰3”&Ò*Ü˜2  A¨Ð*Ü˜2¤˜r 2¨Ð*Ü˜2¤˜r¤A rÐ*ð,ó -ò -ð -ñ -rr   c                  óV   — t        g d¢g d¢g d¢g«      } | j                  «       dk(  sJ ‚y )N©r¦   r   r   ©r   r¾   r   )r   r   rÂ   rÑ  ©r5   Útracer(  s    rs   Ú
test_tracerH  �  s-   € Ü’	ÚÚðó 	€Að �7‰7‹9˜Š?Ð‰?rr   c                  ó\   — t        t        ddgdt        dgg«      } | j                  dk(  sJ ‚y )Nr   rË  )r5   rc   rd   r‘   r(  s    rs   Ú
test_shaperJ  –  s4   € Ü”�A�q�	Ø”A�q�	ðó 	€Aà�7‰7�fÒÐÑrr   c                  óÒ  — t        t        ddgdt        dgg«      } | j                  dd„ «       | t        t        ddgdt        dz   dgg«      k(  sJ ‚| j	                  dd„ «       | t        t        dz   ddgdt        z   t        dz   dgg«      k(  sJ ‚| j                  d«      t        t        dz   ddgg«      k(  sJ ‚| j                  d«      }d|d<   | d   t        dz   k(  sJ ‚| dd d	…f   }d|d<   | d   t        dz   k(  sJ ‚| j                  d«      }|t        t        dz   dt        z   g«      k(  sJ ‚d|d<   | d   t        dz   k(  sJ ‚| d d …df   }d|d<   | d   t        dz   k(  sJ ‚y )
Nr   r¦   c                 ó   — | |z   dz   S ©Nr¦   rq   )Úrr}   s     rs   r~   z!test_col_row_op.<locals>.<lambda>Ÿ  s   € ˜Q ™U Q™Y€ rr   rŠ   r‰   c                 ó   — | t         |z  z   S ry   )rd   )ra   r}   s     rs   r~   z!test_col_row_op.<locals>.<lambda>£  s   € ˜Q¤ A¡™X€ rr   é*   rÁ   rù   )r5   rc   rd   Úrow_opÚcol_opÚrowÚcol)rÉ   Úr1Úc1s      rs   Útest_col_row_oprW  œ  s®  € Ü”�A�q�	Ø”A�q�	ðó 	€Aà‡H�HˆQÑ&Ô'Ø”œ  1˜ØœA ™E 1˜ð'ó (ò (ð (ð (ð ‡H�HˆQÑ%Ô&Ø”œ˜Q™ A qÐ)ØœQ™¤ A¡ qÐ)ð+ó ,ò ,ð ,ð ,ð
 �5‰5�‹8”v¤ A¡ q¨!˜}˜oÓ.Ò.Ð.Ð.Ø	
�‰ˆq‹€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
ˆ1ˆcˆrˆcˆ6‰€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
�‰ˆq‹€BØ”œ˜Q™ ¤A¡˜Ó'Ò'Ð'Ð'Ø€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
Š1ˆaˆ4‰€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÑrr   c                  ó†   — t        g d¢g d¢g«      } | j                  dd«       | d   dk(  sJ ‚| d   dk(  sJ ‚| d   d	k(  sJ ‚y )
Nrª   ©r«   r¾   r¬   r¦   r‰   rÍ   rà   rÁ   rµ   rÏ   )r5   Úrow_multr(  s    rs   Útest_row_multr[  ¹  sS   € Ü’Úðó 	€Aà‡J�Jˆq�„OØˆS‰6�RŠ<Ðˆ<ØˆS‰6�QŠ;Ðˆ;ØˆS‰6�RŠ<Ð‰<rr   c                  óŽ   — t        g d¢g d¢g d¢g«      } | j                  ddd«       | d   dk(  sJ ‚| d	   d
k(  sJ ‚| d   dk(  sJ ‚y )Nrª   rY  ©r¦   r¦   r¦   rŠ   r   r¾   rÁ   r¬   rÍ   r«   ©r   rŠ   rÂ   )r5   Úrow_addr(  s    rs   Útest_row_addr`  Â  s[   € Ü’ÚÚðó 	€Að ‡I�Iˆa��!ÔØˆS‰6�QŠ;Ðˆ;ØˆS‰6�QŠ;Ðˆ;ØˆS‰6�QŠ;Ð‰;rr   c                  ó   — t         d d D ]‚  } | j                  d«      }|j                  ddd„ «       | | g d¢g d¢g d¢g«      k(  sJ ‚| j                  d«      dz  }d	|d
<   |j                  ddd„ «       | | | g d¢g d¢g d¢g«      k(  rŒ‚J ‚ y )NrŠ   r‰   r¦   r   c                 ó   — | d|z  z   S rï  rq   ©r§   Úus     rs   r~   z!test_zip_row_op.<locals>.<lambda>Ï  ó   € ¨¨A¨a©C©€ rr   rD  ©rŠ   r¦   r   r  rù   rÃ   c                 ó   — | d|z  z   S rï  rq   rc  s     rs   r~   z!test_zip_row_op.<locals>.<lambda>Ö  re  rr   )rŠ   rù   r   )r«   r   r   r  )r�   r9   Ú
zip_row_op)rš   rÉ   s     rs   Útest_zip_row_opri  Ì  s°   € Ü�r˜ˆ{ò &ˆØ�G‰G�A‹JˆØ	�‰�Q˜Ñ/Ô0Ø‘CšÚ"Ú"ð$ó %ò %ð 	%ð %ð �G‰G�A‹J�q‰LˆØˆˆ$‰Ø	�‰�Q˜Ñ/Ô0±!Ø‘CšÚ#Ú#ð%ó &ó &ð 	&ð &ñ&rr   c                  ó”   — t        g d¢«      } t        g d¢«      }t        g d¢«      }| dvsJ ‚| dvsJ ‚| dk7  sJ ‚| |k(  sJ ‚| |k7  sJ ‚y )Nrª   )rŠ   rŠ   r‰   rq   )r¦   r¦   rñ   )r›   r_   r`   s      rs   Útest_issue_3950rk  Û  sY   € ÜŠyÓ€AÜŠyÓ€AÜŠyÓ€AØ�R‘Ð�Ø�S‘Ð�Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š6€M‰6rr   c                  ód  —  G d„ d«      }  G d„ d«      } | «       } |«       }t        g d¢«      }||   dk(  sJ ‚d||<   |d   dk(  sJ ‚t        g d¢g d	¢g«      }|||f   d
k(  sJ ‚|d|f   d
k(  sJ ‚||df   d
k(  sJ ‚d|||f<   |d   dk(  sJ ‚d
|d|f<   |d   d
k(  sJ ‚d||df<   |d   dk(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zy)útest_issue_3981.<locals>.Index1c                  ó   — yrM  rq   ©Úselfs    rs   Ú	__index__z)test_issue_3981.<locals>.Index1.__index__è  ó   € Ørr   N©rn   ro   rp   rr  rq   rr   rs   ÚIndex1rn  ç  ó   „ ó	rr   ru  c                   ó   — e Zd Zd„ Zy)útest_issue_3981.<locals>.Index2c                  ó   — yrï  rq   rp  s    rs   rr  z)test_issue_3981.<locals>.Index2.__index__ì  rs  rr   Nrt  rq   rr   rs   ÚIndex2rx  ë  rv  rr   rz  rª   r‰   r¾   rŠ   rY  r¬   r¦   r«   rµ   rÂ   rñ   )ru  rz  Úindex1Úindex2r›   s        rs   Útest_issue_3981r}  æ  s  € ÷ñ ÷ñ ñ ‹X€FÙ‹X€FäŠyÓ€AàˆV‰9˜Š>Ðˆ>à€A€f�IØˆQ‰4�1Š9Ðˆ9ä’	š9Ð%Ó&€AØˆV�Vˆ^Ñ Ò!Ð!Ð!ØˆQ�ˆY‰<˜1ÒÐÐØˆV�QˆY‰<˜1ÒÐÐà€A€fˆf€nÑØˆT‰7�aŠ<Ðˆ<Ø€A€aˆ€i�LØˆT‰7�aŠ<Ðˆ<Ø€A€fˆa€i�LØˆT‰7�aŠ<Ð‰<rr   c                  óì   ‡ — t        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 ‚y )Nr¾   r¬   c              3   ón   •K  — | ],  } ‰j                   «       |   ‰|   j                  «       k(  –— Œ. y ­wry   ©Úevalf©r�   r|   r_   s     €rs   rŽ   ztest_evalf.<locals>.<genexpr>  s,   øè ø€ Ò>°ˆwˆq�w‰w‹y˜‰|˜q ™tŸz™z›|Õ+Ñ>ùó   ƒ25rŠ   c              3   ór   •K  — | ].  } ‰j                   d «      |   ‰|   j                  d «      k(  –— Œ0 y­w©rŠ   Nr€  r‚  s     €rs   rŽ   ztest_evalf.<locals>.<genexpr>  s0   øè ø€ Ò@°!ˆwˆq�w‰w�q‹z˜!‰}  !¡§
¡
¨1£Õ-Ñ@ùó   ƒ47c              3   ór   •K  — | ].  } ‰j                   d «      |   ‰|   j                  d «      k(  –— Œ0 y­wr…  r€   r‚  s     €rs   rŽ   ztest_evalf.<locals>.<genexpr>	  s0   øè ø€ Ò8¨!ˆsˆq�s‰s�1‹v�a‰y˜A˜a™DŸF™F 1›IÕ%Ñ8ùr†  )r5   r   r’   rÇ   ©r_   s   @rs   Ú
test_evalfr‰    s]   ø€ Ü”�Q“˜ˆ|Ó€AÜÓ>´U¸1³XÔ>Ô>Ð>Ð>ÜÓ@´u¸Q³xÔ@Ô@Ð@Ð@ÜÓ8¬u°Q«xÔ8Ô8Ð8Ñ8rr   c                  óJ  — t        t        t        gt        t        gg«      }  | j                  «       du sJ ‚t        g d¢g d¢g«      }  | j                  «       du sJ ‚t        g d¢ddt        dgg«      }  | j                  «       du sJ ‚t        dt        d	gg«      }  | j                  «       du sJ ‚t        g d
¢g«      }  | j                  «       du sJ ‚t        dgt        gd	gg«      }  | j                  «       du sJ ‚t        dgdgd	gg«      }  | j                  «       du sJ ‚y )NTrØ  rÛ  Fr¾   r¬   rÂ   r¦   r‰   rª   rŠ   )r5   rc   Úis_symbolicrˆ  s    rs   Útest_is_symbolicrŒ    s#  € Ü””A�œœA˜ÐÓ €AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü’šlÐ+Ó,€AØˆ1�=‰=‹?˜eÑ#Ð#Ð#Ü’˜q !¤Q¨˜lÐ+Ó,€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü�”A�q�	ˆ{Ó€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü’	ˆ{Ó€AØˆ1�=‰=‹?˜eÑ#Ð#Ð#Ü��”a�S˜1˜#ˆÓ€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü���a�S˜1˜#ˆÓ€AØˆ1�=‰=‹?˜eÑ#Ð#Ñ#rr   c                  óº   — t        g d¢g«      } | j                  du sJ ‚t        dgdgdgg«      } | j                  du sJ ‚t        dd«      } | j                  du sJ ‚y )Nrª   Tr¦   rŠ   r‰   Fr«   )r5   Úis_upperrB   rˆ  s    rs   Útest_is_upperr�    se   € Ü’	ˆ{Ó€AØ�:‰:˜ÑÐÐÜ���a�S˜1˜#ˆÓ€AØ�:‰:˜ÑÐÐÜˆa�‹€AØ�:‰:˜ÑÐÑrr   c                  ó‚   — t        g d¢g«      } | j                  du sJ ‚t        dgdgdgg«      } | j                  du sJ ‚y )Nrª   Fr¦   rŠ   r‰   T)r5   Úis_lowerrˆ  s    rs   Útest_is_lowerr’  &  sH   € Ü’	ˆ{Ó€AØ�:‰:˜ÑÐÐÜ���a�S˜1˜#ˆÓ€AØ�:‰:˜ÑÐÑrr   c                  óÌ   — t        ddg d¢«      }  | j                  «       sJ ‚t        ddgddgg«      }  | j                  «       rJ ‚t        g «      }  | j                  «       sJ ‚y )Nr«   )r   rŠ   r¦   r¬   r   r   r¦   rŠ   r   r   r   r‰   r   r   r   r   r¦   r   ©r5   rv  rˆ  s    rs   Útest_is_nilpotentr•  -  sg   € Üˆq�!ÒEÓF€AØˆ1�>‰>ÔÐÐÜ��A�˜˜A˜ÐÓ €AØˆq�~‰~ÔÐÐÜˆr‹
€AØˆ1�>‰>ÔÐÑrr   c                  ó|  — d\  } }t        | |«      } |j                  d«       dt        | |«      z  }||k(  sJ ‚|j                  |j                  cxk(  rdk(  sJ ‚ J ‚|j                  |j                  cxk(  rdk(  sJ ‚ J ‚|j
                  |j
                  cxk(  rdk(  sJ ‚ J ‚t        d«      t        dd«      k(  sJ ‚t        d«      t        dd«      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚ |j                  d«       |t        | |«      k(  sJ ‚y )N)r‰   r¾   r¾   r‰   rŠ   r   r¬   r¦   )rB   Úfillr<   r“   r”   r‘   r5   )r�   r›   r_   r`   s       rs   Útest_zeros_ones_fillr˜  6  s7  € Ø�D€A€qäˆa�‹€AØ
€A‡F�FˆA„Kà	ŒD��A‹J‰€Aà�Š6€Mˆ6Ø�6‰6�Q—V‘VÔ ˜qÒ Ð Ñ Ð Ð Ø�6‰6�Q—V‘VÔ ˜qÒ Ð Ñ Ð Ð Ø�7‰7�a—g‘gÔ' Ò'Ð'Ñ'Ð'Ð'Ü�‹8”u˜Q “{Ò"Ð"Ð"Ü�‹7”d˜1˜a“jÒ Ð Ð Ü��A‹;œ&  A¨ s¨1¡uÓ-Ò-Ð-Ð-Ü��1‹:œ  1 q c¨!¡eÓ,Ò,Ð,Ð,à
€A‡F�Fˆ1„IØ”�a˜“ÒÐÑrr   c                  óð   — t        d«      } | t        «       k(  sJ ‚t        dd«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚t        dd«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚y )Nr   rŠ   )rB   r5   r“   r”   rˆ  s    rs   Útest_empty_zerosrš  K  so   € Üˆa‹€AØ”“Š=Ðˆ=Üˆa�‹€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Üˆa�‹€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ð‰;rr   c                  óÊ  — t        t        dz  t        t        z  gt        t        t        «      z  t        t	        t        «      z  gg«      }  | j
                  t        «      t        dt        z  t        gt        t        «      t	        t        «      gg«      k(  sJ ‚t        t        t         t        dz  gt        t        «      dt        z  t        t         «      z
  t        dt        z  z   gg«      j                  t        t        «      t        t        t         t        gt        dt        gg«      k(  sJ ‚t        t        t        «      dz
  t        z  dt        z  t        t        z  z   t        t        z  gdt        z  t        t        «      t        t        t        dz   «      «      gg«      j                  t        d«      t        g d¢t        dt        d«      gg«      k(  sJ ‚ | j                  t        «      t        t        dd«      t        dz  z  t        t        dz  z  dz  gt        dz  t        t        «      z  dz  t        dz  t	        t        «      z  dz  gg«      k(  sJ ‚y )NrŠ   r¦   r   )r¦   r   r¦   r‰   )r5   rc   rd   r   r   r   r   Úlimitr   r²   r   r   rˆ  s    rs   Útest_issue_3749r�  V  s×  € Ü”�A‘”qœ‘s�œa¤¤A£™h¬¬#¬a«&©Ð1Ð2Ó3€AØˆ1�6‰6”!‹9œ ¤1¡¤a ¬3¬q«6´3´q³6Ð*:Ð;Ó<Ò<Ð<Ð<ÜÜ	
ŒQˆB”�1‘ˆÜ	ŒQ‹�”1‘”sœA˜2“w‘¤ A¤a¡C¡Ð(ð*ó +ç+0©5´´B«<Ü””b�Sœ"�¤ A¤r˜{Ð+Ó,ò-ð -ð -ô Ü
Œa‹&�1‰*”a‰˜œ1™œq¤™s™¤A¤q¡DÐ*Ø	
Œ1‰Œc”!‹f”cœ#œa !™e›*“oÐ&ð(ó )ç).©¬q°!«Ü’	œB ¤3 q£6˜?Ð+Ó,ò-ð -ð -ð ˆ1�;‰;”q‹>œVÜ	�!�Q‹œ˜1™Ñ	œa¤ 1¡™f Q™hÐ'Ü	
ˆA‰Œc”!‹f‰�Q‰œ˜1™œS¤›V™ A™Ð&ð%(ó )ò )ð )ñ )rr   c                  óž   — t        d«      } | j                  dd«       dD ]+  }| j                  |d„ ¬«      | j                  d¬«      k(  rŒ+J ‚ y )	Nr«   r   r¦   )r‚  r‹  c                 ó   — | dk(  S r…   rq   rð  s    rs   r~   z%test_inv_iszerofunc.<locals>.<lambda>j  s
   € ¸¸a¹€ rr   )r„  Ú
iszerofuncrŽ  rƒ  )r9   Úcol_swapr-  )ré   r„  s     rs   Útest_inv_iszerofuncr¢  f  sV   € ÜˆA‹€AØ‡J�Jˆq�!ÔØò  ˆØ�u‰u˜FÑ/?ˆuÓ@Ø�E‰E˜ˆEÓó ð 	 ð  ñ rr   c                  ó&  — t        d«      \  } }t        | t        |«      z  | t        |«      z  g«      }t        | |g«      }|j	                  |«      }||j	                  |j
                  «      k(  sJ ‚||j
                  j	                  |«      k(  sJ ‚||j
                  j	                  |j
                  «      k(  sJ ‚|j
                  t        |j                  d   «      z  |z  }|j                  t        «      }|t        ddgd| dz  gg«      k(  sJ ‚y )Núrho,phir   r¦   rŠ   )
r   r5   r   r   r"  r´  r9   r‘   rò  r*   )ÚrhoÚphiÚXÚYr0  r&  s         rs   Útest_jacobian_metricsr©  n  sï   € Ü�yÓ!�H€CˆÜ�”C˜“H‘˜c¤# c£(™lÐ+Ó,€AÜ��SˆzÓ€AØ	�
‰
�1‹€AØ�—
‘
˜1Ÿ3™3“ÒÐÐØ�—‘—‘˜qÓ!Ò!Ð!Ð!Ø�—‘—‘˜qŸs™sÓ#Ò#Ð#Ð#Ø	�‰ŒC�—‘˜‘
‹OÑ˜AÑ€AØ	�‰”HÓ€AØ”˜˜A˜  C¨¡F Ð,Ó-Ò-Ð-Ñ-rr   c                  ó<  — t        d«      \  } }t        | t        |«      z  | t        |«      z  | dz  g«      }t        | |g«      }t        t        |«      |  t        |«      z  gt        |«      | t        |«      z  gd| z  dgg«      }|j	                  |«      |k(  sJ ‚y )Nr¤  rŠ   r   )r   r5   r   r   r"  )r¥  r¦  r§  r¨  r0  s        rs   Útest_jacobian2r«  {  s    € Ü�yÓ!�H€CˆÜ�”C˜“H‘˜c¤# c£(™l¨C°©FÐ3Ó4€AÜ��SˆzÓ€AÜÜ	ˆS‹�C�4œ˜C›‘=Ð!Ü	ˆS‹�Cœ˜C›‘LÐ!Øˆc‰E˜qÐ!ðó 	€Að
 �:‰:�a‹=˜AÒÐÑrr   c                  ó  — t        t        t        t        z   t        z   «      t        t        t        z   t        z   «      t        t        t        z   t        z   «      g«      } t        t        t        t        g«      }t        dd«      D ]z  }t        dd«      D ]i  }| d |…d d …f   }|d |…d d …f   }|j                  |«      }|j                  |k(  sJ ‚|j                  |k(  sJ ‚t        |«      D ]  }|d d …|f   |k(  rŒJ ‚ Œk Œ| y ©Nr¦   r‰   )	r5   r   rc   rd   re   rÇ   r"  r“   r”   )r§  r¨  r|   r}   ÚX_sliceÚY_slicer0  rè   s           rs   Útest_issue_4564r°  ‡  sì   € Ü””Aœ‘EœA‘I“¤¤A¬¡E¬A¡I£´´A¼±E¼A±I³Ð?Ó@€AÜ””1”aˆyÓ€AÜ�1�a‹[ò *ˆÜ�q˜!“ò 	*ˆAØ˜˜˜šA˜‘hˆGØ˜˜˜šA˜‘hˆGØ× Ñ  Ó)ˆAØ—6‘6˜Q’;Ð�;Ø—6‘6˜Q’;Ð�;Ü˜1“Xò *�Øš˜A˜‘w 'Ó)Ð)Ð)ñ*ñ	*ñ*rr   c                  óÊ  ‡ ‡— t        t        t        t        z   t        z   «      t        t        t        z   t        z   «      gt        t        t        z   t        z   «      t        t        t        z   t        z   «      gg«      Š t        t        ˆ fd„«       ‰ dd d …f   Š t        t        t        gt        t        gg«      Št        t        ˆ ˆfd„«       t        t        ˆ fd„«       y )Nc                  óV   •— ‰ j                  t        t        t        t        g«      «      S ry   ©r"  r5   rc   rd   re   ©r§  s   €rs   r~   z(test_nonvectorJacobian.<locals>.<lambda>˜  s   ø€ ˜aŸj™j¬´´A´q°	Ó):Ó;€ rr   r   c                  ó&   •— ‰ j                  ‰«      S ry   )r"  ©r§  r¨  s   €€rs   r~   z(test_nonvectorJacobian.<locals>.<lambda>›  s   ø€ ˜aŸj™j¨›m€ rr   c                  ód   •— ‰ j                  t        t        t        gt        t        gg«      «      S ry   r³  r´  s   €rs   r~   z(test_nonvectorJacobian.<locals>.<lambda>œ  s"   ø€ ˜aŸj™j¬´1´a°&¼1¼a¸&Ð0BÓ)CÓD€ rr   )r5   r   rc   rd   re   rR   Ú	TypeErrorr¶  s   @@rs   Útest_nonvectorJacobianr¹  •  s–   ù€ Ü””Qœ‘UœQ‘Y“¤¤Q¬¡U¬Q¡Y£Ð0Ü”Qœ‘UœQ‘Y“¤¤Q¬¡U¬Q¡Y£Ð0ð2ó 	3€Aä
Œ9Ó;Ô<Ø	ˆ!ŠQˆ$‰€AÜ””A�œœA˜ÐÓ €AÜ
Œ9Ô+Ô,Ü
Œ9ÓDÕErr   c                  ó¢   — t        ddgddgg«      } | j                  «       }|j                  dk(  sJ ‚t        d«      D ]  }||   |dz   k(  rŒJ ‚ y ©Nr¦   r‰   rŠ   r«   )r5   Úvecr”   rÇ   )r›   Úm_vecr|   s      rs   Útest_vecr¾  Ÿ  s]   € Ü��A�˜˜A˜ÐÓ €AØ�E‰E‹G€EØ�:‰:˜Š?Ðˆ?Ü�1‹Xò !ˆØ�Q‰x˜1˜q™5Ó Ð Ð ñ!rr   c                  óà  — t        ddgddgg«      } | j                  «       }|j                  dk(  sJ ‚t        d«      D ]  }||   |dz   k(  rŒJ ‚ | j                  d¬«      }|d   dk(  sJ ‚t        dt        t        t
        z   z  gt
        t        z  t        dz  z   dgg«      } | j                  d¬«      }|d   t
        t        z  t        dz  z   k(  sJ ‚t        dt        t        t
        z   z  gt
        t        z  dgg«      } | j                  dd¬«      }|d   t
        t        z  k(  sJ ‚t        t        d„ «       t        t        d	„ «       t        t        d
„ «       t        t        d„ «       y )Nr¦   rŠ   r‰   F)Údiagonalr   )rÀ  Úcheck_symmetryc                  ó:   — t        ddgg«      j                  «       S r­  ©r5   Úvechrq   rr   rs   r~   ztest_vech.<locals>.<lambda>¸  ó   € œv¨¨1 v hÓ/×4Ñ4Ó6€ rr   c                  ó@   — t        ddgddgg«      j                  «       S r»  rÃ  rq   rr   rs   r~   ztest_vech.<locals>.<lambda>¹  ó!   € œv¨¨1 v°°1¨vÐ&6Ó7×<Ñ<Ó>€ rr   c                  ó:   — t        ddgg«      j                  «       S r­  rÃ  rq   rr   rs   r~   ztest_vech.<locals>.<lambda>º  rÅ  rr   c                  ó@   — t        ddgddgg«      j                  «       S r»  rÃ  rq   rr   rs   r~   ztest_vech.<locals>.<lambda>»  rÇ  rr   )	r5   rÄ  r”   rÇ   rc   rd   rR   r+   r$  )r›   Úm_vechr|   s      rs   Ú	test_vechrË  §  sO  € Ü��A�˜˜A˜ÐÓ €AØ�V‰V‹X€FØ�;‰;˜!ÒÐÐÜ�1‹Xò "ˆØ�a‰y˜A ™EÓ!Ð!Ð!ð"à�V‰V˜UˆVÓ#€FØ�!‰9˜Š>Ðˆ>ä�”A”qœ1‘u‘I�¤¤1¡¤q¨!¡t¡¨Q Ð0Ó1€AØ�V‰V˜UˆVÓ#€FØ�!‰9œœ!™œa ™d™
Ò"Ð"Ð"ä�”A”qœ1‘u‘I�¤¤1¡ a Ð)Ó*€AØ�V‰V˜U°5ˆVÓ9€FØ�!‰9œœ!™ÒÐÐä
Œ:Ñ6Ô7Ü
Œ:Ñ>Ô?Ü
Œ:Ñ6Ô7Ü
Œ:Ñ>Õ?rr   c                  ó¬   ‡ — t        g d¢«      t        g d¢«      k(  sJ ‚dddggŠ t        t        ˆ fd„«       t        ‰ d¬«      t        g d¢«      k(  sJ ‚y )Nrª   r¦   rŠ   r‰   c                  ó   •— t        ‰ «      S ry   )r8   rý   s   €rs   r~   ztest_diag.<locals>.<lambda>Â  s   ø€ œt A›w€ rr   F)Ústrict)r8   r5   rR   r$  rý   s   @rs   Ú	test_diagrÏ  ¾  sK   ø€ ä’	‹?œf¢YÓ/Ò/Ð/Ð/Ø	
ˆA�ˆsˆ€AÜ
Œ:“Ô'Ü�˜%Ô ¤Fª9Ó$5Ò5Ð5Ñ5rr   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«      } | j                  «       | gk(  sJ ‚ |j                  «       |gk(  sJ ‚ |j                  «       |gk(  sJ ‚y ©Nr¦   rŠ   r‰   )r5   rc   rd   re   Úget_diag_blocks©r_   r`   ra   s      rs   Útest_get_diag_blocks1rÔ  Æ  s¤   € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AØˆ1×ÑÓ 1 #Ò%Ð%Ð%Øˆ1×ÑÓ 1 #Ò%Ð%Ð%Øˆ1×ÑÓ 1 #Ò%Ð%Ñ%rr   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	        | ||«      j                  «       | ||gk(  sJ ‚t	        | ||«      j                  «       | ||gk(  sJ ‚t	        | ||«      j                  «       | ||gk(  sJ ‚t	        |||«      j                  «       |||gk(  sJ ‚y rÑ  )r5   rc   rd   re   r8   rÒ  rÓ  s      rs   Útest_get_diag_blocks2rÖ  Ï  sç   € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AÜ��1�a‹=×(Ñ(Ó*¨q°!°Q¨iÒ7Ð7Ð7Ü��1�a‹=×(Ñ(Ó*¨q°!°Q¨iÒ7Ð7Ð7Ü��1�a‹=×(Ñ(Ó*¨q°!°Q¨iÒ7Ð7Ð7Ü��1�a‹=×(Ñ(Ó*¨q°!°Q¨iÒ7Ð7Ñ7rr   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	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | | || || «      }|j                  d¬«      t	         | j
                  «        | j
                  «        |j
                  «        | j
                  «        |j
                  «        | j
                  «       «      k(  sJ ‚|j                  dd¬«      t	         | j
                  d¬«       | j
                  d¬«       |j
                  d¬«       | j
                  d¬«       |j
                  d¬«       | j
                  d¬«      «      k(  sJ ‚y )	Nr¦   rŠ   r‰   T)Útry_block_diagrŽ  )rØ  r„  rƒ  )r5   rc   rd   re   r8   r-  )r_   r`   ra   ré   s       rs   Útest_inv_blockrÙ  Ù  s  € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1�a˜˜AÓ€AØ�5‰5 ˆ5Ó%¬Øˆ�‰‹��—‘“˜%˜!Ÿ%™%›' 5 1§5¡5£7¨E¨A¯E©E«G°U°Q·U±U³Wó*>ò >ð >ð >à�5‰5 ¨Uˆ5Ó3´tØˆ�‰�UÔ˜U˜QŸU™U¨%Ô0°%°!·%±%¸uÔ2EØˆ�‰�UÔ˜U˜QŸU™U¨%Ô0°%°!·%±%¸uÔ2Eó8Gò Gð Gñ Grr   c                  ó\  — t        t        d„ «       t        t        d„ «       t        t	        d«      «      t        d«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t	        d«      «      t        d«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t	        d«      t        d«      «      t        dd«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d	„ «       y
)zg
    Check that matrix dimensions can be specified using any reasonable type
    (see issue 4614).
    c                  ó   — t        dd«      S )Nr‰   rù   ©rB   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ð  s   € œu Q¨›|€ rr   c                  ó   — t        dddd«      S ©Nr¦   rŠ   r‰   r«   rÜ  rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ñ  s   € œe A q¨!¨QÓ/€ rr   r‰   c                  ó   — t        d«      S ©Nç      @rÜ  rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ô  s
   € œu R›y€ rr   c                  ó   — t        d«      S rà  ©r9   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>÷  s
   € œs 2›w€ rr   r«   c                  ó   — t        d«      S ©Nr¾   rñ   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ù  s
   € œf Q›i€ rr   c                  ó   — t        dd«      S r¥   rñ   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ú  s   € œf Q¨›l€ rr   c                  ó   — t        ddgg«      S r¥   rñ   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>û  s   € œv q¨1¨# hÓ/€ rr   N)rR   r$  r¸  rB   rz   r   r9   r<   rq   rr   rs   Útest_creation_argsrè  ë  sÜ   € ô
 Œ:Ñ+Ô,Ü
Œ9Ñ/Ô0Ü”�Q“‹=œE !›HÒ$Ð$Ð$Ü”˜“Ó¤ a£Ò(Ð(Ð(Ü
Œ:Ñ(Ô)ÜŒs�1‹v‹;œ#˜a›&Ò Ð Ð ÜŒw�q‹z‹?œc !›fÒ$Ð$Ð$Ü
Œ:‘Ô'Ü”�A“œ ›
Ó#¤t¨A¨q£zÒ1Ð1Ð1Ü
Œ9Ñ'Ô(Ü
Œ9Ñ*Ô+Ü
Œ:Ñ/Õ0rr   c                  ój  — t        ddg d¢«      } | j                  «       rJ ‚| j                  «       sJ ‚| j                  d¬«      sJ ‚t        ddg d¢«      } | j                  «       sJ ‚t        ddd«      } | j                  «       sJ ‚| j                  «       sJ ‚t        ddg d¢«      } | t        ddd«      k(  sJ ‚t        ddt	        dd«      «      } | j                  «       rJ ‚| j                  «       sJ ‚t        d	«      } | j                  «       sJ ‚t        d
«      } | j                  «       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	«      } | j                  «       sJ ‚| j                  d¬«      rJ ‚| j                  «       j                  d¬«      sJ ‚y )NrŠ   ©r   r¦   r¦   r   F©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   )r5   Úis_diagonalÚis_symmetricr8   rB   rc   rd   r   rý   s    rs   Útest_diagonal_symmetricalrð  þ  s�  € Üˆq�!’\Ó"€AØ�}‰}ŒÐÐØ�>‰>ÔÐÐØ�>‰> 5ˆ>Ô)Ð)Ð)äˆq�!’\Ó"€AØ�=‰=Œ?Ðˆ?äˆQ��1‹€AØ�=‰=Œ?Ðˆ?Ø�>‰>ÔÐÐäˆq�!Ò0Ó1€AØ”�Q˜˜1“ÒÐÐäˆq�!”U˜1˜a“[Ó!€AØ�~‰~ÔÐÐØ�=‰=Œ?Ðˆ?äÐ'Ó(€AØ�=‰=Œ?Ðˆ?äÐ%Ó&€AØ�=‰=Œ?Ðˆ?äˆq�!�aœ˜A™ ¤!¡™ a™¬¬Q°©U°Q©J¸¸1¼aÀÀAÐFÓG€AØ�>‰>ÔÐÐØ�~‰~ uˆ~Ô-Ð-Ð-Ø�8‰8‹:×"Ñ"¨EÐ"Ô2Ð2Ñ2rr   c                  óÀ  ‡— t        ddt        z   gdt        z
  dgg«      Š‰j                  «       sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚‰j                  «       rJ ‚t	        t
        ˆfd„«       t        ddd«      Š‰j                  «       \  } }| t        d«      k(  sJ ‚|‰k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| t        d«      k(  sJ ‚|‰k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d	¢«      Š‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| D ]  }|j                  «       d   dk(  rŒJ ‚ t        ddg d
¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| t        ddgddgg«      k(  sJ ‚t        ddg d¢«      Š‰j                  d«      rJ ‚t	        t        ˆfd„«       ‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚t	        t        ˆfd„«       t        ddg d¢«      Š‰j                  «       rJ ‚t	        t        ˆfd„«       t        d«      \  }}}}t        dd||||g«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚y )Nr¦   rŠ   r‰   ©r±   r¦   r±   r¨  r‰   rÒ   c                  ó$   •— ‰ j                  «       S ry   ©r~  rý   s   €rs   r~   z&test_diagonalization.<locals>.<lambda>%  ó   ø€ ¨¯©«€ rr   rê  )r¦   r   r   r‰   ©r¦   r¦   r   r   )	r¦   rŠ   r   r   r‰   r   rŠ   rP  rŠ   rÙ  r   )r   r¦   rù   r   Tc                  ó&   •— ‰ j                  d«      S )NTrô  rý   s   €rs   r~   z&test_diagonalization.<locals>.<lambda>Q  s   ø€  §¡¨dÓ 3€ rr   rÜ   c                  ó$   •— ‰ j                  «       S ry   rô  rý   s   €rs   r~   z&test_diagonalization.<locals>.<lambda>Y  ó   ø€  §¡£€ rr   )	r±   r¦   r±   r¨  r‰   rÒ   rŠ   r  r«   c                  ó$   •— ‰ j                  «       S ry   rô  rý   s   €rs   r~   z&test_diagonalization.<locals>.<lambda>]  rù  rr   úa b c d)r5   r
   ry  rï  rR   r-   r8   r~  r9   r-  Úas_numer_denomrî  r,   r   )r/  r@  r|   r_   r`   ra   rb   r›   s          @rs   Útest_diagonalizationrý    sÉ  ø€ Ü��A”a‘C�˜1œQ™3 ˜(Ð#Ó$€AØ×ÑÔ Ð Ð äˆq�!Ò+Ó,€AØ×"Ñ"Ô$Ð$Ð$Ø�~‰~ÔÐÐÜ
ÔÓ!8Ô9ô 	ˆQ��1‹€AØ�]‰]‹_�F€QˆØ”�A“Š;Ðˆ;Ø�Š6€Mˆ6äˆq�!’\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐäˆq�!’\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØ”�A“Š;Ðˆ;Ø�Š6€Mˆ6äˆq�!’\Ó"€AØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐäˆq�!Ò1Ó2€AØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØò *ˆØ×ÑÓ! !Ñ$¨Ó)Ð)Ð)ð*ô 	ˆq�!’\Ó"€AØ�=‰=Œ?Ðˆ?Ø×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØ”˜˜A˜  A Ð'Ó(Ò(Ð(Ð(ô 	ˆq�!’]Ó#€AØ×"Ñ" 4Ô(Ð(Ð(Ü
Œ;Ó3Ô4Ø×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐô 	ˆq�!’\Ó"€AØ×"Ñ"Ô$Ð$Ð$Ü
Œ;Ó/Ô0äˆq�!Ò5Ó6€AØ×"Ñ"Ô$Ð$Ð$Ü
Œ;Ó/Ô0ô ˜Ó#�J€A€qˆ!ˆQÜˆq�!�a˜˜A˜q�\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ñ rr   c                  óú   ‡ — t        ddgddgg«      Š  ‰ j                  «       du sJ ‚d‰ d<    ‰ j                  «       du sJ ‚t        ddgddgg«      Š  ‰ j                  «        d‰ d<   t        t        ˆ fd„«       y )Nr   r¦   TrÍ   Fc                  ó&   •—  ‰ j                   «       S ry   rô  rˆ  s   €rs   r~   z"test_issue_15887.<locals>.<lambda>p  s   ø€   §¡£€ rr   )rC   ry  r~  rR   r,   rˆ  s   @rs   Útest_issue_15887r   f  s‹   ø€ ä˜Q ˜F Q¨ FÐ+Ó,€AØˆ1×ÑÓ  DÑ(Ð(Ð(Ø€A€d�GØˆ1×ÑÓ  EÑ)Ð)Ð)ä˜Q ˜F Q¨ FÐ+Ó,€AØ€A‡M�M„OØ€A€d�GÜ
Œ;Ó/Õ0rr   c                  ó¼  ‡— t        ddg d¢«      Št        t        ˆfd„«       t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚| ‰j	                  «       d   k(  sJ ‚t        ddg d¢«      Št        ddg d	¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d
¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚t        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        t        dd¬«      t        dd¬«      gt        dd¬«      t        dd¬«      gg«      Š‰j                  «       \  }}|j                  «       D ]$  }t        |t        «      sŒ|j                  dk(  rŒ$J ‚ y )Nr‰   rŠ   rò  c                  ó$   •— ‰ j                  «       S ry   )r,  rý   s   €rs   r~   z"test_jordan_form.<locals>.<lambda>v  rõ  rr   )	r¿   r¤  r¬   rÒ   iíÿÿÿrÒ   rà   ièÿÿÿrÐ  )	rù   r   r   r   r¦   r   r   r   r¦   r¦   ©	r   r¦   r   rP  r«   r   r  r¦   rŠ   )	rŠ   r¦   r   r   rŠ   r   r   r   rŠ   )	rŠ   r¬   éñÿÿÿr¦   r¦   rQ  r¦   rŠ   r:  )	rù   r¦   r   r   rù   r   r   r   rù   )	r«   rQ  rŠ   r¾   rr  r‰   r¬   é÷ÿÿÿr«   )	r   r¦   r   r   r   r   r   r   r¦   r«   )r¬   r¾   r  r±   r±   rù   r‰   r‰   rŠ   r¦   r  r±   rù   r¦   r¾   r¾   )rŠ   r¦   r   r   r   rŠ   r   r   r   r   rŠ   r¦   r   r   r   rŠ   )r¬   rŠ   éøÿÿÿr:  r±   rŠ   r¼   r¬   rŠ   r  r  r:  rù   r   r‰   r«   )r  r   r   r   r   rŠ   r¦   r   r   r   rŠ   r   r   r   r   rŠ   )r¾   r«   rŠ   r¦   r   r¦   rù   rù   rù   rù   r‰   r   r¦   r¦   rù   rŠ   )r¦   r   r   r   r   rŠ   r   r   r   r   r«   r¦   r   r   r   r«   z1.0én   )Ú	precisionz2.0z3.14159265358979323846264338327z4.0)
r5   rR   r-   r,  r~  ry  r	   Úvaluesr×   Ú_prec)ÚJmustr/  r0  Útermr›   s       @rs   Útest_jordan_formr  s  ss  ø€ äˆq�!Ò+Ó,€AÜ
ÔÓ!8Ô9ô 	ˆq�!Ò:Ó;€AÜ�1�aÒ5Ó6€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:Ø�A—M‘M“O AÑ&Ò&Ð&Ð&ô 	ˆq�!Ò2Ó3€Aô �1�aÒ4Ó5€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	ˆq�!Ò4Ó5€Aô �1�aÒ7Ó8€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	ˆq�!Ò3Ó4€AÜ�1�aÒ4Ó5€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒLÓM€AÜ�1�aò ó €Eð
 �=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒLÓM€Aô �1�aò 'ó (€Eð �=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒJÓK€AØ×"Ñ"Ô$Ð$Ð$Ü�1�aÒIÓJ€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	”�u¨Ô,¬e°EÀSÔ.IÐJÜÐ8ÀCÔHÌ%ÐPUÐadÔJeÐfðhó 	i€Aà�=‰=‹?�D€A€qØ—‘“
ò %ˆÜ�dœEÕ"Ø—:‘: Ó$Ð$Ð$ñ%rr   c            	      ód  — t        g d¢g d¢g d¢g d¢g«      } ddt        z  z
  }ddt        z  z   }t        |dddgd|ddgdd|dgddd|gg«      }t        |dddgd|ddgdd|dgddd|gg«      }| j                  «       \  }}||k(  s||k(  sJ ‚t        ||z  |j	                  «       z  «      | k(  sJ ‚y )	N)rŠ   r«   r¦   r   )rP  rŠ   r   r¦   )r   r   rŠ   r«   )r   r   rP  rŠ   rŠ   r«   r¦   r   )r5   r
   r,  r)   r-  )ré   ÚpÚqÚJmust1ÚJmust2r/  r0  s          rs   Ú#test_jordan_form_complex_issue_9274r  ¾  sô   € ÜÒ Ú Ú Ú ð"ó 	#€Að 	
ˆAŒa‰C‰€AØ	ˆAŒa‰C‰€AÜ�a˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\ð#ó $€Fô �a˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\ð#ó $€Fð �=‰=‹?�D€A€qØ�Š;˜!˜vš+Ð%Ð%Ü�A�a‘C˜Ÿ™›‘KÓ  AÒ%Ð%Ñ%rr   c                  óÈ   — t        g d¢g d¢g d¢g d¢g«      } | j                  «       \  }}|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 ‚y )
Nrì  rê  )r   r   r¦   r¦   r}  ©r   r¦   r   r¦   rÙ  rÜ   rÝ   rö  )r5   r,  r.  s      rs   Útest_issue_10220r  Ñ  s‚   € ä’ÚÚÚðó 	€Að �=‰=‹?�D€A€qØ”šÚ$Ú$Ú$ð&ó 'ò 'ð 'ð 'ð ”Ú$Ú$Ú$Ú$ð	&ó 'ò 'ð 'ñ 'rr   c                  óÌ  — t        g d¢g d¢g d¢g d¢g«      } | j                  «       \  }}|j                  «       t        t         t         dz  t        t        dz  gdt        z   ddt        z
  dgdt	        d«       dz  t        dz  z
  dt	        d«       dz  t        dz  z   gg d	¢g«      k(  sJ ‚|t        t         dddgdt         ddgddt        dgdddt        gg«      k(  sJ ‚y )
Nr|  ©r  rù   r   rù   ©r   r   rù   rù   ©r   r   rŠ   r¦   rŠ   rù   r   r¦   r  )r5   r,  r   r
   r   )ré   r/  r0  s      rs   Útest_jordan_form_issue_15858r  â  s  € ÜÚÚÚÚð	ó 	€Að
 �]‰]‹_�F€QˆØ�8‰8‹:œÜˆRœ1˜"˜Q™$¤Q´!°A±#Ð6Ø	Œa‰˜Q ¤Q¡°AÐ6Ø”!�A“$��q‘œ1˜Q™3‘ Q¬¨1«¨¨a©´!°A±#©Ð6Ú6ð	!8ó 9ò 9ð 9ð 9ð
 ”Ü
ˆˆQ��1ˆØ	
ŒQˆB��1ˆØ	
ˆAŒq�!ˆØ	
ˆAˆq”!ˆð	ó ò ð ñ rr   c                  óN  — t        d«      \  } }}t        | | z
  |dz  ||z   z  z   ||z  ||z   z  g||z  ||z   z  | |dz  ||z   z  z   gg«      }|j                  t        «      }|t	        t        dz  || z  || z  z   d|z  |z  z   ||z   z  t        z  z   ||z  | z  ||z   z  z   t        d¬«      k(  sJ ‚t        |«      t        u sJ ‚t        ddgddgg«      }|j                  «       |j                  t        «      cxk(  r t        t        dz  t        z
  dz
  «      k(  sJ ‚ J ‚t        ddgt        dgg«      }|j                  t        «      }|j                  t        k7  sJ ‚|j                  «       j                  |j                  t        «      t        dz  dt        z  z
  k(  sJ ‚y )	Nz
UA K_i K_wrŠ   zZZ(K_i,K_w,UA)r=  r¦   r‰   r   r¬   )
r   r5   r?  rc   r#   rŒ   r$   ÚgenÚas_exprr  )ÚUAÚK_iÚK_wré   r?  r  s         rs   Útest_Matrix_berkowitz_charpolyr"  ô  sº  € Ü˜<Ó(�L€BˆˆSä�#�˜‘˜S !™V S¨3¡YÑ/Ñ/°s¸3±wÀÀcÁ	Ñ7JÐKØ ™G S¨3¡YÑ/°#°¸¸Q¹ÀÀcÁ	Ñ8JÑ1JÐKðMó 	N€Að �z‰zœ!‹}€HàÜŒQ�‰T�S˜‘V˜c "™f‘_ q¨¡u¨S¡yÑ0°3¸±9Ñ=¼aÑ?Ñ?ØˆC‰�‰
�C˜#‘IÑñÜ !Ð*:ô	<ò<ð <ð <ô �‹>œXÑ%Ð%Ð%ä��A�˜˜A˜ÐÓ €AØ�:‰:‹<˜1Ÿ:™:¤a›=ÔB¬H´Q¸±T¼A±XÀ±\Ó,BÒBÐBÑBÐBÐBä��A�œ˜A˜ÐÓ €AØ	�
‰
”1‹€AØ�5‰5”AŠ:Ðˆ:Ø�9‰9‹;×Ñ˜AŸE™E¤1Ó%¬¨A©°´!±©Ò3Ð3Ñ3rr   c            
      óŠ  — t        d«      } t        j                  d| «      }|j                  «       t        t	        | «      gg«      k(  sJ ‚t        j                  d| «      }|j                  «       t        t	        | «      t	        | «      t	        | «      dz  gdt	        | «      t	        | «      gddt	        | «      gg«      k(  sJ ‚y )NÚlamdar¦   r‰   rŠ   r   )r   r5   Újordan_blockÚ_eval_matrix_exp_jblockr   ©Úlr›   s     rs   Útest_exp_jordan_blockr)    s´   € Üˆw‹€Aä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&¬&´3°q³6°(°Ó*<Ò<Ð<Ð<ä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&ÜÜ�‹V”S˜“VœS ›V A™XÐ&Ø”�A“œ˜A›ÐØ�”3�q“6ˆNðó 	òð ñ rr   c            	      ó¬  — t        ddgddgg«      } t        t        d«      dt        d«      z  dz  dt        d«      z  dz  z   gdt        d«      gg«      }| j                  «       |k(  sJ ‚t        | «      |k(  sJ ‚t        ddgddgg«      } | j                  «       t        t        dgdt        gg«      k(  sJ ‚t        | «      t        t        dgdt        gg«      k(  sJ ‚t        ddgddgg«      } | j                  «       t        t        t        d«      z  t         t	        d«      z  gt        t	        d«      z  t        t        d«      z  gg«      k(  sJ ‚y )	Nr‰   r«   r   r  rP  r¾   r¦   rù   )r5   r   r   r   r   )r›   Úm_exps     rs   Útest_expr,    s<  € Ü��A�˜˜B˜Ð Ó!€AÜ”S˜“V˜R¤ B£™Z¨™\¨A¬c°!«f©H°Q©JÑ6Ð7¸!¼SÀ»W¸ÐFÓG€EØ�5‰5‹7�eÒÐÐÜˆq‹6�UŠ?Ðˆ?ä��A�˜˜A˜ÐÓ €AØ�5‰5‹7”fœq !˜f q¬! fÐ-Ó.Ò.Ð.Ð.Üˆq‹6”Vœa ˜V a¬ VÐ,Ó-Ò-Ð-Ð-ä��B�˜!˜Q˜Ð Ó!€AØ�5‰5‹7”fœq¤ Q£™x¬!¨¬C°«F©Ð3´a¼¸A»±hÄÄ#ÀaÃ&ÁÐ5IÐJÓKÒKÐKÑKrr   c                  ó  ‡— t        d«      } t        j                  d| «      Š‰j                  «       t        t	        | «      gg«      k(  sJ ‚t        j                  d| «      Š‰j                  «       t        t	        | «      d| z  dd| dz  z  z  dd| dz  z  z  gdt	        | «      d| z  dd| dz  z  z  gddt	        | «      d| z  gdddt	        | «      gg«      k(  sJ ‚t        g d¢g d	¢g d
¢g«      Št        t        ˆfd„«       y )Nr$  r¦   r«   rù   rŠ   r‰   r   r  rÅ   r  c                  ó$   •— ‰ j                  «       S ry   )r   rý   s   €rs   r~   ztest_log.<locals>.<lambda>=  s   ø€  §¡£€ rr   )r   r5   r%  Ú_eval_matrix_log_jblockr   rR   r,   r'  s    @rs   Útest_logr0  '  s  ø€ Üˆw‹€Aä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&¬&´3°q³6°(°Ó*<Ò<Ð<Ð<ä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&Üä�Q“˜˜1™˜b ! A q¡D¡&™k¨1¨a°°1±©f©:Ð6Ø”C˜“F˜A˜a™C  Q q¨!¡t¡V¡Ð-Ø�A”s˜1“v˜q ™sÐ#Ø�A�qœ#˜a›&Ð!ð	ó	
ò
ð 
ð 
ô 	Ú	ÚÚð	ó	€Aô
 Œ;›Õ(rr   c                  ó  — t        t        t        fdf«      } | j                  t        «      sJ ‚| j                  t        «      rJ ‚| j                  t
        «      sJ ‚| j                  t        d«      } | j                  t        «      rJ ‚y )NrË  rŠ   )r5   rc   rd   Úhasre   r   r  r  s    rs   Útest_hasr3  @  se   € Ü””A�˜ÐÓ €AØ�5‰5”Œ8€Oˆ8Ø�u‰u”QŒxÐˆ<Ø�5‰5”Œ=Ðˆ=à	�‰Œq�!‹€AØ�u‰u”QŒxÐˆ<ˆxrr   c            	      óÖ   — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   t        j
                  g«      }t        |«      \  }}}}|t        j
                  k(  sJ ‚y )Nrc   r‰   r¦   rŠ   )r   r5   r   r   r   r!  r0   ©rc   ÚcolumnÚpivot_offsetÚ	pivot_valÚpivot_assumed_nonzeroÚ
simplifieds         rs   Ú:test_find_reasonable_pivot_naive_finds_guaranteed_nonzero1r;  J  sc   € ô 	ˆs‹€AÜ�A�q˜1œc !›f a™i¬#¨a«&°!©)Ñ3´Q·V±VÐ<Ó=€Fä$ VÓ,ñ ?€L�)Ð2°JàœŸ™ÒÐÑrr   c            
      óì   — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   | dz  z   t        | «      dz  t        | «      dz  z   g«      }t	        |t
        ¬«      \  }}}}|dk(  sJ ‚y )Nrc   r‰   r¦   rŠ   ©Úsimpfunc)r   r5   r   r   r0   r1   r5  s         rs   Ú:test_find_reasonable_pivot_naive_finds_guaranteed_nonzero2r?  V  s‚   € ô 	ˆs‹€AÜ�A�qØÜ˜“V˜Q‘Yœs 1›v q™yÑ(¨¨A©Ñ-Ü˜“V˜Q‘Yœs 1›v q™yÑ(ð*ó+€Fô
 	% V´iÔ@ñ ?€L�)Ð2°Jà˜Š>Ð‰>rr   c            
      óf  — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   | z   t        | «      dz  t        | «      dz  z   g«      }t	        |t
        ¬«      \  }}}}t        |«      dk(  sJ ‚|d   d   dk(  sJ ‚|d   d   d| z   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   dk(  sJ ‚y )Nrc   r‰   r¦   rŠ   r=  r   )r   r5   r   r   r0   r1   Úlenr5  s         rs   Ú+test_find_reasonable_pivot_naive_simplifiesrB  e  sæ   € ô 	ˆs‹€AÜ�A�qØÜ˜“V˜Q‘Yœs 1›v q™yÑ(¨Ñ*Ü˜“V˜Q‘Yœs 1›v q™yÑ(ð*ó+€Fô
 	% V´iÔ@ñ ?€L�)Ð2°Jô ˆz‹?˜aÒÐÐØ�a‰=˜Ñ˜qÒ Ð Ð Ø�a‰=˜Ñ˜q ™sÒ"Ð"Ð"Ø�a‰=˜Ñ˜qÒ Ð Ð Ø�a‰=˜Ñ˜qÒ Ð Ñ rr   c                  óP  ‡ ‡— t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d	„ «       t        t        d
„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t
        d„ «       t        t
        d„ «       t        t
        d „ «       t        t        d!„ «       t        t        d"„ «       t        t        d#„ «       t        t        d$„ «       t        t        d%„ «       t        t        d&„ «       t        t        d'„ «       t        t        d(„ «       t        d)«      Š t        t        ˆ fd*„«       t        g d+¢g«      Št        g d,¢g d-¢g d.¢g«      Š t        t        ˆ ˆfd/„«       t        g d,¢g d-¢g d.¢g«      Š t        t        ˆ ˆfd0„«       y )1Nc                  ó"   — t        ddgdgg«      S r¥   rñ   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>x  s   € œv¨¨1 v°¨s mÓ4€ rr   c                  ó$   — t        ddgg«      d   S )Nr¦   rŠ   )g333333ó?r¾   rñ   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>y  ó   € œv¨¨1 v hÓ/°Ñ7€ rr   c                  ó$   — t        ddgg«      d   S )Nr¦   rŠ   )r¦   gÍÌÌÌÌÌ@rñ   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>z  rF  rr   c                  ó   — t        ddd¬«      S )Nr‰   r«   T)ra   rÿ  )r=   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>{  s   € œz¨!¨q¸DÔA€ rr   c                  ó<   — t        ddg«      j                  dd«      S )Nr¦   rŠ   r«   r¬   )r5   rê  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>|  s   € œv q¨! f›~×5Ñ5°a¸Ó;€ rr   c                  ó^   — t        ddgddgg«      j                  ddgt        ddg«      «      S ©Nr¦   rŠ   r‰   r«   r   )r5   Úcopyin_matrixrq   rr   rs   r~   ztest_errors.<locals>.<lambda>~  s1   € ”˜˜A˜  A Ð'Ó(×6Ñ6¸¸1°v¼vÀqÈ!Àf»~ÓN€ rr   c                  óX   — t        ddgddgg«      j                  ddgt        «       «      S rK  )r5   Úcopyin_listÚsetrq   rr   rs   r~   ztest_errors.<locals>.<lambda>  s3   € œf q¨! f¨q°!¨fÐ%5Ó6×BÑBÀAØðDÜ‹uó€ rr   c                  ó@   — t        g d¢g d¢g«      j                  «       S )Nrª   )rŠ   r‰   r   ©r5   r-  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € ¬²ºIÐ0FÓ)G×)KÑ)KÓ)M€ rr   c                  ó\   — t        ddddg«      j                  t        ddgddgg«      «      S rÞ  )r5   Úrow_joinrq   rr   rs   r~   ztest_errors.<locals>.<lambda>ƒ  s0   € ”�q˜!˜a ˜VÓ$×-Ñ-¬f°q¸!°f¸qÀ!¸fÐ5EÓ.FÓG€ rr   c                  óX   — t        ddg«      j                  t        ddgddgg«      «      S rÞ  )r5   Úcol_joinrq   rr   rs   r~   ztest_errors.<locals>.<lambda>…  s+   € œF A q 6›N×3Ñ3´F¸QÀ¸FÀQÈÀFÐ;KÓ4LÓM€ rr   c                  óX   — t        dg«      j                  dt        ddgddgg«      «      S rÞ  )r5   Ú
row_insertrq   rr   rs   r~   ztest_errors.<locals>.<lambda>†  ó8   € œv q c›{×5Ñ5°a¼À!ØðBØ�1ˆvðAó :ó  € rr   c                  óX   — t        dg«      j                  dt        ddgddgg«      «      S rÞ  )r5   Ú
col_insertrq   rr   rs   r~   ztest_errors.<locals>.<lambda>ˆ  rX  rr   c                  ó8   — t        ddg«      j                  «       S r¥   rF  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>Š  s   € ¬°°A°«×)=Ñ)=Ó)?€ rr   c                  ó8   — t        dg«      j                  d«      S rM  )r5   rò  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>‹  s   € œf a S›k×3Ñ3°AÓ6€ rr   c                  óD   — t        ddgddgg«      j                  dd«      S ©Nr¦   rŠ   r‰   r«   r¾   )r5   Úminorrq   rr   rs   r~   ztest_errors.<locals>.<lambda>Œ  s%   € œv¨¨1 v°°1¨vÐ&6Ó7×=Ñ=¸aÀÓC€ rr   c                  óD   — t        ddgddgg«      j                  dd«      S r^  )r5   Úminor_submatrixrq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s%   € œv¨¨1 v°°1¨vÐ&6Ó7×GÑGÈÈ1ÓM€ rr   c                  ó:   — t        g d¢«      j                  d«      S ©Nrª   r¦   ©r5   Úcrossrq   rr   rs   r~   ztest_errors.<locals>.<lambda>Ž  s   € œf¢YÓ/×5Ñ5°aÓ8€ rr   c                  ó:   — t        g d¢«      j                  d«      S rc  ©r5   Údotrq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € œf¢YÓ/×3Ñ3°AÓ6€ rr   c                  óP   — t        g d¢«      j                  t        ddg«      «      S )Nrª   r¦   rŠ   rg  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € œv¢iÓ0×4Ñ4´V¸QÀ¸F³^ÓD€ rr   c                  ó:   — t        ddg«      j                  g «      S r¥   rg  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>‘  s   € œv q¨! f›~×1Ñ1°"Ó5€ rr   c                  ó:   — t        ddg«      j                  d«      S )Nr¦   rŠ   r_   rg  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>’  s   € œf a¨ V›n×0Ñ0°Ó5€ rr   c                  ó>   — t        ddg«      j                  g d¢«      S )Nr¦   rŠ   rª   rg  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>“  s   € œv q¨! f›~×1Ñ1²)Ó<€ rr   c                  ó8   — t        g d¢«      j                  «       S )Nrª   )r5   r   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>”  s   € ¬²	Ó):×)>Ñ)>Ó)@€ rr   c                  ó@   — t        ddgddgg«      j                  «       S rÞ  )r5   Ú
normalizedrq   rr   rs   r~   ztest_errors.<locals>.<lambda>•  ó!   € œv¨¨1 v°°1¨vÐ&6Ó7×BÑBÓD€ rr   c                  ó<   — t        ddg«      j                  d¬«      S )Nr¦   rŠ   znot a methodrƒ  rQ  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>–  s   € œv q¨! f›~×1Ñ1¸Ð1ÓH€ rr   c                  ó8   — t        ddg«      j                  «       S r¥   ©r5   Ú
inverse_GErq   rr   rs   r~   ztest_errors.<locals>.<lambda>—  ó   € ¬°°A°«×)BÑ)BÓ)D€ rr   c                  ó@   — t        ddgddgg«      j                  «       S r¥   rs  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>˜  rp  rr   c                  ó8   — t        ddg«      j                  «       S r¥   ©r5   Úinverse_ADJrq   rr   rs   r~   ztest_errors.<locals>.<lambda>™  s   € ¬°°A°«×)CÑ)CÓ)E€ rr   c                  ó@   — t        ddgddgg«      j                  «       S r¥   rx  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>š  s!   € œv¨¨1 v°°1¨vÐ&6Ó7×CÑCÓE€ rr   c                  ó8   — t        ddg«      j                  «       S r¥   )r5   Ú
inverse_LUrq   rr   rs   r~   ztest_errors.<locals>.<lambda>›  ru  rr   c                  ó8   — t        ddg«      j                  «       S r¥   r”  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>œ  s   € ¬°°A°«×)DÑ)DÓ)F€ rr   c                  ó8   — t        ddg«      j                  «       S r¥   ©r5   rD  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € ¬°°A°«×);Ñ);Ó)=€ rr   c                  óD   — t        ddgddgg«      j                  d¬«      S )Nr¦   rŠ   r‰   r«   zNot a real methodrƒ  r  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>Ÿ  s'   € ”˜˜A˜  A Ð'Ó(×,Ñ,Ð4GÐ,ÓH€ rr   c                  óP   — t        g d¢g d¢g d¢g d¢g«      j                  d¬«      S )NrØ  rÛ  rÜ  rÝ  zNot function©r   r  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>¡  s)   € ”š¢lÚÒ)ð+ó ,ß,/©C¸>¨CÓ,Jð rr   c                  óP   — t        g d¢g d¢g d¢g d¢g«      j                  d¬«      S )NrØ  rÛ  rÜ  rÝ  Fr‚  r  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>¤  s)   € ”š¢lÚÒ)ð+ó ,ß,/©C¸5¨CÓ,Að rr   c                  óV   — t        t        ddgddgg«      t        ddgddgg«      «      S rÞ  ©r:   r5   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>§  s1   € ”œ  A ¨¨A¨Ð/Ó0´&¸1¸a¸&À1ÀaÀ&Ð9IÓ2JÓK€ rr   c                  ó8   — t        t        ddgddgg«      g «      S rÞ  r…  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>¨  s   € œw¤v°°1¨v¸¸1°vÐ.>Ó'?ÀÓD€ rr   c                  ó2   — t        t        d«      dz  d«      S )Nrc   rŠ   r_   )r:   r   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>©  s   € œw¤v¨c£{°A¡~°sÓ;€ rr   c                  ó   — t        d«      d   S )Nr‰   )r¾   rŠ   rã  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>ª  ó   € œs 1›v d™|€ rr   c                  ó   — t        d«      d   S )Nr‰   )rŠ   r¾   rã  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>«  r‰  rr   rÚ  c                  ó&   •— ‰ j                  d«      S )Nzmethod=LU_decomposition())rD  r(  s   €rs   r~   ztest_errors.<locals>.<lambda>­  s   ø€ ˜qŸu™uÐ%@ÓA€ rr   )rÒ   rÒ   rÒ   rª   ©rŠ   r‰   r«   r½   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌ@)rW  ©rÉ   ÚVs   €€rs   r~   ztest_errors.<locals>.<lambda>°  s   ø€ ˜qŸ|™|¨C°Ó3€ rr   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌÀ)rZ  rŽ  s   €€rs   r~   ztest_errors.<locals>.<lambda>²  s   ø€ ˜qŸ|™|¨D°!Ó4€ rr   )rR   r$  r²  r+   r¸  r-   r5   rŽ  s   @@rs   Útest_errorsr‘  w  sI  ù€ Ü
Œ:Ñ4Ô5Ü
Œ:Ñ7Ô8Ü
Œ:Ñ7Ô8Ü
Œ:ÑAÔBÜ
Œ:Ñ;Ô<Ü
Œ:ÙNôPä
Œ9ñ ô ä
ÔÑ!MÔNÜ
Œ:ÙGôIä
ÜÑMôOä
Œ:ñ ô ä
Œ:ñ ô ä
ÔÑ!?Ô@Ü
Œ9Ñ6Ô7Ü
Œ:ÑCÔDÜ
Œ:ÑMÔNÜ
Œ9Ñ8Ô9Ü
Œ9Ñ6Ô7Ü
Œ:ÑDÔEÜ
Œ:Ñ5Ô6Ü
Œ9Ñ5Ô6Ü
Œ:Ñ<Ô=Ü
ÔÑ!@ÔAÜ
Œ:ÑDÔEÜ
Œ:ÑHÔIÜ
ÔÑ!DÔEÜ
Œ:ÑDÔEÜ
ÔÑ!EÔFÜ
Œ:ÑEÔFÜ
ÔÑ!DÔEÜ
ÔÑ!FÔGÜ
ÔÑ!=Ô>Ü
Œ:ÙHôJä
Œ:ñ	KôLô Œ:ñ	BôCô Œ:ÙKôMä
Œ:ÑDÔEÜ
Œ:Ñ;Ô<Ü
Œ:Ñ+Ô,Ü
Œ:Ñ+Ô,ÜÐNÓO€AÜ
Œ:ÓAÔBÜ’ˆ~Ó€AÜ’	š9¢iÐ0Ó1€AÜ
Œ:Ô3Ô4Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ô4Õ5rr   c                  óÜ  — t        t        «       «      dk(  sJ ‚t        t        ddgg«      «      t        t        dgdgg«      «      cxk(  rdk(  sJ ‚ J ‚t        t        ddd„ «      «      t        t        ddd„ «      «      cxk(  rdk(  sJ ‚ J ‚t        t        g d¢g d¢g«      «      dk(  sJ ‚t        dg«      t        dgg«      k(  sJ ‚t        «       rJ ‚t        «       t        g «      k(  sJ ‚y )	Nr   r¦   rŠ   c                  ó   — yr…   rq   r{   s     rs   r~   ztest_len.<locals>.<lambda>·  r†   rr   c                  ó   — yr…   rq   r{   s     rs   r~   ztest_len.<locals>.<lambda>¸  r†   rr   rÀ   r½   r¬   )rA  r5   rq   rr   rs   Útest_lenr•  ´  së   € ÜŒv‹x‹=˜AÒÐÐÜŒv˜˜1�v�hÓÓ ¤C¬°°°a°S¨zÓ(:Ó$;Ô@¸qÒ@Ð@Ñ@Ð@Ð@ÜŒv�a˜™NÓ+Ó,ÜŒF�1�a™Ó(Ó)ô/Ø-.ò/ð /ñ /ð /ð /äŒv’y¢)Ð,Ó-Ó.°!Ò3Ð3Ð3Ü�1�#‹;œ& 1 # ›-Ò'Ð'Ð'ÜŒxÐˆ<Ü‹8”v˜b“zÒ!Ð!Ñ!rr   c            
      ó,  — t        ddt        ft        ddfddt        dz  ff«      } | j                  t        «      t        t        dt        z  t        dz  dz  ft        t        z  dt        z  dt        z  fdt        z  dt        z  t        dz  dz  ff«      k(  sJ ‚| j                  t        «      t        t        dt        z  t        t        z  ft        dz  dz  dt        z  dt        z  fdt        z  dt        z  t        t        dz  z  ff«      k(  sJ ‚y )Nr¦   r«   rŠ   rÒ   r¾   r‰   )r5   rc   rd   r   r  s    rs   Útest_integrater—  ¿  sù   € Ü��A”q�	œA˜q !˜9 r¨1¬a°©d mÐ4Ó5€AØ�;‰;”q‹>Ü”�A”a‘Cœ˜A™˜a™Ð ¤1¤Q¡3¨¬!©¨Q¬q©S /°B´q±D¸!¼A¹#¼qÀ!¹tÀA¹vÐ3FÐGÓHòIð Ið Ià�;‰;”q‹>Ü”�A”a‘Cœœ1™�¤ 1¡ Q¡¨¬!©¨Q¬q©SÐ1°B´q±D¸!¼A¹#¼qÄÀAÁ¹vÐ3FÐGÓHòIð Iñ Irr   c                  óÒ   — t        ddt        t        «      t        z  ft        ddfddt        dz  dz   ff«      } | j	                  t        d«      t        dt        ddfdf«      k(  sJ ‚y )	Nr¦   r«   rŠ   rÒ   r¾   r   )r¦   r«   r¦   )rÒ   r¾   r¦   )r5   r   rc   rd   rœ  r  s    rs   Ú
test_limitr™  Ç  sa   € Ü��A”sœ1“vœa‘xÐ ¤1 a¨ )¨b°!´Q¸±T¸A±XÐ->Ð?Ó@€AØ�7‰7”1�a‹=œF I´°1°a¨y¸*Ð#EÓFÒFÐFÑFrr   c            	      ó4  — t        ddt        ft        ddfddt        dz  dz   ff«      } t        | j	                  t        «      t        | «      «      sJ ‚| j	                  t        «      t        dddddt        z  ff«      k(  sJ ‚| j	                  t        «      t        d	«      k(  sJ ‚t	        | t        «      t        dddddt        z  ff«      k(  sJ ‚t	        | t        «      t        d	«      k(  sJ ‚| j                  «       }t        |j	                  t        «      t        |«      «      sJ ‚|j	                  t        «      t        dddddt        z  ff«      k(  sJ ‚|j	                  t        «      t        d	«      k(  sJ ‚t	        |t        «      t        dddddt        z  ff«      k(  sJ ‚t	        |t        «      t        d	«      k(  sJ ‚| j	                  t        d
¬«      t        | t        d
¬«      k(  sJ ‚t	        | t        d
¬«      t        | t        d
¬«      k(  sJ ‚y )Nr¦   r«   rŠ   rÒ   r¾   r  rÅ   r   )rÅ   rD  rÅ   Fr¬  )	rC   rc   rd   r×   r   rŒ   r¶  rD   r[   )ré   ÚA_imms     rs   Ú	test_diffrœ  Ì  sÚ  € Ü˜Q ¤1˜I¬¨1¨a y°2°q¼!¸Q¹$À¹(Ð2CÐDÓE€AÜ�a—f‘fœQ“i¤ a£Ô)Ð)Ð)Ø�6‰6”!‹9Ô*¨I°yÀ1ÀaÈÌ1ÉÀ+Ð+NÓOÒOÐOÐOØ�6‰6”!‹9Ô*Ð+LÓMÒMÐMÐMä�”1‹:Ô+¨Y¸	ÀAÀqÈ!ÌAÉ#À;Ð,OÓPÒPÐPÐPÜ�”1‹:Ô+Ð,MÓNÒNÐNÐNà�N‰NÓ€EÜ�e—j‘j¤“m¤T¨%£[Ô1Ð1Ð1Ø�:‰:”a‹=Ô0°)¸YÈÈAÈqÔQRÉsÈÐ1TÓUÒUÐUÐUØ�:‰:”a‹=Ô0Ð1RÓSÒSÐSÐSä�”q‹>Ô1°9¸iÈ!ÈQÐPQÔRSÑPSÈÐ2UÓVÒVÐVÐVÜ�”q‹>Ô1Ð2SÓTÒTÐTÐTà�6‰6”!˜eˆ6Ó$¬¸¼1ÀuÔ(MÒMÐMÐMÜ�”1˜uÔ%¬¸¼AÈÔ)NÒNÐNÑNrr   c                  ó€  — t        t        t        gt        t        gg«      } | j                  | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚t        | | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚| j                  «       }|j                  |«      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚t        ||«      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚| j                  t        «      t        ddgddgg«      k(  sJ ‚t        t        t        g«      }| j                  |«      t        j                  dddd«      k(  sJ ‚| j                  | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚|j                  t        t        gg«      }|j                  dk(  sJ ‚|t        dgdggdgdggg«      k(  sJ ‚t        d«      } |t        t        t        «      }|j                  t        t        t        gg«      t        |j                  t        «      |j                  t        «      |j                  t        «      g«      k(  sJ ‚|j                  t        t        t        gdf«      t        |j                  t        d«      |j                  t        t        «      |j                  t        t        «      g|j                  t        t        «      |j                  t        d«      |j                  t        t        «      g|j                  t        t        «      |j                  t        t        «      |j                  t        d«      gg«      k(  sJ ‚t        t        «      t        t        «      z  }|j                  t        t        gg«      t        t!        t        «      t        t        «      z  t        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        t        ff«      t        t!        t        «      t        t        «      z  t        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        t        ff«      t        t        t        «       t        t        «      z  t!        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        fft        t        gg«      t        t!        t        «      t        t        «      z  t        t        «       t        t        «      z  gt        t        «      t        t        «      z  t!        t        «      t        t        «      z  gg«      k(  sJ ‚|j                  t        «      j                  t        «      j                  t        «      |j                  t        t        t        ffd«      d   k(  sJ ‚|j                  t        «      j                  t        «      j                  t        «      |j                  t        t        t        ffd«      d   k(  sJ ‚|j                  t        t        t        ggt        t        t        ff«      t        t        t        t        fD ��cg c]?  }t        t        t        fD �cg c]"  }|j                  |«      j                  |«      ‘Œ$ c}‘ŒA c}}«      k(  sJ ‚t        j
                  t#        t        t        gg«      «      }	t%        |	t        «      sJ ‚|	t#        ddgg«      k(  sJ ‚t        dz  j                  t#        t        t        gg«      «      }	t%        |	t        «      sJ ‚|	t#        dt        dz  z  dgg«      k(  sJ ‚y c c}w c c}}w )	Nr¦   r   rŠ   )rŠ   rŠ   r¦   r%  r‰   r   rf  )rC   rc   rd   re   rf   r   rZ   r¶  r_   rD   r`   rB   r‘   r   r   r   r   r5   r×   )
ré   r›  rê   ÚdBr%  ÚfxyzÚexprr}   r|   Úress
             rs   Útest_diff_by_matrixr¢  á  sÀ  € ô 	œQ¤˜F¤Q¬ FÐ+Ó,€AØ�6‰6�!‹9œ ! Q ¨!¨Q¨Ð 0°A°q°6¸A¸q¸6Ð2BÐCÈÈ1ÀvÐPQÐSTÈvÐFVÐZ[Ð]^ÐY_ÐbcÐefÐagÐXhÐEiÐjÓkÒkÐkÐkÜ��1‹:œ 1 a &¨1¨a¨&Ð!1°Q¸°F¸QÀ¸FÐ3CÐ DÈÈAÈÐQRÐTUÐPVÐGWÐ[\Ð^_ÐZ`ÐcdÐfgÐbhÐYiÐFjÐkÓlÒlÐlÐlà�N‰NÓ€EØ�:‰:�eÓ¤¨!¨Q¨°!°Q°Ð(8¸A¸q¸6ÀAÀqÀ6Ð:JÐ'KÐPQÐSTÈvÐXYÐ[\ÐW]ÐN^ÐbcÐefÐagÐjkÐmnÐioÐ`pÐMqÐ&rÓ sÒsÐsÐsÜ��uÓ¤¨1¨a¨&°1°a°&Ð)9¸QÀ¸FÀQÈÀFÐ;KÐ(LÐQRÐTUÐPVÐYZÐ\]ÐX^ÐO_ÐcdÐfgÐbhÐklÐnoÐjpÐaqÐNrÐ'sÓ!tÒtÐtÐtð �6‰6”!‹9Ô*¨Q°¨F°Q¸°FÐ+;Ó<Ò<Ð<Ð<äœa¤˜VÓ$€AØ�6‰6�!‹9œŸ™ A q¨!¨QÓ/Ò/Ð/Ð/Ø�6‰6�!‹9œ ! Q ¨!¨Q¨Ð 0°A°q°6¸A¸q¸6Ð2BÐCÈÈ1ÀvÐPQÐSTÈvÐFVÐZ[Ð]^ÐY_ÐbcÐefÐagÐXhÐEiÐjÓkÒkÐkÐkð 
�‰”!”Q��Ó	€BØ�8‰8�yÒ Ð Ð Ø”˜!˜˜q˜c˜
 a S¨1¨# JÐ/Ó0Ò0Ð0Ð0ä�‹€AÙŒQ””1‹:€DØ�9‰9”qœ!œQ�i�[Ó!¤U¨D¯I©I´a«L¸$¿)¹)ÄA»,ÈÏ	É	ÔRSËÐ+UÓ%VÒVÐVÐVØ�9‰9”qœ!œQ�i �^Ó$¬Ø	�‰”1�a‹˜$Ÿ)™)¤A¤q›/¨4¯9©9´Q¼«?Ð;Ø	�‰”1”a‹˜$Ÿ)™)¤A q›/¨4¯9©9´Q¼«?Ð;Ø	�‰”1”a‹˜$Ÿ)™)¤A¤q›/¨4¯9©9´Q¸«?Ð;ð/ó )ò ð ð ô Œq‹6”#”a“&‰=€DØ�9‰9”qœ!�f�XÓ¤%¬¬Q«´´A³©¼¼A»¼sÄ1»v¹Ð(FÓ"GÒGÐGÐGØ�9‰9”Qœ!œQ˜˜	Ó"¤e¬S´«V´C¼³F©]¼CÄ»FÄ3ÄqÃ6¹MÐ,JÓ&KÒKÐKÐKØ�9‰9”Qœ!œQ˜˜	Ó"¤e¬c´!«f¨W´S¼³V©^¼SÄ»VÄCÌÃF¹]Ð,KÓ&LÒLÐLÐLØ�9‰9”qœ!�f�Y¤!¤Q  Ó)¬U´S¼³V¼CÄ»F±]ÄSÌÃVÀGÌCÔPQËFÁNÐ4SÔVYÔZ[ÓV\Ô]`ÔabÓ]cÑVcÔehÔijÓekÔloÔpqÓlrÑerÐUsÐ3tÓ-uÒuÐuÐuð �9‰9”Q‹<×ÑœQÓ×$Ñ$¤QÓ'¨4¯9©9´q¼!¼Q°i°\À1Ó+EÀgÑ+NÒNÐNÐNØ�9‰9”Q‹<×ÑœQÓ×$Ñ$¤QÓ'¨4¯9©9´q¼!¼Q°i°\À1Ó+EÀgÑ+NÒNÐNÐNØ�9‰9”qœ!œQ�i�[¤A¤q¬! 9 ,Ó/´5ÔnoÔqrÔtuÐmv×9wÐhiÔZ[Ô]^Ô`aÐYbÖ:cÐTU¸4¿9¹9ÀQ»<×;LÑ;LÈQÕ;OÔ:cÓ9wÓ3xÒxÐxÐxô �&‰&”œ!œQ˜˜Ó!Ó
"€CÜ�cÔ/Ô0Ð0Ð0Ø”&˜1˜a˜&˜Ó"Ò"Ð"Ð"Üˆa‰4�+‰+”fœq¤!˜f˜XÓ&Ó
'€CÜ�cÔ/Ô0Ð0Ð0Ø”&˜1œQ ™T™6 1˜+˜Ó'Ò'Ð'Ñ'ùò ;dùÓ9ws   Ú;^:Û'^5Û:^:Þ5^:c            	      óà   ‡ — t        ddt        ft        ddfddt        dz  dz   ff«      Š t        t        ˆ fd„«        t        ‰ d«      t        «      t        dd	d
d
dt        z  ff«      k(  sJ ‚y )Nr¦   r«   rŠ   rÒ   r¾   c                  ó   •— ‰ j                   S ry   )Únonexistantattributer  s   €rs   r~   ztest_getattr.<locals>.<lambda>  s   ø€  1×#9Ñ#9€ rr   r   r  rÅ   r   )r5   rc   rd   rR   rA  Úgetattrr  s   @rs   Útest_getattrr§    sl   ø€ Ü��A”q�	œA˜q !˜9 r¨1¬a°©d°Q©hÐ&7Ð8Ó9€AÜ
Œ>Ó9Ô:ØŒ7�1�fÓœaÓ ¤F¨I°yÀ1ÀaÈÌ1ÉÀ+Ð+NÓ$OÒOÐOÑOrr   c                  ó  — t        g d¢g d¢g d¢g«      } | j                  sJ ‚| j                  } | j                  sJ ‚d| d<   | j                  du sJ ‚t        g d¢g d¢g d¢g«      } | j                  rJ ‚t	        dd	«      } | j                  sJ ‚y )
N)r‰   r«   r¦   )rŠ   r«   r¾   rÀ   r¦   )r   rù   Fré  r¾   rŠ   )r5   Úis_upper_hessenbergr´  Úis_lower_hessenbergrB   r  s    rs   Útest_hessenbergr«    s‘   € Ü’	š9¢iÐ0Ó1€AØ× Ò Ð Ð Ø	�‰€AØ× Ò Ð Ð Ø€A€e�HØ× Ñ  EÑ)Ð)Ð)ä’	š9¢iÐ0Ó1€AØ×$Ò$Ð$Ð$äˆa�‹€AØ× Ò Ð Ñ rr   c            	      ó@  — t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        dt        z   dfdf«      j                  d	¬
«      t        t        dt        z   «      dgddgg«      k(  sJ ‚t        d«      } | j                  d	¬
«      }|t        ddgddt        d«      z  t        z  gg«      k(  sJ ‚||j                  z  | k(  sJ ‚t        d«      } | j                  «       }||j                  z  | k(  sJ ‚|j                  sJ ‚|t        g d¢g d¢g d¢g«      k(  sJ ‚t        ddt        z  ddt        z  z   fdt        z  ddt        z   fddt        z  z
  dt        z
  dff«      } | j                  «       j                  «       t        dt        ddfdt        z
  ddff«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        dt        z   dfdf«      j                  d	¬
«      t        t        dt        z   «      dgddgg«      k(  sJ ‚t        d«      } | j                  d	¬
«      }|t        ddgddt        d«      z  t        z  gg«      k(  sJ ‚||j                  z  | k(  sJ ‚t        d«      } | j                  «       }||j                  z  | k(  sJ ‚|j                  sJ ‚|t        g d¢g d¢g d¢g«      k(  sJ ‚t        ddt        z  ddt        z  z   fdt        z  ddt        z   fddt        z  z
  dt        z
  dff«      } | j                  «       t        dt        ddfdt        z
  ddff«      k(  sJ ‚y )Nc                  ó4   — t        d«      j                  «       S ©Nrµ   ©r5   Úcholeskyrq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>.  s   € ¬°«×)@Ñ)@Ó)B€ rr   c                  ó4   — t        d«      j                  «       S ©N©rµ   )r‰   r«   r¯  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>/  ó   € œvÐ&6Ó7×@Ñ@ÓB€ rr   c                  óJ   — t        dt        z   dfdf«      j                  «       S ©Nr¾   r   rÃ   )r5   r
   r°  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>0  s!   € œv¨¬A©¨q z°6Ð&:Ó;×DÑDÓF€ rr   c                  ó4   — t        d«      j                  «       S ©N©)r¦   r¾   )r¾   r¦   r¯  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>1  r´  rr   c                  ó8   — t        d«      j                  d¬«      S ©Nr³  F©Ú	hermitianr¯  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>2  s   € œvÐ&6Ó7×@Ñ@È5Ð@ÓQ€ rr   r¾   r   rÃ   Fr¼  r¦   r¹  rŠ   r¬   ))é   rÓ   rQ  )rÓ   rÏ   r   )rQ  r   rÎ  rí  )r‰   r‰   r   )rù   r¦   r‰   r«   r  rù   rÎ  r  r‰   c                  ó4   — t        d«      j                  «       S r®  ©r6   r°  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>A  s   € ¬°fÓ)=×)FÑ)FÓ)H€ rr   c                  ó4   — t        d«      j                  «       S r²  rÀ  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>B  ó   € œ|Ð,<Ó=×FÑFÓH€ rr   c                  óJ   — t        dt        z   dfdf«      j                  «       S r¶  )r6   r
   r°  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>C  s!   € œ|¨a´!©e°Q¨Z¸Ð,@ÓA×JÑJÓL€ rr   c                  ó4   — t        d«      j                  «       S r¸  rÀ  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>D  rÂ  rr   c                  ó8   — t        d«      j                  d¬«      S r»  rÀ  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>E  s   € œ|Ð,<Ó=×FÑFÐQVÐFÓW€ rr   )rR   r-   r$  r5   r
   r°  r   r´  r‘  r   r6   )ré   r#  s     rs   Útest_choleskyrÆ  -  sk  € Ü
ÔÑ!BÔCÜ
Œ:ÑBÔCÜ
Œ:ÑFÔGÜ
Œ:ÑBÔCÜ
Œ:ÑQÔRÜ�Aœ‘E˜1�:˜vÐ&Ó'×0Ñ0¸5Ð0ÓAÄVÜ	ˆa”!‰e‹�aÐ˜1˜a˜&ðM"ó F#ò #ð #ð #äÐÓ €AØ	�
‰
˜Uˆ
Ó#€AØ”˜˜A˜  A¤d¨1£g¡I¬a¡KÐ 0Ð1Ó2Ò2Ð2Ð2ØˆQ�S‰S‰5�AŠ:Ðˆ:ÜÐ7Ó8€AØ	�
‰
‹€AØˆq�s‰s‰7�aŠ<Ðˆ<Ø�:Š:Ðˆ:Ø”š	¢9ªjÐ9Ó:Ò:Ð:Ð:Ü��B”q‘D˜!˜a¤™c™'Ð" Q¤q¡S¨!¨R´!©VÐ$4°q¸1¼Q¹3±wÀÄQÁÈÐ6KÐLÓM€AØ�:‰:‹<×ÑÓ ¤F¨I¼¸1¸a°yÀ1ÄqÁ5È!ÈQÀ-Ð+PÓ$QÒQÐQÐQä
ÔÑ!HÔIÜ
Œ:ÑHÔIÜ
Œ:ÑLÔMÜ
Œ:ÑHÔIÜ
Œ:ÑWÔXÜ˜!œa™% ˜ VÐ,Ó-×6Ñ6ÀÐ6ÓGÌ6Ü	ˆa”!‰e‹�aÐ˜1˜a˜&ðS"ó L#ò #ð #ð #äÐ%Ó&€AØ	�
‰
˜Uˆ
Ó#€AØ”˜˜A˜  A¤d¨1£g¡I¬a¡KÐ 0Ð1Ó2Ò2Ð2Ð2ØˆQ�S‰S‰5�AŠ:Ðˆ:ÜÐ=Ó>€AØ	�
‰
‹€AØˆq�s‰s‰7�aŠ<Ðˆ<Ø�:Š:Ðˆ:Ø”š	¢9ªjÐ9Ó:Ò:Ð:Ð:Ü�q˜"œQ™$  A¤a¡C¡Ð(¨1¬Q©3°°2¼±6Ð*:¸QÀÄ1Á¹WÀbÌ1ÁfÈbÐ<QÐRÓS€AØ�:‰:‹<œ6 9¬q°!°Q¨i¸!¼a¹%ÀÀA¸Ð"GÓHÒHÐHÑHrr   c            	      ó  — t        dd¬«      } t        t        | «      t        | «      g«      }t	        |j                  d«      «      dk(  sJ ‚|j                  d«      t        t        | «      dz  t        | «      dz  z   t        dd«      «      k(  sJ ‚t        dt        dd«      gg«      }|j                  «       t        d	t        d
d«      z   t        j                  «      k(  sJ ‚|j                  t        «      t        |«      k(  sJ ‚|j                  t         «      t        |«      k(  sJ ‚t        ddgddgg«      }|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚t        d«      j                  d«      t        d«      j                  d«      cxk(  rdk(  sJ ‚ J ‚|j                  t        «      dk(  sJ ‚t        dt        t        g| t        j                  t         gg«      }|j                  d«      t!        t        dd«      dt#        t        «      dz  z  z   t        dz  z   | dz  z   «      k(  sJ ‚t        g d¢ddt        dd«      gg«      }|j                  d«      t!        t        dd«      t!        d«      dz  z   «      k(  sJ ‚|j                  d«      t        j$                  u sJ ‚|j                  d«      t!        d«      dz  k(  sJ ‚t        ddgddgg«      }t        ddgddgg«      }t        dt&         gt&        dgg«      }t        ddgddgg«      }||||g}t        dd¬«      }dD ]È  }t)        d«      j                  |«      t        j$                  u sJ ‚|D ]H  }	|D ]A  }
|	j                  |«      |
j                  |«      z   |	|
z   j                  |«      z
  }|dk\  rŒAJ ‚ ŒJ ||||fD ]D  }t+        ||z  j                  |«      t#        |«      |j                  |«      z  z
  «      }|dk(  rŒDJ ‚ ŒÊ t        dddt&        z  z
  dg«      }t        t        j                  dt&        z  dg«      }t        g d¢«      }t        ddt&        g«      }t        t-        d«      t        dd«      dg«      }|||||g}t        dd¬«      }ddddt        j.                  t        j0                  t        fD �]  }|dkD  r.t        g d¢«      j                  |«      t        j$                  u sJ ‚|dk\  rf|D ]a  }	|D ]Z  }
|	j                  |«      |
j                  |«      z   |	|
z   j                  |«      z
  }t+        |dk\  «      t        j2                  u rŒZJ ‚ Œc |ddddt        j.                  t        j0                  fv sŒÉ|D ]D  }	t+        ||	z  j                  |«      t#        |«      |	j                  |«      z  z
  «      }|dk(  rŒDJ ‚ �Œ t        ddg d¢«      }|j                  d«      dk(  sJ ‚y )Nrc   Trõ  rŠ   r¦   rÒ   r¾   r‰   r¾  r¼   r«   r  r   Ú	frobeniusÚfroé%   )r¦   rŠ   r±   rÐ  i…  rÂ   iI3 rù   Úalpha)rÉ  rŠ   r  r±   )rù   rù   rù   g      Y@rÅ   )	r¦   r‰   r   r  rù   r   r‰   r¼   r¬   )r   r5   r   r   r*   Únormr   r   r   r!  r   Úmaxr  r9   rd   r   r   r²   rÂ  r
   rB   r)   r   ÚInfinityÚNegativeInfinityÚtrue)rc   r§   ré   rê   rë   r@  r#  rË  Úorderr§  r¨  ÚdifrÉ   r_   r`   ra   rb   Úes                     rs   Útest_matrix_normrÔ  U  s·  € ô 	ˆs˜Ô€AÜ”�A“œ˜A›ÐÓ €AÜ�A—F‘F˜1“IÓ !Ò#Ð#Ð#Ø�6‰6�"‹:œœS ›V R™Z¬#¨a«&°"©*Ñ4´h¸qÀ"³oÓFÒFÐFÐFô 	�”H˜Q “NÐ#Ð$Ó%€AØ�6‰6‹8”s˜2¤¨¨A£Ñ.´·±Ó7Ò7Ð7Ð7Ø�6‰6”"‹:œ˜Q›ÒÐÐØ�6‰6”2�#‹;œ#˜a›&Ò Ð Ð ô 	��A�˜˜A˜ÐÓ €AØ�6‰6�!‹9˜Š>Ðˆ>Ø�6‰6�"‹:˜Š?Ðˆ?Ø�6‰6�+Ó !Ò#Ð#Ð#Üˆr‹7�<‰<˜‹?œc "›gŸl™l¨2Ó.Ô3°!Ò3Ð3Ñ3Ð3Ð3Ø�6‰6”"‹:˜Š?Ðˆ?ô 	�”A”q�	˜AœqŸv™v¬ sÐ+Ð,Ó-€AØ�F‰F�5‹MÜ”8˜B “? Q¤s¬1£v¨q¡y¡[Ñ0´2°q±5Ñ8¸1¸a¹4Ñ?Ó@òAð Bð Aô 	’
˜Q ¤8¨B°£?Ð3Ð4Ó5€AØ�6‰6�!‹9œœX c¨1Ó-´°U³¸A±Ñ=Ó>Ò>Ð>Ð>Ø�6‰6�"‹:œŸ™ÑÐÐØ�6‰6�+Ó¤$ s£)¨A¡+Ò-Ð-Ð-ô
 	��A�˜˜A˜ÐÓ €AÜ��A�˜˜Q˜Ð Ó!€AÜ�”Q�B�œ!˜Q˜Ð Ó!€AÜ��A�˜˜B˜Ð Ó!€AØ	
ˆAˆq�!ˆ€AÜ�7 Ô&€Eàò ˆä�Q‹x�}‰}˜UÓ#¤q§v¡vÑ-Ð-Ð-àò 	"ˆAØò "�Ø—v‘v˜e“} q§v¡v¨e£}Ñ4Ø˜‘U—L‘L Ó'ñ(�à˜q›Ð!˜ñ"ð	"ð �Q˜˜1�ò 	ˆAÜ˜E !™GŸ>™>¨%Ó0Ü˜“J §¡¨£Ñ.ñ/ó 0ˆCà˜!“8ˆO�8ñ	ðô$ 	��1�qœ‘s‘7˜BÐÓ €AÜ”—‘˜œ!™˜QÐÓ €AÜŠ|Ó€AÜ��1”aˆyÓ€AÜ”˜“œh q¨#Ó.°Ð2Ó3€AØ	
ˆAˆq�!�Qˆ€AÜ�7 Ô&€Eà�Q˜˜B¤§
¡
¬A×,>Ñ,>ÄÐCó  ˆà�1Š9Üš)Ó$×)Ñ)¨%Ó0´A·F±FÑ:Ð:Ð:à�AŠ:Øò 8�Øò 8�AØŸ6™6 %›=¨1¯6©6°%«=Ñ8Ø˜Q™Ÿ™ UÓ+ñ,�Cä# C¨1¡HÓ-´·±Ò7Ð7Ð7ñ8ð8ð �Q˜˜2˜r¤1§:¡:¬q×/AÑ/AÐBÒBØò  �Ü  a¡Ÿ~™~¨eÓ4Ü˜“Z !§&¡&¨£-Ñ/ñ 1ó 2�à˜a“x��xò ð ô& 	ˆq�!Ò2Ó3€AØ�6‰6�!‹9˜Š?Ð‰?rr   c                  ó¢  ‡‡— t        dd¬«      Št        d«      } d| d<   t        dd«      | d<   | j                  «       d	k(  sJ ‚‰| d
<   | j                  «       t	        dt        ‰«      «      t        t        dd«      t        ‰«      «      z  k(  sJ ‚t        t        ‰«      t        ‰«      gt        ‰«       t        ‰«      gg«      }|j                  «       Št        ˆˆfd„t        dd«      t        j                  t        dd«      t        dz  t        t        t        dd«      z  fD «       «      sJ ‚t        g «      j                  «       dk(  sJ ‚y )Nrc   Trõ  r‰   rÒ   rÁ   r¦   ©rŠ   rŠ   rõ   rÎ   c              3   óŽ   •K  — | ]<  }t        d «      j                  ‰j                  ‰|«      j                  «       «      –— Œ> y­w)ç      ð?N)r	   Ú
epsilon_eqr  r�  )r�   ÚvalÚMcrc   s     €€rs   rŽ   z(test_condition_number.<locals>.<genexpr>¾  s9   øè ø€ ò QÀŒu�R‹y×#Ñ# B§G¡G¨A¨s£O×$9Ñ$9Ó$;×<ñ Qùs   ƒAAr¾   rŠ   r¿   r«   r   )r   r9   r   Úcondition_numberr   r   r   r5   r   r   r’   r   r!  r   )ré   rÉ   rÛ  rc   s     @@rs   Útest_condition_numberrÝ  ²  s-  ù€ Üˆs˜Ô€AÜˆA‹€AØ€A€d�GÜ�q˜"‹o€A€d�GØ×ÑÓ 3Ò&Ð&Ð&à€A€d�GØ×ÑÓ¤3 r¬3¨q«6£?´S¼À!ÀR»Ì#ÈaË&Ó5QÑ#QÒQÐQÐQä”�Q“œ˜Q›Ð ¤C¨£F 7¬C°«FÐ"3Ð4Ó5€AØ	
×	Ñ	Ó	€BÜô QÜ	�!�Q‹œŸ™¤¨!¨R£´"°Q±$¼¼B¼xÈÈ1»~Ñ<MÐOôQô Qð Qð Qô �"‹:×&Ñ&Ó(¨AÒ-Ð-Ñ-rr   c                  óð   — t        d«      } t        d«      }| | d d …d d …f   k(  sJ ‚| | d d …d d …f   k7  rJ ‚| |k(  rJ ‚| |k7  sJ ‚| dk7  sJ ‚| dk(  rJ ‚t        d«      }t        d«      }||k(  sJ ‚||k7  rJ ‚y )N)rª   rY  ©r¿   rÂ   r¼   ))r¼   rÂ   r¿   )r¬   r¾   r«   )r‰   rŠ   r¦   rÒ   )rD  r   r  )r5   r6   )ré   rê   rë   r@  s       rs   Útest_equalityrà  Å  s    € ÜÐ0Ó1€AÜÐ0Ó1€AØ�’!’Q�$‘Š<Ðˆ<Ø�A’aš�d‘GŠ|ÐÐØ�AŠvÐˆ:Ø�Š6€Mˆ6Ø�Š7€Nˆ7Ø�BŠwÐˆ;ô 	Ð6Ó7€AÜÐ0Ó1€AØ�Š6€Mˆ6Ø�AŠvÐˆ:ˆvrr   c                  ó„   — t        d«      j                  t        g d¢g«      «      t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nr‰   )r¿   r¿   r¿   rD  r   r  )r9   rU  r5   rq   rr   rs   Útest_col_joinrâ  Ö  s@   € Üˆq‹6�?‰?œ6¢9 +Ó.Ó/Ü’	ÚÚÚðó 	òð ñ rr   c                  óú   — t        g d¢g«      } t        dd«      D ]^  }g d¢}|j                  |d«       t        t	        d«      j                  || «      j                  d«      j                  «       «      |k(  rŒ^J ‚ y )N©r«   r«   r«   rP  r¾   rD  r«   r‰   r   )r5   rÇ   ÚinsertrN   r9   rW  rT  r³  )Úr4r|   r(  s      rs   Útest_row_insertrç  Þ  so   € Ü	’�Ó	€BÜ�2�q‹\ò FˆÚˆØ	�‰��AŒÜ”s˜1“v×(Ñ(¨¨BÓ/×3Ñ3°AÓ6×=Ñ=Ó?Ó@ÀAÓEÐEÐEñFrr   c                  óø   — t        g d¢«      } t        dd«      D ]^  }g d¢}|j                  |d«       t        t	        d«      j                  || «      j                  d«      j                  «       «      |k(  rŒ^J ‚ y )Nrä  rP  r¾   rÅ   r«   r‰   r   )r5   rÇ   rå  rN   rB   rZ  rS  r³  )Úc4r|   r(  s      rs   Útest_col_insertrê  æ  sm   € Ü	’	Ó	€BÜ�2�q‹\ò HˆÚˆØ	�‰��AŒÜ”u˜Q“x×*Ñ*¨1¨bÓ1×5Ñ5°aÓ8×?Ñ?ÓAÓBÀaÓGÐGÐGñHrr   c                  ó8  — t        ddg«      j                  «       t        t        dd«      t        dd«      g«      k(  sJ ‚t        g d¢«      j                  «       t        g d¢«      k(  sJ ‚t        g d¢«      } | j                  d„ ¬«      t        g d¢«      k(  sJ ‚y )Nr‰   r«   r¾   rÅ   )r   r   g0Žä.ÿ++c                 ó>   —  | j                   dd¬«      j                  S )NrÒ   T)r�   Úchop)r�  Úis_zerorð  s    rs   r~   z!test_normalized.<locals>.<lambda>ø  s   € ˜˜Ÿ™ 2¨DÔ1×9Ñ9€ rr   r‚  )r5   ro  r   rý   s    rs   Útest_normalizedrï  î  s˜   € Ü�1�a�&‹>×$Ñ$Ó&Ü”˜˜A“¤¨¨A£Ð/Ó0ò1ð 1ð 1ô ’)Ó×'Ñ'Ó)¬V²IÓ->Ò>Ð>Ð>ô 	Š}Ó€AØ�<‰<Ù9ð ó ä	’	Ó	òð ñ rr   c                  óH   — t        d„ «      dk(  sJ ‚t        d„ «      dk(  sJ ‚y )Nc                  ó4   — t        d«      j                  «       S rá  ©r9   Úprint_nonzerorq   rr   rs   r~   z$test_print_nonzero.<locals>.<lambda>ý  s   € œ3˜q›6×/Ñ/Ó1€ rr   z[X  ]
[ X ]
[  X]
c                  ó6   — t        d«      j                  d«      S )Nr‰   ú.rò  rq   rr   rs   r~   z$test_print_nonzero.<locals>.<lambda>ÿ  s   € œ3˜q›6×/Ñ/°Ó4€ rr   z[.  ]
[ . ]
[  .]
)rO   rq   rr   rs   Útest_print_nonzerorö  ü  s8   € ÜÑ1Ó2Øò ð  ð  äÑ4Ó5Øò ð  ñ  rr   c                  ó  — t        j                  d«      t        d«      k(  sJ ‚t        j                  d«      t        d«      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚t        ddgddgg«      } t        ddgddgg«      }t        D ]v  }|j                  d«      }| |k(  sJ ‚| t        d|¬«      k(  sJ ‚t        |«      |k(  sJ ‚|j                  d«      }||k(  sJ ‚|t        d|¬«      k(  sJ ‚t        |«      |k(  rŒvJ ‚ y )Nr‰   r«   r¦   rà   r   rŠ   r/  )r5   r9   rB   r<   r�   rŒ   )r|   re   rš   r›   s       rs   Útest_zeros_eyerø  	  s  € Ü�:‰:�a‹=œC ›FÒ"Ð"Ð"Ü�<‰<˜‹?œe A›hÒ&Ð&Ð&Ü��1‹:œ  1 q c¨"¡fÓ-Ò-Ð-Ð-ä��A�˜˜A˜ÐÓ €AÜ��A�˜˜A˜ÐÓ €AÜò ˆØ�G‰G�A‹JˆØ�AŠvˆˆvØ”C˜˜s”OÒ#Ð#Ð#Ü�A‹w˜#Š~Ðˆ~Ø�I‰I�a‹LˆØ�AŠvˆˆvØ”E˜! Ô%Ò%Ð%Ð%Ü�A‹w˜#‹~Ðˆ~ñrr   c                  óŠ  — t        «       j                  sJ ‚t        ddgddgg«      j                  sJ ‚t        dd«      j                  sJ ‚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        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        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 ‚y )	Nr   r‰   r«   r¦   Fr_   T)Únonzero)	r5   Úis_zero_matrixrB   r9   rc   r6   r3   r4   r   rˆ  s    rs   Útest_is_zerorü  	  sL  € Ü‹8×"Ò"Ð"Ð"Ü�A�q�6˜A˜q˜6Ð"Ó#×2Ò2Ð2Ð2Ü��A‹;×%Ò%Ð%Ð%Ü�1‹v×$Ò$Ð$Ð$Ü”A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°dÒ:Ð:Ð:Üœ!˜Q˜ ! Q Ð(Ó)×8Ñ8¸DÒ@Ð@Ð@ÜœQ ˜F Q¨ FÐ+Ó,×;Ñ;¸tÒCÐCÐCÜ ¤1 a &¨1¨a¨&Ð!1Ó2×AÑAÀTÒIÐIÐIÜ”A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°eÒ;Ð;Ð;Üˆs˜DÔ!€AÜ�A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°eÒ;Ð;Ñ;rr   c                  óJ  — t         dz  } t        | «      }t        |  «      }t        | «      }t        |  «      }t        | «      }t        |  «      }||z  t	        d«      z  t	        d«      k(  sJ ‚||z  t	        d«      z  t	        d«      k(  sJ ‚||z  t	        d«      z  t	        d«      k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        j                  g d¢t         dz  «      }t        j                  g d¢t         dz  «      }t        j                  g d¢t         dz  «      }	t        t          dz  «      |j                  «       k(  sJ ‚t        t          dz  «      |j                  «       k(  sJ ‚t        t          dz  «      |	j                  «       k(  sJ ‚t        t         ­dz  «      |j                  «       k(  sJ ‚t        t         ­dz  «      |j                  «       k(  sJ ‚t        t         ­dz  «      |	j                  «       k(  sJ ‚y )Nr‰   r¦   rŠ   r   rD  r   r  )r   r@   r?   r>   r9   rG  r   r]   Úfrom_axis_angleÚto_rotation_matrixrG   rH   rI   )
ÚthetaÚr3_plusÚr3_minusÚr2_plusÚr2_minusÚr1_plusÚr1_minusÚq1Úq2Úq3s
             rs   Útest_rotation_matricesr
  #	  sf  € äˆq‰D€EÜ˜Ó€GÜ˜%˜Ó €HÜ˜Ó€GÜ˜%˜Ó €HÜ˜Ó€GÜ˜%˜Ó €HØ�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,Ø�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,Ø�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,ð �=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.Ø�=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.Ø�=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.ô �Q‹<œ3˜q›6Ò!Ð!Ð!Ü�Q‹<œ3˜q›6Ò!Ð!Ð!Ü�Q‹<œ3˜q›6Ò!Ð!Ð!ô 
×	#Ñ	#¢I¬r°A©vÓ	6€BÜ	×	#Ñ	#¢I¬r°A©vÓ	6€BÜ	×	#Ñ	#¢I¬r°A©vÓ	6€BÜ”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9Ü”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9Ü”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9äœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ð=Üœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ð=Üœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ñ=rr   c                  ó  — t        t        d«      d   «      dk(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚvectorr«   z	vector[4]rb   c                  ó   — t        d«      d   S )Nrb   rù   r.   rq   rr   rs   r~   z%test_DeferredVector.<locals>.<lambda>K	  s   € œ~¨cÓ2°2Ñ6€ rr   ÚtestzDeferredVector('test'))Ústrr/   r   rR   r²  Úreprrq   rr   rs   Útest_DeferredVectorr  H	  sx   € ÜŒ~˜hÓ'¨Ñ*Ó+¨{Ò:Ð:Ð:Ü”> #Ó&Ó'¬>¸#Ó+>Ò>Ð>Ð>Ü
Œ:Ñ6Ô7ÜŒ~˜cÓ"Ó# sÒ*Ð*Ð*Ü”˜vÓ&Ó'Ð+CÒCÐCÑCrr   c                  ó0   — t        t        d«      «      rJ ‚y )Nr§  )rP   r/   rq   rr   rs   Ú test_DeferredVector_not_iterabler  O	  s   € Üœ sÓ+Ô,Ð,Ð,Ð,rr   c                  ó&   — t        t        d„ «       y )Nc                  ó*   — t        t        d«      «      S )Nr�  )r5   r/   rq   rr   rs   r~   z,test_DeferredVector_Matrix.<locals>.<lambda>S	  s   € œf¤^°CÓ%8Ó9€ rr   )rR   r¸  rq   rr   rs   Útest_DeferredVector_Matrixr  R	  s   € Ü
Œ9Ñ9Õ:rr   c            
      óÆ  — t         } t        ddddg«      }t        ddddg«      }t        ||g«      t        ddddg«      t        dd | d«      dz   | d«      dz  g«      gk(  sJ ‚t        |j                  |j                  g«      t        ddddg«      t        dd | d«      dz   | d«      dz  g«      gk(  sJ ‚t        t        ddg«      t        ddg«      gd«      t        dt	        d«      z  dz  t	        d«      dz  g«      t        t	        d«       dz  dt	        d«      z  dz  g«      gk(  sJ ‚t        t        dg«      «      }t        |«      t        dgg«      gk(  sJ ‚y )Nr¦   rŠ   r‰   r¾   rù   TrÒ   )r   r5   r2   r´  r   r'   )r%  rÓ  rÔ  r#  s       rs   Útest_GramSchmidtr  U	  s}  € Ü€AÜ	��1�q˜!�fÓ	€BÜ	��1�q˜!�fÓ	€BÜ˜˜B�xÓ Ü	��1�q˜!�fÓ	œv a¨©Q¨q«T°!©V±Q°r³U¸1±WÐ,=Ó>Ð?ò@ð @ð @ä˜Ÿ™˜bŸd™d�|Ó$Ü	��1�q˜!�fÓ	œv a¨©Q¨q«T°!©V±Q°r³U¸1±WÐ,=Ó>Ð?ò@ð @ð @ô œ  1˜v›¬°°1¨v«Ð7¸Ó>Ü�”$�r“(‘
˜2‘œt B›x¨™{Ð+Ó,Ü”�b“�	˜"‘˜a¤ R£™j¨™mÐ,Ó-ðC/ò /ð /ð /ô 	”&˜!˜“+Ó€AÜ�q‹>œf q c U›m˜_Ò,Ð,Ñ,rr   c                  óT   — t        g d¢d«      dk(  sJ ‚t        g d¢dd¬«      dk(  sJ ‚y )NrØ  r¦   r   F)Úzero)r7   rq   rr   rs   Útest_casoratianr  f	  s.   € Ü’l AÓ&¨!Ò+Ð+Ð+Ü’l A¨EÔ2°aÒ7Ð7Ñ7rr   c                  óì   — t        «       t        dd«      z  j                  dk(  sJ ‚t        dd«      t        dd«      z  t        dd«      k(  sJ ‚t        dd«      t        dd«      z  t        «       k(  sJ ‚y )Nr   r‰   )r   r‰   )r5   rB   r‘   rq   rr   rs   Útest_zero_dimension_multiplyr  k	  si   € Ü‹H”U˜1˜a“[Ñ ×'Ñ'¨6Ò1Ð1Ð1Ü��A‹;”u˜Q “{Ñ"¤e¨A¨q£kÒ1Ð1Ð1Ü��A‹;”u˜Q “{Ñ"¤f£hÒ.Ð.Ñ.rr   c                  óv  ‡ — t        ddt        d«      «      Š ‰ dd d …f   t        ddgg«      k(  sJ ‚‰ dd d …f   t        ddgg«      k(  sJ ‚‰ d d …df   t        ddgg«      j                  k(  sJ ‚‰ d d …df   t        ddgg«      j                  k(  sJ ‚t        t        ˆ fd„«       t        t        ˆ fd„«       y )NrŠ   r«   r¦   r‰   rù   c                  ó   •— ‰ dd d …f   S rï  rq   rý   s   €rs   r~   z'test_slice_issue_2884.<locals>.<lambda>w	  s   ø€ ˜q ¢A ™w€ rr   c                  ó   •— ‰ d   S )NrÖ  rq   rý   s   €rs   r~   z'test_slice_issue_2884.<locals>.<lambda>x	  s   ø€ ˜q ™w€ rr   )r5   rÇ   r´  rR   r²  rý   s   @rs   Útest_slice_issue_2884r!  q	  s¹   ø€ Üˆq�!”U˜1“XÓ€AØˆQ’ˆT‰7”f˜q !˜f˜XÓ&Ò&Ð&Ð&ØˆR’ˆU‰8”v  1˜v˜hÓ'Ò'Ð'Ð'ØŠQ�ˆT‰7”f˜q !˜f˜XÓ&×(Ñ(Ò(Ð(Ð(ØŠQ�ˆU‰8”v  1˜v˜hÓ'×)Ñ)Ò)Ð)Ð)Ü
Œ:“Ô'Ü
Œ:“Õ'rr   c                  óŽ   — t        dd«      d d …df   j                  dk(  sJ ‚t        dd«      dd d …f   t        ddg «      k(  sJ ‚y )Nr   r‰   rù   rÃ   r¦   )rB   r‘   r5   rq   rr   rs   Útest_slice_issue_3401r#  {	  sK   € Ü��A‹;’q˜"�uÑ×#Ñ# vÒ-Ð-Ð-Ü��A‹;�qš!�tÑ¤ q¨!¨RÓ 0Ò0Ð0Ñ0rr   c                  ó¢  — t        dd«      } d| d<   | d d …df   t        g d¢«      k(  sJ ‚| d   dk(  sJ ‚| dd dgk(  sJ ‚d| d<   | d   dk(  sJ ‚| ddd …f   t        ddgg«      k(  sJ ‚t        dd	gg«      | ddd …f<   | dd d …f   t        g d
¢g«      k(  sJ ‚ddgg| ddd …f<   | dd d …f   t        g d¢g«      k(  sJ ‚d| d<   | d d …d d…f   t        g d¢«      k(  sJ ‚g d¢| d<   | d d …df   t        g d¢«      k(  sJ ‚t        g d¢«      | d<   | d d …df   t        g d¢«      k(  sJ ‚t        g d¢«      | d<   | d d …df   t        g d¢«      k(  sJ ‚y )Nr‰   r¦   r   r   r«   rP  rÎ   r¾   r¬   )r¦   r¾   r¬   é+   )r¦   rP  r%  é   rÁ   )r&  r¦   r   r]  )rB   r5   r6   )r  s    rs   Útest_copyinr'  €	  s˜  € Üˆa�‹€AØ€A€a�DØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'ØˆQ‰4�1Š9Ðˆ9ØˆQ�ˆ7�q�cŠ>Ðˆ>Ø€A€d�GØˆT‰7�bŠ=Ðˆ=ØˆQ�‘ˆU‰8”v  A˜w˜iÓ(Ò(Ð(Ð(Ü˜˜1�v�hÓ€A€aˆ‰€e�HØˆQ’ˆT‰7”fši˜[Ó)Ò)Ð)Ð)Ø�R�ˆz€A€aˆ‰€e�HØˆQ’ˆT‰7”fšk˜]Ó+Ò+Ð+Ð+Ø€A€d�GØŠQ���ˆU‰8”všjÓ)Ò)Ð)Ð)Ú€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'Ü’YÓ€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'Üš9Ó%€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ñ'rr   c                  ó&  ‡ — t        ddgddgg«      j                  «       t        ddgddgg«      dfk(  sJ ‚t        t        d„ «       t        g d¢t        ddgdt        dgg«      Š t        ‰ j                  «       d   «      ‰ j                  k7  sJ ‚‰ j                  «       d   t        d«      k7  sJ ‚‰ j                  t        ¬	«      d   t        d«      k7  sJ ‚t        t        ˆ fd
„«       t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nr¦   rŠ   r   )r   c                  ó@   — t        ddgddgg«      j                  «       S r¥   rQ  rq   rr   rs   r~   z'test_invertible_check.<locals>.<lambda>›	  s!   € œv¨¨1 v°°1¨vÐ&6Ó7×;Ñ;Ó=€ rr   )rù   rù   r   rù   r‰   rë  c                  ó(   •— ‰ j                  d¬«      S )NrŽ  rƒ  ©r-  rý   s   €rs   r~   z'test_invertible_check.<locals>.<lambda>¦	  s   ø€ ˜qŸu™u¨E˜uÓ2€ rr   c                  ó(   •— ‰ j                  d¬«      S )Nr‚  rƒ  r+  rý   s   €rs   r~   z'test_invertible_check.<locals>.<lambda>§	  ó   ø€ ˜qŸu™u¨D˜uÓ1€ rr   c                  ó(   •— ‰ j                  d¬«      S )Nr‹  rƒ  r+  rý   s   €rs   r~   z'test_invertible_check.<locals>.<lambda>¨	  r-  rr   )	r5   rT  rR   r$  rc   rA  r“   r9   r(   rý   s   @rs   Útest_invertible_checkr/  —	  sø   ø€ ô �A�q�6˜A˜q˜6Ð"Ó#×(Ñ(Ó*¬v¸¸1°vÀÀ1¸vÐ6FÓ/GÈÐ.NÒNÐNÐNÜ
Œ:Ñ=Ô>ÜÚÜ
ˆa�!ˆØ
Œa�ˆðó 	€Aô
 ˆq�v‰v‹x˜‰{Ó˜qŸv™vÒ%Ð%Ð%ð �6‰6‹8�A‰;œ#˜a›&Ò Ð Ð Ø�6‰6œ8ˆ6Ó$ QÑ'¬3¨q«6Ò1Ð1Ð1Ü
Œ:Ó2Ô3Ü
Œ:Ó1Ô2Ü
Œ:Ó1Õ2rr   c                  óŠ   — t        d«      \  } }| |z  }|j                  | t        g d¢«      «      t        g d¢«      |z  k(  sJ ‚y )Nzx, y)r‰   r¾   r‰   )r   r  r5   )rc   rd   rÓ  s      rs   Útest_issue_3959r1  «	  s@   € Ü�6‹?�D€A€qØ	ˆ!‰€AØ�6‰6�!”VšIÓ&Ó'¬6²)Ó+<¸QÑ+>Ò>Ð>Ñ>rr   c                  óB   — t        t        ddgddgg«      «      dk(  sJ ‚y )Nr¦   rŠ   r‰   r«   zMatrix([[1, 2], [3, 4]]))r  r5   rq   rr   rs   Útest_issue_5964r3  ±	  s(   € ÜŒv˜˜1�v  1˜vÐ&Ó'Ó(Ð,FÒFÐFÑFrr   c                  óp   — t        d«      \  } }t        t        | d|z  g|dz  | dz   gg«      «      dk(  sJ ‚y )Núx yrŠ   r‰   z'Matrix([
[   x,   2*y],
[y**2, x + 3]]))r   r&   r5   )rc   rd   s     rs   Útest_issue_7604r6  µ	  sG   € Ü�5‹>�D€A€qÜ”˜˜A˜a™C˜ 1 a¡4¨¨Q© -Ð0Ó1Ó2Ø3ò4ð 4ñ 4rr   c            
      ó   — t        d«      j                  sJ ‚t        d«      j                  «       j                  sJ ‚t        d«      j                  rJ ‚t	        d«      j                  rJ ‚t        g d¢g«      j                  rJ ‚t        ddddddœ«      j                  sJ ‚t        ddt        d«      «      j                  rJ ‚t        dddddœ«      j                  rJ ‚t        ddddddddœ«      j                  rJ ‚y )	Nr‰   rD  r¦   )rÁ   rÎ   rÖ  rŠ   r¬   )rÁ   rÎ   )rÁ   rÎ   rÖ  rÃ   r^  )r9   Úis_Identityr¶  rB   r<   r5   r6   rÇ   rq   rr   rs   Útest_is_Identityr9  »	  së   € Üˆq‹6×ÒÐÐÜˆq‹6×ÑÓ ×,Ò,Ð,Ð,Ü�Q‹x×#Ò#Ð#Ð#Ü�A‹w×"Ò"Ð"Ð"ä’y�kÓ"×.Ò.Ð.Ð.ä˜˜! A¨Q°aÑ8Ó9×EÒEÐEÐEÜ˜A˜a¤ q£Ó*×6Ò6Ð6Ð6Ü˜A˜a¨°Ñ!3Ó4×@Ò@Ð@Ð@Ü˜A˜a¨°¸!À1ÈAÑ!NÓO×[Ò[Ð[Ð[Ð[rr   c                  ó’  — t        dd«      j                  t        dd«      «      dk(  sJ ‚t        dd«      j                  g d¢«      dk(  sJ ‚t        g d¢«      j                  t        g d¢«      «      dk(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      «      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d¬	«      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d
¬	«      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d
d¬«      dt        z
  k(  sJ ‚t        dddt        z  g«      j                  t        ddt        z  dg«      d
d¬«      ddt        z  z   k(  sJ ‚t        dddt        z  g«      j                  t        ddt        z  dg«      d
d¬«      ddt        z  z
  k(  sJ ‚t        t        dt        z  g«      j                  t        t        dt        z  g«      dd¬«      dk(  sJ ‚t        t        dt        z  g«      j                  t        t        dt        z  g«      d¬«      dk(  sJ ‚t	        t
        d„ «       y )Nr¦   r‰   r]  rª   rÑ  rŠ   rQ  Fr¼  TrÐ  Úphysics©r½  Úconjugate_conventionr«   r¾   r¬   ÚrightrÂ   Úleft)r=  c                  óV   — t        ddg«      j                  t        ddg«      dd¬«      S )Nr¦   rŠ   r‰   r«   Tr  r<  rg  rq   rr   rs   r~   ztest_dot.<locals>.<lambda>Õ	  s)   € œv q¨! f›~×1Ñ1´&¸!¸Q¸³.ÈDÐgmÐ1Ón€ rr   )r<   rh  r5   r
   rR   r$  rq   rr   rs   Útest_dotrA  É	  s€  € Ü��1‹:�>‰>œ$˜q !›*Ó%¨Ò*Ð*Ð*Ü��1‹:�>‰>š)Ó$¨Ò)Ð)Ð)Ü’)Ó× Ñ ¤ª	Ó!2Ó3°rÒ9Ð9Ð9Ü�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6Ó7¸2Ä¹6ÒAÐAÐAÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À%Ð"ÓHÈBÔQRÉFÒRÐRÐRÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À$Ð"ÓGÈ2ÔPQÉ6ÒQÐQÐQÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À$Ð]fÐ"ÓgÐkmÔpqÑkqÒqÐqÐqÜ�1�a˜œ1™�+Ó×"Ñ"¤6¨1¨a´©c°1¨+Ó#6À$Ð]dÐ"ÓeÐijÐmnÔopÑmpÑipÒpÐpÐpÜ�1�a˜œ1™�+Ó×"Ñ"¤6¨1¨a´©c°1¨+Ó#6À$Ð]cÐ"ÓdÐhiÐlmÔnoÑloÑhoÒoÐoÐoÜ”1�aœ‘c�(Ó×Ñ¤¬¨1¬Q©3 xÓ 0¸EÐX^ÐÓ_ÐceÒeÐeÐeÜ”1�aœ‘c�(Ó×Ñ¤¬¨1¬Q©3 xÓ 0ÀvÐÓNÐRSÒSÐSÐSÜ
Œ:ÑnÕorr   c            	      óÈ  — t        dd¬«      \  } }}}}}t        d|||f| d|| f| | d| f| ||  dff«      }t        d|  | | f| d|| f|| d|f||| dff«      }|j                  «       j                  |«      sJ ‚t	        d«      j                  «       j                  t        d«      «      sJ ‚|j                  «       j                  «       j                  | «      sJ ‚y )NzB_x B_y B_z E_x E_y E_zTrõ  r   r‰   )r   r5   ÚdualÚequalsr9   rB   )ÚB_xÚB_yÚB_zÚE_xÚE_yÚE_zÚFÚFds           rs   Ú	test_dualrM  Ø	  s  € Ü#*Ø!¨ô$.Ñ €Cˆˆc�3˜˜SäØ��c˜CÐ Ø
ˆ�!�c˜C˜4Ð Ø
ˆ�ˆt˜˜CÐ Ø
ˆ��c�T˜aÐ ð	ó 	€Aô 
Øˆsˆd�S�D˜3˜$ÐØ	��S˜3˜$ÐØ	ˆsˆd�q˜3ÐØ	ˆs�S�D˜QÐð	ó 
€Bð �6‰6‹8�?‰?˜2ÔÐÐÜˆq‹6�;‰;‹=×Ñ¤ a£Ô)Ð)Ð)Ø�6‰6‹8�=‰=‹?×!Ñ! 1 "Ô%Ð%Ñ%rr   c                  ó,  — t        ddg«      j                  «       du sJ ‚t        dddt        dz  dt        z  z   dz   t        t        dz   dz   dt        t        z  t         t         t        z  dg	«      } | j                  «       du sJ ‚| j                  d¬«      �J ‚| j                  d„ ¬«      �J ‚| d	    | d	<   | j                  «       �J ‚| d	    | d	<   | j	                  «       } | j                  d¬«      du sJ ‚d| d
<   | j                  «       du sJ ‚y )Nr¦   rŠ   Fr‰   r   Trë  c                 ó   — | S ry   rq   rð  s    rs   r~   z%test_anti_symmetric.<locals>.<lambda>ñ	  s   € °!€ rr   rÐ   rÁ   )r5   Úis_anti_symmetricrc   rd   r   rý   s    rs   Útest_anti_symmetricrQ  ì	  s/  € Ü�1�a�&‹>×+Ñ+Ó-°Ñ6Ð6Ð6Üˆq�!�aœ˜A™ ¤!¡™ a™¬¬a°!©e°a©Z¨K¸¼A¼a¹CÄ!ÀÄaÀRÌÁTÈ1ÐMÓN€AØ×ÑÓ  DÑ(Ð(Ð(Ø×Ñ¨ÐÓ.Ð6Ð6Ð6Ø×Ñ©ÐÓ4Ð<Ð<Ð<ð �‰wˆh€A€d�GØ×ÑÓ Ð(Ð(Ð(à�‰wˆh€A€d�Gà	�‰‹
€AØ×Ñ¨ÐÓ.°$Ñ6Ð6Ð6Ø€A€d�GØ×ÑÓ  EÑ)Ð)Ñ)rr   c                  óš  — t        d«      } | j                  d¬«      \  }}||j                  z  |j                  |z  cxk(  rt        |j                  «      k(  sJ ‚ J ‚| j                  dd¬«      \  }}||j                  z  |j                  |z  cxk(  rt        |j                  «      k(  sJ ‚ J ‚||z  |j                  «       z  | k(  sJ ‚y )N)rµ   rÐ   T)Ú	normalize)rS  Úsort)r5   r~  r´  r9   r”   r-  )ré   r/  rY   s      rs   Ú#test_normalize_sort_diogonalizationrU  ÿ	  sµ   € ÜÐÓ €AØ�=‰= 4ˆ=Ó(�D€A€qØˆQ�S‰S‰5�A—C‘C˜‘EÔ(œS §¡›[Ò(Ð(Ñ(Ð(Ð(Ø�=‰= 4¨dˆ=Ó3�D€A€qØˆQ�S‰S‰5�A—C‘C˜‘EÔ(œS §¡›[Ò(Ð(Ñ(Ð(Ð(ØˆQ‰3ˆq�u‰u‹w‰;˜!ÒÐÑrr   c                  ó&   — t        t        d„ «       y )Nc                  ó6   — t        g d¢t        ddg «      g«      S )Nrª   r   r¦   rñ   rq   rr   rs   r~   z!test_issue_5321.<locals>.<lambda>	
  s   € œv¢y´&¸¸A¸rÓ2BÐ&CÓD€ rr   )rR   r$  rq   rr   rs   Útest_issue_5321rX  
  s   € Ü
Œ:ÑDÕErr   c            	      ó¦  — t        j                  t        d«      dt        d«      z  «      t        g d¢g d¢g«      k(  sJ ‚t        j                  t        d«      dt        d«      z  «      t        ddgddgddgddgg«      k(  sJ ‚t        } | j                   | t        d«      «       | dt        d«      z  «      «      t        g d¢g d¢g«      k(  sJ ‚y )NrŠ   )r¦   r   rŠ   r   )r   r¦   r   rŠ   r¦   r   )r5   Úhstackr9   Úvstackr6   r/  s    rs   Útest_issue_5320r\  
  sÚ   € Ü�=‰=œ˜Q› ¤3 q£6¡Ó*¬fÚÚð6ó /ò ð ð ô �=‰=œ˜Q› ¤3 q£6¡Ó*¬fØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð	6ó /ò ð ð ô €CØ�:‰:‘cœ#˜a›&“k¡3 q¬¨Q«¡x£=Ó1´VÚÚð=ó 6ò ð ñ rr   c                  óÒ   — t        dgg«      } t        | «      }t        j                  || «      t        ddgg«      k(  sJ ‚t        j                  || «      t        dgdgg«      k(  sJ ‚y rM  )r5   r   rZ  r[  )ré   ÚAIms     rs   Útest_issue_11944r_  
  sb   € Ü��ˆu‹€AÜ
�!‹*€CÜ�=‰=˜˜aÓ ¤F¨Q°¨F¨8Ó$4Ò4Ð4Ð4Ü�=‰=˜˜aÓ ¤F¨Q¨C°!°¨:Ó$6Ò6Ð6Ñ6rr   c                  óº  ‡— g d¢} g d¢}t        g d¢«      }|j                  }ˆfd„}t        D ]š  Š ‰| «      } ‰|«      } ||j                  |«      |«        ||j                  |j                  «      |«        ||j                  j                  |j                  «      |«        ||j                  j                  |«      |«       Œœ t	        t
        d„ «       y )Nrª   r½   )r  r«   r  c                 ó4   •— || k(  sJ ‚t        | «      ‰k(  sJ ‚y ry   )rŒ   )rÉ   r'  rš   s     €rs   r  ztest_cross.<locals>.test)
  s   ø€ Ø�aŠxˆˆxÜ�A‹w˜#Š~Ð‰~rr   c                  óX   — t        ddddg«      j                  t        ddddg«      «      S r¥   rd  rq   rr   rs   r~   ztest_cross.<locals>.<lambda>3
  s/   € Üˆq�!�a˜�VÓ×"Ñ"¤6¨!¨Q°°A°Ó#7Ó8ð rr   )r5   r´  r�   re  rR   r+   )r_   r`   rT  rS  r  ré   rê   rš   s          @rs   Ú
test_crossrc  #
  s±   ø€ Ú€AÚ€AÜ
’Ó
€CØ
�%‰%€Côô ò  ˆÙ�‹FˆÙ�‹FˆÙˆQ�W‰W�Q‹Z˜ÔÙˆQ�W‰W�Q—S‘S‹\˜3ÔÙˆQ�S‰S�Y‰Y�q—s‘s‹^˜SÔ!ÙˆQ�S‰S�Y‰Y�q‹\˜3Õð ô Œ:ñ 9õ :rr   c                  ó@  — t        t        t        t        g«      } t        t        t
        t        g«      }| j                  «       |z  | j                  |«      k(  sJ ‚| j                  «       j                  «       sJ ‚| j                  «       j                  «       | k(  sJ ‚y ry   )r5   rc   rd   re   r_   r`   ra   Úhatre  rP  Úvee)Úv1Úv2s     rs   Útest_hat_veeri  6
  st   € Ü	””A”q�	Ó	€BÜ	””A”q�	Ó	€BØ�6‰6‹8�b‰=˜BŸH™H R›LÒ(Ð(Ð(Ø�6‰6‹8×%Ñ%Ô'Ð'Ð'Ø�6‰6‹8�<‰<‹>˜RÒÐÑrr   c                  ó&  — t         dd  D ]V  } | j                  d«      | j                  d«      h}t        |«      dk(  r#|j                  «       | j                  d«      k(  rŒVJ ‚ t         d d D ]#  } t	        | j                  d«      t
        «      sŒ#J ‚ y )Nr  r¦   rŠ   )r�   r9   rA  Úpopr×   r   )rš   r  s     rs   Ú	test_hashrl  =
  s†   € Ü�r�sˆ|ò 5ˆØ�W‰W�Q‹Z˜Ÿ™ ›Ð$ˆÜ�1‹v˜Š{˜qŸu™u›w¨#¯'©'°!«*Ó4Ð4Ð4ð5ô �r˜ˆ{ò 4ˆÜ˜cŸg™g a›j¬(Õ3Ð3Ð3ñ4rr   c                  ó>   ‡ — t         d   Š t        t        ˆ fd„«       y )Nr   c                  ó8   •— t        ‰ j                  d«      «      S rM  )Úhashr9   r/  s   €rs   r~   z!test_issue_3979.<locals>.<lambda>K
  s   ø€ ¤4¨¯©°«
Ó#3€ rr   )r�   rR   rA  r/  s   @rs   Útest_issue_3979rp  F
  s   ø€ ô �!‰*€CÜ
Œ>Ó3Õ4rr   c                  ó”   — dt         gddgg} t        ddgt          dgg«      }t        D ]  }| || «      j                  «       k(  rŒJ ‚ y ©Nr   r¦   )r
   r5   r�   Úadjoint)rº  r'  rš   s      rs   Útest_adjointrt  N
  sW   € ØŒqˆ6�A�q�6Ð
€CÜ
�1�a�&œA˜2˜q˜'Ð"Ó
#€CÜò )ˆØ‘c˜#“h×&Ñ&Ó(Ó(Ð(Ð(ñ)rr   c                  óP  — dd l } | j                  j                  j                  j	                  d«      }| j                  j                  j                  |«      }dt        |z  gd|gg}t        ddgt         |z  |gg«      }t        D ]  }| ||«      j                  «       k(  rŒJ ‚ y )Nr   r_   )
Úsympy.physics.quantumr;  ÚquantumÚoperatorr!   r"   r
   r5   r�   rs  )Úsympyr_   Úa_dagrº  r'  rš   s         rs   Útest_adjoint_with_operatorr{  U
  sœ   € ã Ø�‰×Ñ×&Ñ&×/Ñ/°Ó4€AØ�M‰M×!Ñ!×(Ñ(¨Ó+€EØŒq�1‰uˆ:˜˜5�zÐ
"€CÜ
�1�a�&œA˜2 ™: q˜/Ð*Ó
+€CÜò )ˆØ‘c˜#“h×&Ñ&Ó(Ó(Ð(Ð(ñ)rr   c                  ó–   — t        t        t        t        «      dz  t	        t        «      dz  z   gg«      «      t        dgg«      k(  sJ ‚y )NrŠ   r¦   )r)   r3   r   rc   r   rq   rr   rs   Útest_simplify_immutabler}  `
  sE   € Ü”O¤c¬!£f¨a¡i´#´a³&¸!±)Ñ&;Ð%<Ð$=Ó>Ó?Ü# a S EÓ*ò+ð +ñ +rr   c                  ó¢   ‡‡— t        dt        ¬«      \  ŠŠt        ddˆfd„«      } t        ddˆfd„«      }|j                  ‰‰«      }|| k(  sJ ‚y )NzF, Gr/  rŠ   c                 ó   •—  ‰| |z   «      S ry   rq   )r|   r}   ÚGs     €rs   r~   ztest_replace.<locals>.<lambda>f
  ó   ø€ ¡! A a¡C£&€ rr   c                 ó   •—  ‰| |z   «      S ry   rq   )r|   r}   rK  s     €rs   r~   ztest_replace.<locals>.<lambda>g
  r�  rr   )r   r   r5   Úreplace)ÚKrÉ   ÚNrK  r€  s      @@rs   Útest_replacer†  d
  sK   ù€ Ü�6œxÔ(�D€A€qÜˆq�!Ó(Ó)€AÜˆq�!Ó(Ó)€AØ	�	‰	�!�Q‹€AØ�Š6€M‰6rr   c                  ó  — t        ddgt        ddt        z  z
  gg«      } | j                  «       t        j                  t        d«      t        j
                  t        hk(  sJ ‚| j                  t        «      t        hk(  sJ ‚y r¥   )r5   rc   Úatomsr   rÁ  ÚNegativeOner   rý   s    rs   Ú
test_atomsrŠ  l
  sb   € Ü��A�œ˜A ¤!¡™G˜Ð%Ó&€AØ�7‰7‹9œŸ™œq ›t¤A§M¡M´1Ð5Ò5Ð5Ð5Ø�7‰7”6‹?œq˜cÒ!Ð!Ñ!rr   c            	      óæ  ‡	— t        t        t        gt        t        gg«      } t        | j                  d¬«      «      t        | j                  «       «      k(  sJ ‚t        ddgddgddgg«      t        g d	¢g d
¢g«      t        t        t        g«      g}|D ]f  }|j                  d¬«      }||z  }||z  }t        ||z  «      |k(  sJ ‚t        ||z  «      |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  rŒfJ ‚ |D ]o  }t        |j                  d¬«      «      }||z  }||z  }t        ||z  «      |k(  sJ ‚t        ||z  «      |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  rŒoJ ‚ ddl	m
Š	 | j                  d¬«      }| j                  «       }t        dt        dt        dt        di}t        ˆ	fd„t        |j                  |«      |j                  |«      «      D «       «      sJ ‚y )NÚRDrƒ  rÐ  éh   i¤  r‰   r±   r¾   )r¦   r¿   r¼   )rÎ  r&  é   ÚEDr   )Úcompi_àþÿib,  i¾Ø  ijô  c              3   ón   •K  — | ],  \  }} ‰|j                  «       |j                  «       «      –— Œ. y ­wry   r€   )r�   r|   r}   r�  s      €rs   rŽ   ztest_pinv.<locals>.<genexpr>™
  s0   øè ø€ ò 
áˆAˆqñ 	ˆQ�S‰S‹U�A—C‘C“E×ñ
ùrƒ  )r5   r_   r`   ra   rb   r)   Úpinvr-  r<  Úsympy.core.numbersr�  r’   Úzipr  )
ÚA1ÚAsré   ÚA_pinvÚAApÚApAr  ÚwÚrepsr�  s
            @rs   Ú	test_pinvrœ  r
  sò  ø€ ä	”!”Q�œ!œQ˜Ð Ó	!€BÜ�B—G‘G 4�GÓ(Ó)¬X°b·f±f³hÓ-?Ò?Ð?Ð?ô �2�s�)˜d A˜Y¨¨Q¨Ð0Ó
1Ü
’)š\Ð*Ó
+Ü
”!”Q�‹.ð
€Bð ò ˆØ—‘˜t�Ó$ˆØ�&‰jˆØ�q‰jˆÜ˜˜a™Ó  AÒ%Ð%Ð%Ü˜˜f™Ó%¨Ò/Ð/Ð/Ø�u‰u˜Š|Ðˆ|Ø�u‰u˜‹|Ðˆ|ðð ò ˆÜ˜!Ÿ&™&¨˜&Ó-Ó.ˆØ�&‰jˆØ�q‰jˆÜ˜˜a™Ó  AÒ%Ð%Ð%Ü˜˜f™Ó%¨Ò/Ð/Ð/Ø�u‰u˜Š|Ðˆ|Ø�u‰u˜‹|Ðˆ|ðõ (Ø
�‰�tˆÓ€AØ
�‰‹€AÜˆv”q˜%¤ E¬1¨eÐ4€DÜó 
ä˜Ÿ™˜t› a§f¡f¨T£lÓ3ô
ô 
ð 
ñ 
rr   c            	      óØ   — t        g d¢g d¢g d¢g d¢g d¢g d¢g«      g} | D ]G  }|j                  d¬«      }||z  }||z  }|j                  |k(  sJ ‚d	„ } ||j                  |«      rŒGJ ‚ y )
N)é=   r  é7   r¨  r  r   )é>   râ   éU   r¡  rå   r   )éE   é8   r&  r«   é6   r   )rÒ   r¤  é[   é)   r  r   )r¿   r  rÒ   rß   éZ   r   )r   r   r   r   r   r   r�  rƒ  c                 óÚ   — | j                  t        «      }|D �ci c]  }||j                  «       “Œ }}| |z
  j                  |«      j                  «       }t	        d„ |D «       «      S c c}w )Nc              3   ó8   K  — | ]  }t        |«      d k  –— Œ y­w)g»½×Ùß|Û=N©r²   ©r�   rÓ  s     rs   rŽ   zXtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclose.<locals>.<genexpr>À
  s   è ø€ Ò;¨!”s˜1“v •~Ñ;ùs   ‚)rˆ  r%   r�  r2  r’   )ÚM1r»  ÚrootofsrN  Úrootofs_approxÚdiff_approxs         rs   ÚallclosezEtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclose¼
  s`   € Ø—h‘hœvÓ&ˆGØ4;Ö<¨q˜a §¡£™lÐ<ˆNÐ<Ø ™7×,Ñ,¨^Ó<×BÑBÓDˆKÜÑ;¨{Ô;Ó;Ð;ùò =s   šA()r5   r’  r<  )r–  ré   r—  r˜  r™  r°  s         rs   Ú3test_pinv_rank_deficient_when_diagonalization_failsr±  Ÿ
  sˆ   € ô
 	Ú#Ú#Ú#Ú#Ú#Úð ó 	!ð
€Bð ò $ˆØ—‘˜t�Ó$ˆØ�&‰jˆØ�q‰jˆØ�u‰u˜Š|Ðˆ|ò	<ñ ˜Ÿ™˜sÕ#Ð#Ð#ñ-$rr   c                  ó¨   — t        dd«      t        dd«      z   t        ddg «      k(  sJ ‚t        dd«      t        dd«      z   t        ddg «      k(  sJ ‚y rr  )r<   r5   rq   rr   rs   Útest_issue_7201r³  Å
  sR   € Ü��1‹:œ˜Q ›
Ñ"¤f¨Q°°2Ó&6Ò6Ð6Ð6Ü��1‹:œ˜Q ›
Ñ"¤f¨Q°°2Ó&6Ò6Ð6Ñ6rr   c                  ó‚   — t         t        t        t        fD ]&  }  | t        gdgg«      j
                  t        hk(  rŒ&J ‚ y r…   )r3   r4   r5   r6   rc   Úfree_symbolsr(  s    rs   Útest_free_symbolsr¶  É
  s=   € ÜÔ3´V¼\ÐIò 1ˆÙ”1�#˜�s�‹}×)Ñ)¬a¨SÓ0Ð0Ð0ñ1rr   c                  ó  ‡ — 	 ddl mŠ  t	         ‰ g d¢«      «      t	        g d¢«      k(  sJ ‚t	         ‰ g d¢g«      «      t	        g d¢g«      k(  sJ ‚t	         ‰ g d¢g d¢g«      «      t	        g d¢g d¢g«      k(  sJ ‚t	         ‰ t
        t        t        g«      «      t	        t
        t        t        g«      k(  sJ ‚t        t        ˆ fd„«       t	         ‰ ddg«       ‰ d	d
g«      g«      t	        ddgd	d
gg«      k(  sJ ‚t	         ‰ ddg«      d	d
gg«      t	        ddgd	d
gg«      k(  sJ ‚t	         ‰ g «       ‰ g «      g«      t	        ddg «      cxk(  rt	        ddg «      k7  sJ ‚ J ‚y# t        $ r t        d«       Y �Œtw xY w)zSee issue 7465.r   ©Úarrayú?NumPy must be available to test creating matrices from ndarraysrª   rY  c                  óB   •— t         ‰ ddgddggddgddggg«      «      S )	Nr¦   rŠ   r‰   r«   r¾   r¬   r¿   rÂ   rñ   r¸  s   €rs   r~   z#test_from_ndarray.<locals>.<lambda>Ú
  s0   ø€ ”‘u  1˜v¨¨1 vÐ.°!°Q°¸!¸Q¸Ð0@ÐAÓBÓC€ rr   r¦   rŠ   r‰   r«   N)
Únumpyr¹  ÚImportErrorrU   r5   rc   rd   re   rR   ÚNotImplementedErrorr¸  s   @rs   Útest_from_ndarrayr¿  Í
  s{  ø€ ðPÝô ‘%š	Ó"Ó#¤vªiÓ'8Ò8Ð8Ð8Ü‘%š˜Ó$Ó%¬²°Ó)<Ò<Ð<Ð<Ü‘%š¢IÐ.Ó/Ó0Ü’	š9Ð%Ó&ò'ð 'ð 'ä‘%œœAœq˜	Ó"Ó#¤v¬q´!´Q¨iÓ'8Ò8Ð8Ð8Ü
ÔÛCôEä‘5˜!˜Q˜“=¡%¨¨A¨£-Ð0Ó1´V¸aÀ¸VÀaÈÀVÐ<LÓ5MÒMÐMÐMÜ‘5˜!˜Q˜“= 1 a &Ð)Ó*¬f°q¸!°f¸qÀ!¸fÐ5EÓ.FÒFÐFÐFÜ‘5˜“9™e B›iÐ(Ó)¬V°A°q¸"Ó-=ÔQÄÈÈ1ÈbÓAQÒQÐQÑQÐQÑQøô ò PÜÐN×OðPús   ƒE& Å&E>Å=E>c                  ó^  — ddl m}  	 ddlm}m}  |  ddgddgg«      «      }|d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚t        t        «      5   |  ddgddgg«      «      }d d d «       |d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚y # t
        $ r t        d«       Y Œ�w xY w# 1 sw Y   Œ@xY w)
Nr   ©Ú
_matrixify)r¹  ÚmatrixzPNumPy must be available to test indexing matrixified NumPy ndarrays and matricesr¦   rŠ   r‰   r«   rØ  )
Úsympy.matrices.commonrÂ  r¼  r¹  rÃ  r½  rU   r–   rQ   ÚPendingDeprecationWarning)rÂ  r¹  rÃ  r›   s       rs   Útest_17522_numpyrÆ  ß
  sÆ   € Ý0ðaß'ñ 	‘5˜1˜a˜& 1 a &Ð)Ó*Ó+€AØˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ð"ä	Ô2Ó	3ñ 1Ù‘v  1˜v¨¨1 vÐ.Ó/Ó0ˆ÷1àˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ñ"øô ò aÜÐ_Ö`ðaú÷1ð 1ús   ˆB	 ÁB#Â	B ÂB Â#B,c                  ó²   — ddl m}  	 ddlm}  |  ddgddgg«      «      }|d   d	k(  sJ ‚t        |«      g d
¢k(  sJ ‚y # t        $ r t        d«       Y ŒGw xY w)Nr   rÁ  )rÃ  zEmpmath must be available to test indexing matrixified mpmath matricesr¦   rŠ   r‰   r«   ç      @)rØ  g       @rá  rÈ  )rÄ  rÂ  ÚmpmathrÃ  r½  rU   r–   )rÂ  rÃ  r›   s      rs   Útest_17522_mpmathrÊ  ï
  sk   € Ý0ðVÝ!ñ 	‘6˜A˜q˜6 A q 6Ð*Ó+Ó,€AØˆQ‰4�3Š;Ðˆ;Ü�‹7Ò*Ò*Ð*Ñ*øô ò VÜÐTÖUðVúó   ˆ? ¿AÁAc                  ó²   — ddl m}  	 ddlm}  |  ddgddgg«      «      }|d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚y # t        $ r t        d«       Y ŒGw xY w)
Nr   rÁ  )Ú
csr_matrixzJSciPy must be available to test indexing matrixified SciPy sparse matricesr¦   rŠ   r‰   r«   rØ  )rÄ  rÂ  Úscipy.sparserÍ  r½  rU   r–   )rÂ  rÍ  r›   s      rs   Útest_17522_scipyrÏ  ú
  sj   € Ý0ð[Ý+ñ 	‘:  1˜v¨¨1 vÐ.Ó/Ó0€AØˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ñ"øô ò [ÜÐYÖZð[úrË  c                  ó8  — t        dt        gt         dgg«      } | j                  sJ ‚dt        z  | d<   | j                  du sJ ‚t        | d<   | j                  �J ‚| d   t        z  | d<   | j                  du sJ ‚t	        d«      }t        d«      }t        |gg«      j                  d	u sJ ‚t        ||gt        |«      |gg«      j                  d	u sJ ‚t        ||g||gg«      j                  du sJ ‚t        ||gt        |«      |gg«      j                  du sJ ‚y )
Nr¦   rŠ   rÁ   FrÍ   rÃ   r`   ra   T)r5   r
   Úis_hermitianrc   r    r!   r"   r   rÓ  s      rs   Útest_hermitianrÒ    s,  € Ü�”A�œ!˜˜Q˜Ð Ó!€AØ�>Š>Ðˆ>Ø”‰c€A€d�GØ�>‰>˜UÑ"Ð"Ð"Ü€A€d�GØ�>‰>Ð!Ð!Ð!Ø�‰g”a‰i€A€d�GØ�>‰>˜UÑ"Ð"Ð"Ü˜#Ó€AÜ�‹€AÜ�A�3�%‹=×%Ñ%¨Ñ-Ð-Ð-Ü�A�q�6œF 1›I q˜>Ð*Ó+×8Ñ8¸DÑ@Ð@Ð@Ü�A�q�6˜A˜q˜6Ð"Ó#×0Ñ0°EÑ9Ð9Ð9Ü�A�q�6œI a›L¨!Ð,Ð-Ó.×;Ñ;¸uÑDÐDÑDrr   c                  ó¸   — t        t        t        t        d¬«      gg«      } | d   dt        z  k7  sJ ‚ | j                  «       t        dt        z  gg«      k(  sJ ‚y )NFr¬  r   rŠ   )r5   r   rc   r  rˆ  s    rs   Ú	test_doitrÔ    sQ   € Ü””Q”q 5Ô)Ð*Ð+Ó,€AØˆQ‰4�1”Q‘3Š;Ðˆ;Øˆ1�6‰6‹8”v ¤!¡˜u˜g“Ò&Ð&Ñ&rr   c                  óœ  ‡‡— t        g d¢g d¢g d¢g«      } | j                  d«       | t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      }|j                  d«       |t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      } |j                  d«       |t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      Št        t        ˆfd	„«       t        g d¢g d¢g d¢g«      Št        t        ˆfd
„«       t        g d¢g d¢g d¢g«      } | j	                  d«       | t        ddgddgddgg«      k(  sJ ‚t        g d¢g d¢g d¢g«      }|j	                  d«       |t        ddgddgddgg«      k(  sJ ‚t        g d¢g d¢g d¢g«      Št        t        ˆfd„«       t        g d¢g d¢g d¢g«      Št        t        ˆfd„«       y )Nrª   rŒ  r½   r¦   r  )r¾   r¬   r¿   )r¼   rÒ   rÎ  rù   c                  ó&   •— ‰ j                  d«      S rû   ©Úrow_del©r/  s   €rs   r~   z+test_issue_9457_9467_9876.<locals>.<lambda>&  ó   ø€ ˜qŸy™y¨›}€ rr   c                  ó(   •—  ‰ j                   d«      S ©Nrÿ   r×  rX   s   €rs   r~   z+test_issue_9457_9467_9876.<locals>.<lambda>(  ó   ø€ ˜y˜qŸy™y¨›~€ rr   r‰   rŠ   r«   r¾   c                  ó&   •— ‰ j                  d«      S rû   ©Úcol_delrÙ  s   €rs   r~   z+test_issue_9457_9467_9876.<locals>.<lambda>2  rÚ  rr   c                  ó(   •—  ‰ j                   d«      S rÜ  rß  rX   s   €rs   r~   z+test_issue_9457_9467_9876.<locals>.<lambda>4  rÝ  rr   )r5   rØ  rR   r²  rà  )rÉ   r…  r^   r/  rY   s      @@rs   Útest_issue_9457_9467_9876râ    s—  ù€ ä’	š9¢iÐ0Ó1€AØ‡I�Iˆa„LØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢iÐ0Ó1€AØ‡I�Iˆb„MØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢kÐ2Ó3€AØ€A‡I�Iˆb„MØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó,Ô-Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó-Ô.ô 	’	š9¢iÐ0Ó1€AØ‡I�Iˆa„LØ”˜˜A˜  A ¨¨A¨Ð/Ó0Ò0Ð0Ð0Ü’	š9¢iÐ0Ó1€AØ‡I�Iˆb„MØ”˜˜A˜  A ¨¨A¨Ð/Ó0Ò0Ð0Ð0Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó,Ô-Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó-Õ.rr   c                  óD  — t        dd¬«      \  } }t        d«      \  }}t        d«      }t        dd| ||t        g«      }|| z  |z  | |z  |z  k7  sJ ‚||z  |z  ||z  |z  k(  sJ ‚| |z  || z  k7  sJ ‚||z  ||z  k(  sJ ‚|| z  |z  t        || z  dgd|| z  gg«      k(  sJ ‚y )Nr5  F)Úcommutativeza brŠ   r   )r   r9   r5   re   )rc   rd   r_   r`   rÉ   r¬  s         rs   Útest_issue_9422rå  6  sÎ   € Ü�5 eÔ,�D€A€qÜ�5‹>�D€A€qÜˆA‹€AÜ	��1�q˜!˜Q¤�lÓ	#€BØˆQ‰3ˆq‰5�A�a‘C˜‘EŠ>Ðˆ>ØˆQ‰3ˆq‰5�A�a‘C˜‘EŠ>Ðˆ>ØˆR‰4�2�a‘4Š<Ðˆ<ØˆR‰4�2�a‘4Š<Ðˆ<ØˆQ‰3ˆq‰5”F˜Q˜q™S !˜H q¨!¨A©# hÐ/Ó0Ò0Ð0Ñ0rr   c                  ó2  — t        g «      } ddgt        g d¢«      f}ddg|d   j                  f}ddgt        ddgdd	gg«      f}|||fD ]K  \  }}|D ]A  }t        | |«      }d
|v r ||«      n |d|«      }||k(  rt        |«      t        |«      k7  rŒAJ ‚ ŒM y )NrZ  rS  )r¼   r¬   r‰   rW  rU  r¦   rŠ   r‰   r«   ÚjoinrP  )r5   r´  r¦  Úid)	rÉ   r_   r`   ra   Úopsr›   Úopr%  Únews	            rs   Útest_issue_10770rì  B  s½   € Üˆr‹
€AØ	�zÐ"¤Fª9Ó$5Ð5€AØ	�zÐ" A a¡D§F¡FÐ*€AØ	�|Ð$¤f¨q°!¨f°q¸!°fÐ-=Ó&>Ð>€AØ�a˜�)ò 1‰ˆˆQØò 	1ˆBÜ˜˜2“ˆAØ  B™,‘!�A”$©A¨b°!«HˆCØ˜!’8¤ 3£¬2¨a«5Ó 0Ð0Ð0ñ	1ñ1rr   c                  ód  — t        g d¢g d¢g d¢g«      } | j                  g d¢g d¢«      t        ddgdd	gd
dgg«      k(  sJ ‚| j                  g d¢g d¢«      t        dgdgd
gg«      k(  sJ ‚| j                  g d¢g d¢«      t        g d¢g«      k(  sJ ‚| j                  g d¢g d¢«      t        g d¢g d¢g«      k(  sJ ‚| j                  g d¢g d¢«      t        ddg «      k(  sJ ‚| j                  g d¢g d¢«      t        ddg «      k(  sJ ‚| j                  g d¢g d¢«      t        dgdgg«      k(  sJ ‚y )Nrª   rY  rß  rÀ   )TTFr¦   rŠ   r«   r¾   r¿   rÂ   )TFF)TFT)FFFr‰   r   )FTF)r5   rÈ   r  s    rs   Útest_issue_10658rî  N  s8  € Ü’	š9¢iÐ0Ó1€AØ�9‰9’YÒ 3Ó4Ü��A�˜˜A˜  A Ð'Ó(ò)ð )ð )à�9‰9’YÒ 4Ó5¼À!ÀÀqÀcÈAÈ3ÀÓ9PÒPÐPÐPØ�9‰9Ò)ª9Ó5¼ÂÀÓ9LÒLÐLÐLØ�9‰9Ò(ª)Ó4Ü’	š9Ð%Ó&ò'ð 'ð 'à�9‰9’YÒ 5Ó6¼&ÀÀAÀrÓ:JÒJÐJÐJØ�9‰9Ò*ªIÓ6¼&ÀÀAÀrÓ:JÒJÐJÐJØ�9‰9Ò(Ò*>Ó?Ü���a�SˆzÓòð ñ rr   c                  óâ  — t        ddt        d«      z  z   dgdt        d«      z  dz  dz   dt        d«      z  dz  gg«      } | j                  «       dk(  sJ ‚t        ddt        d«      z  t        z  z   dgdddt        d«      z  t        z  z   gg«      } t	        | j                  «       d	   t        ddddt        d«      z  t        z  z   z  gd	d	gg«      z
  «      t        dd«      k(  sJ ‚t        d
«      \  }}}}}}}}}	}
}}t        ||||z  ||z  d	g||||z  ||z  d	g||||z  ||z  dg||||z  ||z  dg|	|
d|	z  |z  |	|z  z
  d|
z  |z  |
|z  z
  d	gg«      } | j                  «       dk(  sJ ‚y )NrQ  r¾   rŠ   r¦   r‰   r  r«   r±   r   ú/a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1)r5   r   r™  r
   r)   rT  rB   r   )r›   ÚaxÚayÚbxÚbyÚcxÚcyÚdxÚdyÚexÚeyÚt0Út1s                rs   Ú!test_opportunistic_simplificationrý  [  s÷  € ô 	��aœ˜Q›‘i‘ Ð$ r¬$¨q«'¡z°!¡|°aÑ'7¸¼DÀ»G¹ÀA¹Ð&FÐGÓH€AØ�6‰6‹8�qŠ=Ðˆ=ô 	��1”T˜!“W‘9œQ‘;‘ Ð# Q r¨!¬D°«G©)´A©+¡~Ð$6Ð7Ó8€AÜ�A—F‘F“H˜Q‘K¤&¨1¨b°!°a¼¸Q»±iÄ±k±/Ñ.BÐ*CÀaÈÀVÐ)LÓ"MÑMÓNÔRWÐXYÐ[\ÓR]Ò]Ð]Ð]ô +2Ð2cÓ*dÑ'€B€rˆ"ˆR��2�b˜˜B˜r " RÜ��B�r˜"‘u˜R ™U 1Ð% r¨"¨R°©U°2°b±5¸Ð&;¸RÀÀ2ÀbÁ5ÈÈBÉÈqÐ<QÐSUÐVXÐY[Ð\^ÑY^Ð_aÐbdÑ_dÐefÐRgÐikÐlnÐopÐqsÑosÐtvÑovÐwyÐz|Ñw|Ño|Ð}~ð  @Bñ  ~Bð  CEñ  ~Eð  FHð  IKñ  FKñ  ~Kð  LMð  iNð  Oó  	P€AØ�6‰6‹8�qŠ=Ð‰=rr   c                  ó¦  — t        g d¢g d¢g«      } | j                  «       d   t        g d¢g d¢g«      z
  j                  «       dk  sJ ‚t        g d¢g d¢g d	¢g«      }t        g d
¢g d¢g d¢g«      }t        g d¢g d¢g d	¢g«      }|j                  «       |z
  j                  «       dk  sJ ‚|j                  «       |z
  j                  «       dk  sJ ‚y )N)gú~j¼t“h?gR¸…ë‘M@gö(\�Â•M@)gD‹lçû)@g…ëQ¸…Àg¤p=
×cG@r   )rØ  r   r  )r   rØ  rØ  çVçž¯Ò<)çqµô7K‘<rØ  r«   )ç      ð¿r   rÂ   r  )r   rØ  rÈ  )r  ç        ç       @)r  r  rØ  )r   r  r  )rØ  r   g      À)r5   rT  rÌ  r-  )ÚmmÚm_mixedÚm_floatÚm_invs       rs   Útest_partial_pivotingr  k  sç   € ô
 Ò$Ò&;Ð<Ó=€BØ�G‰G‹I�a‰Lœ6Ò#3Ú#3ð#5ó 6ñ 6ß7;±t³vÀòFð Fð Fô ’oÚ%Ú%ð'ó (€Gô Ò'Ú'Ú'ð)ó *€Gô Ò(Ú(Ú(ð*ó +€Eð
 �K‰K‹M˜EÑ!×'Ñ'Ó)¨EÒ1Ð1Ð1Ø�K‰K‹M˜EÑ!×'Ñ'Ó)¨EÒ1Ð1Ñ1rr   c                  óÈ   — t        g d¢g d¢g d¢g«      } | j                  d„ ¬«      d   }t        g d¢g d¢g d	¢g«      }||z
  }|j                  «       d
k  sJ ‚|d   dk(  sJ ‚y)z‘ When doing numerical computations, all elements that pass
    the iszerofunc test should be set to numerically zero if they
    aren't already. )çÍÌÌÌÌÌì?çš™™™™™¹¿gš™™™™™É¿r   )çš™™™™™é¿r
  gš™™™™™Ù¿r   )r  r  g333333ã?r   c                 ó   — t        | «      dk  S )Ng [n‡û<rª  rð  s    rs   r~   z*test_iszero_substitution.<locals>.<lambda>Š  s   € ¬¨Q«°©€ rr   r‚  r   )rØ  r   g¡4iÒ¤IÓ¿r   )r   rØ  g¹lÙ²eËæ¿r   r×  rÿ  rÖ  N)r5   rT  rÌ  )r›   Úm_rrefÚ	m_correctÚm_diffs       rs   Útest_iszero_substitutionr  ƒ  sr   € ô 	Ò$Ò%9Ò:NÐOÓP€AØ�V‰VÑ5ˆVÓ6°qÑ9€FÜÒ9Ò:[Ò\}Ð~Ó€IØ�iÑ€FØ�;‰;‹=˜5Ò Ð Ð à�#‰;˜!ÒÐÑrr   c            	      ó  — ddl m}  dt        t        t	        dd«      z  «      z  t        t        t	        dd«      z  «      t        d«      z   z  }dt        d«      z  t        t        t	        dd«      z  «      dz  z  d	t        t        t	        dd«      z  «      z  z   d
t        t        t	        dd«      z  «      dz  z   z  } | dd«      } | dt        d«       «      } | ||«      }t        |t        |«      z
  |t        |«      z
  g«      }t        ||z
  ||z
  g«      }t        t        ||z
  «      t        ||z
  «      g«      }d„ }	|j                  d|	¬«      dk(  sJ ‚|j                  d|	¬«      dk(  sJ ‚|j                  d|	¬«      dk(  sJ ‚y )Nr   )ÚPointrÂ   rÐ  é-   r‰   r  rŠ   rã   r±   r¦   c                 ó<   — t         | j                  «       «      dk  S )Ng#B’¡œÇ;)r²   r�   rð  s    rs   r~   z"test_issue_11238.<locals>.<lambda>Ÿ  s   € ”#�c�a—c‘c“e“*˜uÑ$€ rr   T)r)   r   )	Úsympy.geometry.pointr  r   r   r   r   r5   r)   r™  )
r  ÚxxÚyyÚp1Úp2Úp0rÓ  rÔ  Úm3ÚZs
             rs   Útest_issue_11238r  ‘  s‚  € Ý*Ø	
Œ3Œr”(˜2˜rÓ"Ñ"Ó#Ñ	#¤S¬¬H°R¸Ó,<Ñ)<Ó%=ÄÀQÃÑ%GÑ	H€BØ
ŒT�!‹W‰*”SœœH R¨Ó,Ñ,Ó-¨qÑ0Ñ
0°2´c¼"¼XÀbÈ"Ó=MÑ:MÓ6NÑ3NÑ
NÐQSÔVYÔZ\Ô]eÐfhÐjlÓ]mÑZmÓVnÐpqÑVqÑQqÑ	r€BÙ	ˆq�!‹€BÙ	ˆq”4˜“7�(Ó	€BÙ	ˆr�"‹€BÜ	�”h˜r“lÑ" B¬°"«Ñ$5Ð6Ó	7€BÜ	��b‘˜"˜r™'Ð"Ó	#€BÜ	”˜"˜r™'Ó"¤H¨R°"©WÓ$5Ð6Ó	7€Bñ
 	%€AØ�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ð4Ø�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ð4Ø�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ñ4rr   c                  óþ   — t        ddg d¢«      } | t        j                  z  }| |z   }t        D ]M  } ||«      j	                  «       \  }}t        |«      t        | «      k(  sJ ‚t        |«      t        | «      k(  rŒMJ ‚ y )NrŠ   rØ  )r5   r   ÚImaginaryUnitr�   Úas_real_imagr–   )rÓ  rÔ  r  Úklsr_   r`   s         rs   Útest_as_real_imagr#  ¤  sx   € Ü	��!’IÓ	€BØ	ŒA�O‰OÑ	€BØ	ˆb‰€Bäò #ˆÙ�"‹g×"Ñ"Ó$‰ˆˆ!Ü�A‹wœ$˜r›(Ò"Ð"Ð"Ü�A‹wœ$˜r›(Ó"Ð"Ð"ñ#rr   c                  ó¢   — t        ddg d¢«      } | j                  «       \  }}|d   t        dddg«      k(  sJ ‚|d   t        ddg d¢«      k(  sJ ‚y )Nr‰   r  r¦   rŠ   r   )rŠ   r¦   r   rŠ   )r5   Újordan_cells)r›   r/  ÚJcellss      rs   Útest_deprecatedr'  ®  s[   € ô
 	ˆq�!Ò2Ó3€AØ—‘Ó �I€A€vØ�!‰9œ˜q ! a SÓ)Ò)Ð)Ð)Ø�!‰9œ˜q !¢\Ó2Ò2Ð2Ñ2rr   c                  ó¨   — ddl m}  t        g d¢«      }t        g d¢«      } | |d«      t        g d¢«      k(  sJ ‚ | |d«      t        g d¢«      k(  sJ ‚y )	Nr   )ÚMod)rù   r¦   rŠ   )rÒ   r¨  r  r‰   )rŠ   r¦   rŠ   r«   )rŠ   r   r¦   )Úsympy.core.modr)  r5   )r)  ré   rê   s      rs   Útest_issue_14489r+  ¹  sK   € Ý"ÜŠzÓ€AÜŠ}Ó€Aáˆq�!‹9œšyÓ)Ò)Ð)Ð)Ùˆq�!‹9œšyÓ)Ò)Ð)Ñ)rr   c                  ó¶   — 	 ddl m}  t	        ddgddgg«      }  |t
        ¬«      j                  j                  d	k(  sJ ‚y # t        $ r t        d«       Y ŒOw xY w)
Nr   r¸  rº  r¦   rŠ   r‰   r«   )ÚdtypeÚfloat64)r¼  r¹  r½  rU   r5   Úfloatr-  Úname)r¹  rÉ   s     rs   Útest_issue_14943r1  Á  s`   € ðPÝô 	��1�˜˜!�uˆ~Ó€AÙ�œ%Ô ×&Ñ&×+Ñ+¨yÒ8Ð8Ñ8øô	 ò PÜÐNÖOðPús   ‚A ÁAÁAc                  ód   — t        ddd«      } t        d«      }| d   dkD  }t        |«      dk(  sJ ‚y )Nr›   r¦   r_   rÁ   r   zm[0, 0] > 0)rE   r   r  )r›   r_   s     rs   Útest_case_6913r3  Ë  s8   € Ü�S˜!˜QÓ€AÜˆs‹€AØ	ˆ$‰�‰	€AÜˆq‹6�]Ò"Ð"Ñ"rr   c                  ód   — t        ddd«      } t        d«      }| j                  |«      || ik(  sJ ‚y )Nré   r‰   r_   )rE   rL   Úmatch)ré   r_   s     rs   Útest_issue_11948r6  Ñ  s3   € Ü�S˜!˜QÓ€AÜˆS‹	€AØ�7‰7�1‹:˜!˜Q˜ÒÐÑrr   c                  ób  — t        dt        g«      t        dt         g«      g} t        j                  | Ž t        dgt        gg«      t        dgt         gg«      gk(  sJ ‚t        dt        dg«      t        t        dt         g«      g} t        j                  | Ž t        dgt        gdgg«      t        t        dz  gt        d«      dz  gt         gg«      gk(  sJ ‚t        dt        gdt         gg«      }|j	                  «       \  }}||j
                  z  t        j                  d«      k(  sJ ‚y )Nr¦   r   rŠ   )r5   r
   Úorthogonalizer   ÚQRdecompositionr<  r9   )Úvecsr¡   rY   r%  s       rs   Útest_gramschmidt_conjugate_dotr;  Ö  s'  € Ü�A”q�6‹NœF A¬ r 7›OÐ,€DÜ×Ñ Ð&Ü	�!�”q�c�
Ó	œV a S¬A¨2¨$ KÓ0Ð1ò2ð 2ð 2ô �A”q˜!�9Óœv¤q¨!¬a¨R jÓ1Ð2€DÜ×Ñ Ð&Ü	�!�”q�c˜A˜3�Ó	 ¤&¬1¨Q©3¨%´!°A³$°q±&°¼Q¸B¸4Ð)@Ó"AÐBòCð Cð Cô �1”a�&˜1œq˜b˜'Ð"Ó
#€CØ×ÑÓ �D€A€qØˆq�s‰s‰7”f—j‘j “mÒ#Ð#Ñ#rr   c                  óÞ   — t        t        ddd«      «      } t        t        ddd«      «      } | j                  |«      }t        || d   «      }t        || d   «      }||d   k(  sJ ‚|dk(  sJ ‚y )Nr_   r‰   r¦   r`   rÁ   r   )r5   rE   rh  r   )r_   r`   ra   rb   rÓ  s        rs   Útest_issue_8207r=  ã  sr   € ÜŒ|˜C  AÓ&Ó'€AÜŒ|˜C  AÓ&Ó'€AØˆ�‰ˆa‹€AÜˆQ��$‘Ó€AÜˆQ��$‘Ó€AØ��$‘Š<Ðˆ<Ø�Š6€M‰6rr   c            	      óÄ  ‡— ddl m}  t        ddgddgg«      Š‰j                  t	        t
        t        z  «      t
        «      t        t	        t        «      t	        dt        z  «      t	        t        «      z
  gdt	        dt        z  «      gg«      k(  sJ ‚t        ddgddgg«      Št        ‰z  dz  j                  t        t
        «      t
        «      t        t        d«      dz  t        d«       dz  gt        d«       dz  t        d«      dz  gg«      k(  sJ ‚t        t        d„ «       t        t        ˆfd	„«       t        g d
¢g d
¢g d¢g d¢g«      Š‰j                  t        t
        «      t
        «      ‰j                  «       k(  sJ ‚t        t        ˆfd„«       t        ddgddgg«      Št        ‰j                  t        t
        «      t
        «      dz  «      ‰k(  sJ ‚t        g d¢g d¢g d¢g«      Št        ‰j                   | t
        d«      t
        «      dz  «      ‰k(  sJ ‚t        g d¢g d¢g d¢g d¢g«      Š‰j                  t        t
        «      t
        «      ‰j                  «       k(  sJ ‚t        g d¢g d¢g d¢g d¢g«      Š‰j                  t        t
        t        z  «      t
        «      t        t        ‰t        z  j                  «       «      «      k(  sJ ‚y )Nr   )Únthrootr¦   rŠ   r‰   r¬   r«   c                  óZ   — t        d«      j                  t        t        «      t        «      S rå  )rB   Úanalytic_funcr   rc   rq   rr   rs   r~   ztest_func.<locals>.<lambda>ö  s   € ¤ a£× 6Ñ 6´s¼1³v¼qÓ A€ rr   c                  óX   •— ‰ t         z  j                  t        t         «      t         «      S ry   )rc   rA  r   r  s   €rs   r~   ztest_func.<locals>.<lambda>÷  s   ø€  ¤1¡× 3Ñ 3´C¼³F¼AÓ >€ rr   )r   rù   r  r‰   )r   r¦   r   rù   )r   r   rù   r¦   c                  óJ   •— ‰ j                  t        t        «      t        «      S ry   )rA  r   rc   r  s   €rs   r~   ztest_func.<locals>.<lambda>û  s   ø€  §¡´´Q³¼Ó ;€ rr   r¦  rà   é"   )r‰   r¤  r«   )rù   r   r  )rù   r¾   rù   rÆ   )r¦   rŠ   r   r   )r   r¦   r‰   r   )r   r   r¦   r‰   )r   rŠ   r¦   r¬   )r   r   r¦   rŠ   )r   r   r   r‰   r×  )Úsympy.simplify.simplifyr?  r5   rA  r   rc   rf   r   r   r   rR   r$  r   r)   r   )r?  ré   s    @rs   Ú	test_funcrF  ì  sD  ø€ Ý/ä��A�˜˜1�vˆÓ€AØ�?‰?œ3œq¤™s›8¤QÓ'¬6´C¼³F¼CÀÄ!Á»HÄsÌ1ÃvÑ<MÐ3NÐQRÔTWÐXYÔZ[ÑX[ÓT\ÐP]Ð2^Ó+_Ò_Ð_Ð_ä��A�˜˜1�vˆÓ€AÜ�‰F�Q‰J×%Ñ%¤c¬!£f¬aÓ0´F¼TÀ!»WÀQ¹YÌÈaËÈÐQRÉ
Ð<SÔW[Ð\]ÓW^ÐV^Ð_`ÑV`ÔbfÐghÓbiÐjkÑbkÐUlÐ;mÓ4nÒnÐnÐnô Œ:ÑAÔBÜ
Œ:Ó>Ô?ä’¢²º}ÐMÓN€AØ�?‰?œ3œq›6¤1Ó%¨¯©«Ò0Ð0Ð0Ü
Œ:Ó;Ô<ä��R�˜"˜b˜Ð"Ó#€AÜ�A—O‘O¤D¬£G¬QÓ/°Ñ2Ó3°qÒ8Ð8Ð8ä’š[ª+Ð6Ó7€AÜ�A—O‘O¡G¬A¨q£M´1Ó5°qÑ8Ó9¸QÒ>Ð>Ð>ä’šlªLº,ÐGÓH€AØ�?‰?œ3œq›6¤1Ó%¨¯©«Ò0Ð0Ð0ä’šlªLº,ÐGÓH€AØ�?‰?œ3œq¤™s›8¤QÓ'¬6´(¸A¼a¹C¿9¹9»;Ó2GÓ+HÒHÐHÑHrr   z$Cannot create threads under pyodide.c                  óø   — d„ } t        d«      5  t        j                  j                  «       5 }|j	                  | «      }|j                  «       sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                  óR   — t         j                  d k(  sJ ‚t        dgg«      } | | z  } yr+  )rJ   Ústater5   rý   s    rs   r%  ztest_issue_19809.<locals>.f  s/   € Ü!×'Ñ'¨4Ò/Ð/Ð/Ü�Q�C�5‹MˆØ�‰EˆØrr   T)rF   Ú
concurrentÚfuturesÚThreadPoolExecutorÚsubmitÚresult)r%  ÚexecutorÚfutures      rs   Útest_issue_19809rQ  
  sp   € òô 
�TÓ	ñ #Ü×Ñ×2Ñ2Ó4ð 	#¸Ø—_‘_ QÓ'ˆFØ—=‘=”?Ð"‘?÷	#÷#ð #÷	#ð 	#ú÷#ð #ús"   �A0®$A$ÁA0Á$A-	Á)A0Á0A9c                  óÀ   — t        t        t        g«      } t        | t        ddft        ddf«      t        t        j
                  gt        j
                  gg«      k(  sJ ‚y rr  )r5   rc   rd   r   r   r!  r(  s    rs   Útest_issue_23276rS    sT   € Ü””1ˆv‹€AÜ�Qœ˜A˜q˜	¤A q¨! 9Ó-´Ü	
�‰ˆÜ	
�‰ˆð9ó 2ò ð ñ rr   c                  óB  — t        g d¢g d¢g d¢g d¢g«      } | j                  «       }|d   t        g d¢«      k(  sJ ‚|d   t        g d¢«      k(  sJ ‚|d	   t        g d
¢«      k(  sJ ‚t        |«      dk(  sJ ‚t        j                  | g|¢­Ž j                  «       |k(  sJ ‚y )N©r¦   rŠ   r   rŠ   r¾   ©r  rQ  r¦   rù   r  ©r   r±   r‰   r«   r¦   ©r‰   r¬   r   rr  rŠ   r   )r¦   r  r   r‰   r¦   )rŠ   rQ  r±   r¬   rŠ   )rŠ   rù   r«   rr  r‰   )rl   ro  r5   rA  rZ  ©r›   Úbasiss     rs   Útest_columnspace_oner[  !  s¤   € ÜÒ0Ú0Ú0Ú0ð2ó 	3€Að
 �M‰M‹O€EØ�‰8”všmÓ,Ò,Ð,Ð,Ø�‰8”všnÓ-Ò-Ð-Ð-Ø�‰8”všnÓ-Ò-Ð-Ð-äˆu‹:˜Š?Ðˆ?Ü�=‰=˜Ð#˜UÒ#×/Ñ/Ó1°UÒ:Ð:Ñ:rr   c                  óö   — t        g d¢g d¢g d¢g d¢g«      } | j                  «       }|d   t        g d¢g«      k(  sJ ‚|d   t        g d¢g«      k(  sJ ‚|d   t        g d	¢g«      k(  sJ ‚t        |«      d
k(  sJ ‚y )NrU  rV  rW  rX  r   r¦   )r   rù   r¦   r‰   rŠ   rŠ   )r   r   r   r¾   r¾   r‰   )rl   rl  r5   rA  rY  s     rs   Útest_rowspacer]  0  s‰   € ÜÒ0Ú0Ú0Ú0ð2ó 	3€Að
 �J‰J‹L€EØ�‰8”všÐ/Ó0Ò0Ð0Ð0Ø�‰8”vÒ/Ð0Ó1Ò1Ð1Ð1Ø�‰8”všÐ/Ó0Ò0Ð0Ð0äˆu‹:˜Š?Ð‰?rr   c                  ó  — t        g d¢g d¢g d¢g d¢g«      } | j                  «       }|d   t        g d¢«      k(  sJ ‚|d   t        g d¢«      k(  sJ ‚t        d	„ | |d   z  D «       «      sJ ‚t        d
„ | |d   z  D «       «      sJ ‚y )NrU  rV  rW  rX  r   )r  r¦   r¦   r   r   r¦   )rù   rù   r   rù   r¦   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wry   ©rî  r«  s     rs   rŽ   z%test_nullspace_one.<locals>.<genexpr>H  ó   è ø€ Ò-˜Qˆq�y�yÑ-ùó   ‚c              3   ó4   K  — | ]  }|j                   –— Œ y ­wry   r`  r«  s     rs   rŽ   z%test_nullspace_one.<locals>.<genexpr>I  ra  rb  )rl   rs  r5   r’   rY  s     rs   Útest_nullspace_onerd  >  s’   € ÜÒ0Ú0Ú0Ú0ð2ó 	3€Að
 �K‰K‹M€EØ�‰8”vÒ.Ó/Ò/Ð/Ð/Ø�‰8”vÒ0Ó1Ò1Ð1Ð1äÑ- ! E¨!¡H¡*Ô-Ô-Ð-Ð-ÜÑ- ! E¨!¡H¡*Ô-Ô-Ð-Ñ-rr   c                  óx  ‡— t        d«      Št        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd	„«       t        t        ˆfd
„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       ‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd¬ «      t	        g d¢g d¢g d¢g«      k(  sJ ‚t        d!ddgd"z  «      }  | j                  ddd«      t	        d!ddgd"z  «      k(  sJ ‚ | j                  ddd«      t	        d!ddgd"z  «      k(  sJ ‚ | j                  dddd«      t	        d!ddgd"z  «      k(  sJ ‚y )#Nr‰   c                  ó&   •— ‰ j                  d«      S ©NÚabc©Úelementary_row_op©rÓ  s   €rs   r~   ztest_row_op.<locals>.<lambda>P  ó   ø€ ˜q×2Ñ2°5Ó9€ rr   c                  ó$   •— ‰ j                  «       S ry   ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>Q  ó   ø€ ˜q×2Ñ2Ó4€ rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nún->knr¾   ©rS  rè   ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>R  ó   ø€ ˜q×2Ñ2°7ÀÀQÐ2ÓG€ rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrp  rQ  r¾   rq  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>S  ó   ø€ ˜q×2Ñ2°7ÀÀaÐ2ÓH€ rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nún<->mr¦   r¾   ©Úrow1Úrow2ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>T  ó   ø€ ˜q×2Ñ2°7ÀÈÐ2ÓK€ rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  r¾   r¦   rw  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>U  rz  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  rQ  r¦   rw  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>V  ó   ø€ ˜q×2Ñ2°7ÀÈ!Ð2ÓL€ rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  r¦   rQ  rw  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>W  ó   ø€ ˜q×2Ñ2°7ÀÈÐ2ÓL€ rr   c                  ó.   •— ‰ j                  dddd¬«      S ©Nún->n+kmr¦   r¾   ©rx  ry  rè   ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>X  ó   ø€ ˜q×2Ñ2°9À1È1ÐPQÐ2ÓR€ rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  r¾   r¦   rƒ  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>Y  r„  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  rQ  r¦   r¾   rƒ  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>Z  ó   ø€ ˜q×2Ñ2°9À2ÈAÐQRÐ2ÓS€ rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  r¦   rQ  r¾   rƒ  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>[  ó   ø€ ˜q×2Ñ2°9À1È2ÐQRÐ2ÓS€ rr   c                  ó.   •— ‰ j                  dddd¬«      S r�  ri  rk  s   €rs   r~   ztest_row_op.<locals>.<lambda>\  r„  rr   rp  r   r¾   rí  r   r  r¦   rD  rE  rq  )rx  rè   rv  rw  )rS  ry  r‚  )r¦   r¾   r   )rS  rè   ry  )rx  rè   ry  rŠ   r¬   )r‚   rR   r$  rj  r5   rv   ©r_   rÓ  s    @rs   Útest_row_oprŒ  M  óû  ø€ Ü�qÓ€Aä
Œ:Ó9Ô:Ü
Œ:Ó4Ô5Ü
Œ:ÓGÔHÜ
Œ:ÓHÔIÜ
Œ:ÓKÔLÜ
Œ:ÓKÔLÜ
Œ:ÓLÔMÜ
Œ:ÓLÔMÜ
Œ:ÓRÔSÜ
Œ:ÓRÔSÜ
Œ:ÓSÔTÜ
Œ:ÓSÔTÜ
Œ:ÓRÔSð ×Ñ˜w¨¨1Ó-´ºÂIÊyÐ8YÓ1ZÒZÐZÐZØ×Ñ˜w¨¨1Ó-´ºÂIÊyÐ8YÓ1ZÒZÐZÐZØ×Ñ˜w¨A°ÐÓ3´vºyÊ)ÒU^Ð>_Ó7`Ò`Ð`Ð`Ø×Ñ˜w¨Q°!ÐÓ4¼Â	Ê9ÒV_Ð?`Ó8aÒaÐaÐaØ×Ñ˜w¨¨1Ó-´ºÂIÊyÐ8YÓ1ZÒZÐZÐZØ×Ñ˜w¨Q°QÐÓ7¼6Â9ÊiÒYbÐBcÓ;dÒdÐdÐdØ×Ñ˜w¨A°AÐÓ6¼&Â)ÊYÒXaÐAbÓ:cÒcÐcÐcØ×Ñ˜y¨!¨Q°Ó2´fºiÊÒT]Ð=^Ó6_Ò_Ð_Ð_Ø×Ñ˜y¨a°1¸1ÐÓ=ÄÊÒT]Ò_hÐHiÓAjÒjÐjÐjØ×Ñ˜y¨q°A¸AÐÓ>Ä&Ê)ÒU^Ò`iÐIjÓBkÒkÐkÐkô 	˜Q  A 3 q¡5Ó)€AØˆ1×Ñ˜w¨¨1Ó-´¸¸1¸q¸cÀ!¹eÓ1DÒDÐDÐDØˆ1×Ñ˜w¨¨1Ó-´¸¸1¸q¸cÀ!¹eÓ1DÒDÐDÐDØˆ1×Ñ˜y¨!¨Q°Ó2´f¸QÀÀAÀ3ÀqÁ5Ó6IÒIÐIÑIrr   c                  óx  ‡— t        d«      Št        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd	„«       t        t        ˆfd
„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       ‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  ddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd¬«      t	        g d¢g d¢g d¢g«      k(  sJ ‚‰j                  dddd¬ «      t	        g d¢g d¢g d¢g«      k(  sJ ‚t        d!ddgd"z  «      }  | j                  ddd«      t	        d!ddgd"z  «      k(  sJ ‚ | j                  ddd«      t	        d!ddgd"z  «      k(  sJ ‚ | j                  dddd«      t	        d!ddgd"z  «      k(  sJ ‚y )#Nr‰   c                  ó&   •— ‰ j                  d«      S rg  ©Úelementary_col_oprk  s   €rs   r~   ztest_col_op.<locals>.<lambda>t  rl  rr   c                  ó$   •— ‰ j                  «       S ry   r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>u  rn  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrp  r¾   ©rT  rè   r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>v  rr  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrp  rQ  r¾   r”  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>w  rt  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  r¦   r¾   ©Úcol1Úcol2r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>x  rz  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  r¾   r¦   r—  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>y  rz  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  rQ  r¦   r—  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>z  r}  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  r¦   rQ  r—  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>{  r  rr   c                  ó.   •— ‰ j                  dddd¬«      S ©Nr‚  r¦   r¾   ©r˜  r™  rè   r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>|  r„  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  r¾   r¦   rŸ  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>}  r„  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  rQ  r¦   r¾   rŸ  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>~  r‡  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  r¦   rQ  r¾   rŸ  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>  r‰  rr   c                  ó.   •— ‰ j                  dddd¬«      S rž  r�  rk  s   €rs   r~   ztest_col_op.<locals>.<lambda>€  r„  rr   rp  r   r¾   rí  r   r  r¦   rD  rE  r”  )r˜  rè   rv  r—  )rT  r™  r‚  )r¾   r¦   r   )rT  rè   r™  )r˜  rè   r™  rŠ   r¬   )r‚   rR   r$  r‘  r5   rv   r‹  s    @rs   Útest_col_opr¤  q  r�  rr   c                  óÚ  — t        d«      } t        d«      }| j                  sJ ‚|j                  sJ ‚t        ddg «      }|j                  sJ ‚t        ddg d¢«      }|j                  sJ ‚t        ddg d¢«      }|j                  rJ ‚t	        d«      }t        dd|ddg«      }|j                  sJ ‚t        dd||dg«      }|j                  rJ ‚t        ddg d¢«      }|j                  rJ ‚y )	Nr‰   r   rŠ   )r‰   rŠ   r¦   r   r   r¬   )r   r   r¬   r‰   rŠ   r¦   rc   r¦   ©	r   r   r   r¦   rŠ   r‰   r   r   r   )r‡   r‚   Ú
is_echelonrv   r   )ÚzroÚidentr_   rc   s       rs   Útest_is_echelonrª  •  sê   € Ü
˜1Ó
€CÜ˜1Ó€Eà�>Š>Ðˆ>Ø×ÒÐÐä˜Q  2Ó&€AØ�<Š<Ðˆ<ä˜Q Ò#5Ó6€AØ�<Š<Ðˆ<ä˜Q Ò#5Ó6€AØ�|Š|ÐÐäˆs‹€AÜ˜Q  A q¨! 9Ó-€AØ�<Š<Ðˆ<ä˜Q  A q¨! 9Ó-€AØ�|Š|ÐÐä˜Q Ò#>Ó?€AØ�|Š|ÐÐˆ|rr   c                  ó  ‡— t        d«      } t        d«      } | j                  «       | k(  sJ ‚|j                  «       |k(  sJ ‚t        ddg «      }  | j                  «       | k(  sJ ‚t        dddg«      }  | j                  «       | k(  sJ ‚ˆfd„}t        ddg d¢«      } t	        dgdgdgg«      g}t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       t        ddg d¢«      } g }t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       t        ddg d	¢«      } t	        t        d
d«      gdgdgg«      t	        t        dd«      gdgdgg«      g}t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       t        ddg d¢«      } t	        dgdgdgg«      g}t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       t        ddg d¢«      } t	        dgdgdgg«      t	        dgd
gdgg«      g}t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       t        ddg d¢«      } t	        d
gdgdgg«      g}t        | j                  «      D �cg c]  }| |d d …f   ‘Œ }} | j                  «       Š‰j                  sJ ‚ || ||«       y c c}w c c}w c c}w c c}w c c}w c c}w )Nr‰   r   r¦   r¾   c                 óÀ   •— |D ]  }t        d„ ‰|z  D «       «      rŒJ ‚ |D ]:  }t        d„ |D «       «      rŒt        d„ ‰|j                  «       z  D «       «      sŒ:J ‚ y )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wry   r`  ©r�   rf   s     rs   rŽ   zCtest_echelon_form.<locals>.verify_row_null_space.<locals>.<genexpr>Æ  s   è ø€ Ò6 Q�q—y•yÑ6ùrb  c              3   ó4   K  — | ]  }|j                   –— Œ y ­wry   r`  r®  s     rs   rŽ   zCtest_echelon_form.<locals>.verify_row_null_space.<locals>.<genexpr>È  s   è ø€ Ò, Q�q—y•yÑ,ùrb  c              3   ó4   K  — | ]  }|j                   –— Œ y ­wry   r`  r®  s     rs   rŽ   zCtest_echelon_form.<locals>.verify_row_null_space.<locals>.<genexpr>É  s   è ø€ ÒJ¨Q˜qŸy�yÑJùrb  )r’   r   )r¡   r“   Únullsr§   Ú	a_echelons       €rs   Úverify_row_null_spacez0test_echelon_form.<locals>.verify_row_null_spaceÄ  sh   ø€ Øò 	7ˆAÜÑ6¨)°A©+Ô6Õ6Ð6Ð6ð	7àò 	KˆAÜÑ,¨!Ô,Õ,ÜÑJ°)¸A¿K¹K»MÑ2IÔJÕJÐJÐJñ	Krr   r«  r  )	r¦   rŠ   r‰   r«   r¾   r¬   r¿   rÂ   rÂ   )	rŠ   r¦   r‰   r   r   r   rŠ   r¦   r‰   rù   rŠ   r±   )	rŠ   r¦   r‰   r   r   r   r¦   r¦   r‰   )	r   r‰   r‰   r   rŠ   rŠ   r   r¦   r¦   )rŠ   rŠ   r‰   r‰   r‰   r   )	r‡   r‚   ri  rv   r5   rÇ   r“   r§  r   )r_   rÓ  r³  r±  r|   r“   r²  s         @rs   Útest_echelon_formr´  °  sè  ø€ ô
 	˜Ó€AÜ�qÓ€Að ˆ1�>‰>Ó˜qÒ Ð Ð Ø�>‰>Ó˜qÒ Ð Ð ä˜Q  2Ó&€AØˆ1�>‰>Ó˜qÒ Ð Ð ä˜Q  A 3Ó'€AØˆ1�>‰>Ó˜qÒ Ð Ð ôKô 	˜Q Ò#>Ó?€AÜØ�TØ�TØ�Tðó ð €Eô # 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Ô)ô 	˜Q Ò#>Ó?€AØ€EÜ" 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Ô)ä˜Q Ò#>Ó?€AÜÜ�r˜1‹oÐØˆVØˆVðó ô Ü�r˜1‹oÐØˆVØˆVðó ð	€Eô # 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Ô)ô 	˜Q Ò#>Ó?€AÜØˆVØˆVØˆVðó ð €Eô # 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Ô)ä˜Q Ò#>Ó?€AÜØˆSØˆSØˆSðó ô ØˆTØˆTØˆTðó ð	€Eô # 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Ô)ä˜Q Ò#5Ó6€AÜØˆTØˆSØˆSðó ð €Eô # 1§6¡6›]Ö+˜ˆAˆa’ˆd‹GÐ+€DÐ+Ø�—‘Ó €IØ×ÒÐÐÙ˜!˜T 5Õ)ùòy ,ùò ,ùò ,ùò ,ùò ,ùò ,s$   ÃM&Ä*M+ÇM0È4M5Ê7M:Ì*M?c                  óÈ  — t        ddg «      } | j                  d¬«      | k(  sJ ‚t        dddg«      } t        dddg«      }| j                  d¬«       |j                  d¬«      cxk(  r| k(  sJ ‚ J ‚t        ddg d¢«      } |j                  d¬«      t        dgdgdgg«      k(  sJ ‚t        ddg d¢«      } |j                  d¬«      t        g d¢g«      k(  sJ ‚t        ddg d¢«      } |j                  d¬«      t        g d	¢g d
¢g d¢g«      k(  sJ ‚t        ddg d¢«      }t        ddg d¢«      }t        ddg d¢«      }t        ddg d¢«      } |j                  d¬«       |j                  d¬«      cxk(  r4 |j                  d¬«      cxk(  r |j                  d¬«      cxk(  r|k(  sJ ‚ J ‚t        d«      } t	        d«      }| j                  d¬«      | k(  sJ ‚ |j                  d¬«      |k(  sJ ‚t        g d¢g d¢g d¢g d¢g«      } |j                  «       \  }}|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚|dk(  sJ ‚t        t        dd«      t        dd«      ddgg d¢g d¢g d¢g«      } |j                  d¬«      t        dddt        dd«      gdddt        d d«      gdddt        d!d«      gg d"¢g«      k(  sJ ‚t        d#«      }t        dd|ddt        |«      |dg«      }t         |j                  d¬«      ddt        |«      | dz   z  |t        dd«      z   |z   z  dddt        |«      |z   dz   z  g«      D ]  \  }	}
t        |	|
z
  «      j                  rŒJ ‚ y )$Nr   F)Úpivotsr¦   r¾   r‰   rª   r«  )r¦   r   rù   rÀ   rÅ   )	r¦   rŠ   r‰   r¦   rŠ   r‰   r¦   rŠ   r‰   )	r¦   rŠ   r‰   r   r   r   r   r   r   r¦  )	r   r   r   r   r   r   r¦   rŠ   r‰   )r   r   r¦   rŠ   rŠ   rQ  r‰   )rù   r¾   rŠ   rŠ   r¦   rr  r¾   )r   r   r  r±   r±   rÂ   rQ  )rù   r¾   r   rù   r  r¦   r   )r¦   rQ  r   r   r¦   r¦   rù   )r   r   r¦   r   r   rù   r¦   )r   r   r   r¦   r¦   r  r¦   )r   r   r   r   r   r   r   )r   rŠ   r‰   rŽ  rŠ   rÌ  rÍ  rÏ  i´ÿÿÿé�   rQ  éî   r×  rc   )rv   rT  r5   r‚   r‡   r   r   r   r”  r)   rî  )rÓ  r_   r`   ra   rb   re   r¡   Úpivot_offsetsrc   r|   r}   s              rs   Ú	test_rrefrº    s¾  € Ü˜Q  2Ó&€AØ�6‰6˜ˆ6Ó 1Ò$Ð$Ð$ä˜Q  A 3Ó'€AÜ˜Q  A 3Ó'€AØ�6‰6˜ˆ6Ó 6 1§6¡6°Ô#7Ô<¸1Ò<Ð<Ñ<Ð<Ð<ä˜Q ¢9Ó-€AØˆ1�6‰6˜Ô¤6¨A¨3°°°a°S¨/Ó#:Ò:Ð:Ð:ä˜Q ¢9Ó-€AØˆ1�6‰6˜Ô¤6ª9¨+Ó#6Ò6Ð6Ð6ä˜Q Ò#>Ó?€AØˆ1�6‰6˜Ô¤6Ú%/Ú%/Ú%/ð+1ó $2ò 2ð 2ð 2ô
 	˜Q Ò#>Ó?€AÜ˜Q Ò#>Ó?€AÜ˜Q Ò#>Ó?€AÜ˜Q Ò#>Ó?€AØˆ1�6‰6˜ÔØˆA�F‰F˜%Ô ô&àˆA�F‰F˜%Ô ô&ð ˆA�F‰F˜%Ô ô&ð %&ò&ð &ñ &ð &ð &ô
 	�qÓ€AÜ˜Ó€AØ�6‰6˜ˆ6Ó 1Ò$Ð$Ð$Øˆ1�6‰6˜Ô 1Ò$Ð$Ð$äÚ'Ú'Ú'Ú'ð	)ó 	*€Að
  ˜Ÿ™›Ñ€CˆØ”&Ú-Ú-Ú-Ú-ð	/ó 0ò 0ð 0ð 0ð
 ˜IÒ%Ð%Ð%äœx¨¨2›´¸!¸Q³ÀAÈ!ÐLÚ0Ú0Ú0ð2ó 	3€Að ˆ1�6‰6˜Ô¤6Ø*+¨Q°´8¸CÀÓ3EÐ)FØ*+¨Q°´H¸RÀÓ4EÐ)FØ*+¨Q°´8¸CÀÓ3EÐ)FÚ);ð	+=ó $>ò >ð >ð >ô 	ˆs‹€AÜ˜Q  A q¨!¬T°!«W°a¸Ð#;Ó<€AÜ�F�A—F‘F %Ô(Ø�”4˜“7˜Q˜B ™FÑ# a¬°!°Q«Ñ&7Ð%7¸!Ñ%;Ñ<Ø�1�aœ˜a› 1™ q™Ñ)ð+ó,ò '‰ˆˆ1ô ˜˜A™‹×&Ó&Ð&Ð&ñ'rr   c                  ó  — t        d«      \  } }}}t        ddgddgddgddgg«      }t        | |||g«      }|j                  |«      t        ddgddgddgddgg«      t        d|z  |z   gd|z  dz  |dz  z
  g| g|gg«      fk(  sJ ‚y )Nrû  r   r¦   rŠ   r‰   r«   r  )r   r5   Úrref_rhs)r_   r`   ra   rb   ré   rê   s         rs   Útest_rref_rhsr½  P  sË   € Ü˜Ó#�J€A€qˆ!ˆQÜ��A�˜˜A˜  A ¨¨A¨Ð/Ó0€AÜ��1�a˜ˆ|Ó€AØ�:‰:�a‹=œVØˆ€FØˆ€FØˆ€FØˆ€Fð	%ó ô Ø
ˆ1‰ˆq‰€MØ€q�Sˆ�UˆQˆq‰S�[€MØ€MØ€Mð	ó ð	ò ð ñ rr   c            	      óÈ  ‡— t        g d¢g d¢g d¢g d¢g d¢g d¢g«      Š‰j                  ddd	¬
«      } ‰j                  dd	dd¬«      }‰j                  dd	d¬«      }| d	d d …f   t        g d¢g«      k(  sJ ‚|d	d d …f   t        g d¢g«      k(  sJ ‚|d	d d …f   t        g d¢g«      k(  sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       y )N)r‰   r«   rù   r¦   )r¼   rà   r±   r‰   )r   rŠ   r¦   r‰   )rŠ   r‰   r   r  )r   r‰   r‰   rQ  )rÂ   rÓ   r   r¬   rv  rŠ   r¾   rw  r‚  r‰   rP  rƒ  rp  rq  )r   r‰   r   rÑ  )rå   r  r   rà   c                  ó,   •— ‰ j                  ddd¬«      S )Nrv  rŠ   r¬   rw  ri  ©rë   s   €rs   r~   z"test_issue_17827.<locals>.<lambda>p  rz  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nrp  r¿   rŠ   rq  ri  rÀ  s   €rs   r~   z"test_issue_17827.<locals>.<lambda>q  rr  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr‚  rù   r¾   rŠ   rƒ  ri  rÀ  s   €rs   r~   z"test_issue_17827.<locals>.<lambda>r  r‡  rr   )r5   rj  rR   r$  )r@  r   rK  rë   s      @rs   Útest_issue_17827rÃ  _  sæ   ø€ ÜÚÚÚÚÚÚðó 	€Að 	
×Ñ˜G¨!°!ÐÓ4€AØ	×Ñ˜I¨A°A¸ÐÓ<€AØ	×Ñ˜G¨¨aÐÓ0€AØˆQ’ˆT‰7”fšl˜^Ó,Ò,Ð-Ð,ØˆQ’ˆT‰7”fšm˜_Ó-Ò-Ð.Ð-ØˆQ’ˆT‰7”fšoÐ.Ó/Ò/Ð0Ð/ä
Œ:ÓKÔLÜ
Œ:ÓGÔHÜ
Œ:ÓSÕTrr   c                  ó  — t        ddgt        ddt        z  z
  gg«      } | j                  «       dk(  sJ ‚t        ddt        dd«      «      }|j                  «       dk(  sJ ‚t	        d«      }|j                  «       dk(  sJ ‚y )Nr¦   rŠ   r‰   rÒ   r   )r5   rc   r™  rÇ   rB   )r›   r�   r  s      rs   Ú	test_rankrÅ  t  st   € Ü��A�œ˜A ¤!¡™G˜Ð%Ó&€AØ�6‰6‹8�qŠ=Ðˆ=Üˆq�!”U˜1˜b“\Ó"€AØ�6‰6‹8�qŠ=Ðˆ=Üˆa‹€AØ�6‰6‹8�qŠ=Ð‰=rr   c                  ó  — t        d«      \  } }}}}}}}}}	}
}t        | || |
z  ||
z  dg||||
z  ||
z  dg||||
z  ||
z  dg||||
z  ||
z  dg||	d|z  |z  ||
z  z
  d|	z  |z  |	|
z  z
  dgg«      }|j                  «       dk(  sJ ‚y )Nrð  r   r¦   rŠ   r«   )r   r5   r™  )rñ  rò  ró  rô  rõ  rö  r÷  rø  rù  rú  rû  rü  rÉ   s                rs   Útest_issue_11434rÇ  |  sÑ   € äÐAÓBñ 3€BˆˆB��B˜˜B  B¨¨B°ä��R˜˜B™  2¡ qÐ)Ø�R˜˜B™  2¡ qÐ)Ø�R˜˜B™  2¡ qÐ)Ø�R˜˜B™  2¡ qÐ)Ø�R˜˜2™˜b™ 2 b¡5™¨!¨B©$¨r©'°B°r±E©/¸1Ð=ð	?ó 	@€Að
 �6‰6‹8�qŠ=Ð‰=rr   c            
      óˆ  — t        d«      \  } }t        d| z  dddgd| z  d| z  dz
  ddgdd| z  d| z  |z
  dz
  dgdd| |z   dgg«      }t        dddd| dz  | | z
  z  z  gdddd| | | z
  z  z  gdddd| | z
  z  gg d	¢g«      }d
}|j                  «       \  }}t        ||z
  «      t	        |j
                  Ž k(  sJ ‚||k(  sJ ‚y )Nz
nu, lambdar±   r¦   r   r‰   r  rŠ   rù   r×  rÀ   )r   r5   rT  r)   rB   r‘   )ÚnuÚlambré   Úexpected_reducedÚexpected_pivotsÚreducedr¶  s          rs   Útest_rank_regression_from_sorÎ  †  s!  € ô �|Ó$�H€BˆÜ��B‘ °A¸Ð:Ø�B‘$˜˜2™ ™	°A¸Ð:Ø˜Q˜r™T B r¡E¨T¡>°AÑ#5¸Ð:Ø ¨B°©I°rÐ:ð<ó 	=€Aô   1 a¨¨B°©E°D°5¸2±:Ñ,>Ñ)?Ð@Ø ! 1 a¨A¨r°D°5¸2±:©Ñ,?Ð@Ø ! 1 a°°T°E¸B±J±Ð@Ú@ðBó CÐð  €Oà—f‘f“h�O€GˆVäÐ$ wÑ.Ó/´5¸!¿'¹'°?ÒBÐBÐBØ�_Ò$Ð$Ñ$rr   c                  óú   — t        g d¢g d¢g d¢g d¢g«      } | t        j                  d«      t        z  z
  }|j                  «       dk(  sJ ‚|dz  j                  «       dk(  sJ ‚|dz  j                  «       dk(  sJ ‚y )Nr|  r  r  r  r«   r‰   rŠ   )r5   r9   r
   r™  )ré   rê   s     rs   Útest_issue_15872rÐ  š  sn   € Ü’šoª~º|ÐLÓM€AØ	ŒF�J‰J�q‹MœAÑÑ€AØ�6‰6‹8�qŠ=Ðˆ=Øˆq‰D�;‰;‹=˜AÒÐÐØˆq‰D�;‰;‹=˜AÒÐÑrr   ([  r  Úconcurrent.futuresrJ  Úcollections.abcr   Úsympy.core.addr   Úsympy.core.functionr   r   r   r“  r   r	   r
   r   r   r   r   r   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.miscellaneousr   r   r   Ú(sympy.functions.elementary.trigonometricr   r   r   Úsympy.integrals.integralsr   Ú$sympy.matrices.expressions.transposer   Úsympy.physics.quantum.operatorr    r!   r"   Úsympy.polys.polytoolsr#   r$   Úsympy.polys.rootoftoolsr%   Úsympy.printing.strr&   Úsympy.sets.setsr'   rE  r(   r)   Úsympy.simplify.trigsimpr*   Úsympy.matrices.exceptionsr+   r,   r-   Úsympy.matrices.matrixbaser/   Úsympy.matrices.determinantr0   Úsympy.matrices.utilitiesr1   Úsympy.matricesr2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   Ú
sympy.corerK   rL   Ú(sympy.functions.special.tensor_functionsrM   Úsympy.utilities.iterablesrN   rO   rP   Úsympy.utilities.exceptionsrQ   Úsympy.testing.pytestrR   rS   rT   rU   rV   rW   Úsympy.assumptionsrY   Úsympy.tensor.arrayrZ   Ú$sympy.tensor.array.array_derivativesr[   Úsympy.matrices.expressionsr\   Úsympy.algebrasr]   ry  r^   r"  r_   r`   ra   rb   rc   rd   re   rf   r�   rÄ  rg   rh   Úsympy.matrices.matricesri   rj   rl   rv   r‚   r‡   rœ   r£   r¨   r¯   r³   rº   rÊ   rÚ   rí   r&  r)  r1  r3  r5  r@  rF  rK  rN  rU  rY  r]  ra  rg  rj  rm  rp  rt  rw  rz  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,  r0  r3  r7  r9  r=  rB  rH  rJ  rW  r[  r`  ri  rk  r}  r‰  rŒ  r�  r’  r•  r˜  rš  r�  r¢  r©  r«  r°  r¹  r¾  rË  rÏ  rÔ  rÖ  rÙ  rè  rð  rý  r   r  r  r  r  r"  r)  r,  r0  r3  r;  r?  rB  r‘  r•  r—  r™  rœ  r¢  r§  r«  rÆ  rÔ  rÝ  rà  râ  rç  rê  rï  rö  rø  rü  r
  r  r  r  r  r  r  r!  r#  r'  r/  r1  r3  r6  r9  rA  rM  rQ  rU  rX  r\  r_  rc  ri  rl  rp  rt  r{  r}  r†  rŠ  rœ  r±  r³  r¶  r¿  rÆ  rÊ  rÏ  rÒ  rÔ  râ  rå  rì  rî  rý  r  r  r  r#  r'  r+  r1  r3  r6  r;  r=  rF  rQ  rS  r[  r]  rd  rŒ  r¤  rª  r´  rº  r½  rÃ  rÅ  rÇ  rÎ  rÐ  rq   rr   rs   ú<module>rõ     s£  ðó Û Ý $å ß 6Ñ 6ß L× LÓ LÝ  Ý "ß /Ý &Ý 4ß =ß EÑ Eß DÑ DÝ /Ý :ß NÑ Nß 2Ý *Ý #Ý %ß 8Ý ,÷ñ å 4Ý CÝ .÷L÷ L÷ L÷ L÷ L÷ Ló Lõ 8ß "Ý Cß @Ñ @Ý 6÷:÷ :å Ý $Ý @Ý -Ý %å ç ,× ,Ó ,ð �< Ð2GÐ
H€÷ Bß Eñ Óñ ô˜^¨_¸oô ÷ñ
 Óñ ô˜~¨Ð@Pô ÷ò
@ò6ò
+ò
!ò+ò
&òò
9ò)òXDòNò>^JòB?òò_ò*JòX_ò
%ò
'ò
 ò
6ò%ò
;ò
5ò
ò8GòPò
yò
	8ò$ò
)ò&ò$<ò<ò<ò<ò<òòKò&dòò&Kò0O2òdòòFòDò+ò84òPò1òò$
:òò<7Mòt ò8!ò"AòGò2ò" ò"$ò$-òòòò:òò&òòò>9ò$ò"òòòò*ò)ò  ò
.ò	ò*òFò!ò@ò.6ò&ò8òGò$1ò&3ò@E!òP
1òH%òV&ò&'ò"ò$4ò.òLò)ò2ò
òò!ò$;6òz"óIóGó
Oó*4(ónPó!ó%IóPZóz.ó&ó"óFóHóó óó$<ó">óJDó-ó;ó-ó"8ó
/ó(ó1ó
(ó.3ó(?óGó4ó\ópó&ó(*ó&óFóó"7ó:ó& ó4ð ñ5ó ñ5ó)ó)ó+óó"ó*
ðZ ñ"$ó ñ"$óJ7ó1óRó$#ó 	+ó	#óEó 'ó
/ó8	1ó	1óóó 2ó0ó5ó&#ó3ó*ó9ó#ó ó
$óóIñ< Ð:Ó;ñ#ó <ñ#óó;óó.ó!JóH!JóHó6\*ó~>'óBóUó*óó%ô(÷ijñ ú÷
ñ ús   ÆQ?Æ#RÑ?R	ÒR