Ë
    óÿæi|} ã                   ó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__© ó    úw/Volumes/fast/ai/experiments/voice-extract-mac/.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   s   € °1rr   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¬Áù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Ó Ð Ð ñ	 3÷ &Ð%ú÷
 &Ð%ú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šurr   )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°#±­Áùs   ƒrª   )r   rÆ   )r|   r}   rè   ré   s   ``€€rs   r~   z.test_multiplication_inf_zero.<locals>.<lambda>  s   ú€ ¤3Ö(IÄÀaÄÓ(IÑ#Jrr   )	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Ô Err   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 #švrr   c                  ó"   •— ‰ t        dd«      z  S r�   ©r   r  s   €rs   r~   ztest_power.<locals>.<lambda>S  ó   ø€ ˜q¤(¨1¨a£.Ò0rr   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 !štrr   )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Ô4rr   )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¤!štrr   )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_2r0  Š  sc   € Ü�”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_3r2  �  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_4r4  —  sb   € ô8 	Œqð Kó Ló 	M€Aô 
�TÕ	Ø�"‰uœœqð "Hó  Ió 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Ò"3rr   Trc   éúÿÿÿr½   é$   rª   ÚEX©Údomain)r5   rF   Úcharpolyr$   rc   r
   r'  s    rs   Ú$test_issue_17247_expression_blowup_5r?  Ã  so   € Üˆ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_6rE  È  sZ   € Üˆ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 r7  r  r{   s     rs   r~   z6test_issue_17247_expression_blowup_7.<locals>.<lambda>Î  r8  rr   TÚ	berkowitzr   )r5   rF   rC  r'  s    rs   Ú$test_issue_17247_expression_blowup_7rJ  Í  s<   € Üˆ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   rB  rD  s     rs   Ú$test_issue_17247_expression_blowup_8rM  Ò  sY   € Üˆq�!¤5¨"¤:Ó.¡:˜a”a˜“c :Ñ.Ó/€AÜ	�TÕ	Ø�u‰u�T‹{˜aÒÐÑ÷ 
Ð	ùò /ß	Ð	úrF  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°   éüÿÿÿéûÿÿÿr9  ©r   r¥   r‰   rˆ   rª   r½   r«   r¾   ©r   r   r   r   r   r   r   r   rÂ   )r5   rÆ   rc   rF   ÚrrefrD  s     rs   Ú$test_issue_17247_expression_blowup_9rT  ×  s‰   € Üˆq�!¤5¨"¤:Ó.¡:˜a”a˜“c :Ñ.Ó/€AÜ	�TÕ	Ø�v‰v‹xœFÚ*Ú*Ú*Ú*Ú*Ú*Ú*Ú*ð$,ó -ð /5ð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 r7  r  r{   s     rs   r~   z7test_issue_17247_expression_blowup_10.<locals>.<lambda>å  r8  rr   Tr   )r5   rF   Úcofactorr'  s    rs   Ú%test_issue_17247_expression_blowup_10rX  ä  s>   € Üˆ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 r7  r  r{   s     rs   r~   z7test_issue_17247_expression_blowup_11.<locals>.<lambda>ê  r8  rr   Tr   r:  )r5   rF   Úcofactor_matrixr'  s    rs   Ú%test_issue_17247_expression_blowup_11r\  é  sK   € Üˆ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 r7  r  r{   s     rs   r~   z7test_issue_17247_expression_blowup_12.<locals>.<lambda>ï  r8  rr   Tr¥   r   rª   )r5   rF   Ú	eigenvalsr
   r'  s    rs   Ú%test_issue_17247_expression_blowup_12r`  î  sJ   € Üˆq�!Ñ3Ó4€AÜ	�TÕ	Ø�{‰{‹}  A q¬¡s¨A¨q°!Ð 4Ò4Ð4Ñ4÷ 
×	Ñ	ú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ÚnumerrO  )r5   rc   Ú
eigenvectsr   r   )rÈ   Úevs     rs   Ú%test_issue_17247_expression_blowup_13rf  ó  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   rR  )r5   rc   rF   Úechelon_formr'  s    rs   Ú%test_issue_17247_expression_blowup_14ri    sâ   € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÕ	Ø�~‰~Ó¤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÷ 
×	Ñ	ú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_15rl    s  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÕ	Ø�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÷ 
×	Ñ	ú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_16ro  !  s¥  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÕ	Ø�}‰}‹¤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÷ 
×	Ñ	ú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ˆ   rO  rª   rP  r½   r9  r«   éùÿÿÿ)r5   rÆ   rc   rF   Ú	nullspacerD  s     rs   Ú%test_issue_17247_expression_blowup_17rs  &  sV  € Üˆq�!¤5¨"¤:Ó.¡:˜a”a˜“c :Ñ.Ó/€AÜ	�TÕ	Ø�{‰{‹}Ü�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÷ 
Ð	ùò /ß	Ð	ú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_18rv  1  sa   € Üˆ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_19ry  6  sF   € ÜŒ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  óa   € ÜŒ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  sj   € ÜŒ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  sa   € Ü”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•  …  sa   € Ü”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™  ’  sC   € ÜŒ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Õ	Ø�}‰}‹‰ˆˆ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÷ 
×	Ñ	ú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Ÿ  ²  s]   € ÜŒqð có dó 	e€Aô
 
�TÕ	Ø× Ñ Ó"¤að )có '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¡  À  sC   € äŒ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ø   rP  rq  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   rQ  )r5   r   rF   rS  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Õ	Ø�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÷ 
×	Ñ	ú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Ô6rr   c                  ó   — t        ddg «      S )Nr½   rø   rð   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>í  s   € œv a¨¨RÔ0rr   c                  ó   — t        d«      d   S rï   rð   rq   rr   rs   r~   ztest_creation.<locals>.<lambda>î  s   € œv f›~¨aÒ0rr   r½   r´   rˆ   r   r¥   r‰   )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»  ë  s  € Ü
Œ:Ñ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¸°+°Ò>Ð>Ñ>÷ 
"ä	Õ	!Ü˜˜˜T�{�mÓ$×&Ñ&×-Ñ-Ó/°a°S°E¸D¸6°?ÒBÐBÑB÷ 
"ä��ˆ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Ðð	"ó ò ð ð ô
 
 Õ	!Ü�c EÔ*×1Ñ1Ó3ÁSÓ7IÁSÀ¸ºÀSÑ7IÒIÐIÑI÷ 
"ô ”4˜“7œD ›GÐ$Ó%¬´°a³°	Ó):Ò:Ð:Ð:Ü
Œ:Ñ<Ô=Ü
Œ:Ñ<Ô=ô 	��A�˜˜A˜ÐÓ €AÜ	��F�Ó	€BØ”˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1Ò1Ð1Ñ1÷W 
Ñ	ú÷ 
"Ñ	!úç	!Ñ	!ú÷ 
"Ñ	!üòh 8J÷ 
"Ð	!ú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¢5rr   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Ô2rr   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>‘  s   €  !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
  ²  sN  € Ü�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Ñ.K¨Œt�A—E‘E˜!“H‹~ Ô$Ñ.Kùó   ƒ&)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¥   r9  r«   rI  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_subsr/  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™‘Ð Ó!ò"ð "ð "÷ ˆÜ˜˜1�v  1˜vÐ&Ó'¨3¯7©7°1«:¯?©?¸1¸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_xreplacer2  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˜Ð!Ó"ò#ð #ð #çˆÜ˜˜1�v  1˜vÐ&Ó'¨3¯7©7°1«:×+>Ñ+>ÀÀ1¸vÓ+FÓFÐFÐFñ 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_simplifyr6  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_transposer8  ^  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¢8rr   r¥   r   r|  rØ  rø   )rR   ÚAttributeErrorr5   r
   r?  r'  s    rs   Útest_conj_diracrA  �  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_tracerG  �  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_shaperI  –  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šYrr   r‰   rˆ   c                 ó   — | t         |z  z   S ry   )rd   )ra   r}   s     rs   r~   z!test_col_row_op.<locals>.<lambda>£  s   € ˜Q¤ A¡šXrr   é*   rÀ   rø   )r5   rc   rd   Úrow_opÚcol_opÚrowÚcol)rÈ   Úr1Úc1s      rs   Útest_col_row_oprV  œ  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_multrZ  ¹  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©   rX  ©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   rC  ©r‰   r¥   r   r   rø   rÂ   c                 ó   — | d|z  z   S rî  rq   rb  s     rs   r~   z!test_zip_row_op.<locals>.<lambda>Ö  rd  rr   )r‰   rø   r   )rª   r   r   r  )r�   r9   Ú
zip_row_op)r™   rÈ   s     rs   Útest_zip_row_oprh  Ì  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_3950rj  Û  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rL  rq   ©Úselfs    rs   Ú	__index__z)test_issue_3981.<locals>.Index1.__index__è  ó   € Ørr   N©rn   ro   rp   rq  rq   rr   rs   ÚIndex1rm  ç  ó   „ ó	rr   rt  c                   ó   — e Zd Zd„ Zy)útest_issue_3981.<locals>.Index2c                  ó   — yrî  rq   ro  s    rs   rq  z)test_issue_3981.<locals>.Index2.__index__ì  rr  rr   Nrs  rq   rr   rs   ÚIndex2rw  ë  ru  rr   ry  r©   rˆ   r½   r‰   rX  r«   r¥   rª   r´   rÁ   rð   )rt  ry  Ú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-   øè ø€ Ð>±X°ˆwˆq�w‰w‹y˜‰|˜q ™tŸz™z›|Õ+±Xùó   ƒ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>  s1   øè ø€ Ð@±x°!ˆwˆq�w‰w�q‹z˜!‰}  !¡§
¡
¨1£Õ-±xùó   ƒ47c              3   ór   •K  — | ].  } ‰j                   d «      |   ‰|   j                  d «      k(  –— Œ0 y­wr„  r€   r�  s     €rs   r�   ztest_evalf.<locals>.<genexpr>	  s1   øè ø€ Ð8©x¨!ˆsˆq�s‰s�1‹v�a‰y˜A˜a™DŸF™F 1›IÕ%©xù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   ru  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  sQ   € Üˆ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ÚYr/  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§  r/  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_slicer/  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¨œmrr   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ÔDrr   )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½  Ÿ  sX   € Ü��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Ô6rr   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Ê  §  sJ  € Ü��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œwrr   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œyrr   c                  ó   — t        d«      S rß  ©r9   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>÷  s   € œs 2œwrr   rª   c                  ó   — t        d«      S ©Nr½   rð   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ù  s   € œf Qœirr   c                  ó   — t        dd«      S r¤   rð   rq   rr   rs   r~   z$test_creation_args.<locals>.<lambda>ú  s
   € œf Q¨œlrr   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‰   rO  r‰   rØ  r   )r   r¥   rø   r   Tc                  ó&   •— ‰ j                  d«      S )NTró  rü   s   €rs   r~   z&test_diagonalization.<locals>.<lambda>Q  s   ø€  §¡¨dÔ 3rr   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
   rx  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   rx  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   rO  rª   r   r  r¥   r‰   )	r‰   r¥   r   r   r‰   r   r   r   r‰   )	r‰   r«   éñÿÿÿr¥   r¥   rP  r¥   r‰   r9  )	rø   r¥   r   r   rø   r   r   r   rø   )	rª   rP  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   r‰   r   r   r   r   r‰   r¥   r   r   r   r‰   )r«   r‰   éøÿÿÿr9  r°   r‰   r»   r«   r‰   r  r  r9  rø   r   rˆ   rª   )r  r   r   r   r   r‰   r¥   r   r   r   r‰   r   r   r   r   r‰   )r½   rª   r‰   r¥   r   r¥   rø   rø   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}  rx  r	   ÚvaluesrÖ   Ú_prec)ÚJmustr.  r/  Útermrš   s       @rs   Útest_jordan_formr  s  sn  ø€ äˆ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   )rO  r‰   r   r¥   )r   r   r‰   rª   )r   r   rO  r‰   r‰   rª   r¥   r   )r5   r
   r+  r)   r,  )rè   ÚpÚqÚJmust1ÚJmust2r.  r/  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.  r/  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  rO  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_logr/  '  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_hasr2  @  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   r4  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   Úlenr4  s         rs   Ú+test_find_reasonable_pivot_naive_simplifiesrA  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Ô4rr   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Ó/°Ò7rr   c                  ó$   — t        ddgg«      d   S )Nr¥   r‰   )r¥   gÍÌÌÌÌÌ@rð   rq   rr   rs   r~   ztest_errors.<locals>.<lambda>z  rE  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ÕArr   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>~  s/   € ”˜˜A˜  A Ð'Ó(×6Ñ6¸¸1°v¼vÀqÈ!Àf»~ÔNrr   c                  óX   — t        ddgddgg«      j                  ddgt        «       «      S rJ  )r5   Úcopyin_listÚsetrq   rr   rs   r~   ztest_errors.<locals>.<lambda>  s1   € œ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Ô)Mrr   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>ƒ  s.   € ”�q˜!˜a ˜VÓ$×-Ñ-¬f°q¸!°f¸qÀ!¸fÐ5EÓ.FÔGrr   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ÔMrr   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>†  ó6   € œ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>ˆ  rW  rr   c                  ó8   — t        ddg«      j                  «       S r¤   rE  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>Š  s   € ¬°°A°«×)=Ñ)=Ô)?rr   c                  ó8   — t        dg«      j                  d«      S rL  )r5   rñ  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>‹  s   € œf a S›k×3Ñ3°AÔ6rr   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ÀÔCrr   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ÔMrr   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Ô8rr   c                  ó:   — t        g d¢«      j                  d«      S rb  ©r5   Údotrq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € œf¢YÓ/×3Ñ3°AÔ6rr   c                  óP   — t        g d¢«      j                  t        ddg«      «      S )Nr©   r¥   r‰   rf  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>�  s   € œv¢iÓ0×4Ñ4´V¸QÀ¸F³^ÔDrr   c                  ó:   — t        ddg«      j                  g «      S r¤   rf  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>‘  s   € œv q¨! f›~×1Ñ1°"Ô5rr   c                  ó:   — t        ddg«      j                  d«      S )Nr¥   r‰   r_   rf  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>’  s   € œf a¨ V›n×0Ñ0°Ô5rr   c                  ó>   — t        ddg«      j                  g d¢«      S )Nr¥   r‰   r©   rf  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ÔDrr   c                  ó<   — t        ddg«      j                  d¬«      S )Nr¥   r‰   znot a methodr‚  rP  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>–  s   € œv q¨! f›~×1Ñ1¸Ð1ÔHrr   c                  ó8   — t        ddg«      j                  «       S r¤   ©r5   Ú
inverse_GErq   rr   rs   r~   ztest_errors.<locals>.<lambda>—  ó   € ¬°°A°«×)BÑ)BÔ)Drr   c                  ó@   — t        ddgddgg«      j                  «       S r¤   rr  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>˜  ro  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Ô)Err   c                  ó@   — t        ddgddgg«      j                  «       S r¤   rw  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>š  s   € œv¨¨1 v°°1¨vÐ&6Ó7×CÑCÔErr   c                  ó8   — t        ddg«      j                  «       S r¤   )r5   Ú
inverse_LUrq   rr   rs   r~   ztest_errors.<locals>.<lambda>›  rt  rr   c                  ó8   — t        ddg«      j                  «       S r¤   r“  rq   rr   rs   r~   ztest_errors.<locals>.<lambda>œ  s   € ¬°°A°«×)DÑ)DÔ)Frr   c                  ó8   — t        ddg«      j                  «       S r¤   ©r5   rC  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Ð,ÔHrr   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ðK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ðB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>§  s/   € ”œ  A ¨¨A¨Ð/Ó0´&¸1¸a¸&À1ÀaÀ&Ð9IÓ2JÔKrr   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Ð.>Ó'?ÀÔDrr   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())rC  r'  s   €rs   r~   ztest_errors.<locals>.<lambda>­  s   ø€ ˜qŸu™uÐ%@ÔArr   )rÑ   rÑ   rÑ   r©   ©r‰   rˆ   rª   r¼   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌ@)rV  ©rÈ   ÚVs   €€rs   r~   ztest_errors.<locals>.<lambda>°  s   ø€ ˜qŸ|™|¨C°Ô3rr   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌÀ)rY  r�  s   €€rs   r~   ztest_errors.<locals>.<lambda>²  s   ø€ ˜qŸ|™|¨D°!Ô4rr   )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>·  s   € ¨rr   c                  ó   — yr…   rq   r{   s     rs   r~   ztest_len.<locals>.<lambda>¸  s   €  arr   r¿   r¼   r«   )r@  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Ä   rC  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ÿ   re  )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ÑmvÐhiÔZ[Ô]^Ô`aÑYbÓ:cÑYbÐTU¸4¿9¹9ÀQ»<×;LÑ;LÈQÕ;OÐYbÓ:cÐmvÒ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Ò#9rr   r   r   rÄ   r   )r5   rc   rd   rR   r@  Ú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   € ¬°«×)@Ñ)@Ô)Brr   c                  ó4   — t        d«      j                  «       S ©N©r´   )rˆ   rª   r®  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>/  ó   € œvÐ&6Ó7×@Ñ@ÔBrr   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ÔFrr   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Ð@ÔQrr   r½   r   rÂ   Fr»  r¥   r¸  r‰   r«   ))é   rÒ   rP  )rÒ   rÎ   r   )rP  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Ô)Hrr   c                  ó4   — t        d«      j                  «       S r±  r¿  rq   rr   rs   r~   ztest_cholesky.<locals>.<lambda>B  ó   € œ|Ð,<Ó=×FÑFÔHrr   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ÔLrr   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ÔWrr   )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Š:Û�Û�AØŸ6™6 %›=¨1¯6©6°%«=Ñ8Ø˜Q™Ÿ™ UÓ+ñ,�Cä# C¨1¡HÓ-´·±Ò7Ð7Ð7ñ ð ð �Q˜˜2˜r¤1§:¡:¬q×/AÑ/AÐBÒBÛ�Ü  a¡Ÿ~™~¨eÓ4Ü˜“Z !§&¡&¨£-Ñ/ñ 1ó 2�à˜a“x��xò ð Dô& 	ˆ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>¾  s>   øè ø€ ð QÙOð BEŒu�R‹y×#Ñ# B§G¡G¨A¨s£O×$9Ñ$9Ó$;×<ÙOù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©   rX  ©r¾   rÁ   r»   ))r»   rÁ   r¾   )r«   r½   rª   )rˆ   r‰   r¥   rÑ   )rC  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¾   rC  rÿ   r   )r9   rT  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ª   rO  r½   rC  rª   rˆ   r   )r5   rÆ   ÚinsertrN   r9   rV  rS  r²  )Úr4r|   r'  s      rs   Útest_row_insertræ  Þ  sh   € Ü	’�Ó	€BÜ�2�qŽ\ˆÚˆØ	�‰��AŒÜ”s˜1“v×(Ñ(¨¨BÓ/×3Ñ3°AÓ6×=Ñ=Ó?Ó@ÀAÓEÐEÐEñ 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ã  rO  r½   rÄ   rª   rˆ   r   )r5   rÆ   rä  rN   rB   rY  rR  r²  )Úc4r|   r'  s      rs   Útest_col_insertré  æ  sf   € Ü	’	Ó	€BÜ�2�qŽ\ˆÚˆØ	�‰��AŒÜ”u˜Q“x×*Ñ*¨1¨bÓ1×5Ñ5°aÓ8×?Ñ?ÓAÓBÀaÓGÐGÐGñ 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Ò9rr   r�  )r5   rn  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×/Ñ/Ô1rr   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×/Ñ/°Ô4rr   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   rC  rÿ   r   )r   r@   r?   r>   r9   rF  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Ò6rr   Ú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Ô9rr   )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 šwrr   c                  ó   •— ‰ d   S )NrÕ  rq   rü   s   €rs   r~   z'test_slice_issue_2884.<locals>.<lambda>x	  s	   ø€ ˜q šwrr   )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ª   rO  rÍ   r½   r«   )r¥   r½   r«   é+   )r¥   rO  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¤   rP  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Ô2rr   c                  ó(   •— ‰ j                  d¬«      S )Nr�  r‚  r*  rü   s   €rs   r~   z'test_invertible_check.<locals>.<lambda>§	  ó   ø€ ˜qŸu™u¨D˜uÔ1rr   c                  ó(   •— ‰ j                  d¬«      S )NrŠ  r‚  r*  rü   s   €rs   r~   z'test_invertible_check.<locals>.<lambda>¨	  r,  rr   )	r5   rS  rR   r#  rc   r@  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_3959r0  «	  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_5964r2  ±	  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_7604r5  µ	  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ˆ   rC  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_Identityr8  »	  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‰   rP  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;  rf  rq   rr   rs   r~   ztest_dot.<locals>.<lambda>Õ	  s'   € œv q¨! f›~×1Ñ1´&¸!¸Q¸³.ÈDÐgmÐ1Ônrr   )r<   rg  r5   r
   rR   r#  rq   rr   rs   Útest_dotr@  É	  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_dualrL  Ø	  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_symmetricrP  ì	  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)rR  Úsort)r5   r}  r³  r9   r“   r,  )rè   r.  rY   s      rs   Ú#test_normalize_sort_diogonalizationrT  ÿ	  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ÔDrr   )rR   r#  rq   rr   rs   Útest_issue_5321rW  
  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 rL  )r5   r   rY  rZ  )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¤   rc  rq   rr   rs   r~   ztest_cross.<locals>.<lambda>3
  s*   € Üˆq�!�a˜�VÓ×"Ñ"¤6¨!¨Q°°A°Ó#7Ô8rr   )r5   r³  r�   rd  rR   r+   )r_   r`   rS  rR  r  rè   ré   r™   s          @rs   Ú
test_crossrb  #
  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   Úhatrd  rO  Úvee)Úv1Úv2s     rs   Útest_hat_veerh  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   r@  ÚpoprÖ   r   )r™   r  s     rs   Ú	test_hashrk  =
  s|   € Ü�r�s‹|ˆØ�W‰W�Q‹Z˜Ÿ™ ›Ð$ˆÜ�1‹v˜Š{˜qŸu™u›w¨#¯'©'°!«*Ó4Ð4Ð4ð ô �r˜‹{ˆÜ˜cŸg™g a›j¬(Õ3Ð3Ð3ñ rr   c                  ó>   ‡ — t         d   Š t        t        ˆ fd„«       y )Nr   c                  ó8   •— t        ‰ j                  d«      «      S rL  )Úhashr9   r.  s   €rs   r~   z!test_issue_3979.<locals>.<lambda>K
  s   ø€ ¤4¨¯©°«
Ô#3rr   )r�   rR   r@  r.  s   @rs   Útest_issue_3979ro  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_adjointrs  N
  sR   € ØŒ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�   rr  )Úsympyr_   Úa_dagr¹  r&  r™   s         rs   Útest_adjoint_with_operatorrz  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}   rJ  s     €rs   r~   ztest_replace.<locals>.<lambda>g
  r€  rr   )r   r   r5   Úreplace)ÚKrÈ   ÚNrJ  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   øè ø€ ð 
á3‰DˆAˆqñ 	ˆQ�S‰S‹U�A—C‘C“E×Ù3ù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€  r1  r‘   )ÚM1rº  ÚrootofsrM  Úrootofs_approxÚdiff_approxs         rs   ÚallclosezEtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclose¼
  sa   € Ø—h‘hœvÓ&ˆGÙ4;Ó<±G¨q˜a §¡£™l°Gˆ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 rq  )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µ  É
  s9   € ÜÔ3´V¼\ÓIˆÙ”1�#˜�s�‹}×)Ñ)¬a¨SÓ0Ð0Ð0ñ Jrr   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©   rX  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>Ú
  s.   ø€ ”‘u  1˜v¨¨1 vÐ.°!°Q°¸!¸Q¸Ð0@ÐAÓBÔCrr   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Ù‘v  1˜v¨¨1 vÐ.Ó/Ó0ˆ÷ 
4àˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ñ"øô ò aÜÐ_Ö`ðaú÷ 
4Ð	3ú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 )Nr4  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 )NrY  rR  )r»   r«   rˆ   rV  rT  r¥   r‰   rˆ   rª   ÚjoinrO  )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˜“)‰ˆˆQÛˆBÜ˜˜2“ˆAØ  B™,‘!�A”$©A¨b°!«HˆCØ˜!’8¤ 3£¬2¨a«5Ó 0Ð0Ð0ñ ñ rr   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©   rX  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 )NrP  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)   rS  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   rS  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   rS  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"  ¤  ss   € Ü	��!’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_14943r0  Á  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_6913r2  Ë  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_11948r5  Ñ  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   rg  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Ô Arr   c                  óX   •— ‰ t         z  j                  t        t         «      t         «      S ry   )rc   r@  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   )r@  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   r@  r   rc   rf   r   r   r   rR   r#  r   r)   r   )r>  rè   s    @rs   Ú	test_funcrE  ì  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_19809rP  
  s^   € òô 
�TÕ	Ü×Ñ×2Ñ2Ô4¸Ø—_‘_ QÓ'ˆFØ—=‘=”?Ð"‘?÷ 5÷ 
Ð	ß4Ð4ú÷ 
Ð	ú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 rq  )r5   rc   rd   r   r   r   r'  s    rs   Útest_issue_23276rR    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  rP  r¥   rø   r  ©r   r°   rˆ   rª   r¥   ©rˆ   r«   r   rq  r‰   r   )r¥   r  r   rˆ   r¥   )r‰   rP  r°   r«   r‰   )r‰   rø   rª   rq  rˆ   )rl   rn  r5   r@  rY  ©rš   Úbasiss     rs   Útest_columnspace_onerZ  !  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 )NrT  rU  rV  rW  r   r¥   )r   rø   r¥   rˆ   r‰   r‰   )r   r   r   r½   r½   rˆ   )rl   rk  r5   r@  rX  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 )NrT  rU  rV  rW  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  r`  ra  )rl   rr  r5   r‘   rX  s     rs   Útest_nullspace_onerc  >  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Ô9rr   c                  ó$   •— ‰ j                  «       S ry   rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>Q  ó   ø€ ˜q×2Ñ2Ô4rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nún->knr½   ©rR  rç   rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>R  ó   ø€ ˜q×2Ñ2°7ÀÀQÐ2ÔGrr   c                  ó,   •— ‰ j                  ddd¬«      S )Nro  rP  r½   rp  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>S  ó   ø€ ˜q×2Ñ2°7ÀÀaÐ2ÔHrr   c                  ó,   •— ‰ j                  ddd¬«      S )Nún<->mr¥   r½   ©Úrow1Úrow2rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>T  ó   ø€ ˜q×2Ñ2°7ÀÈÐ2ÔKrr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r½   r¥   rv  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>U  ry  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  rP  r¥   rv  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>V  ó   ø€ ˜q×2Ñ2°7ÀÈ!Ð2ÔLrr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r¥   rP  rv  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>W  ó   ø€ ˜q×2Ñ2°7ÀÈÐ2ÔLrr   c                  ó.   •— ‰ j                  dddd¬«      S ©Nún->n+kmr¥   r½   ©rw  rx  rç   rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>X  ó   ø€ ˜q×2Ñ2°9À1È1ÐPQÐ2ÔRrr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  r½   r¥   r‚  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>Y  rƒ  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  rP  r¥   r½   r‚  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>Z  ó   ø€ ˜q×2Ñ2°9À2ÈAÐQRÐ2ÔSrr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  r¥   rP  r½   r‚  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>[  ó   ø€ ˜q×2Ñ2°9À1È2ÐQRÐ2ÔSrr   c                  ó.   •— ‰ j                  dddd¬«      S r€  rh  rj  s   €rs   r~   ztest_row_op.<locals>.<lambda>\  rƒ  rr   ro  r   r½   rì  rÿ   r   r¥   rC  rD  rp  )rw  rç   ru  rv  )rR  rx  r�  )r¥   r½   r   )rR  rç   rx  )rw  rç   rx  r‰   r«   )r‚   rR   r#  ri  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 rf  ©Úelementary_col_oprj  s   €rs   r~   ztest_col_op.<locals>.<lambda>t  rk  rr   c                  ó$   •— ‰ j                  «       S ry   r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>u  rm  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nro  r½   ©rS  rç   r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>v  rq  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nro  rP  r½   r“  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>w  rs  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r¥   r½   ©Úcol1Úcol2r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>x  ry  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r½   r¥   r–  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>y  ry  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  rP  r¥   r–  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>z  r|  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r¥   rP  r–  r�  rj  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�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>|  rƒ  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  r½   r¥   rž  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>}  rƒ  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  rP  r¥   r½   rž  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>~  r†  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  r¥   rP  r½   rž  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>  rˆ  rr   c                  ó.   •— ‰ j                  dddd¬«      S r�  r�  rj  s   €rs   r~   ztest_col_op.<locals>.<lambda>€  rƒ  rr   ro  r   r½   rì  rÿ   r   r¥   rC  rD  r“  )r—  rç   ru  r–  )rS  r˜  r�  )r½   r¥   r   )rS  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©+ùra  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©!ùra  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Ñ2I¨Q˜qŸy�yÑ2Iùra  )r‘   r   )r    r’   Únullsr¦   Ú	a_echelons       €rs   Úverify_row_null_spacez0test_echelon_form.<locals>.verify_row_null_spaceÄ  s\   ø€ ÛˆAÜÑ6¨)°Aª+Ó6Õ6Ð6Ð6ð ãˆAÜÑ,©!Ó,Õ,ÜÑJ°)¸A¿K¹K»MÒ2IÓJÕJÐJÐJñ 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‚   rh  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‰   rP  rˆ   )rø   r½   r‰   r‰   r¥   rq  r½   )r   r   r  r°   r°   rÁ   rP  )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  r¥   )r   r   r   r   r   r   r   )r   r‰   rˆ   r�  r‰   rË  rÌ  rÎ  i´ÿÿÿé�   rP  éî   rÖ  rc   )rv   rS  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ˆ   rP  )rÁ   rÒ   r   r«   ru  r‰   r½   rv  r�  rˆ   rO  r‚  ro  rp  )r   rˆ   r   rÐ  )rä   r  r   rß   c                  ó,   •— ‰ j                  ddd¬«      S )Nru  r‰   r«   rv  rh  ©rê   s   €rs   r~   z"test_issue_17827.<locals>.<lambda>p  ry  rr   c                  ó,   •— ‰ j                  ddd¬«      S )Nro  r¾   r‰   rp  rh  r¿  s   €rs   r~   z"test_issue_17827.<locals>.<lambda>q  rq  rr   c                  ó.   •— ‰ j                  dddd¬«      S )Nr�  rø   r½   r‰   r‚  rh  r¿  s   €rs   r~   z"test_issue_17827.<locals>.<lambda>r  r†  rr   )r5   ri  rR   r#  )r?  r   rJ  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   rS  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.futuresrI  Ú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'   rD  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]   rx  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(  r0  r2  r4  r?  rE  rJ  rM  rT  rX  r\  r`  rf  ri  rl  ro  rs  rv  ry  r~  r†  r‹  rŽ  r’  r•  r™  rœ  rŸ  r¡  r¤  r»  r¾  rÃ  rÆ  rÔ  rÝ  rå  rë  rò  r÷  rú  r
  r  r'  r+  r/  r2  r6  r8  r<  rA  rG  rI  rV  rZ  r_  rh  rj  r|  rˆ  r‹  rŽ  r‘  r”  r—  r™  rœ  r¡  r¨  rª  r¯  r¸  r½  rÊ  rÎ  rÓ  rÕ  rØ  rç  rï  rü  rÿ  r  r  r  r  r!  r(  r+  r/  r2  r:  r>  rA  r�  r”  r–  r˜  r›  r¡  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  r2  r5  r8  r@  rL  rP  rT  rW  r[  r^  rb  rh  rk  ro  rs  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*  r0  r2  r5  r:  r<  rE  rP  rR  rZ  r\  rc  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