Ë
    Bü´jnR ã                   óž  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z
ddl	mZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZmZmZm Z m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. dd	l/m0Z0 	 ddl1Z	d
„ Z3e*Z4díd„Z*d„ Z5d„ Z6d„ Z7h d£Z8 G d„ d«      Z9d„ Z:e
jv                  jy                  d«       g Z=e= e:d e9d eddgddgge¬«       eddge¬«      «       e9d eddgddgge¬«       eddge¬«      «       e9d eddgddgge¬«       eg d¢g d¢ge¬«      «       e9d ed d!gd"d#gge¬«       ed$d ge¬«      «       e9d% ed d!gd"d#gge¬«       ed$d ge¬«      «       e9d& ed d!gd"d#gge¬«       eg d'¢g d(¢ge¬«      «       e9d) e
j|                  d*e¬«       e
j|                  d+e¬«      d,h¬-«       e9d.e
jv                  j                  d/d/«      e
jv                  j                  d/«      «       e9d0e
jv                  j                  d1d1«      e
jv                  j                  d1«      «       e9d2d1d3gd4d5ggd3d1g«      g
«      z  Z=e= e:d6 e9d7 eg d8¢g d¢ge¬«       eddge¬«      «       e9d9 eddgddgd:d;gge¬«       eg d<¢e¬«      «       e9d= eg d8¢g d¢ge¬«       eddge¬«      «       e9d> eddgddgd:d;gge¬«       eg d<¢e¬«      «       e9d? eg d@¢g dA¢ge¬«       ed$d ge¬«      «       e9dB edCdDgdEdFgdGdHgge¬«       eg dI¢e¬«      «       e9dJ eg d@¢g dA¢ge¬«       ed$d ge¬«      «       e9dK edCdDgdEdFgdGdHgge¬«       eg dI¢e¬«      «       e9dL eg d@¢g dA¢ge¬«       ed$d gdMdNgge¬«      «       e9dO edCdDgdEdFgdGdHgge¬«       ed$d gdMdNgdMdNgge¬«      «       e9dPe
jv                  j                  d/dQ«      e
jv                  j                  d/«      «       e9dRe
jv                  j                  d1dS«      e
jv                  j                  d1«      «       e9dTe
jv                  j                  dSd1«      e
jv                  j                  dS«      «       e9dUe
jv                  j                  dd5«      e
jv                  j                  d«      d,h¬-«       e9dVe
jv                  j                  d5d«      e
jv                  j                  d5«      d,h¬-«      g«      z  Z=e= e:dW e9dX eddgddgge¬«      d«       e9dY eddgddgge¬«      d«       e9dZ edd!gd[d1gge¬«      d«       e9d\ edd!gd[d1gge¬«      d«       e9d] e
j|                  d*e¬«      dd,h¬-«       e9d^d1d3gd3d1ggd«       e9d_ eddgddgg«      d«       e9d`e
jv                  j                  d1d1«      d«      g«      z  Z=da„ Z@e= e@«       z  Z=db„ ZAdc„ ZBe= eB«       z  Z= G dd„ de«      ZC G df„ dgeC«      ZD G dh„ dieC«      ZE G dj„ dkeC«      ZF G dl„ dmeC«      ZG G dn„ doeC«      ZH G dp„ dqeC«      ZIdr„ ZJ G ds„ dteDeG«      ZK G du„ dveK«      ZL G dw„ dxeDeG«      ZM G dy„ dzeM«      ZN G d{„ d|eDeG«      ZO G d}„ d~eO«      ZP G d„ d€eDeG«      ZQ G d�„ d‚eQ«      ZR G dƒ„ d„«      ZS G d…„ d†eDeG«      ZT G d‡„ dˆeTeS«      ZU G d‰„ dŠeFeI«      ZV G d‹„ dŒeVeS«      ZW G d�„ dŽeDeG«      ZX G d�„ d�eX«      ZY G d‘„ d’eDeEeGeH«      ZZ G d“„ d”eZ«      Z[ G d•„ d–eFeI«      Z\ G d—„ d˜e\«      Z]d™„ Z^ G dš„ d›eDeG«      Z_ G dœ„ d�e_«      Z` G dž„ dŸeDeE«      Za G d „ d¡ea«      ZbejÆ                  jÉ                  d¢d£D � cg c]  }  e
jÊ                  | «      ‘Œ c} «       G d¤„ d¥«      «       Zf G d¦„ d§eFeI«      Zg G d¨„ d©«      Zh G dª„ d«eFeI«      Zi G d¬„ d­«      Zj G d®„ d¯«      Zk G d°„ d±ek«      Zl G d²„ d³ek«      Zm G d´„ dµemel«      Zn G d¶„ d·«      Zo G d¸„ d¹ek«      Zp G dº„ d»ek«      Zq G d¼„ d½ek«      Zr G d¾„ d¿enep«      Zs G dÀ„ dÁeneq«      Zt G dÂ„ dÃener«      Zu G dÄ„ dÅ«      ZvdÆ„ Zw G dÇ„ dÈ«      Zx G dÉ„ dÊ«      Zy G dË„ dÌ«      ZzdÍ„ Z{ejÆ                  jù                  e&dÎ¬Ï«      dÐ„ «       Z}ejÆ                  jý                  dÑ«      ejÆ                  jù                   ejþ                  «       d1kD  dÒ¬Ï«      ejÆ                  jù                  e'dÓ¬Ï«      dÔ„ «       «       «       Z€ejÆ                  jù                  e&dÕ¬Ï«      ejÆ                  �j                  dÖ„ «       «       Z‚ G d×„ dØ«      Zƒ G dÙ„ dÚ«      Z„ G dÛ„ dÜ«      Z…dÝ„ Z†ejÆ                  �j                  dÞ¬Ï«      dß„ «       ZˆejÆ                  �j                  e% dà¬Ï«      dá„ «       ZŠdâ„ Z‹dã„ ZŒdä„ Z�då„ ZŽdæ„ Z�dç„ Z�dè„ Z‘dé„ Z’dê„ Z“dë„ Z”dì„ Z•y# e2$ r Y �	Œ>w xY wc c} w )îz# Test functions for linalg module

é    N)ÚarrayÚasarrayÚ
atleast_2dÚcdoubleÚcsingleÚdotÚdoubleÚidentityÚinfÚlinalgÚmatmulÚmultiplyÚsingle)Úswapaxes)Ú	AxisError)ÚLinAlgErrorÚmatrix_powerÚmatrix_rankÚ	multi_dotÚnorm)Ú_multi_dot_matrix_chain_order)
ÚHAS_LAPACK64ÚIS_WASMÚNOGIL_BUILDÚassert_Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regex)Úrun_subprocessc                 ó„   — t        | «      t        |t        j                  «      rt        |«      u S t        j                  u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     ú\/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr,   9   s9   € ô �‹9¤j°´b·j±jÔ&Aœ˜c›ð *ð *Ü Ÿj™jð*ð *ó    c                 ó‚   — t        | «      j                  j                  t        t        fv r|}n|}t        | |fd|i|¤Ž y )NÚdecimal)r   Údtyper%   r   r   Úold_assert_almost_equal)ÚaÚbÚsingle_decimalÚdouble_decimalÚkwr/   s         r+   r   r   C   s=   € Üˆqƒz×Ñ×Ñ¤¬Ð 1Ñ1Ø ‰à ˆÜ˜A˜qÑ8¨'Ð8°RÓ8r-   c                 ó\   — t         t         t        t        t        t         t        t        i|    S r$   )r   r	   r   r   ©r0   s    r+   Úget_real_dtyper9   K   s&   € Ü”FœF¤FÜ”VœW¤fð.Ø.3ñ5ð 5r-   c                 ó\   — t         t        t        t        t        t        t        t        i|    S r$   )r   r   r	   r   r8   s    r+   Úget_complex_dtyper;   P   s&   € Ü”GœV¤WÜ”Wœg¤wð0Ø05ñ7ð 7r-   c                 ó"   — | t         t        fv ryy)Ngñhãˆµøä>g•dyáý¥=)r   r   r8   s    r+   Úget_rtolr=   U   s   € à”œÐ!Ñ!Øàr-   >   ÚsquareÚstridedÚ	hermitianÚ	nonsquareÚgeneralizedúsize-0c                   ó,   — e Zd Z e«       fd„Zd„ Zd„ Zy)Ú
LinalgCasec                 ó€   — t        t        |t        «      «       || _        || _        || _        t        |«      | _        y)z¢
        A bundle of arguments to be passed to a test case, with an identifying
        name, the operands a and b, and a set of tags to filter the tests
        N)r   r&   ÚstrÚnamer2   r3   Ú	frozensetÚtags)ÚselfrH   r2   r3   rJ   s        r+   Ú__init__zLinalgCase.__init__e   s3   € ô
 	”
˜4¤Ó%Ô&ØˆŒ	ØˆŒØˆŒÜ˜d“Oˆ�	r-   c                 óV   —  || j                   | j                  | j                  ¬«       y)zN
        Run the function `do` on this test case, expanding arguments
        ©rJ   N)r2   r3   rJ   )rK   Údos     r+   ÚcheckzLinalgCase.checkp   s   € ñ 	ˆ4�6‰6�4—6‘6 §	¡	Ö*r-   c                 ó"   — d| j                   › d�S )Nz<LinalgCase: ú>)rH   ©rK   s    r+   Ú__repr__zLinalgCase.__repr__v   s   € Ø˜tŸy™y˜k¨Ð+Ð+r-   N)Ú__name__Ú
__module__Ú__qualname__ÚsetrL   rP   rT   © r-   r+   rE   rE   d   s   „ Ù(+«ó 	$ò+ó,r-   rE   c                 ó\   — | t         v sJ d«       ‚|D ]  }|j                  | hz  |_        Œ |S )z^
    Add the given tag (a string) to each of the cases (a list of LinalgCase
    objects)
    zInvalid tag)Úall_tagsrJ   )ÚtagÚcasesÚcases      r+   Ú	apply_tagr_   z   s;   € ð
 ”(‰?Ð)˜MÓ)ˆ?Øò &ˆØ—I‘I  Ñ%ˆ�	ð&à€Lr-   éÒ  r>   r   ç      ð?ç       @ç      @ç      @r8   r	   Údouble_2)rb   ra   rd   )rc   rd   ç      @r   ù      ð?       @y       @      @y      @      @y      @      @ù       @      ð?r   Ú	cdouble_2)rh   rg   y      ð?      @)y      ð?       Ày      ð?      Ày      ð?      ÀÚ0x0©r   r   ©r   rC   rN   Ú8x8é   Ú1x1é   Únonarrayé   é   é   rA   Úsingle_nsq_1)ra   rb   rc   Úsingle_nsq_2g      @rf   )rb   ra   rc   Údouble_nsq_1Údouble_nsq_2Úcsingle_nsq_1)ù      ð?      ð?ù       @       @ù      @      À)y      @      Ày      @      "@y      @       @Úcsingle_nsq_2rz   r{   r|   y      @      "Ày      @      Ày      @       @)rh   rg   r|   Úcdouble_nsq_1Úcdouble_nsq_2Úcdouble_nsq_1_2y      ð?      ð¿y       @       ÀÚcdouble_nsq_2_2Ú8x11é   Ú1x5é   Ú5x1Ú0x4Ú4x0r@   ÚhsingleÚhdoubleÚhcsingley       @      ÀÚhcdoubleÚhemptyÚ	hnonarrayÚmatrix_b_onlyÚhmatrix_1x1c                  óô  — g } t         D �]k  }t        |j                  t        j                  «      sŒ)t        j
                  |j                  d|j                  z  d|j                  z  g«      }|j                  €d }nb|j                  j                  dk(  r|j                  }n<t        j
                  |j                  d|j                  z  d|j                  z  g«      }t        |j                  dz   |||j                  dhz  ¬«      }| j                  |«       t        j
                  |j                  gdz  dz  «      j                  d	|j                  j                  z   «      }|j                  €d }nÅ|j                  j                  dk(  r`t        j
                  |j                  gdz  dz  |j                  d
   z  «      j                  d	|j                  j                  dd  z   «      }nLt        j
                  |j                  gdz  dz  «      j                  d	|j                  j                  z   «      }t        |j                  dz   |||j                  dhz  ¬«      }| j                  |«       �Œn | S )Nrr   rs   rp   é   é   Ú_tile3rB   rN   ©rs   rr   éÿÿÿÿéþÿÿÿÚ_tile213)ÚCASESr&   r2   r'   r(   r   r3   ÚndimrE   rH   rJ   ÚappendÚreshapeÚshape)Ú	new_casesr^   r2   r3   Únew_cases        r+   Ú_make_generalized_casesr      sí  € Ø€Iäó #ˆÜ˜$Ÿ&™&¤"§*¡*Ô-Øä�H‰H�d—f‘f˜a $§&¡&™j¨!¨d¯f©f©*Ð5Ó6ˆØ�6‰6ˆ>Ø‰AØ�V‰V�[‰[˜AÒØ—‘‰Aä—‘˜$Ÿ&™& ! d§f¡f¡*¨a°$·&±&©jÐ9Ó:ˆAÜ˜dŸi™i¨(Ñ2°A°qØ#'§9¡9°¨Ñ#>ô@ˆà×Ñ˜Ô"ä�H‰H�d—f‘f�X ‘\ AÑ%Ó&×.Ñ.¨v¸¿¹¿¹Ñ/DÓEˆØ�6‰6ˆ>Ø‰AØ�V‰V�[‰[˜AÒÜ—‘˜$Ÿ&™&˜ A™¨Ñ)¨A¯G©G°B©KÑ7Ó8ß‘7˜6 D§F¡F§L¡L°°Ð$5Ñ5Ó6ñ ô —‘˜$Ÿ&™&˜ A™¨Ñ)Ó*×2Ñ2°6¸D¿F¹F¿L¹LÑ3HÓIˆAÜ˜dŸi™i¨*Ñ4°a¸Ø#'§9¡9°¨Ñ#>ô@ˆà×Ñ˜Ö"ð3#ð6 Ðr-   c           	   #   ó¦  K  — t        | t        j                  «      s| df–— ydg| j                  z  }d|d<   | j                  dkD  rd|d<   | j                  dkD  rd	|d
<   t	        j
                  t        |«      Ž D �]J  }t        | j                  |«      D ��cg c]  \  }}t        ||z  «      ‘Œ }}}t        d„ |D «       «      }t        j                  || j                  ¬«      }|j                  t        j                  «      j                  d«       ||   }| |d<   |j                  | j                  «      }t!        t        j"                  || k(  «      «       |ddj%                  d„ |D «       «      z   f–— | j                  dk\  r]| j                  d   dk(  rKt'        | j(                  «      }d|d<   t        j*                  j,                  j/                  | |¬«      }|df–— | j                  dk\  r]| j                  d   dk(  rKt'        | j(                  «      }d|d<   t        j*                  j,                  j/                  | |¬«      }|df–— | j                  dk\  s�Œç| j                  dd dk(  s�Œût'        | j(                  «      }d|d<   d|d<   t        j*                  j,                  j/                  | |¬«      }|df–— �ŒM yc c}}w ­w)z<
    Generate cartesian product of strides for all axes
    ÚnopN©rp   )rp   rs   éüÿÿÿr–   rp   r—   rr   )rp   r¤   éýÿÿÿc              3   ó6   K  — | ]  }t        d d |«      –— Œ y ­wr$   )Úslice)Ú.0Úrepeats     r+   ú	<genexpr>z$_stride_comb_iter.<locals>.<genexpr>U  s   è ø€ ÒG°V”u˜T 4¨×0ÑGùs   ‚r8   l   ï>[= .Ústride_Ú_c              3   ó$   K  — | ]  }|d ›–— Œ
 y­w)ú+NrY   )r¨   Újs     r+   rª   z$_stride_comb_iter.<locals>.<genexpr>^  s   è ø€ Ò&A°A¨!¨A¨£xÑ&Aùs   ‚r   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©rp   rp   Ústride_xxx_0_0)r&   r'   r(   rš   Ú	itertoolsÚproductÚtupleÚzipr�   ÚabsÚemptyr0   ÚviewÚuint32ÚfillÚ	__class__r   ÚallÚjoinÚlistr°   ÚlibÚstride_tricksÚ
as_strided)	ÚxÚ
stride_setÚrepeatsr2   r3   Ú	new_shapeÚslicesÚxiÚss	            r+   Ú_stride_comb_iterrÌ   C  sc  è ø€ ô
 �aœŸ™Ô$Ø�ˆhŠØà�˜!Ÿ&™&‘€JØ€Jˆr�NØ‡v�v�‚zØ#ˆ
�2‰Ø‡v�v�‚zØ ˆ
�2‰ä×$Ñ$¤e¨JÓ&7Ð8ó 'ˆÜ,/°·±¸Ó,A×B¡D A q”S˜˜Q™•ZÐBˆ	ÑBÜÑG¸wÔGÓGˆô �X‰X�i q§w¡wÔ/ˆØ
�‰”—	‘	Ó×Ñ 
Ô+Ø�‰ZˆØˆˆ3‰Ø�W‰W�Q—[‘[Ó!ˆÜ”—‘�r˜Q‘w“Ô Ø�)˜cŸh™hÑ&A¸Ô&AÓAÑAÐAÒAð �6‰6�QŠ;˜1Ÿ7™7 2™;¨!Ò+Ü�Q—Y‘Y“ˆAØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°¸AÐ0Ó>ˆBØ�nÐ$Ò$Ø�6‰6�QŠ;˜1Ÿ7™7 2™;¨!Ò+Ü�Q—Y‘Y“ˆAØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°¸AÐ0Ó>ˆBØÐ&Ð&Ò&Ø�6‰6�QŒ;˜1Ÿ7™7 3 B˜<¨6Ô1Ü�Q—Y‘Y“ˆAØˆAˆb‰EØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°¸AÐ0Ó>ˆBØÐ&Ð&Ô&ñ;'ùÛBùs    ‚BKÂKÂ1F0KÉ#KÉ7AKc            
      ó  — g } t         D ]€  }t        |j                  «      D ]f  \  }}t        |j                  «      D ]I  \  }}t	        |j
                  dz   |z   dz   |z   |||j                  dhz  ¬«      }| j                  |«       ŒK Œh Œ‚ | S )Nr¬   r?   rN   )r™   rÌ   r2   r3   rE   rH   rJ   r›   )rž   r^   r2   Úa_labelr3   Úb_labelrŸ   s          r+   Ú_make_strided_casesrÐ   s  sœ   € Ø€IÜò +ˆÜ+¨D¯F©FÓ3ò 	+‰JˆAˆwÜ/°·±Ó7ò +‘
��7Ü% d§i¡i°#¡o¸Ñ&?À#Ñ&EÈÑ&OÐQRÐTUØ+/¯9©9¸	°{Ñ+BôD�à× Ñ  Õ*ñ+ñ	+ð+ð Ðr-   c                   ó0   — e Zd ZeZ e«        e«       fd„Zy)ÚLinalgTestCasec                 ó  — | j                   D ]A  }|j                  |z  |k7  rŒ|j                  |z  rŒ&	 |j                  | j                  «       ŒC y# t        $ r.}d|›d�}|t        j                  «       z  }t        |«      |‚d}~ww xY w)zx
        Run func on each of the cases with all of the tags in require, and none
        of the tags in exclude
        zIn test case: z

N)Ú
TEST_CASESrJ   rP   rO   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rK   ÚrequireÚexcluder^   ÚeÚmsgs         r+   Úcheck_caseszLinalgTestCase.check_cases‡  s�   € ð
 —O‘Oò 	1ˆDà�y‰y˜7Ñ" gÒ-ØØ�y‰y˜7Ò"Øð1Ø—
‘
˜4Ÿ7™7Õ#ñ	1øô ò 1Ø& t h¨dÐ3�Ø”y×+Ñ+Ó-Ñ-�Ü$ SÓ)¨qÐ0ûð1ús   ´AÁ	B	Á)BÂB	N)rU   rV   rW   r™   rÔ   rX   rÝ   rY   r-   r+   rÒ   rÒ   „  s   „ Ø€Já"%£%±³ô 1r-   rÒ   c                   ó   — e Zd Zd„ Zd„ Zy)ÚLinalgSquareTestCasec                 ó0   — | j                  dhddh¬«       y )Nr>   rB   rC   ©rÙ   rÚ   ©rÝ   rS   s    r+   Útest_sq_casesz"LinalgSquareTestCase.test_sq_cases�  s!   € Ø×Ñ ( Ø"/°Ð!:ð 	õ 	<r-   c                 ó0   — | j                  ddhdh¬«       y )Nr>   rC   rB   rá   râ   rS   s    r+   Útest_empty_sq_casesz(LinalgSquareTestCase.test_empty_sq_cases¡  s!   € Ø×Ñ (¨HÐ!5Ø"/ ð 	õ 	2r-   N)rU   rV   rW   rã   rå   rY   r-   r+   rß   rß   ›  ó   „ ò<ó2r-   rß   c                   ó   — e Zd Zd„ Zd„ Zy)ÚLinalgNonsquareTestCasec                 ó0   — | j                  dhddh¬«       y )NrA   rB   rC   rá   râ   rS   s    r+   Útest_nonsq_casesz(LinalgNonsquareTestCase.test_nonsq_cases¨  ó!   € Ø×Ñ + Ø"/°Ð!:ð 	õ 	<r-   c                 ó0   — | j                  ddhdh¬«       y )NrA   rC   rB   rá   râ   rS   s    r+   Útest_empty_nonsq_casesz.LinalgNonsquareTestCase.test_empty_nonsq_cases¬  ó!   € Ø×Ñ +¨xÐ!8Ø"/ ð 	õ 	2r-   N)rU   rV   rW   rê   rí   rY   r-   r+   rè   rè   ¦  ræ   r-   rè   c                   ó   — e Zd Zd„ Zd„ Zy)ÚHermitianTestCasec                 ó0   — | j                  dhddh¬«       y )Nr@   rB   rC   rá   râ   rS   s    r+   Útest_herm_casesz!HermitianTestCase.test_herm_cases³  rë   r-   c                 ó0   — | j                  ddhdh¬«       y )Nr@   rC   rB   rá   râ   rS   s    r+   Útest_empty_herm_casesz'HermitianTestCase.test_empty_herm_cases·  rî   r-   N)rU   rV   rW   rò   rô   rY   r-   r+   rð   rð   ±  ræ   r-   rð   c                   ó|   — e Zd Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zy)ÚLinalgGeneralizedSquareTestCasec                 ó0   — | j                  ddhdh¬«       y )NrB   r>   rC   rá   râ   rS   s    r+   Útest_generalized_sq_casesz9LinalgGeneralizedSquareTestCase.test_generalized_sq_cases¾  s!   € à×Ñ -°Ð!:Ø"* ð 	õ 	-r-   c                 ó,   — | j                  h d£¬«       y )N>   r>   rB   rC   ©rÙ   râ   rS   s    r+   Útest_generalized_empty_sq_casesz?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_casesÃ  s   € à×ÑÒ!DÐÕEr-   N)rU   rV   rW   ÚpytestÚmarkÚslowrø   rû   rY   r-   r+   rö   rö   ¼  s>   „ à‡[�[×Ññ-ó ð-ð ‡[�[×ÑñFó ñFr-   rö   c                   ó|   — e Zd Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zy)Ú"LinalgGeneralizedNonsquareTestCasec                 ó0   — | j                  ddhdh¬«       y )NrB   rA   rC   rá   râ   rS   s    r+   Útest_generalized_nonsq_casesz?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_casesÊ  ó!   € à×Ñ -°Ð!=Ø"* ð 	õ 	-r-   c                 ó,   — | j                  h d£¬«       y )N>   rA   rB   rC   rú   râ   rS   s    r+   Ú"test_generalized_empty_nonsq_caseszELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_casesÏ  s   € à×ÑÒ!GÐÕHr-   N)rU   rV   rW   rü   rý   rþ   r  r  rY   r-   r+   r   r   È  s>   „ à‡[�[×Ññ-ó ð-ð ‡[�[×ÑñIó ñIr-   r   c                   ó|   — e Zd Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zy)ÚHermitianGeneralizedTestCasec                 ó0   — | j                  ddhdh¬«       y )NrB   r@   rC   rá   râ   rS   s    r+   Útest_generalized_herm_casesz8HermitianGeneralizedTestCase.test_generalized_herm_casesÖ  r  r-   c                 ó0   — | j                  h d£dh¬«       y )N>   r@   rB   rC   Únonerá   râ   rS   s    r+   Ú!test_generalized_empty_herm_casesz>HermitianGeneralizedTestCase.test_generalized_empty_herm_casesÛ  s   € à×ÑÒ!GØ"( ð 	õ 	+r-   N)rU   rV   rW   rü   rý   rþ   r	  r  rY   r-   r+   r  r  Ô  s<   „ à‡[�[×Ññ-ó ð-ð ‡[�[×Ññ+ó ñ+r-   r  c                 óö   — t        | «      } | j                  dk\  rHt        j                  | j                  | j
                  ¬«      }t        | j                  d   «      |d<   |S t        | j                  d   «      S )Nrs   r8   r—   .r   )r   rš   r'   rº   r�   r0   r
   )r2   Úrs     r+   Úidentity_like_generalizedr  á  s\   € Ü�‹
€AØ‡v�v�‚{Ü�H‰H�Q—W‘W A§G¡GÔ,ˆÜ˜!Ÿ'™' "™+Ó&ˆˆ#‰Øˆä˜Ÿ™ ™
Ó#Ð#r-   c                   ó   — e Zd Zd„ Zy)Ú
SolveCasesc                 óH  — t        j                  ||«      }t        j                  |«      j                  dk(  r=t        ||d   «      d   }t        t        j                  ||j                  «      |«       nt        ||«      }t        ||«       t        t        ||«      «       y )Nrp   ).N©.r   )r   Úsolver'   r   rš   r   r   Úbroadcast_tor�   r   r,   )rK   r2   r3   rJ   rÅ   Úadotxs         r+   rO   zSolveCases.doí  s}   € Ü�L‰L˜˜AÓˆÜ�8‰8�A‹;×Ñ˜qÒ ô ˜1˜a 	™lÓ+¨FÑ3ˆEÜ¤§¡°°5·;±;Ó ?ÀÕGä˜1˜a“LˆEÜ  5Ô)ÜÔ# A qÓ)Õ*r-   N©rU   rV   rW   rO   rY   r-   r+   r  r  ë  s   „ ó
+r-   r  c                   ój   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zd„ Zd„ Zy)Ú	TestSolver0   c                 ó’   — t        j                  ddgddgg|¬«      }t        t        j                  ||«      j
                  |«       y ©Nrp   ç      à?r8   )r'   r   r   r   r  r0   ©rK   r0   rÅ   s      r+   Ú
test_typeszTestSolve.test_typesû  s:   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ”V—\‘\ ! QÓ'×-Ñ-¨uÕ5r-   c                 óv  —  G d„ dt         j                  «      }t        j                  d«      j                  ddd«      }t        j                  d«      j	                  |«      }t        j                  ||«      }|j                  dk(  sJ ‚t        j                  d«      j                  dd«      j	                  |«      }t        j                  ||«      }|j                  dk(  sJ ‚t        j                  d«      j                  dd«      j	                  |«      }t        t        t
        j                  ||«       y )	Nc                   ó   — e Zd Zy)ú)TestSolve.test_1_d.<locals>.ArraySubclassN©rU   rV   rW   rY   r-   r+   ÚArraySubclassr!    ó   „ Ør-   r#  rn   rr   ©rr   rr   rt   )rr   rr   rr   rp   )
r'   r(   Úarangerœ   r»   r   r  r�   r    Ú
ValueError)rK   r#  r2   r3   Úresults        r+   Útest_1_dzTestSolve.test_1_d   sè   € ô	œBŸJ™Jô 	ä�I‰I�a‹L× Ñ   A qÓ)ˆÜ�I‰I�a‹L×Ñ˜mÓ,ˆÜ—‘˜a Ó#ˆØ�|‰|˜vÒ%Ð%Ð%ô �I‰I�a‹L× Ñ   AÓ&×+Ñ+¨MÓ:ˆÜ—‘˜a Ó#ˆØ�|‰|˜yÒ(Ð(Ð(ä�I‰I�a‹L× Ñ   AÓ&×+Ñ+¨MÓ:ˆÜ”j¤&§,¡,°°1Õ5r-   c           
      óª  —  G d„ dt         j                  «      }t        j                  d«      j                  ddd«      }t        j                  d«      j                  ddd«      j	                  |«      }t        j                  ||«      d d …dd…d d …f   }t        j                  |d d …dd…dd…f   |d d …dd…d d …f   «      }t        ||«       t        t        ||«      «       t        t
        j                  t
        j                  |d d …dd…dd…f   |«       t        t        t
        j                  ||d d …dd…d d …f   «       t        j                  d«      j                  ddd«      }t        t        t
        j                  ||«       t        t        t
        j                  |dd |dd «       t        j                  d«      j	                  |«      }t        j                  ||«      d d …dd…f   }t        j                  |d d …dd…dd…f   |dd «      }t        ||«       t        t        ||«      «       t        j                  d«      j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  |dd |dd «       t        t        t
        j                  |d d …dd…dd…f   |«       y )	Nc                   ó   — e Zd Zy)ú,TestSolve.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  r,    r$  r-   r#  rn   rr   r“   rp   rs   r   )r'   r(   r&  rœ   r»   r   r  r   r   r&   r    r   r'  ©rK   r#  r2   r3   Úexpectedr(  s         r+   Útest_0_sizezTestSolve.test_0_size  s?  € ô	œBŸJ™Jô 	ô �I‰I�a‹L× Ñ   A qÓ)ˆÜ�I‰I�a‹L× Ñ   A qÓ)×.Ñ.¨}Ó=ˆä—<‘<  1Ó%¢a¨¨1¨ªa iÑ0ˆÜ—‘˜a¢ 1 Q 3¨¨!¨ ™n¨a²°1°Q°3º°	©lÓ;ˆÜ˜6 8Ô,Ü”
˜6 =Ó1Ô2ô 	”f×(Ñ(¬&¯,©,¸º!¸Q¸q¸SÀ!ÀAÀ#¸+¹ÈÔJÜ”j¤&§,¡,°°1²Q¸¸!¸ºQ°Y±<Ô@ô �I‰I�a‹L× Ñ   A qÓ)ˆÜ”j¤&§,¡,°°1Ô5Ü”j¤&§,¡,°°!°A°¸¸!¸A¸Ô?ô �I‰I�a‹L×Ñ˜mÓ,ˆÜ—<‘<  1Ó%¢a¨¨1¨ fÑ-ˆÜ—‘˜a¢ 1 Q 3¨¨!¨ ™n¨a°°!¨fÓ5ˆÜ˜6 8Ô,Ü”
˜6 =Ó1Ô2ä�I‰I�a‹L× Ñ   AÓ&ˆÜ”j¤&§,¡,°°1Ô5Ü”j¤&§,¡,°°!°A°¸¸!¸A¸Ô?Ü”j¤&§,¡,°²!°Q°q°S¸!¸A¸#°+±ÀÕBr-   c                 ó˜  —  G d„ dt         j                  «      }t        j                  d«      j                  ddd«      }t        j                  d«      j                  ddd«      j	                  |«      }t        j                  ||«      d d …d d …dd…f   }t        j                  ||d d …d d …dd…f   «      }t        ||«       t        t        ||«      «       t        j                  ||«      d d …dd…dd…f   }t        j                  |d d …dd…dd…f   |d d …dd…dd…f   «      }t        ||«       t        t        ||«      «       y )	Nc                   ó   — e Zd Zy)ú.TestSolve.test_0_size_k.<locals>.ArraySubclassNr"  rY   r-   r+   r#  r2  4  r$  r-   r#  rt   rp   rr   r“   rs   r   )
r'   r(   r&  rœ   r»   r   r  r   r   r&   r-  s         r+   Útest_0_size_kzTestSolve.test_0_size_k2  s  € ô	œBŸJ™Jô 	ä�I‰I�a‹L× Ñ   A qÓ)ˆÜ�I‰I�a‹L× Ñ   A qÓ)×.Ñ.¨}Ó=ˆä—<‘<  1Ó%¢aª¨A¨a¨C iÑ0ˆÜ—‘˜a ¢1¢a¨¨1¨ 9¡Ó.ˆÜ˜6 8Ô,Ü”
˜6 =Ó1Ô2ô —<‘<  1Ó%¢a¨¨1¨¨a°¨c kÑ2ˆÜ—‘˜a¢ 1 Q 3¨¨!¨ ™n¨a²°1°Q°3¸¸!¸°©nÓ=ˆÜ˜6 8Ô,Ü”
˜6 =Ó1Õ2r-   N)rU   rV   rW   rü   rý   Úparametrizer   r	   r   r   r  r)  r/  r3  rY   r-   r+   r  r  ú  s@   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ6ó Jð6ò6ò"CóB3r-   r  c                   ó   — e Zd Zd„ Zy)ÚInvCasesc                 ó–   — t        j                  |«      }t        t        ||«      t	        |«      «       t        t        ||«      «       y r$   )r   Úinvr   r   r  r   r,   )rK   r2   r3   rJ   Úa_invs        r+   rO   zInvCases.doG  s8   € Ü—
‘
˜1“ˆÜœF 1 eÓ,Ü5°aÓ8ô	:äÔ# E¨1Ó-Õ.r-   Nr  rY   r-   r+   r6  r6  E  s   „ ó/r-   r6  c                   ó^   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zy)ÚTestInvr0   c                 ó�   — t        j                  ddgddgg|¬«      }t        t        j                  |«      j
                  |«       y r  )r'   r   r   r   r8  r0   r  s      r+   r  zTestInv.test_typesO  s7   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ”V—Z‘Z “]×(Ñ(¨%Õ0r-   c                 óê  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        t        ||«      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        t        ||«      «       y )Nc                   ó   — e Zd Zy)ú*TestInv.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  r?  V  r$  r-   r#  ©r   rp   rp   r8   rk   )r'   r(   ÚzerosÚint_r»   r   r8  r   r0   r%   Úfloat64r   r�   r&   Ú	complex64©rK   r#  r2   Úress       r+   r/  zTestInv.test_0_sizeT  sÞ   € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ�j‰j˜‹mˆÜ�—	‘	—‘¤"§*¡*Ð,Ô-Ü�Q—W‘W˜cŸi™iÔ(Ü”
˜3 Ó.Ô/ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ�j‰j˜‹mˆÜ�—	‘	—‘¤"§,¡,Ð.Ô/Ü�Q—W‘W˜cŸi™iÔ(Ü”
˜3 Ó.Õ/r-   N©rU   rV   rW   rü   rý   r4  r   r	   r   r   r  r/  rY   r-   r+   r;  r;  N  s4   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ1ó Jð1ó0r-   r;  c                   ó   — e Zd Zd„ Zy)ÚEigvalsCasesc                 óv   — t        j                  |«      }t        j                  |«      \  }}t        ||«       y r$   )r   ÚeigvalsÚeigr   )rK   r2   r3   rJ   ÚevÚevaluesÚevectorss          r+   rO   zEigvalsCases.dog  s,   € Ü�^‰^˜AÓˆÜ"ŸJ™J q›MÑˆ�Ü˜B Õ(r-   Nr  rY   r-   r+   rI  rI  e  s   „ ó)r-   rI  c                   ó^   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zy)ÚTestEigvalsr0   c                 ó@  — t        j                  ddgddgg|¬«      }t        t        j                  |«      j
                  t        |«      «       t        j                  ddgddgg|¬«      }t        t        j                  |«      j
                  t        |«      «       y ©Nrp   r  r8   r–   )r'   r   r   r   rK  r0   r;   r  s      r+   r  zTestEigvals.test_typesn  sz   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ”V—^‘^ AÓ&×,Ñ,Ô.?ÀÓ.FÔGÜ�H‰H�q˜#�h  Q Ð(°Ô6ˆÜ”V—^‘^ AÓ&×,Ñ,Ô.?ÀÓ.FÕGr-   c                 óú  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        d|j                  «       t        t        |t         j                  «      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        d|j                  «       t        t        |t         j                  «      «       y )Nc                   ó   — e Zd Zy)ú.TestEigvals.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  rV  w  r$  r-   r#  r@  r8   ©r   rp   rk   rl   )r'   r(   rA  rB  r»   r   rK  r   r0   r%   Ú
complex128r   r�   r&   rD  rE  s       r+   r/  zTestEigvals.test_0_sizeu  sà   € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ�n‰n˜QÓˆÜ�—	‘	—‘¤"§-¡-Ð/Ô0Ü�V˜SŸY™YÔ'ä”
˜3¤§
¡
Ó+Ô,ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ�n‰n˜QÓˆÜ�—	‘	—‘¤"§,¡,Ð.Ô/Ü�T˜3Ÿ9™9Ô%ä”
˜3¤§
¡
Ó+Õ,r-   NrG  rY   r-   r+   rQ  rQ  m  s6   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñHó JðHó-r-   rQ  c                   ó   — e Zd Zd„ Zy)ÚEigCasesc           	      ó@  — t        j                  |«      }|j                  |j                  }}t	        t        ||«      t        j                  |«      t        j                  |«      dd d d …f   z  t        |j                  «      ¬«       t        t        ||«      «       y )N.©Úrtol)r   rL  ÚeigenvaluesÚeigenvectorsr   r   r'   r   r=   r0   r   r,   )rK   r2   r3   rJ   rF  r^  r_  s          r+   rO   zEigCases.doŠ  sx   € Ü�j‰j˜‹mˆØ$'§O¡O°S×5EÑ5E�\ˆÜœ˜q ,Ó/Ü�J‰J�|Ó$¤r§z¡z°+Ó'>¸sÀDÊ!¸|Ñ'LÑLÜ˜+×+Ñ+Ó,õ	.ô 	Ô# L°!Ó4Õ5r-   Nr  rY   r-   r+   rZ  rZ  ˆ  s   „ ó6r-   rZ  c                   ó^   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zy)ÚTestEigr0   c                 óø  — t        j                  ddgddgg|¬«      }t         j                  j                  |«      \  }}t	        |j
                  t        |«      «       t	        |j
                  t        |«      «       t        j                  ddgddgg|¬«      }t         j                  j                  |«      \  }}t	        |j
                  t        |«      «       t	        |j
                  t        |«      «       y rS  )r'   r   r   rL  r   r0   r;   ©rK   r0   rÅ   ÚwÚvs        r+   r  zTestEig.test_types”  s¸   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü�Q—W‘WÔ/°Ó6Ô7Ü�Q—W‘WÔ/°Ó6Ô7ä�H‰H�q˜#�h  Q Ð(°Ô6ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü�Q—W‘WÔ/°Ó6Ô7Ü�Q—W‘WÔ/°Ó6Õ7r-   c                 óB  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      \  }}t        |j                  j                  t         j                  u «       t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        d|j                  «       t        t        |t         j                  «      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      \  }}t        |j                  j                  t         j                  u «       t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        d|j                  «       t        t        |t         j                  «      «       y )Nc                   ó   — e Zd Zy)ú*TestEig.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  rh  ¢  r$  r-   r#  r@  r8   rW  rk   rl   )r'   r(   rA  rB  r»   r   rL  r   r0   r%   rX  r   r�   r&   rD  ©rK   r#  r2   rF  Úres_vs        r+   r/  zTestEig.test_0_size   s@  € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ—Z‘Z “]‰
ˆˆUÜ�—‘× Ñ ¤B§M¡MÐ1Ô2Ü�—	‘	—‘¤"§-¡-Ð/Ô0Ü�Q—W‘W˜eŸk™kÔ*Ü�V˜SŸY™YÔ'ä”
˜1œbŸj™jÓ)Ô*ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ—Z‘Z “]‰
ˆˆUÜ�—‘× Ñ ¤B§L¡LÐ0Ô1Ü�—	‘	—‘¤"§,¡,Ð.Ô/Ü�Q—W‘W˜eŸk™kÔ*Ü�T˜3Ÿ9™9Ô%ä”
˜1œbŸj™jÓ)Õ*r-   NrG  rY   r-   r+   ra  ra  “  s4   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ	8ó Jð	8ó+r-   ra  c                   ó\   — e Zd ZdZej
                  j                  deee	e
g«      d„ «       Zy)ÚSVDBaseTestsFr0   c                 óÈ  — t        j                  ddgddgg|¬«      }t        j                  |«      }|j                  |j
                  |j                  }}}t        |j                  |«       t        |j                  t        |«      «       t        |j                  |«       t        j                  |d| j                  ¬«      }t        |j                  t        |«      «       y )Nrp   r  r8   F©Ú
compute_uvr@   )r'   r   r   ÚsvdÚUÚSÚVhr   r0   r9   r@   )rK   r0   rÅ   rF  rq  rr  rs  rË   s           r+   r  zSVDBaseTests.test_typesº  s�   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ�j‰j˜‹mˆØ—5‘5˜#Ÿ%™% §¡ˆbˆ1ˆÜ�Q—W‘W˜eÔ$Ü�Q—W‘Wœn¨UÓ3Ô4Ü�R—X‘X˜uÔ%Ü�J‰J�q U°d·n±nÔEˆÜ�Q—W‘Wœn¨UÓ3Õ4r-   N)rU   rV   rW   r@   rü   rý   r4  r   r	   r   r   r  rY   r-   r+   rl  rl  ·  s4   „ Ø€Ià‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jñ5r-   rl  c                   ó   — e Zd Zd„ Zy)ÚSVDCasesc                 ój  — t        j                  |d«      \  }}}t        |t        t	        j
                  |«      t	        j
                  |«      dd d d …f   z  t	        j
                  |«      «      t        |j                  «      ¬«       t        t        ||«      «       t        t        ||«      «       y )NF.r\  )
r   rp  r   r   r'   r   r=   r0   r   r,   )rK   r2   r3   rJ   ÚurË   Úvts          r+   rO   zSVDCases.doÈ  s„   € Ü—:‘:˜a Ó'‰ˆˆ1ˆbÜ˜œ6¤"§*¡*¨Q£-´"·*±*¸Q³-ÀÀTÊ1ÀÑ2MÑ"MÜ+-¯:©:°b«>ó;ä% a§g¡gÓ.õ	0ô 	Ô# A qÓ)Ô*ÜÔ# B¨Ó*Õ+r-   Nr  rY   r-   r+   ru  ru  Æ  s   „ ó,r-   ru  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestSVDc                 ó  — t        j                  d«      }t        j                  |d| j                  ¬«      \  }}}t        |j                  d«       t        |j                  d«       t        |t        j                  d«      «       t        j                  d«      }t        j                  |d| j                  ¬«      \  }}}t        |j                  d«       t        |j                  d«       t        |t        j                  d«      «       y)	z6 Empty input should put an identity matrix in u or vh )rt   r   Trn  ©rt   rt   rk   rt   )r   rt   N)r'   rº   r   rp  r@   r   r�   Úeye)rK   rÅ   rw  rË   Úvhs        r+   Útest_empty_identityzTestSVD.test_empty_identityÒ  s²   € ä�H‰H�VÓˆÜ—:‘:˜a¨D¸D¿N¹NÔK‰ˆˆ1ˆbÜ�Q—W‘W˜fÔ%Ü�R—X‘X˜vÔ&Ü�QœŸ™˜q›	Ô"ä�H‰H�VÓˆÜ—:‘:˜a¨D¸D¿N¹NÔK‰ˆˆ1ˆbÜ�Q—W‘W˜fÔ%Ü�R—X‘X˜vÔ&Ü�RœŸ™ ›Õ#r-   c                 óÀ   — t        j                  ddgddgg«      }t        j                  |d| j                  ¬«      }t        j
                  |«      }t        ||«       y )Nrp   r  Frn  )r'   r   r   rp  r@   Úsvdvalsr   )rK   rÅ   Ú
s_from_svdÚs_from_svdvalss       r+   Útest_svdvalszTestSVD.test_svdvalsà  sK   € Ü�H‰H�q˜#�h  a Ð)Ó*ˆÜ—Z‘Z ¨e¸t¿~¹~ÔNˆ
ÜŸ™¨Ó*ˆÜ˜J¨Õ7r-   N)rU   rV   rW   r  r„  rY   r-   r+   rz  rz  Ñ  s   „ ò$ó8r-   rz  c                   ó   — e Zd Zd„ Zy)ÚSVDHermitianCasesc                 óZ  — t        j                  |dd¬«      \  }}}t        |t        t	        j
                  |«      t	        j
                  |«      dd d d …f   z  t	        j
                  |«      «      t        |j                  «      ¬«       d„ }t	        j                  t	        j                  |j                  d   «      |j                  «      }t        t	        j                  | ||«      «      |«       t	        j                  t	        j                  |j                  d   «      |j                  «      }t        t	        j                  | ||«      «      |«       t        t	        j                  |«      dd d d…f   |«       t        t        ||«      «       t        t        ||«      «       y )NFT©r@   .r\  c                 ó´   — t        t        | j                  «      «      }|d   |d   c|d<   |d<   t        j                  t        j
                  | |¬«      «      S )Nr—   r–   ©Úaxes)rÁ   Úrangerš   r'   ÚconjÚ	transpose)Úmatr‹  s     r+   r@   z'SVDHermitianCases.do.<locals>.hermitianï  sJ   € Üœ˜cŸh™h›Ó(ˆDØ!% b¡¨4°©8ÐˆD�‰H�d˜2‘hÜ—7‘7œ2Ÿ<™<¨°$Ô7Ó8Ð8r-   r–   )r   rp  r   r   r'   r   r=   r0   r  r}  r�   r   r   Úsortr   r,   )	rK   r2   r3   rJ   rw  rË   rx  r@   r.  s	            r+   rO   zSVDHermitianCases.doé  s&  € Ü—:‘:˜a °$Ô7‰ˆˆ1ˆbÜ˜œ6¤"§*¡*¨Q£-´"·*±*¸Q³-ÀÀTÊ1ÀÑ2MÑ"MÜ+-¯:©:°b«>ó;ä% a§g¡gÓ.õ	0ò	9ô
 —?‘?¤2§6¡6¨!¯'©'°"©+Ó#6¸¿¹Ó@ˆÜœBŸI™I a©°1«Ó6¸ÔAÜ—?‘?¤2§6¡6¨"¯(©(°2©,Ó#7¸¿¹ÓBˆÜœBŸI™I b©)°B«-Ó8¸(ÔCÜ”R—W‘W˜Q“Z ¡T r T 	Ñ*¨AÔ.ÜÔ# A qÓ)Ô*ÜÔ# B¨Ó*Õ+r-   Nr  rY   r-   r+   r†  r†  ç  s   „ ó,r-   r†  c                   ó   — e Zd ZdZd„ Zy)ÚTestSVDHermitianTc                 ót  — t        j                  ddgddgg«      }t        j                  || j                  ¬«      \  }}}t        ||j                  j                  «       z  t        j                  d«      d¬«       t        ||j                  j                  «       z  t        j                  d«      d¬«       y )Nrp   r   rˆ  rr   g›+¡†›„=r\  )	r'   r   r   rp  r@   r   ÚTr�  r}  )rK   rÅ   rw  r¬   r~  s        r+   Útest_singularzTestSVDHermitian.test_singular   s|   € Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ—:‘:˜a¨4¯>©>Ô:‰ˆˆ1ˆbÜ˜˜AŸC™CŸH™H›J™¬¯©¨q«	¸Õ>Ü˜˜RŸT™TŸY™Y›[Ñ(¬"¯&©&°«)¸%Ö@r-   N)rU   rV   rW   r@   r•  rY   r-   r+   r’  r’  ý  s   „ Ø€IóAr-   r’  c                   ó   — e Zd Zd„ Zy)Ú	CondCasesc           	      óÈ  — t        |«      }d|v r t        t        t        j                  |«       y t        j
                  |d¬«      }t        t        j                  |«      |d   |d   z  dd¬«       t        t        j                  |d	«      |d   |d   z  dd¬«       t        t        j                  |d
«      |d   |d   z  dd¬«       t        j                  j                  |«      }t        t        j                  |d«      t        |«      j                  d
«      j                  d«      t        |«      j                  d
«      j                  d«      z  dd¬«       t        t        j                  |d«      t        |«      j                  d
«      j                  d«      t        |«      j                  d
«      j                  d«      z  dd¬«       t        t        j                  |t        j                  «      t        |«      j                  d«      j                  d«      t        |«      j                  d«      j                  d«      z  dd¬«       t        t        j                  |t        j                   «      t        |«      j                  d«      j                  d«      t        |«      j                  d«      j                  d«      z  dd¬«       t        t        j                  |d«      t        j                  t        |«      d	z  j                  d«      j                  d«      t        |«      d	z  j                  d«      j                  d«      z  «      dd¬«       y )NrC   F)ro  r  ).r–   r…   rƒ   ©r4   r5   rr   r—   rp   r–   Úfro)r   r    r   r   Úcondrp  r   r'   r8  r¹   ÚsumÚmaxÚminr   Úsqrt)rK   r2   r3   rJ   ÚcrË   Úcinvs          r+   rO   zCondCases.do
  s�  € Ü�A‹JˆØ�tÑÜœ+¤v§{¡{°AÔ6Øô �J‰J�q UÔ+ˆÜÜ�K‰K˜‹N˜A˜f™I¨¨'©
Ñ2Ø¨Rõ	1ô 	Ü�K‰K˜˜1Ó˜q ™y¨1¨W©:Ñ5Ø¨Rõ	1ô 	Ü�K‰K˜˜2Ó  '¡
¨Q¨v©YÑ 6Ø¨Rõ	1ô
 �y‰y�}‰}˜QÓˆÜÜ�K‰K˜˜1ÓÜ�‹F�J‰J�r‹N×Ñ˜rÓ"¤S¨£Y§]¡]°2Ó%6×%:Ñ%:¸2Ó%>Ñ>Ø¨Rõ	1ô 	Ü�K‰K˜˜2ÓÜ�‹F�J‰J�r‹N×Ñ˜rÓ"¤S¨£Y§]¡]°2Ó%6×%:Ñ%:¸2Ó%>Ñ>Ø¨Rõ	1ô 	Ü�K‰K˜œ2Ÿ6™6Ó"Ü�‹F�J‰J�r‹N×Ñ˜rÓ"¤S¨£Y§]¡]°2Ó%6×%:Ñ%:¸2Ó%>Ñ>Ø¨Rõ	1ô 	Ü�K‰K˜œBŸF™F˜7Ó#Ü�‹F�J‰J�r‹N×Ñ˜rÓ"¤S¨£Y§]¡]°2Ó%6×%:Ñ%:¸2Ó%>Ñ>Ø¨Rõ	1ô 	Ü�K‰K˜˜5Ó!Ü�G‰G”S˜“V˜Q‘Y—O‘O BÓ'×+Ñ+¨BÓ/Ü˜4“y !‘|×(Ñ(¨Ó,×0Ñ0°Ó4ñ5ó 6à¨Rö		1r-   Nr  rY   r-   r+   r—  r—    s   „ ó(1r-   r—  c                   ój  — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  deee	e
g«      ej                  j                  dddd	d
dej                  ej                   g«      d„ «       «       Zd„ Zej                  j                  ddd¬«      d„ «       Zd„ Zy)ÚTestCondÚ
is_complexFTc                 ó²  — t        g d¢g d¢g d¢g«      }|r|dz  }t        t        j                  |t        «      d«       t        t        j                  |t         «      d«       t        t        j                  |d«      d«       t        t        j                  |d«      d	«       t        t        j                  |d
«      t        j                  d«      «       y )N©ra   r   rp   ©r   g       Àr   ©r   r   rc   rz   rt   gUUUUUUå?rp   r–   r  rš  gUUUUU6@)r   r   r   r›  r   r'   rŸ  )rK   r¤  ÚAs      r+   Útest_basic_nonsvdzTestCond.test_basic_nonsvd6  s•   € ô ’:š{ªJÐ7Ó8ˆÙà�V‘ˆAÜœFŸK™K¨¬3Ó/°Ô3ÜœFŸK™K¨¬C¨4Ó0°%Ô8ÜœFŸK™K¨¨1Ó-¨qÔ1ÜœFŸK™K¨¨2Ó.°Ô4ÜœFŸK™K¨¨5Ó1´2·7±7¸8Ó3DÕEr-   r0   Únorm_ordrp   r–   rr   r—   rš  c                 óœ   — t        g d¢g d¢g d¢g|¬«      }t        |«      }t        t        j                  ||¬«      j
                  |«       y )Nr¦  r§  r¨  r8   )Úp)r   r9   r   r   r›  r0   )rK   r0   r«  r©  Úout_types        r+   Útest_cond_dtypeszTestCond.test_cond_dtypesC  s<   € ô
 ’:š{ªJÐ7¸uÔEˆÜ! %Ó(ˆÜ”V—[‘[  hÔ/×5Ñ5°xÕ@r-   c                 óP  — t        j                  d«      t        j                  d«      g}g d¢}ddg}t        j                  ||«      D ]'  \  }}t        t        j                  ||«      dkD  «       Œ) t        j                  ||«      D ]  \  }}t        j                  ||«       Œ y )Nr%  ©Nrp   rr   rš  r–   r—   ç  4&õkC)r'   rA  Úonesrµ   r¶   r   r   r›  )rK   ÚAsÚp_posÚp_negr©  r­  s         r+   r•  zTestCond.test_singularL  s—   € ô �h‰h�vÓ¤§¡¨£Ð0ˆÚ#ˆØ�R�ˆÜ×%Ñ% b¨%Ó0ò 	.‰DˆAˆqô ”F—K‘K  1Ó%¨Ñ,Õ-ð	.ô ×%Ñ% b¨%Ó0ò 	‰DˆAˆqÜ�K‰K˜˜1Õñ	r-   z/Platform/LAPACK-dependent failure, see gh-18914)ÚrunÚreasonc                 óÂ  — g d¢}g d¢}t        j                  d«      }t         j                  |d<   |D ]Y  }t        j                  ||«      }t        t        |t         j                  «      «       t        t        j                  |«      «       Œ[ t        j                  d«      }t         j                  |d<   |D ]¤  }t        j                  ||«      }t        t        j                  |d   «      «       ||v r#t        |d   d	kD  «       t        |d
   d	kD  «       Œat        t        j                  |d   «       «       t        t        j                  |d
   «       «       Œ¦ y )N)Nrp   r–   rr   r—   rš  r±  r%  rW  )rs   rr   rr   ©rp   r   rp   rp   r   r²  rr   )	r'   r³  Únanr   r›  r   r&   rC  Úisnan)rK   Úpsrµ  r©  r­  r   s         r+   Útest_nanzTestCond.test_nanZ  s  € ò
 )ˆÚ#ˆä�G‰G�F‹OˆÜ—&‘&ˆˆ$‰Øò 	!ˆAÜ—‘˜A˜qÓ!ˆAÜ”J˜q¤"§*¡*Ó-Ô.Ü”B—H‘H˜Q“KÕ ð	!ô
 �G‰G�IÓˆÜ—V‘Vˆˆ'‰
Øò 	,ˆAÜ—‘˜A˜qÓ!ˆAÜ”B—H‘H˜Q˜q™T“NÔ#Ø�E‰zÜ˜˜!™˜t™Ô$Ü˜˜!™˜t™Õ$äœBŸH™H Q q¡T›NÐ*Ô+ÜœBŸH™H Q q¡T›NÐ*Õ+ñ	,r-   c                 óÌ  — t         j                  j                  d«       t         j                  j                  dddd«      }d|d<   d|d<   dD ]”  }t	        j
                  ||«      }t        |d   t         j                  «       t        |d   t         j                  «       t        t        j                  |d   «      «       t        t        j                  |d   «      «       Œ– y )	Nr`   rr   r   rk   r³   )Nrp   rr   rš  r–   r—   rW  ©rp   r   )
r'   ÚrandomÚseedÚrandr   r›  r   r   r   Úisfinite)rK   r©  r­  r   s       r+   Útest_stacked_singularzTestCond.test_stacked_singularu  s«   € ô 	�	‰	�‰�tÔÜ�I‰I�N‰N˜1˜a  AÓ&ˆØˆˆ$‰Øˆˆ$‰à,ò 	*ˆAÜ—‘˜A˜qÓ!ˆAÜ˜˜4™¤"§&¡&Ô)Ü˜˜4™¤"§&¡&Ô)Ü”B—K‘K  $¡Ó(Ô)Ü”B—K‘K  $¡Ó(Õ)ñ	*r-   N)rU   rV   rW   rü   rý   r4  rª  r   r	   r   r   r'   r   r¯  r•  Úxfailr¾  rÅ  rY   r-   r+   r£  r£  5  sÊ   „ Ø‡[�[×Ñ˜\¨E°4¨=Ó9ñ
Fó :ð
Fð ‡[�[×Ñ˜W v¨v°wÀÐ&HÓIØ‡[�[×Ñ˜Z¨!¨R°°B¸¸r¿v¹vÈÏÉÀwÐ)OÓPñAó Qó JðAòð ‡[�[×Ñ�t ð-ð ó .ñ,ó.ð,ó0*r-   r£  c                   ó   — e Zd Zd„ Zy)Ú	PinvCasesc                 ó¢   — t        j                  |«      }t        } | |||«      |«      }t        ||dd¬«       t	        t        ||«      «       y )Nr…   rƒ   r™  ©r   Úpinvr   r   r   r,   ©rK   r2   r3   rJ   Úa_ginvr   r(  s          r+   rO   zPinvCases.doŠ  sD   € Ü—‘˜Q“ˆäˆÙ‘S˜˜F“^ QÓ'ˆÜ˜F A°aÈÕKÜÔ# F¨AÓ.Õ/r-   Nr  rY   r-   r+   rÈ  rÈ  …  s   „ ó
0r-   rÈ  c                   ó   — e Zd Zy)ÚTestPinvNr"  rY   r-   r+   rÏ  rÏ  “  ó   „ Ør-   rÏ  c                   ó   — e Zd Zd„ Zy)ÚPinvHermitianCasesc                 ó¦   — t        j                  |d¬«      }t        } | |||«      |«      }t        ||dd¬«       t	        t        ||«      «       y )NTrˆ  r…   rƒ   r™  rÊ  rÌ  s          r+   rO   zPinvHermitianCases.do™  sG   € Ü—‘˜Q¨$Ô/ˆäˆÙ‘S˜˜F“^ QÓ'ˆÜ˜F A°aÈÕKÜÔ# F¨AÓ.Õ/r-   Nr  rY   r-   r+   rÒ  rÒ  —  s   „ ó0r-   rÒ  c                   ó   — e Zd Zy)ÚTestPinvHermitianNr"  rY   r-   r+   rÕ  rÕ  ¢  rÐ  r-   rÕ  c                  óx  — t        j                  g d¢g d¢g d¢g«      } t        t         j                  j	                  | d¬«      t         j                  j	                  | d¬«      «       t        j                  t        d¬«      5  t         j                  j	                  | dd¬	«       d d d «       y # 1 sw Y   y xY w)
N©rp   rr   rs   )rt   rp   rp   )rr   rs   rp   r  ©Úrcondr\  z%`rtol` and `rcond` can't be both set.)Úmatch)rÙ  r]  )r'   r   r   r   rË  rü   Úraisesr'  )r2   s    r+   Útest_pinv_rtol_argrÜ  ¦  sˆ   € Ü
�‰’)šYª	Ð2Ó3€AäÜ
�	‰	�‰�q ˆÓ$Ü
�	‰	�‰�q˜sˆÓ#ôô
 
�‰ÜÐBô
ñ /ô 	�	‰	�‰�q ¨#ˆÔ.÷/÷ /ñ /ús   Â#B0Â0B9c                   ó   — e Zd Zd„ Zy)ÚDetCasesc                 óþ  — t        j                  |«      }t        j                  |«      }|j                  |j                  }}t        |«      j                  j                  t        t        fv rt        |«      j                  t        «      }nt        |«      j                  t        «      }t        j                  |«      }	t        |t        j                  |	d¬«      «       t        |t!        j"                  |«      z  t        j                  |	d¬«      «       t!        j$                  |«      }t!        j$                  |«      }|dk7  }
t        t!        j&                  ||
   «      d«       t)        ||
    t*         «       y )Nr–   ©Úaxisr   rp   )r   ÚdetÚslogdetÚsignÚ	logabsdetr   r0   r%   r   r	   Úastyper   rK  r   r   Úreducer'   ÚexpÚ
atleast_1dr¹   r   r   )rK   r2   r3   rJ   ÚdrF  rË   ÚldÚadrM  Úms              r+   rO   zDetCases.do¶  s  € Ü�J‰J�q‹MˆÜ�n‰n˜QÓˆØ—‘˜#Ÿ-™-ˆ2ˆÜ�1‹:×Ñ× Ñ ¤V¬VÐ$4Ñ4Ü˜“×"Ñ"¤6Ó*‰Bä˜“×"Ñ"¤7Ó+ˆBÜ�^‰^˜BÓˆÜ˜AœxŸ™¨r¸Ô;Ô<Ü˜A¤§¡ r£
™N¬H¯O©O¸BÀRÔ,HÔIä�M‰M˜!ÓˆÜ�]‰]˜2ÓˆØ�!‰VˆÜœBŸF™F 1 Q¡4›L¨!Ô,Ü�R˜˜‘Vœc˜TÕ"r-   Nr  rY   r-   r+   rÞ  rÞ  ´  s   „ ó#r-   rÞ  c                   ód   — e Zd Zd„ Zej
                  j                  deee	e
g«      d„ «       Zd„ Zy)ÚTestDetc                 óh  — t        t        j                  dgg«      d«       t        t        t        j                  dgg«      «      t        «       t        t        j                  dgg«      d«       t        t        t        j                  dgg«      «      t
        «       t        t        j                  dgg«      dt         f«       t        t        t        j                  dgg«      d   «      t        «       t        t        t        j                  dgg«      d   «      t        «       t        t        j                  dgg«      dt         f«       t        t        t        j                  dgg«      d   «      t
        «       t        t        t        j                  dgg«      d   «      t        «       y )Nç        y                r   rp   )r   r   râ  r%   r	   r   rã  r   rS   s    r+   Ú	test_zerozTestDet.test_zeroÊ  s&  € Ü”V—Z‘Z #  Ó(¨#Ô.Ü”Tœ&Ÿ*™* s e WÓ-Ó.´Ô7Ü”V—Z‘Z $  Ó)¨3Ô/Ü”Tœ&Ÿ*™* t f XÓ.Ó/´Ô9ä”V—^‘^ c U GÓ,¨s´S°D¨kÔ:Ü”Tœ&Ÿ.™.¨3¨%¨Ó1°!Ñ4Ó5´vÔ>Ü”Tœ&Ÿ.™.¨3¨%¨Ó1°!Ñ4Ó5´vÔ>Ü”V—^‘^ d V HÓ-°´s°d¨|Ô<Ü”Tœ&Ÿ.™.¨4¨&¨Ó2°1Ñ5Ó6¼Ô@Ü”Tœ&Ÿ.™.¨4¨&¨Ó2°1Ñ5Ó6¼Õ?r-   r0   c                 óR  — t        j                  ddgddgg|¬«      }t        t         j                  j	                  |«      j
                  |«       t         j                  j                  |«      \  }}t        |j
                  t        |«      «       t        |j
                  |«       y r  )r'   r   r   r   râ  r0   rã  r9   )rK   r0   rÅ   ÚphrË   s        r+   r  zTestDet.test_types×  su   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ”R—Y‘Y—]‘] 1Ó%×+Ñ+¨UÔ3Ü—	‘	×!Ñ! !Ó$‰ˆˆAÜ�Q—W‘Wœn¨UÓ3Ô4Ü�R—X‘X˜uÕ%r-   c                 óì  — t        j                  dt         j                  ¬«      }t        j                  |«      }t        |d«       t        |j                  j                  t         j                  u «       t        j                  |«      }t        |d«       t        |d   j                  j                  t         j                  u «       t        |d   j                  j                  t         j                  u «       t        j                  dt         j                  ¬«      }t        j                  |«      }t        |d«       t        |j                  j                  t         j                  u «       t        j                  |«      }t        |d«       t        |d   j                  j                  t         j                  u «       t        |d   j                  j                  t         j                  u «       y )Nrk   r8   ra   rÀ  r   rp   )r'   rA  rD  r   râ  r   r   r0   r%   rã  Úfloat32rC  )rK   r2   rF  s      r+   r/  zTestDet.test_0_sizeß  s6  € Ü�H‰H�V¤2§<¡<Ô0ˆÜ�j‰j˜‹mˆÜ�S˜"ÔÜ�—	‘	—‘¤"§,¡,Ð.Ô/Ü�n‰n˜QÓˆÜ�S˜&Ô!Ü��A‘—‘×!Ñ!¤R§\¡\Ð1Ô2Ü��A‘—‘×!Ñ!¤R§Z¡ZÐ/Ô0ä�H‰H�V¤2§:¡:Ô.ˆÜ�j‰j˜‹mˆÜ�S˜"ÔÜ�—	‘	—‘¤"§*¡*Ð,Ô-Ü�n‰n˜QÓˆÜ�S˜&Ô!Ü��A‘—‘×!Ñ!¤R§Z¡ZÐ/Ô0Ü��A‘—‘×!Ñ!¤R§Z¡ZÐ/Õ0r-   N)rU   rV   rW   rò  rü   rý   r4  r   r	   r   r   r  r/  rY   r-   r+   rï  rï  É  s<   „ ò@ð ‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ&ó Jð&ó1r-   rï  c                   ó   — e Zd Zd„ Zy)Ú
LstsqCasesc                 óD  — t        j                  |«      }|j                  \  }}t        j                  |d«      \  }}}	t        j
                  ||d¬«      \  }
}}}|dk(  rt        |
dk(  j                  «       «       ||k  r#t        |t        ||
«      «       t        ||«       nt        ||«       t        ||j                  |«      «       ||k(  r¶||kD  r±t        j                  t        t        j                  ||
«      |z
  «      «      dz  j                  d¬«      }t        j                  |«      }t        j                  |«      j                  dk(  r|j                  d«      }t        |j                  |j                  «       n-t        j                   g «      j#                  t%        |
«      «      }t        ||«       t        t        j&                  |j(                  t         j*                  «      «       t        t-        |
|«      «       t        t-        ||«      «       y )	NFr–   rØ  r   rr   rà  rp   r£   )r'   r   r�   r   rp  Úlstsqr   r¿   r   r   r   Ú__array_wrap__r¹   rœ  rš   rœ   r   r»   r%   Ú
issubdtyper0   Úfloatingr,   )rK   r2   r3   rJ   Úarrrí  Únrw  rË   rx  rÅ   Ú	residualsÚrankÚsvÚexpect_residss                  r+   rO   zLstsqCases.doõ  s�  € Ü�j‰j˜‹mˆØ�y‰y‰ˆˆ1Ü—:‘:˜a Ó'‰ˆˆ1ˆbÜ!'§¡¨a°¸"Ô!=Ñˆˆ9�d˜BØ�Š6Ü�Q˜!‘V—L‘L“NÔ#Ø�Š6Ü ¤3 q¨!£9Ô-Ü˜˜qÕ!ä˜˜qÔ!Ü˜B × 1Ñ 1°!Ó 4Ô5Ø�1Š9˜˜Qšä—
‘
œ3œrŸv™v a¨›|¨aÑ/Ó0Ó1°QÑ6¿¹À¸»ð äŸJ™J }Ó5ˆMÜ�z‰z˜!‹}×!Ñ! QÒ&Ø -× 5Ñ 5°dÓ ;�Ü˜Ÿ™¨-×*=Ñ*=Õ>äŸH™H R›L×-Ñ-¬d°1«gÓ6ˆMÜ˜I }Ô5Ü”—‘˜iŸo™o¬r¯{©{Ó;Ô<ÜÔ# A qÓ)Ô*ÜÔ# I¨qÓ1Õ2r-   Nr  rY   r-   r+   rø  rø  ó  s   „ ó3r-   rø  c                   ód   — e Zd Zd„ Zej
                  j                  g d¢g d¢«      d„ «       Zd„ Zy)Ú	TestLstsqc                 ó†  — t        j                  g d¢g d¢g d¢g d¢g«      j                  }t        j                  g d¢«      }t        j                  ||d¬«      \  }}}}t        |dk(  «       t        j                  ||«      \  }}}}t        |d	k(  «       t        j                  ||d ¬«      \  }}}}t        |d	k(  «       y )
N)rñ  ra   rñ  ra   rb   rñ  )rñ  rb   rñ  rñ  ra   rñ  )ra   rñ  ra   rñ  rñ  rd   )rñ  rñ  rñ  rb   rc   rñ  )rp   r   r   r   r   r   r–   rØ  rt   rs   )r'   r   r”  r   rú  r   )rK   r2   r3   rÅ   r   r  rË   s          r+   Ú
test_rcondzTestLstsq.test_rcond  s¯   € Ü�H‰HÒ2Ú2Ú2Ú2ð4ó 5÷ 67±Qð 	
ô
 �H‰HÒ'Ó(ˆä &§¡¨Q°¸Ô <Ñˆˆ9�d˜AÜ�˜‘	ÔÜ &§¡¨Q°Ó 2Ñˆˆ9�d˜AÜ�˜‘	ÔÜ &§¡¨Q°¸Ô >Ñˆˆ9�d˜AÜ�˜‘	Õr-   )rí  rÿ  Ún_rhs))rt   rr   rr   )r   rt   rp   )r   rt   rr   )rt   r   rp   )rt   r   rr   )rt   rr   r   ©r   r   r   c                 ó\  — t        j                  ||z  «      j                  ||«      }t        j                  ||f«      }t	        j
                  ||d ¬«      \  }}}}	|dk(  rt        |dk(  j                  «       «       t        |j                  ||f«       t        |j                  ||kD  r|fnd«       ||kD  r=|dkD  r8|t        j                  ||«      z
  }
t        ||
|
z  j                  d¬«      «       t        |t        ||«      «       t        |	j                  t        ||«      f«       y )NrØ  r   rl   r—   rà  )r'   r&  rœ   r³  r   rú  r   r¿   r   r�   r   r   rœ  rž  )rK   rí  rÿ  r  r2   r3   rÅ   r   r  rË   r  s              r+   Útest_empty_a_bzTestLstsq.test_empty_a_b!  só   € ô �I‰I�a˜!‘eÓ×$Ñ$ Q¨Ó*ˆÜ�G‰G�Q˜�JÓˆÜ &§¡¨Q°¸Ô >Ñˆˆ9�d˜AØ�Š6Ü�Q˜!‘V—L‘L“NÔ#Ü�Q—W‘W˜q %˜jÔ)Ü�Y—_‘_°1°q²5¨¡x¸dÔDØˆqŠ5�U˜Q’Yà”B—F‘F˜1˜a“LÑ ˆAÜ 	¨A°©E¯;©;¸B¨;Ó+?Ô@Ü�Tœ3˜q !›9Ô%Ü�Q—W‘Wœs 1 a›y˜lÕ+r-   c                 óT  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  |t        j                  t	        |«      «      g«      j
                  }t        t        d«      5  t        j                  ||d ¬«       d d d «       y # 1 sw Y   y xY w)N)r   rp   rr   rs   )r–   gš™™™™™É?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ @gffffff
@zIncompatible dimensionsrØ  )
r'   r   Úvstackr³  Úlenr”  r!   r   r   rú  )rK   rÅ   Úyr©  s       r+   Útest_incompatible_dimsz TestLstsq.test_incompatible_dims9  st   € ä�H‰H’\Ó"ˆÜ�H‰HÒ-Ó.ˆÜ�I‰I�qœ"Ÿ'™'¤# a£&›/Ð*Ó+×-Ñ-ˆÜ ¤Ð.GÓHñ 	+Ü�L‰L˜˜A TÕ*÷	+÷ 	+ñ 	+ús   Á<BÂB'N)	rU   rV   rW   r  rü   rý   r4  r  r  rY   r-   r+   r  r    s7   „ òð ‡[�[×ÑÒ0ò 3ó ñ,óð,ó+r-   r  Údtz?bBhHiIqQefdgFDGOc                   óŽ  — e Zd Z ej                  d«      Zeg d¢   Zeg d¢   Zeg d¢   ZeeeegZ	 e
ddgddgg«      Z ej                  egggdz  «      Ze ej                  d«       ej                  d	«       ej                  d
«      gZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej2                  j5                  ed¬«      d„ «       Zy)ÚTestMatrixPowerrt   )rs   r   rp   rr   )rr   rs   r   rp   )rp   rr   rs   r   rp   r   rr   rÛ   ÚgÚGc                 óš  — | j                   j                  |«      }t        t        |ddz  dz   dz   dz   «      | j                  «       t        t        |ddz  dz   dz   dz   «      | j                   «       t        t        |ddz  dz   dz   dz   «      | j
                  «       t        t        |ddz  dz   dz   dz   «      | j                  «       y )Nrr   éd   i   é    r   rp   rs   )Úrshft_1ræ  r   r   Úrshft_0Úrshft_2Úrshft_3)rK   r  Úrshfts      r+   Útest_large_powerz TestMatrixPower.test_large_powerO  sÂ   € Ø—‘×#Ñ# BÓ'ˆÜÜ˜  3¡¨¡°Ñ 5¸Ñ 9Ó:¸D¿L¹Lô	JäÜ˜  3¡¨¡°Ñ 5¸Ñ 9Ó:¸D¿L¹Lô	JäÜ˜  3¡¨¡°Ñ 5¸Ñ 9Ó:¸D¿L¹Lô	JäÜ˜  3¡¨¡°Ñ 5¸Ñ 9Ó:¸D¿L¹Lõ	Jr-   c                 óü   — d„ }| j                   D ]j  } ||j                  |«      «       t        j                  |«      j                  t        j
                  usŒJ || j                  j                  |«      «       Œl y )Nc                 ó†   — t        | d«      }t        |t        | «      «       t        |j                  | j                  «       y )Nr   )r   r   r  r0   )ÚMÚmzs     r+   Útzz.TestMatrixPower.test_power_is_zero.<locals>.tz[  s0   € Ü˜a Ó#ˆBÜ˜Ô6°qÓ9Ô:Ü˜Ÿ™ 1§7¡7Õ+r-   ©Ú	rshft_allræ  r'   r0   r%   Úobject_Ústacked©rK   r  r#  r�  s       r+   Útest_power_is_zeroz"TestMatrixPower.test_power_is_zeroZ  s]   € ò	,ð
 —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔÜ�x‰x˜‹|× Ñ ¬¯
©
Ò2Ù�4—<‘<×&Ñ& rÓ*Õ+ñ	,r-   c                 óü   — d„ }| j                   D ]j  } ||j                  |«      «       t        j                  |«      j                  t        j
                  usŒJ || j                  j                  |«      «       Œl y )Nc                 ót   — t        | d«      }t        || «       t        |j                  | j                  «       y )Nrp   )r   r   r0   )r�  r"  s     r+   r#  z-TestMatrixPower.test_power_is_one.<locals>.tzf  s*   € Ü˜c 1Ó%ˆBÜ˜˜SÔ!Ü˜Ÿ™ 3§9¡9Õ-r-   r$  r(  s       r+   Útest_power_is_onez!TestMatrixPower.test_power_is_onee  s]   € ò	.ð
 —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔÜ�x‰x˜‹|× Ñ ¬¯
©
Ò2Ù�4—<‘<×&Ñ& rÓ*Õ+ñ	,r-   c                 óü   — d„ }| j                   D ]j  } ||j                  |«      «       t        j                  |«      j                  t        j
                  usŒJ || j                  j                  |«      «       Œl y )Nc                 óÀ   — t        | d«      }| j                  t        k7  rt        nt        }t        | || | «      «       t        |j                  | j                  «       y )Nrr   )r   r0   Úobjectr   r   r   )r�  r"  Úmmuls      r+   r#  z-TestMatrixPower.test_power_is_two.<locals>.tzq  sB   € Ü˜c 1Ó%ˆBØ ŸY™Y¬&Ò0•6´cˆDÜ˜™T # s›^Ô,Ü˜Ÿ™ 3§9¡9Õ-r-   r$  r(  s       r+   Útest_power_is_twoz!TestMatrixPower.test_power_is_twop  s]   € ò	.ð —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔÜ�x‰x˜‹|× Ñ ¬¯
©
Ò2Ù�4—<‘<×&Ñ& rÓ*Õ+ñ	,r-   c                 óx   — d„ }| j                   D ](  }|| j                  vsŒ ||j                  |«      «       Œ* y )Nc                 ó’   — t        | d«      }| j                  t        k7  rt        nt        }t         ||| «      t        | «      «       y ©Nr–   )r   r0   r/  r   r   r   r  )r�  Úinvmatr0  s      r+   r#  z3TestMatrixPower.test_power_is_minus_one.<locals>.tz}  s;   € Ü! # rÓ*ˆFØ ŸY™Y¬&Ò0•6´cˆDÜÙ�V˜SÓ!Ô#<¸SÓ#AõCr-   )r%  Údtnoinvræ  r(  s       r+   Útest_power_is_minus_onez'TestMatrixPower.test_power_is_minus_one|  s9   € ò	Cð —>‘>ò 	#ˆCØ˜Ÿ™Ò%Ù�3—:‘:˜b“>Õ"ñ	#r-   c                 ó”   — | j                   j                  |«      }t        t        t        |d«       t        t        t        |dg«       y )Ng      ø?rp   )r  ræ  r    Ú	TypeErrorr   ©rK   r  r�  s      r+   Útest_exceptions_bad_powerz)TestMatrixPower.test_exceptions_bad_power‡  s4   € Ø�l‰l×!Ñ! "Ó%ˆÜ”i¤¨s°CÔ8Ü”i¤¨s°Q°CÕ8r-   c                 ó
  — t        t        t        t        j                  dg|«      d«       t        t        t        t        j                  dgdgg|«      d«       t        t        t        t        j
                  d|«      d«       y )Nrp   rr   )rt   rs   rr   )r    r   r   r'   r   r³  )rK   r  s     r+   Útest_exceptions_non_squarez*TestMatrixPower.test_exceptions_non_squareŒ  sW   € Ü”k¤<´·±¸1¸#¸rÓ1BÀAÔFÜ”k¤<´·±¸A¸3ÀÀ¸*ÀbÓ1IÈ1ÔMÜ”k¤<´·±¸ÀBÓ1GÈÕKr-   úfp errors don't work in wasm©r¸  c                 ó„   — || j                   v ry | j                  j                  |«      }t        t        t
        |d«       y r4  )r6  Únoninvræ  r    r   r   r:  s      r+   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertible‘  s3   € à�—‘ÑØØ�k‰k× Ñ  Ó$ˆÜ”k¤<°°bÕ9r-   N)rU   rV   rW   r'   r}  r  r  r  r  r%  r   rA  Úblockr'  r/  r0   r6  r  r)  r,  r1  r7  r;  r=  rü   rý   Úskipifr   rB  rY   r-   r+   r  r  B  sì   „ ð ˆb�f‰f�Q‹i€GØ’lÑ#€GØ’lÑ#€GØ’lÑ#€GØ˜' 7¨GÐ4€IÙ�Q˜�F˜Q ˜FÐ#Ó$€FØˆb�h‰h˜'˜˜�} qÑ(Ó)€Gà�x�r—x‘x “} h b§h¡h¨s£m°X°R·X±X¸c³]ÐC€Gò	Jò	,ò	,ò
,ò	#ò9ò
Lð
 ‡[�[×Ñ˜Ð(FÐÓGñ:ó Hñ:r-   r  c                   ó   — e Zd Zd„ Zy)ÚTestEigvalshCasesc                 ó4  — t        j                  |d«      }t        j                  |«      \  }}|j                  d¬«       t	        ||t        |j                  «      ¬«       t        j                  |d«      }t	        ||t        |j                  «      ¬«       y )NÚLr–   rà  r\  rq  )r   ÚeigvalshrL  r�  r   r=   r0   )rK   r2   r3   rJ   rM  rN  rO  Úev2s           r+   rO   zTestEigvalshCases.do›  sn   € ô �_‰_˜Q Ó$ˆÜ"ŸJ™J q›MÑˆ�Ø�‰˜"ˆÔÜ˜˜G¬(°2·8±8Ó*<Õ=ä�o‰o˜a Ó%ˆÜ˜˜W¬8°B·H±HÓ+=Ö>r-   Nr  rY   r-   r+   rF  rF  ™  s   „ ó	?r-   rF  c                   ój   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zd„ Zd„ Zy)ÚTestEigvalshr0   c                 óº   — t        j                  ddgddgg|¬«      }t         j                  j                  |«      }t	        |j
                  t        |«      «       y r  )r'   r   r   rI  r   r0   r9   )rK   r0   rÅ   rd  s       r+   r  zTestEigvalsh.test_types¨  sF   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ�I‰I×Ñ˜qÓ!ˆÜ�Q—W‘Wœn¨UÓ3Õ4r-   c                 óX  — t        j                  ddgddggt         j                  ¬«      }t        t        t         j
                  j                  |d¬«       t        t        t         j
                  j                  |d«       t        t        t         j
                  j                  |d«       y ©Nrp   r  r8   Úlrong©ÚUPLOÚlowerÚupper)r'   r   rö  r    r'  r   rI  ©rK   rÅ   s     r+   Útest_invalidzTestEigvalsh.test_invalid®  sk   € Ü�H‰H�q˜#�h  a Ð)´·±Ô<ˆÜ”j¤"§)¡)×"4Ñ"4°a¸gÕFÜ”j¤"§)¡)×"4Ñ"4°a¸ÔAÜ”j¤"§)¡)×"4Ñ"4°a¸ÕAr-   c                 ó  — t        j                  ddgddggt         j                  ¬«      }t        j                  ddgddggt         j                  ¬«      }t        j                  ddgt         j                  ¬«      }t        t         j                  «      }t         j                  j                  |«      }t        |||¬«       t         j                  j                  |d¬«      }t        |||¬«       t         j                  j                  |d¬«      }t        |||¬«       t         j                  j                  |d	¬«      }t        |||¬«       t         j                  j                  |d
¬«      }t        |||¬«       y ©Nr   rp   r8   r–   r\  rH  rQ  Úlrq  rw  )r'   r   r	   r=   r   rI  r   )rK   ÚKloÚKupÚtgtr]  rd  s         r+   Ú	test_UPLOzTestEigvalsh.test_UPLO´  s   € Ü�h‰h˜˜A˜  A Ð'¬r¯y©yÔ9ˆÜ�h‰h˜˜A˜  A Ð'¬r¯y©yÔ9ˆÜ�h‰h˜˜A�w¤b§i¡iÔ0ˆÜœŸ	™	Ó"ˆô �I‰I×Ñ˜sÓ#ˆÜ˜˜3 TÕ*ä�I‰I×Ñ˜s¨ÐÓ-ˆÜ˜˜3 TÕ*ä�I‰I×Ñ˜s¨ÐÓ-ˆÜ˜˜3 TÕ*ä�I‰I×Ñ˜s¨ÐÓ-ˆÜ˜˜3 TÕ*ä�I‰I×Ñ˜s¨ÐÓ-ˆÜ˜˜3 TÖ*r-   c                 óú  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        d|j                  «       t        t        |t         j                  «      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  j                  t         j                  u «       t        d|j                  «       t        t        |t         j                  «      «       y )Nc                   ó   — e Zd Zy)ú/TestEigvalsh.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  r`  Ì  r$  r-   r#  r@  r8   rW  rk   rl   )r'   r(   rA  rB  r»   r   rI  r   r0   r%   rC  r   r�   r&   rD  rö  rE  s       r+   r/  zTestEigvalsh.test_0_sizeÊ  sà   € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ�o‰o˜aÓ ˆÜ�—	‘	—‘¤"§*¡*Ð,Ô-Ü�V˜SŸY™YÔ'ä”
˜3¤§
¡
Ó+Ô,ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ�o‰o˜aÓ ˆÜ�—	‘	—‘¤"§*¡*Ð,Ô-Ü�T˜3Ÿ9™9Ô%ä”
˜3¤§
¡
Ó+Õ,r-   N©rU   rV   rW   rü   rý   r4  r   r	   r   r   r  rV  r]  r/  rY   r-   r+   rL  rL  §  s?   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jð5ò
Bò+ó,-r-   rL  c                   ó   — e Zd Zd„ Zy)ÚTestEighCasesc                 ó˜  — t        j                  |«      }|j                  |j                  }}t        j                  |«      \  }}|j                  d¬«       t        ||«       t        t        ||«      t        j                  |«      dd d d …f   t        j                  |«      z  t        |j                  «      ¬«       t        j                  |d«      \  }	}
t        |	|«       t        t        ||
«      t        j                  |	«      dd d d …f   t        j                  |
«      z  t        |j                  «      t        |«      ¬«       y )Nr–   rà  .r\  rq  )r]  Úerr_msg)r   Úeighr^  r_  rL  r�  r   r   r   r'   r   r=   r0   Úrepr)rK   r2   r3   rJ   rF  rM  ÚevcrN  rO  rJ  Úevc2s              r+   rO   zTestEighCases.doß  sô   € ô �k‰k˜!‹nˆØ—/‘/ 3×#3Ñ#3ˆCˆÜ"ŸJ™J q›MÑˆ�Ø�‰˜"ˆÔÜ˜B Ô(äœ˜q #›ÜŸ
™
 2› s¨D²! |Ñ4´r·z±zÀ#³ÑFÜ% b§h¡hÓ/õ	1ô —K‘K  3Ó'‰	ˆˆTÜ˜C Ô)äœ˜q $›ÜŸ
™
 3›¨¨T²1¨Ñ5¼¿
¹
À4Ó8HÑHÜ% b§h¡hÓ/¼¸a»ö	Br-   Nr  rY   r-   r+   rc  rc  Ý  s   „ óBr-   rc  c                   ój   — e Zd Zej                  j                  deeee	g«      d„ «       Z
d„ Zd„ Zd„ Zy)ÚTestEighr0   c                 óì   — t        j                  ddgddgg|¬«      }t         j                  j                  |«      \  }}t	        |j
                  t        |«      «       t	        |j
                  |«       y r  )r'   r   r   rf  r   r0   r9   rc  s        r+   r  zTestEigh.test_typesõ  sV   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ�y‰y�~‰~˜aÓ ‰ˆˆ1Ü�Q—W‘Wœn¨UÓ3Ô4Ü�Q—W‘W˜eÕ$r-   c                 óX  — t        j                  ddgddggt         j                  ¬«      }t        t        t         j
                  j                  |d¬«       t        t        t         j
                  j                  |d«       t        t        t         j
                  j                  |d«       y rO  )r'   r   rö  r    r'  r   rf  rU  s     r+   rV  zTestEigh.test_invalidü  se   € Ü�H‰H�q˜#�h  a Ð)´·±Ô<ˆÜ”j¤"§)¡)§.¡.°!¸'ÕBÜ”j¤"§)¡)§.¡.°!°WÔ=Ü”j¤"§)¡)§.¡.°!°WÕ=r-   c                 ó   — t        j                  ddgddggt         j                  ¬«      }t        j                  ddgddggt         j                  ¬«      }t        j                  ddgt         j                  ¬«      }t        t         j                  «      }t         j                  j                  |«      \  }}t        |||¬«       t         j                  j                  |d¬«      \  }}t        |||¬«       t         j                  j                  |d¬«      \  }}t        |||¬«       t         j                  j                  |d	¬«      \  }}t        |||¬«       t         j                  j                  |d
¬«      \  }}t        |||¬«       y rX  )r'   r   r	   r=   r   rf  r   )rK   rZ  r[  r\  r]  rd  re  s          r+   r]  zTestEigh.test_UPLO  s&  € Ü�h‰h˜˜A˜  A Ð'¬r¯y©yÔ9ˆÜ�h‰h˜˜A˜  A Ð'¬r¯y©yÔ9ˆÜ�h‰h˜˜A�w¤b§i¡iÔ0ˆÜœŸ	™	Ó"ˆô �y‰y�~‰~˜cÓ"‰ˆˆ1Ü˜˜3 TÕ*ä�y‰y�~‰~˜c¨ˆ~Ó,‰ˆˆ1Ü˜˜3 TÕ*ä�y‰y�~‰~˜c¨ˆ~Ó,‰ˆˆ1Ü˜˜3 TÕ*ä�y‰y�~‰~˜c¨ˆ~Ó,‰ˆˆ1Ü˜˜3 TÕ*ä�y‰y�~‰~˜c¨ˆ~Ó,‰ˆˆ1Ü˜˜3 TÖ*r-   c                 óB  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      \  }}t        |j                  j                  t         j                  u «       t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        d|j                  «       t        t        |t         j                  «      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      \  }}t        |j                  j                  t         j                  u «       t        |j                  j                  t         j                  u «       t        |j                  |j                  «       t        d|j                  «       t        t        |t         j                  «      «       y )Nc                   ó   — e Zd Zy)ú+TestEigh.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  rq    r$  r-   r#  r@  r8   rW  rk   rl   )r'   r(   rA  rB  r»   r   rf  r   r0   r%   rC  r   r�   r&   rD  rö  ri  s        r+   r/  zTestEigh.test_0_size  s@  € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ—[‘[ “^‰
ˆˆUÜ�—‘× Ñ ¤B§J¡JÐ.Ô/Ü�—	‘	—‘¤"§*¡*Ð,Ô-Ü�Q—W‘W˜eŸk™kÔ*Ü�V˜SŸY™YÔ'ä”
˜1œbŸj™jÓ)Ô*ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ—[‘[ “^‰
ˆˆUÜ�—‘× Ñ ¤B§L¡LÐ0Ô1Ü�—	‘	—‘¤"§*¡*Ð,Ô-Ü�Q—W‘W˜eŸk™kÔ*Ü�T˜3Ÿ9™9Ô%ä”
˜1œbŸj™jÓ)Õ*r-   Nra  rY   r-   r+   rk  rk  ô  s>   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ%ó Jð%ò>ò+ó,+r-   rk  c                   ó$   — e Zd ZdZdZed„ «       Zy)Ú_TestNormBaseNc                 ó$  — t        | j                  j                  t        j                  «      r+t        |j                  | j                  j                  «       y t        t        |j                  j                  t        j                  «      «       y r$   )	Ú
issubclassr0   r%   r'   Úinexactr   Úrealr   rý  )rÅ   rF  s     r+   Úcheck_dtypez_TestNormBase.check_dtype3  sK   € ä�a—g‘g—l‘l¤B§J¡JÔ/Ü˜Ÿ™ A§F¡F§L¡LÕ1ô ”J˜sŸy™yŸ~™~¬r¯{©{Ó;Õ<r-   )rU   rV   rW   r  ÚdecÚstaticmethodrx  rY   r-   r+   rs  rs  /  s   „ Ø	€BØ
€Càñ=ó ñ=r-   rs  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestNormGeneralc           
      óè   — t        t        g «      d«       t        t        t        g | j                  ¬«      «      d«       t        t        t	        t        g | j                  ¬«      «      «      d«       y )Nrñ  r8   )r   r   r   r  r   rS   s    r+   Ú
test_emptyz_TestNormGeneral.test_empty>  sI   € Ü”T˜"“X˜sÔ#Ü”Tœ% ¨$¯'©'Ô2Ó3°SÔ9Ü”Tœ*¤U¨2°T·W±WÔ%=Ó>Ó?ÀÕEr-   c                 ó   — t        j                  g d¢«      }t         j                  d   }t         j                  d   }||z   }|D �]ù  }|j                  |«      }t	        |t         j
                   «      }| j                  ||«       t        |d«       t        j                  «       5  t        j                  ddt        «       t	        |d«      }| j                  ||«       t        |d«       d d d «       t	        |d«      }| j                  ||«       t        |d	«       t	        |d
«      }| j                  ||«       t        |d«       t	        |d	«      }| j                  ||«       t        ||j                  j                  d«      |j                  j                  d«      z  «       t	        |d«      }| j                  ||«       t        ||j                  j                  d«      |j                  j                  d«      z  «       t	        |t         j
                  «      }| j                  ||«       t        |d«       �Œü y # 1 sw Y   �ŒXxY w)Nrº  Ú
AllIntegerÚAllFloatrñ  Úignoreúdivide by zero encounteredr–   r   rr   rp   rb   r  rt   g      Ð?ra   )r'   r   Ú	typecodesræ  r   r   rx  r   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr0   r%   ©rK   r2   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚans           r+   Útest_vector_return_typez(_TestNormGeneral.test_vector_return_typeC  sÛ  € Ü�H‰H’YÓˆä—l‘l <Ñ0ˆÜŸ™ ZÑ0ˆà -Ñ/ˆ	à"ó  	)ˆIØ—‘˜)Ó$ˆBä�bœ2Ÿ6™6˜'Ó"ˆBØ×Ñ˜R Ô$Ü  CÔ(ä×(Ñ(Ó*ñ -Ü×'Ñ'ØÐ:¼NôLä˜"˜b“\�Ø× Ñ   RÔ(Ü# B¨Ô,÷-ô �b˜!“ˆBØ×Ñ˜R Ô$Ü  AÔ&ä�b˜!“ˆBØ×Ñ˜R Ô$Ü  CÔ(ä�b˜!“ˆBØ×Ñ˜R Ô$Ü  B§H¡H§M¡M°#Ó$6¸¿¹¿¹ÀiÓ8PÑ$PÔQä�b˜!“ˆBØ×Ñ˜R Ô$Ü  B§H¡H§M¡M°#Ó$6¸¿¹¿¹ÀiÓ8PÑ$PÔQä�bœ"Ÿ&™&Ó!ˆBØ×Ñ˜R Ô$Ü  CÖ(ñA 	)÷-ñ -ús   Â'AIÉI	c                 óî   ‡ — g d¢}g d¢}g d¢}ˆ fd„}|||fD ]
  } ||«       Œ t        |‰ j                  ¬«      t        |‰ j                  ¬«      t        |‰ j                  ¬«      fD ]
  } ||«       Œ y )N)rp   rr   rs   rt   )r–   r—   r¥   r¤   )r–   rr   r¥   rt   c                 óv  •— t         j                  j                  t        | «      d‰j                  ¬«       t         j                  j                  t        | t
        «      d‰j                  ¬«       t         j                  j                  t        | t
         «      d‰j                  ¬«       t         j                  j                  t        | d«      d‰j                  ¬«       t         j                  j                  t        | d«      d‰j                  ¬«       t         j                  j                  t        | d	«      d‰j                  ¬«       t         j                  j                  t        | d
«      d‰j                  ¬«       t         j                  j                  t        | d«      d‰j                  ¬«       y )Ng�¥6Ò­è@©r/   rd   ra   rp   ç      $@r–   g¸…ëQ¸Þ?rr   r—   gÊsÔcÙÑê?r   rt   )r'   Útestingr   r   ry  r   )re  rK   s    €r+   Ú_testz+_TestNormGeneral.test_vector.<locals>._testr  sD  ø€ Ü�J‰J×*Ñ*¬4°«7°IØ37·8±8ð +ô =ä�J‰J×*Ñ*¬4°´3«<¸Ø37·8±8ð +ô =ä�J‰J×*Ñ*¬4°´C°4«=¸#Ø37·8±8ð +ô =ä�J‰J×*Ñ*¬4°°1«:°tØ37·8±8ð +ô =ä�J‰J×*Ñ*¬4°°2«;¸	Ø37·8±8ð +ô =ä�J‰J×*Ñ*¬4°°1«:°yØ37·8±8ð +ô =ä�J‰J×*Ñ*¬4°°2«;Ð9MØ37·8±8ð +ô =ä�J‰J×*Ñ*¬4°°1«:°qØ37·8±8ð +õ =r-   r8   )r   r  )rK   r2   r3   r   r–  re  s   `     r+   Útest_vectorz_TestNormGeneral.test_vectorm  sx   ø€ ÚˆÚˆÚˆô	=ð$ �Q˜�ò 	ˆAÙ�!�Hð	ô ˜ §¡Ô)¬5°¸$¿'¹'Ô+BÜ˜ §¡Ô)ð+ò 	ˆAá�!�Hñ	r-   c                 ó  — t        g d¢g d¢g| j                  ¬«      }d dddddt        j                  t        j                   fD ]   }t	        |j
                  d   «      D �cg c]  }t        |d d …|f   |¬	«      ‘Œ }}t        t        ||d¬
«      |«       t	        |j
                  d   «      D �cg c]  }t        ||d d …f   |¬	«      ‘Œ }}t        t        ||d¬
«      |«       Œ¢ t        j                  dd| j                  ¬«      j                  ddd«      }|j                  }d ddddt        j                  t        j                   dfD �]  }t        j                  t	        | |«      d«      D ]ó  }|\  }	}
|	dk  r|	|z  }	|
dk  r|
|z  }
|	|
k(  rt        t        t        |||¬
«       Œ:t        |||¬
«      }||	|
z   z
  }|	|
k  rEt	        |j
                  |   «      D �cg c]#  }t        |d d  j                  ||¬«      |¬	«      ‘Œ% }}nNt	        |j
                  |   «      D �cg c]-  }t        |d d  j                  ||¬«      j                   |¬	«      ‘Œ/ }}t        ||«       Œõ �Œ y c c}w c c}w c c}w c c}w )Nr×  ©rt   r…   r“   r8   r–   r   rp   rr   rs   ©Úord©r›  rá  é   rt   r—   rš  rà  )r   r  r'   r   rŒ  r�   r   r   r&  rœ   rš   rµ   Úcombinationsr    r'  Útaker”  )rK   r©  ÚorderÚkÚ	expected0Ú	expected1ÚBÚndrá  Úrow_axisÚcol_axisrÿ  Úk_indexr.  s                 r+   Ú	test_axisz_TestNormGeneral.test_axis‹  sc  € ô ’9šiÐ(°·±Ô8ˆØ˜B  1 a¨¬B¯F©F´R·V±V°GÐ<ò 	GˆEÜ;@ÀÇÁÈÁÓ;LÖM°aœ˜a¢ 1 ™g¨5Ö1ÐMˆIÐMÜ¤ Q¨E¸Ô :¸IÔFÜ;@ÀÇÁÈÁÓ;LÖM°aœ˜a ¢1 ™g¨5Ö1ÐMˆIÐMÜ¤ Q¨E¸Ô :¸IÕFð		Gô �I‰I�a˜ 4§7¡7Ô+×3Ñ3°A°q¸!Ó<ˆØ�V‰VˆØ˜B  2 q¬"¯&©&´2·6±6°'¸5ÐAó 	5ˆEÜ!×.Ñ.¬u°b°S¸"«~¸qÓAò 5�Ø%)Ñ"�˜(Ø˜a’<Ø ‘N�HØ˜a’<Ø ‘N�HØ˜xÒ'Ü!¤*¬d°A¸5ÀtÖLä˜Q E°Ô5�Að ! H¨xÑ$7Ñ8�GØ (Ò*ä-2°1·7±7¸7Ñ3CÓ-Dö$FØ()ô %)¨©1¨¯©°1¸7¨Ó)CÈÖ$Oð $F˜ñ $Fô .3°1·7±7¸7Ñ3CÓ-Dö$FØ()ô %)¨©1¨¯©°1¸7¨Ó)C×)EÑ)EÈ5Ö$Qð $F˜ð $Fä'¨¨8Õ4ò)5ñ	5ùò NùâMùò,$Fùò$Fs   Á"I-Â1I2Ç"(I7È'2I<c                 ót  — t        j                  dd| j                  ¬«      j                  ddd«      }d}d}t	        |d d ¬	«      }t	        |d d d
¬«      }t        t        j                  |«      ||j                  d d «      ¬«       d}t        |j                  |k(  |j                  |j                  |d d «      «       d dddddt         j                  t         j                   fD ]Ä  }t        |j                  «      D ]ª  }t	        |||¬	«      }t	        |||d
¬«      }t        t        j                  |«      ||j                  ||«      ¬«       t        |j                  «      }d||<   t        |«      }t        |j                  |k(  |j                  |j                  |||«      «       Œ¬ ŒÆ d ddddt         j                  t         j                   ddf	D ]ã  }t        j                   t        |j                  «      d«      D ]µ  }t	        |||¬	«      }t	        |||d
¬«      }t        t        j                  |«      ||j                  ||«      ¬«       t        |j                  «      }d||d   <   d||d   <   t        |«      }t        |j                  |k(  |j                  |j                  |||«      «       Œ· Œå y )Nrp   r�  r8   rr   rs   rt   zorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}rœ  T)r›  rá  Úkeepdims)re  )rp   rp   rp   r–   r   r—   rš  Únuc)r'   r&  r  rœ   r   r   ÚsqueezeÚformatr   r�   r   rŒ  rš   rÁ   r·   rµ   Úpermutations)	rK   r©  Úallclose_errÚ	shape_errr.  ÚfoundÚexpected_shaper   r¡  s	            r+   Útest_keepdimsz_TestNormGeneral.test_keepdims°  sy  € Ü�I‰I�a˜ 4§7¡7Ô+×3Ñ3°A°q¸!Ó<ˆà.ˆØQˆ	ô ˜˜t¨$Ô/ˆÜ�Q˜D t°dÔ;ˆÜœŸ
™
 5Ó)¨8Ø ,× 3Ñ 3°D¸$Ó ?õ	Aà"ˆÜ�—‘˜~Ñ-Ø× Ñ  §¡¨n¸dÀDÓIô	Kð ˜B  1 a¨¬B¯F©F´R·V±V°GÐ<ò 
	QˆEÜ˜1Ÿ6™6“]ò 	Q�Ü  u°1Ô5�Ü˜Q E°¸DÔA�Ü¤§
¡
¨5Ó 1°8Ø(4×(;Ñ(;¸EÀ1Ó(EõGä!% a§g¡g£�Ø$%�˜qÑ!Ü!& ~Ó!6�Ü˜Ÿ™ ~Ñ5Ø!×(Ñ(¨¯©°nÀeÈQÓOõQñ	Qð
	Qð ˜B  2 q¬"¯&©&´2·6±6°'¸5À%ÐHò 	QˆEÜ×+Ñ+¬E°!·&±&«M¸1Ó=ò 
Q�Ü  u°1Ô5�Ü˜Q E°¸DÔA�Ü¤§
¡
¨5Ó 1°8Ø(4×(;Ñ(;¸EÀ1Ó(EõGä!% a§g¡g£�Ø'(�˜q ™tÑ$Ø'(�˜q ™tÑ$Ü!& ~Ó!6�Ü˜Ÿ™ ~Ñ5Ø!×(Ñ(¨¯©°nÀeÈQÓOõQñ
Qñ	Qr-   N)rU   rV   rW   r~  r�  r—  r©  r´  rY   r-   r+   r|  r|  <  s   „ òFò
()òTò<#5óJ(Qr-   r|  c                   óB   — e Zd Zej                  Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)Ú_TestNorm2Dc                 óf   — t        t        | j                  g g| j                  ¬«      «      d«       y )Nr8   rñ  )r   r   r   r  rS   s    r+   Útest_matrix_emptyz_TestNorm2D.test_matrix_emptyà  s$   € Ü”T˜$Ÿ*™* b T°·±˜*Ó9Ó:¸CÕ@r-   c                 ó*  — | j                  g d¢g d¢g«      }t        j                  d   }d}||z   }|D �]Ï  }|j                  |«      }t	        |t        j
                   «      }| j                  ||«       t        |d«       t        j                  «       5  t        j                  ddt        «       t	        |d«      }| j                  ||«       t        |d	«       d d d «       t	        |d
«      }| j                  ||«       t        |d«       t	        |d«      }| j                  ||«       t        |d«       t	        |d«      }| j                  ||«       t        |d	«       t	        |t        j
                  «      }| j                  ||«       t        |d«       t	        |d«      }| j                  ||«       t        |d«       t	        |d«      }| j                  ||«       t        j                  j                  |dd¬«       �ŒÒ y # 1 sw Y   �Œ.xY w)Nrº  r@  r€  ÚfdFDrb   r‚  rƒ  r–   ra   rp   rr   gªLXèz¶û?r—   rš  r¬  gU&,t=Û@r“   r“  )r   r'   r„  ræ  r   r   rx  r   r…  r†  r‡  rˆ  r•  r‰  s           r+   Útest_matrix_return_typez#_TestNorm2D.test_matrix_return_typeã  sÕ  € Ø�J‰Jš	¢9Ð-Ó.ˆä—l‘l <Ñ0ˆð
 ˆà -Ñ/ˆ	à"ó &	NˆIØ—‘˜)Ó$ˆBä�bœ2Ÿ6™6˜'Ó"ˆBØ×Ñ˜R Ô$Ü  CÔ(ä×(Ñ(Ó*ñ -Ü×'Ñ'ØÐ:¼NôLä˜"˜b“\�Ø× Ñ   RÔ(Ü# B¨Ô,÷-ô �b˜!“ˆBØ×Ñ˜R Ô$Ü  CÔ(ä�b˜!“ˆBØ×Ñ˜R Ô$Ü Ð$4Ô5ä�b˜"“ˆBØ×Ñ˜R Ô$Ü  CÔ(ä�bœ"Ÿ&™&Ó!ˆBØ×Ñ˜R Ô$Ü  CÔ(ä�b˜%“ˆBØ×Ñ˜R Ô$Ü  CÔ(ä�b˜%“ˆBØ×Ñ˜R Ô$ô �J‰J×*Ñ*¨2Ð/AÈ1Ð*ÖMñM&	N÷-ñ -ús   ÂAHÈH	c                 ój  — | j                  ddgddgg| j                  ¬«      }t        t        |«      d«       t        t        |d«      d«       t        t        |d«      d	«       t        t        |t        «      d
«       t        t        |t         «      d«       t        t        |d«      d	«       t        t        |d«      d«       t        t        |d«      d«       t        t        |d«      d«       t        t        t        |d«       t        t        t        |d«       t        t        t        |d«       y )Nrp   rs   r…   r’   r8   g…¹ŽT"@rš  r¬  r”  g      (@rd   r–   rf   rr   g„öW³?"@r—   gÑ—€Ê„ì?Únofror¥   r   )r   r  r   r   r   r    r'  ©rK   r©  s     r+   Útest_matrix_2x2z_TestNorm2D.test_matrix_2x2  sá   € Ø�J‰J˜˜A˜  A Ð'¨t¯w©wˆJÓ7ˆÜœD ›G YÔ/ÜœD  E›N¨IÔ6ÜœD  E›N¨DÔ1ÜœD ¤C›L¨$Ô/ÜœD ¤S D›M¨3Ô/ÜœD  A›J¨Ô-ÜœD  B›K¨Ô-ÜœD  A›JÐ(:Ô;ÜœD  B›KÐ)<Ô=ä”j¤$¨¨7Ô3Ü”j¤$¨¨2Ô.Ü”j¤$¨¨1Õ-r-   c                 óò  — d| j                  g d¢g d¢g d¢g| j                  ¬«      z  }t        t        |«      d«       t        t        |d«      d«       t        t        |d«      d	«       t        t        |t        «      d
«       t        t        |t         «      d«       t        t        |d«      d«       t        t        |d«      d«       t        t        |d«      d«       t        t        |d«      d«       y )Ngš™™™™™¹?r×  )r“   r   r…   )rs   rr   rp   r8   grj=Q0î?rš  r¬  gþB+pcõ?gš™™™™™ñ?g333333ã?rp   ra   r–   gš™™™™™Ù?rr   gû&Þê.dì?r—   gÜ¸Õ ˆçÈ?)r   r  r   r   r   r¾  s     r+   Útest_matrix_3x3z_TestNorm2D.test_matrix_3x3'  s¿   € ð
 Ø�J‰Jš	¢9ªiÐ8ÀÇÁˆJÓHñIˆäœD ›GÐ%9Ô:ÜœD  E›NÐ,@ÔAÜœD  E›NÐ,>Ô?ÜœD ¤C›L¨#Ô.ÜœD ¤S D›M¨3Ô/ÜœD  A›J¨Ô,ÜœD  B›K¨Ô-ÜœD  A›JÐ(;Ô<ÜœD  B›KÐ)<Õ=r-   c                 óÄ  — | j                  g d¢g d¢g| j                  ¬«      }t        j                  dd| j                  ¬«      j	                  ddd«      }t        t        t        |d	d
«       t        t        t        |dd
«       t        t        t        ddgd	d «       t        t        t        ddgdd «       t        t        t        ddgdd «       dD ]G  }t        t        t        ||d «       t        t        t        ||d«       t        t        t        ||d«       ŒI t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       y )Nr×  r™  r8   rp   r�  rr   rs   rt   rš  r   r¬  Útest©r   rs   rW  )rp   rr   ©rr   rs   ©r   rp   rr   )	r   r  r'   r&  rœ   r    r'  r   r   )rK   r©  r¤  r   s       r+   Útest_bad_argsz_TestNorm2D.test_bad_args8  s  € ð �J‰Jš	¢9Ð-°T·W±WˆJÓ=ˆÜ�I‰I�a˜ 4§7¡7Ô+×3Ñ3°A°q¸!Ó<ˆô
 	”j¤$¨¨5°!Ô4Ü”j¤$¨¨5°!Ô4Ü”j¤$¨¨A¨°°tÔ<Ü”j¤$¨¨A¨°°tÔ<Ü”j¤$¨¨A¨°¸Ô=ð ò 	>ˆEÜœ*¤d¨A¨u°dÔ;Üœ*¤d¨A¨u°fÔ=Üœ*¤d¨A¨u°fÕ=ð	>ô 	”i¤ q¨$°Ô2Ü”i¤ q¨$°Ô7Ü”j¤$¨¨4°Õ;r-   N)
rU   rV   rW   r'   r   r¸  r»  r¿  rÁ  rÇ  rY   r-   r+   r¶  r¶  Û  s)   „ ð �H‰H€EòAò2Nòh.ò >ó"<r-   r¶  c                   ó   — e Zd Zy)Ú	_TestNormNr"  rY   r-   r+   rÉ  rÉ  T  rÐ  r-   rÉ  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestNorm_NonSystematicc                 ó€   — t        j                  dt         j                  ¬«      }t        t	        |d¬«      dd¬«       y )Né
   r8   rs   rš  gÍÌÌÌÌL)@rr   r“  )r'   r&  Ú
longdoubler1   r   rU  s     r+   Útest_longdouble_normz+TestNorm_NonSystematic.test_longdouble_normZ  s*   € ô �I‰I�b¤§¡Ô.ˆÜ¤ Q¨A¤°¸qÖAr-   c                 ó‚   — t        j                  dgt         j                  ¬«      }t        t	        |d¬«      dd¬«       y )Ni   €r8   rs   rš  l        r…   r“  )r'   r   Úint32r1   r   rU  s     r+   Útest_intminz"TestNorm_NonSystematic.test_intmin`  s,   € ô �H‰H�h�Z¤r§x¡xÔ0ˆÜ¤ Q¨A¤°ÀÖCr-   c                 óð  — t        j                  dt         j                  ¬«      }d|d<   d|d<   d}t        t         j                  j                  |d¬	«      |d
¬«       |j                  t         j                  «      }t        t         j                  j                  |d¬	«      |d¬«       |j                  t         j                  «      }t        t         j                  j                  |d¬	«      |d¬«       y )N©rr   r8   y      @      @r   y      À      @rp   g¨ËþÿV;'@rs   rš  rÍ  r“  é	   r…   )	r'   rº   Úclongdoubler1   r   r   ræ  rX  rD  )rK   rê  rF  s      r+   Útest_complex_high_ordz,TestNorm_NonSystematic.test_complex_high_ordf  s¨   € ä�H‰H�T¤§¡Ô0ˆØˆˆ!‰Øˆˆ!‰ØˆÜ¤§	¡	§¡¨q°a Ó 8¸#ÀrÕJØ�H‰H”R—]‘]Ó#ˆÜ¤§	¡	§¡¨q°a Ó 8¸#ÀqÕIØ�H‰H”R—\‘\Ó"ˆÜ¤§	¡	§¡¨q°a Ó 8¸#ÀqÖIr-   N)rU   rV   rW   rÏ  rÒ  r×  rY   r-   r+   rË  rË  X  s   „ òBòDó
Jr-   rË  c                   ó(   — e Zd Zej                  ZdZy)Ú_TestNormDoubleBaseé   N)rU   rV   rW   r'   r	   r  ry  rY   r-   r+   rÙ  rÙ  t  s   „ Ø	�‰€BØ
�Cr-   rÙ  c                   ó(   — e Zd Zej                  ZdZy)Ú_TestNormSingleBaser“   N)rU   rV   rW   r'   rö  r  ry  rY   r-   r+   rÜ  rÜ  y  s   „ Ø	�‰€BØ
�Cr-   rÜ  c                   ó(   — e Zd Zej                  ZdZy)Ú_TestNormInt64BaserÚ  N)rU   rV   rW   r'   Úint64r  ry  rY   r-   r+   rÞ  rÞ  ~  s   „ Ø	�‰€BØ
�Cr-   rÞ  c                   ó   — e Zd Zy)ÚTestNormDoubleNr"  rY   r-   r+   rá  rá  ƒ  rÐ  r-   rá  c                   ó   — e Zd Zy)ÚTestNormSingleNr"  rY   r-   r+   rã  rã  ‡  rÐ  r-   rã  c                   ó   — e Zd Zy)ÚTestNormInt64Nr"  rY   r-   r+   rå  rå  ‹  rÐ  r-   rå  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestMatrixRankc                 ó  — t        dt        t        j                  d«      «      «       t        j                  d«      }d|d<   t        t        |«      d«       t        t        t        j                  d«      «      d«       t        t        g d¢«      d«       t        t        t        j                  d	«      «      d«       t        t        dg«      d«       t        j
                  |t        j                  d«      t        j                  d«      g«      }t        t        |«      t        j
                  g d
¢«      «       t        t        d«      d«       t        t        d«      5  t        |dd¬«       d d d «       y # 1 sw Y   y xY w)Nrt   rñ  ©r–   r–   rs   r|  r   )rp   r   r   r   rp   )rt   )rs   rt   r   z#`tol` and `rtol` can't be both set.g{®Gáz„?)Útolr]  )r   r   r'   r}  rA  r   r!   r'  )rK   ÚIÚmss      r+   Útest_matrix_rankzTestMatrixRank.test_matrix_rank‘  s  € ä�Qœ¤B§F¡F¨1£IÓ.Ô/ä�F‰F�1‹IˆØˆˆ&‰	Ü”[ “^ QÔ'ä”[¤§¡¨&Ó!1Ó2°AÔ6ä”[¢Ó.°Ô2Ü”[¤§¡¨$£Ó0°!Ô4ä”[ ! Ó% qÔ)ä�X‰X�qœ"Ÿ&™& ›)¤R§X¡X¨fÓ%5Ð6Ó7ˆÜ”[ “_¤b§h¡hªyÓ&9Ô:ä”[ “^ QÔ'ä ÜÐ>ó
ñ 	0ô ˜˜t¨$Õ/÷	0÷ 	0ñ 	0ús   Å"E:Å:Fc                 óÌ  — t        dt        t        j                  d«      d¬«      «       t        dt        t        j                  d«      d¬«      «       t        dt        t        j
                  d«      d¬«      «       t        j                  d«      }d|d<   t        d	t        |d¬«      «       d
|d<   t        dt        |dd¬«      «       t        d	t        |dd¬«      «       y )Nrt   Trˆ  rp   r|  r   rñ  ré  rs   g:Œ0âŽyE>g¾Ü|"•BE>)r@   rê  gµ;ä¡ˆ°E>)r   r   r'   r}  r³  rA  )rK   rë  s     r+   Útest_symmetric_rankz"TestMatrixRank.test_symmetric_rankª  s¤   € Ü�Qœ¤B§F¡F¨1£I¸Ô>Ô?Ü�Qœ¤B§G¡G¨F£O¸tÔDÔEÜ�Qœ¤B§H¡H¨VÓ$4ÀÔEÔFä�F‰F�1‹IˆØˆˆ&‰	Ü�Qœ A°Ô6Ô7àˆˆ&‰	Ü�Qœ A°¸7ÔCÔDÜ�Qœ A°¸7ÔCÕDr-   N)rU   rV   rW   rí  rï  rY   r-   r+   rç  rç  �  s   „ ò0ó2Er-   rç  c                  óB  — t         j                  j                  d«      } t        d«      D ]r  }| j	                  d¬«      }|d d …df   |d d …df   z   |d d …df<   t        t        |«      d«       |d d …d	f   |d d …d
f   z   |d d …df<   t        t        |«      d«       Œt y )NiŠ3r  )é(   rÍ  ©Úsizerp   rr   r   rÕ  rt   r…   rs   rn   )r'   rÁ  ÚRandomStaterŒ  Únormalr   r   )ÚrngÚiÚXs      r+   Útest_reduced_rankrù  ¸  s™   € ä
�)‰)×
Ñ
 Ó
)€CÜ�3‹Zò (ˆà�J‰J˜HˆJÓ%ˆØ’A�q�D‘'˜Aša ˜d™GÑ#ˆŠ!ˆQˆ$‰ä”[ “^ QÔ'Ø’A�q�D‘'˜Aša ˜d™GÑ#ˆŠ!ˆQˆ$‰Ü”[ “^ QÕ'ñ(r-   c            	       ó¨  — e Zd Zej                  Zd„ Zej                  j                  ddgg d¢«      d„ «       Z	d„ Z
d„ Zd„ Zej                  j                  d	g d
¢«      ej                  j                  dg d¢«      ej                  j                  dej                  ej                  ej                  ej                   g«      d„ «       «       «       Zy)ÚTestQRc                 óª  — t        |«      }|j                  }|j                  \  }}t        ||«      }t	        j
                  |d¬«      }|j                  |j                  }	}t        |j                  |k(  «       t        |	j                  |k(  «       t        t        ||«      «       t        t        |	|«      «       t        |j                  ||fk(  «       t        |	j                  ||fk(  «       t        t        ||	«      |«       t        t        |j                  j                  «       |«      t        j                  |«      «       t        t        j                   |	«      |	«       t	        j
                  |d¬«      \  }
}t        |
j                  |k(  «       t        |j                  |k(  «       t        t        |
|«      «       t        t        ||«      «       t        |
j                  ||fk(  «       t        |j                  ||fk(  «       t        t        |
|«      |«       t        t        |
j                  j                  «       |
«      t        j                  |«      «       t        t        j                   |«      |«       t	        j
                  |d¬«      }t        |j                  |k(  «       t        t        ||«      «       t        ||«       y )NÚcomplete©ÚmodeÚreducedr  )r%   r0   r�   rž  r   ÚqrÚQÚRr   r&   r   r   r”  r�  r'   r}  Útriu)rK   r2   Úa_typeÚa_dtyperí  rÿ  r¡  rF  r  r  Úq1Úr1Úr2s                r+   Úcheck_qrzTestQR.check_qrÉ  s  € ô �a“ˆØ—'‘'ˆØ�w‰w‰ˆˆ1Ü��1‹Iˆô �i‰i˜ 
Ô+ˆØ�u‰u�c—e‘eˆ1ˆÜ�—‘˜7Ñ"Ô#Ü�—‘˜7Ñ"Ô#Ü”
˜1˜fÓ%Ô&Ü”
˜1˜fÓ%Ô&Ü�—‘˜A˜q˜6Ñ!Ô"Ü�—‘˜A˜q˜6Ñ!Ô"ÜœC  1›I qÔ)ÜœC §¡§¡£
¨AÓ.´·±°q³	Ô:ÜœBŸG™G A›J¨Ô*ô —‘˜1 9Ô-‰ˆˆBÜ�—‘˜GÑ#Ô$Ü�—‘˜GÑ#Ô$Ü”
˜2˜vÓ&Ô'Ü”
˜2˜vÓ&Ô'Ü�—‘˜Q ˜FÑ"Ô#Ü�—‘˜Q ˜FÑ"Ô#ÜœC  B›K¨Ô+ÜœC §¡§	¡	£¨RÓ0´"·&±&¸³)Ô<ÜœBŸG™G B›K¨Ô,ô �Y‰Y�q˜sÔ#ˆÜ�—‘˜GÑ#Ô$Ü”
˜2˜vÓ&Ô'Ü˜B Õ#r-   rí  rÿ  )©rs   r   rÄ  rk   c                 ó¢  — t        ||«      }t        j                  ||f«      }| j                  |«       t        j                  j                  |d¬«      \  }}t        |j                  t        j                  «       t        |j                  t        j                  «       t        |j                  ||f«       t        |j                  |f«       y )NÚrawrþ  )
rž  r'   rº   r
  r   r  r   r0   r	   r�   )rK   rí  rÿ  r¡  r2   ÚhÚtaus          r+   Útest_qr_emptyzTestQR.test_qr_emptyð  s�   € ô ��1‹IˆÜ�H‰H�a˜�VÓˆà�‰�aÔä—‘—‘˜a e�Ó,‰ˆˆ3Ü�Q—W‘WœbŸi™iÔ(Ü�S—Y‘Y¤§	¡	Ô*Ü�Q—W‘W˜q !˜fÔ%Ü�S—Y‘Y  Õ%r-   c                 óÄ  — | j                  ddgddgddggt        j                  ¬«      }t        j                  |d¬	«      \  }}t        |j                  t        j                  k(  «       t        |j                  t        j                  k(  «       t        |j                  d
k(  «       t        |j                  dk(  «       t        j                  |j                  d¬	«      \  }}t        |j                  t        j                  k(  «       t        |j                  t        j                  k(  «       t        |j                  dk(  «       t        |j                  dk(  «       y )Nrp   rr   rs   rt   r…   r“   r8   r  rþ  rÅ  rÔ  r•   )	r   r'   r	   r   r  r   r0   r�   r”  )rK   r2   r  r  s       r+   Útest_mode_rawzTestQR.test_mode_raw  só   € ð �J‰J˜˜A˜  A ¨¨A¨Ð/´r·y±yˆJÓAˆô —‘˜1 5Ô)‰ˆˆ3Ü�—‘œ2Ÿ9™9Ñ$Ô%Ü�—	‘	œRŸY™YÑ&Ô'Ü�—‘˜6Ñ!Ô"Ü�—	‘	˜TÑ!Ô"ä—‘˜1Ÿ3™3 UÔ+‰ˆˆ3Ü�—‘œ2Ÿ9™9Ñ$Ô%Ü�—	‘	œRŸY™YÑ&Ô'Ü�—‘˜6Ñ!Ô"Ü�—	‘	˜TÑ!Õ"r-   c                 ó  — | j                  ddgddgg«      }| j                  ddgddgddgg«      }dD ]a  }|j                  |«      }|j                  |«      }| j                  |«       | j                  |«       | j                  |j                  «       Œc dD ]m  }dd|j                  |«      z  z   }dd|j                  |«      z  z   }| j                  |«       | j                  |«       | j                  |j                  «       Œo y )	Nrp   rr   rs   rt   r…   r“   Úfdù              ð?)r   ræ  r
  r”  )rK   r2   r3   r  Úm1Úm2s         r+   Útest_mode_all_but_economicz!TestQR.test_mode_all_but_economic  sö   € Ø�J‰J˜˜A˜  A Ð'Ó(ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆØò 	 ˆBØ—‘˜"“ˆBØ—‘˜"“ˆBØ�M‰M˜"ÔØ�M‰M˜"ÔØ�M‰M˜"Ÿ$™$Õð	 ð ò 	 ˆBØ�R˜!Ÿ(™( 2›,Ñ&Ñ&ˆBØ�R˜!Ÿ(™( 2›,Ñ&Ñ&ˆBØ�M‰M˜"ÔØ�M‰M˜"ÔØ�M‰M˜"Ÿ$™$Õñ	 r-   c           	      óâ  — t        |«      }|j                  }|j                  dd  \  }}t        ||«      }t	        j
                  |d¬«      \  }}t        |j                  |k(  «       t        |j                  |k(  «       t        t        ||«      «       t        t        ||«      «       t        |j                  dd  ||fk(  «       t        |j                  dd  ||fk(  «       t        t        ||«      |«       t        j                  |j                  d   «      }	t        j                  |	|j                  d d |j                  d   fdz  z   «      }
t        t        t        |dd«      j                  «       |«      |
«       t        t        j                  |dd d …d d …f   «      |«       t	        j
                  |d¬«      \  }}t        |j                  |k(  «       t        |j                  |k(  «       t        t        ||«      «       t        t        ||«      «       t        |j                  dd  ||fk(  «       t        |j                  dd  ||fk(  «       t        t        ||«      |«       t        j                  |j                  d   «      }	t        j                  |	|j                  d d |j                  d   fdz  z   «      }
t        t        t        |dd«      j                  «       |«      |
«       t        t        j                  |dd d …d d …f   «      |«       t	        j
                  |d¬«      }t        |j                  |k(  «       t        t        ||«      «       t        ||«       y )	Nr—   rý  rþ  r–   rr   .r   r  )r%   r0   r�   rž  r   r  r   r&   r   r   r'   r
   r  r   r�  r  )rK   r2   r  r  rí  rÿ  r¡  Úqr  ÚI_matÚstack_I_matr  r  r	  s                 r+   Úcheck_qr_stackedzTestQR.check_qr_stacked(  s¹  € ô �a“ˆØ—'‘'ˆØ�w‰w�r�sˆ|‰ˆˆ1Ü��1‹Iˆô �y‰y˜ Ô,‰ˆˆ1Ü�—‘˜7Ñ"Ô#Ü�—‘˜7Ñ"Ô#Ü”
˜1˜fÓ%Ô&Ü”
˜1˜fÓ%Ô&Ü�—‘˜˜�  A Ñ&Ô'Ü�—‘˜˜�  A Ñ&Ô'ÜœF 1 a›L¨!Ô,Ü—‘˜AŸG™G B™KÓ(ˆÜ—o‘o eØŸ™  ˜¨¯©°© ~¸Ñ'9Ñ9ó;ˆäœF¤8¨A¨r°2Ó#6×#;Ñ#;Ó#=¸qÓAÀ;ÔOÜœBŸG™G A cª1ªa i¡LÓ1°1Ô5ô —‘˜1 9Ô-‰ˆˆBÜ�—‘˜GÑ#Ô$Ü�—‘˜GÑ#Ô$Ü”
˜2˜vÓ&Ô'Ü”
˜2˜vÓ&Ô'Ü�—‘˜˜� ! Q Ñ'Ô(Ü�—‘˜˜� ! Q Ñ'Ô(ÜœF 2 r›N¨AÔ.Ü—‘˜BŸH™H R™LÓ)ˆÜ—o‘o eØŸ™  "˜¨¯©°"©¨¸!Ñ(;Ñ;ó=ˆäœF¤8¨B°°BÓ#7×#<Ñ#<Ó#>ÀÓCØ'ô	)äœBŸG™G B sªAªq y¡MÓ2°BÔ7ô �Y‰Y�q˜sÔ#ˆÜ�—‘˜GÑ#Ô$Ü”
˜2˜vÓ&Ô'Ü˜B Õ#r-   ró  ))rs   rt   )rt   rs   r|  r  rÄ  Ú
outer_size)r%  rÔ  )rr   rs   rt   r  c                 ó"  — t         j                  j                  d«      }|j                  ||z   ¬«      j	                  |«      }|j                  ||z   ¬«      j	                  |«      }| j                  |«       | j                  |d|z  z   «       y )Né{   rò  r  )r'   rÁ  Údefault_rngrõ  ræ  r  )rK   r  ró  r  rö  r©  r¤  s          r+   Útest_stacked_inputszTestQR.test_stacked_inputsU  s|   € ô �i‰i×#Ñ# CÓ(ˆØ�J‰J˜J¨Ñ-ˆJÓ.×5Ñ5°bÓ9ˆØ�J‰J˜J¨Ñ-ˆJÓ.×5Ñ5°bÓ9ˆØ×Ñ˜aÔ Ø×Ñ˜a #¨¡'™kÕ*r-   N)rU   rV   rW   r'   r   r
  rü   rý   r4  r  r  r  r  r   r	   r   r   r"  rY   r-   r+   rû  rû  Å  sÑ   „ à�H‰H€Eò%$ðN ‡[�[×Ñ˜c 3˜Zò *ó ñ

&óð

&ò#ò, ò"+$ðZ ‡[�[×Ñ˜Vò &ó ð ‡[�[×Ñ˜\ò ,!ó "à‡[�[×Ñ˜TØ
�	‰	�2—9‘9Ø
�
‰
�B—J‘Jð$ ó !ñ+ó!ó"óñ+r-   rû  c                   ó8  — e Zd Zej                  j                  dg d¢«      ej                  j                  dej                  ej                  ej                  ej                  f«      ej                  j                  dddg«      d„ «       «       «       Zd„ Zd	„ Zy
)ÚTestCholeskyr�   )r³   r%  ©rs   rs   )é2   r&  )rs   rÍ  rÍ  r0   rT  FTc                 ó^  — t         j                  j                  d«       t        j                  j                  |Ž }t        j                  |t         j
                  «      r"|dt        j                  j                  |Ž z  z   }t        t        t        |«      «      «      }d|dd  t        j                  |j                  |«      j                  «       |«      }t        j                  ||¬«      }t         j                  j                  ||¬«      }|r4t        j                  |j                  |«      j                  «       |«      }n3t        j                  ||j                  |«      j                  «       «      }d|j                  d   z  t        j                   |«      j"                  z  }t%        ||||› d	|› d
|› d
|› �¬«       t        j&                  |dd¬«      }	t)        t        j*                  t        j,                  |	«      «      «       t)        t        j*                  |	dk\  «      «       y )Nrp   r  )r–   r—   r—   r8   ©rT  iô  r   ú ú
)Úatolre  r–   )Úaxis1Úaxis2)r'   rÁ  rÂ  Úrandnrü  ÚcomplexfloatingrÁ   rŒ  r  r   rŽ  r�  r   r   Úcholeskyr�   ÚfinfoÚepsr   Údiagonalr   r¿   Úisreal)
rK   r�   r0   rT  r2   Útr   r3   r+  rê  s
             r+   Útest_basic_propertyz TestCholesky.test_basic_propertyh  s�  € ô 	�	‰	�‰�qÔÜ�I‰I�O‰O˜UÐ#ˆÜ�=‰=˜¤× 2Ñ 2Ô3Ø�BœŸ™Ÿ™¨%Ð0Ñ0Ñ0ˆAä””s˜5“zÓ"Ó#ˆØˆˆ"ˆ#ˆä�I‰I�a—k‘k !“n×)Ñ)Ó+¨QÓ/ˆÜ�J‰J�q Ô&ˆä�I‰I×Ñ˜q¨ÐÓ.ˆñ Ü—	‘	˜!Ÿ+™+ a›.×-Ñ-Ó/°Ó3‰Aä—	‘	˜!˜QŸ[™[¨›^×0Ñ0Ó2Ó3ˆAà�Q—W‘W˜Q‘ZÑ¤"§(¡(¨5£/×"5Ñ"5Ñ5ˆÜ˜˜1 4°E°7¸!¸E¸7À"ÀQÀCÀrÈ!ÈÐ1MÕNô �K‰K˜ ¨2Ô.ˆÜ”—‘”r—y‘y “|Ó$Ô%Ü”—‘�q˜A‘v“Õr-   c                 ó"  —  G d„ dt         j                  «      }t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  |j                  «       t        |j                  j                  t         j                  u «       t        t        |t         j                  «      «       t        j                  dt         j                  ¬«      j	                  |«      }t        j                  |«      }t        |j                  |j                  «       t        |j                  j                  t         j                  u «       t        t        |t         j                  «      «       y )Nc                   ó   — e Zd Zy)ú/TestCholesky.test_0_size.<locals>.ArraySubclassNr"  rY   r-   r+   r#  r9  �  r$  r-   r#  r@  r8   )rp   r   r   )r'   r(   rA  rB  r»   r   r0  r   r�   r   r0   r%   rC  r&   rD  rE  s       r+   r/  zTestCholesky.test_0_sizeŒ  sè   € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ�o‰o˜aÓ ˆÜ�Q—W‘W˜cŸi™iÔ(Ü�—	‘	—‘¤"§*¡*Ð,Ô-ä”
˜3¤§
¡
Ó+Ô,ä�H‰H�Y¤b§l¡lÔ3×8Ñ8¸ÓGˆÜ�o‰o˜aÓ ˆÜ�Q—W‘W˜cŸi™iÔ(Ü�—	‘	—‘¤"§,¡,Ð.Ô/Ü”
˜3¤§
¡
Ó+Õ,r-   c                 ó:  — t        j                  ddgddgg«      }t        t        j                  |«      t        j                  |d¬«      «       t        t        j                  |d¬«      t        j                  |«      j
                  j                  «       «       y )Ny      ð?        y               Ày               @y      @        Fr(  T)r'   r   r   r   r0  r”  r�  )rK   r2   s     r+   Útest_upper_lower_argz!TestCholesky.test_upper_lower_argœ  sn   € ä�H‰H�v˜vÐ&¨°Ð(8Ð9Ó:ˆä”V—_‘_ QÓ'¬¯©¸À%Ô)HÔIäÜ�O‰O˜A TÔ*Ü�O‰O˜AÓ× Ñ ×%Ñ%Ó'õ	
r-   N)rU   rV   rW   rü   rý   r4  r'   rö  rC  rD  rX  r6  r/  r;  rY   r-   r+   r$  r$  f  sŒ   „ à‡[�[×ÑØÒ@óð ‡[�[×ÑØ�"—*‘*˜bŸj™j¨"¯,©,¸¿¹ÐFóð ‡[�[×ÑØ�%˜�ó ñ ó óóð ò8-ó 	
r-   r$  c                   óf  — e Zd Z ej                  d«      Z ej                  d«      Z ej                  g d¢g d¢g d¢g«      Z e	ej                  j                  ee«      e«        eed«      5  ej                  j                  edd…ej                  f   e«       ddd«       y# 1 sw Y   yxY w)Ú	TestOuterrs   r	  rÆ  )r   rr   rt   z$Input arrays must be one-dimensionalN)rU   rV   rW   r'   r&  Úarr1Úarr2r   r.  r   r   Úouterr!   r'  ÚnewaxisrY   r-   r+   r=  r=  ¨  s�   „ Øˆ2�9‰9�Q‹<€DØˆ2�9‰9�Q‹<€DØˆr�x‰xÚ	Ú	Ú	ð	ó€Hñ �r—y‘y—‘ t¨TÓ2°HÔ=á	ØÐ:ó
ñ 3ð 	�	‰	�‰˜šQ §
¡
˜]Ñ+¨TÔ2÷3÷ 3ñ 3ús   Á0.B'Â'B0r=  c                  óp  — t         j                  dk(  rd} nd} t        j                  t        j                  fD ]û  }t        j
                  d|¬«      }|j                  |j                  j                  | «      «      }|j                  |j                  j                  d«      «      j                  «       }t        |j                  j                  d«       t        j                  t        j                  t        j                  fD ].  } ||«      }t        | ||«      «       t        | ||«      «       Œ0 Œý y )NÚlittleú<rR   rt   r8   rr  ú=)ÚsysÚ	byteorderr'   rö  rC  r}  r»   r0   ÚnewbyteorderÚbyteswapr   r   r8  râ  rË  r   )ÚnativeÚdttrþ  Ún_arrÚsw_arrÚroutinerF  s          r+   Útest_byteorder_checkrO  ¹  sâ   € ä
‡}�}˜Ò Ø‰àˆä—
‘
œBŸJ™JÐ'ò 5ˆÜ�f‰f�Q˜cÔ"ˆØ—‘˜Ÿ™×/Ñ/°Ó7Ó8ˆØ—‘˜#Ÿ)™)×0Ñ0°Ó5Ó6×?Ñ?ÓAˆÜ�S—Y‘Y×(Ñ(¨#Ô.ÜŸ
™
¤F§J¡J´·±Ð<ò 	5ˆGá˜#“,ˆCä˜s¡G¨E£NÔ3ä˜s¡G¨F£OÕ4ñ	5ñ5r-   r>  r?  c                  ó8  — t        j                  ddgddgg«      } t        j                  ddgddgg«      }t        j                  g d¢«      dd d…   }| |d<   ||d<   t        t         j                  j
                  t         j                  j                  |«       y )Nrp   rr   rs   rt   )rt   rt   rr   rr   .rk   )r'   r   rA  r    r   r   r8  )Ú
invertibleÚnon_invertiblerÅ   s      r+   Ú test_generalized_raise_multilooprS  Î  sƒ   € ô
 —‘˜A˜q˜6 A q 6Ð*Ó+€JÜ—X‘X  1˜v¨¨1 vÐ.Ó/€Nä
�‰’Ó˜q˜t !˜tÑ$€AØ€A€c�FØ€A€d�Gä”"—)‘)×'Ñ'¬¯©¯©¸Õ:r-   z<ignore:.*fork\(\) may lead to deadlocks.*:DeprecationWarningz?skipping test that uses fork because there are multiple threadsz:Cannot safely use fork in tests on the free-threaded buildc                  óÈ  — d} 	 t        j                  «       }dk(  ràt        j                  d«       t        j                  d«       dd l}|j                  |j                  d«       	 t        j                  j                  j                  «        	 t        j$                  dgg«      }t        j                  j                  j'                  ddd|d||dd«	       t        j                   t         j"                  «       y t        j*                  «       \  }}t        j,                  |«      | k7  rt	        j
                  d«       y y # t        t        f$ r t	        j
                  d«       Y �ŒRw xY w# t        $ r Y Œét        $ r' t        j                   t         j"                  «       Y �Œw xY w# t        $ r-}dt)        |«      v rt        j                   | «       Y d }~�Œd }~ww xY w)	Néÿ   zNot POSIX or fork failed.r   rp   rk   ra   zDORGQR parameter number 5zNumpy xerbla not linked in.)ÚosÚforkÚOSErrorÚAttributeErrorrü   ÚskipÚcloseÚresourceÚ	setrlimitÚRLIMIT_COREr'   r   Úlapack_liteÚxerblar'  rÕ   Ú_exitÚ	EX_CONFIGr   ÚdorgqrrG   ÚwaitÚWEXITSTATUS)Ú	XERBLA_OKÚpidr\  r2   rÛ   Ústatuss         r+   Útest_xerbla_overrideri  Ý  sq  € ð €Ið1Ü�g‰g‹iˆð
 ˆa‚xä
�‰�ŒÜ
�‰�ŒãØ×Ñ˜8×/Ñ/°Ô8ð	#Ü�I‰I×!Ñ!×(Ñ(Ô*ð
	$Ü—‘˜2˜$˜Ó ˆAÜ�I‰I×!Ñ!×(Ñ(Ø�1�a˜ØØ�1�a˜ôô 	�‰”—‘Õô —g‘g“i‰ˆˆVÜ�>‰>˜&Ó! YÒ.Ü�K‰KÐ5Õ6ð /øôI ”^Ð$ò 1ä�‰Ð/×0ð1ûô ò 	ÙÜò 	#Ü�H‰H”R—\‘\×"ð	#ûô ò 	$Ø*¬c°!«fÑ4ô —‘˜Ô#ÿùð		$úsB   „E Á((E. ÂAF+ Å$E+Å*E+Å.	F(Å9+F(Æ'F(Æ+	G!Æ4"GÇG!zCannot start subprocessc                  ó  — ddg} t        j                  d«      }| D ]b  }|j                  dd|¬«      }t        t        j
                  d|g«       |j                  dd|¬«      }t        t        j
                  d|g«       Œd y )	NzPyQt5.QtWidgetsÚIPythonzÕ
    import sys
    {before}
    try:
        import {bad_lib}
    except ImportError:
        sys.exit(0)
    {after}
    x = np.ones(2, dtype=np.float32)
    sys.exit(0 if np.allclose(x.dot(x), 2.0) else 1)
    zimport numpy as npÚ )ÚbeforeÚafterÚbad_libz-c)rn  rm  ro  )ÚtextwrapÚdedentr®  r"   rF  Ú
executable)Úbad_libsÚtemplatero  Úcodes       r+   Útest_sdot_bug_8577rv    s�   € ð " 9Ð-€Hä�‰ð 
 ó 
	€Hð ò 5ˆØ�‰Ð&:À"Ø'.ð ó 0ˆäœŸ™¨¨dÐ3Ô4ð �‰Ð%9À"Ø'.ð ó 0ˆäœŸ™¨¨dÐ3Õ4ñ5r-   c                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestMultiDotc           
      óª  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        t        |||g«      |j	                  |«      j	                  |«      «       t        t        |||g«      t        j                  |t        j                  ||«      «      «       y ©N©r“   rr   ©rr   r“   ©r'   rÁ  r   r   r   )rK   r©  r¤  ÚCs       r+   Ú(test_basic_function_with_three_argumentsz5TestMultiDot.test_basic_function_with_three_arguments=  s�   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆäœI q¨!¨Q iÓ0°!·%±%¸³(·,±,¸q³/ÔBÜœI q¨!¨Q iÓ0´"·&±&¸¼B¿F¹FÀ1Àa»LÓ2IÕJr-   c                 ó"  — t         j                  j                  d«      }t         j                  j                  d«      }t        t        ||g«      |j	                  |«      «       t        t        ||g«      t        j                  ||«      «       y rz  r}  )rK   r©  r¤  s      r+   Ú&test_basic_function_with_two_argumentsz3TestMultiDot.test_basic_function_with_two_argumentsG  sb   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆäœI q¨! fÓ-¨q¯u©u°Q«xÔ8ÜœI q¨! fÓ-¬r¯v©v°a¸«|Õ<r-   c                 óˆ  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        t        ||||g«      |j	                  |«      j	                  |«      j	                  |«      «       y )Nr{  r|  ©rr   rp   r}  )rK   r©  r¤  r~  ÚDs        r+   Ú9test_basic_function_with_dynamic_programming_optimizationzFTestMultiDot.test_basic_function_with_dynamic_programming_optimizationO  s†   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜœI q¨!¨Q° lÓ3°Q·U±U¸1³X·\±\À!³_×5HÑ5HÈÓ5KÕLr-   c                 óB  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        t        ||||g«      j                  d«       y )Nrr   r|  r{  r%  rÔ  ©r'   rÁ  r   r   r�   )rK   ÚA1dr¤  r~  r„  s        r+   Útest_vector_as_first_argumentz*TestMultiDot.test_vector_as_first_argumentX  sq   € ä�i‰i×Ñ˜qÓ!ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆô 	”Y  Q¨¨1˜~Ó.×4Ñ4°dÕ;r-   c                 óB  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        t        ||||g«      j                  d«       y )Nr{  r|  rr   )r“   r‡  )rK   r©  r¤  r~  ÚD1ds        r+   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argumentb  sq   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�i‰i×Ñ˜qÓ!ˆô 	”Y  1 a¨˜~Ó.×4Ñ4°dÕ;r-   c                 óB  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        t        ||||g«      j                  d«       y )Nrr   r|  r{  rY   r‡  )rK   rˆ  r¤  r~  r‹  s        r+   Ú&test_vector_as_first_and_last_argumentz3TestMultiDot.test_vector_as_first_and_last_argumentl  sr   € ä�i‰i×Ñ˜qÓ!ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�i‰i×Ñ˜qÓ!ˆô 	”Y  Q¨¨3Ð/Ó0×6Ñ6¸Õ;r-   c           
      óÐ  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        j                  d«      }t        |||g|¬«      }||u sJ ‚t	        ||j                  |«      j                  |«      «       t	        |t        j
                  |t        j
                  ||«      «      «       y )Nr{  r|  ©r)   ©r'   rÁ  rA  r   r   r   )rK   r©  r¤  r~  r)   Úrets         r+   Útest_three_arguments_and_outz)TestMultiDot.test_three_arguments_and_outv  s¥   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆä�h‰h�vÓˆÜ˜˜A˜q˜	 sÔ+ˆØ�c‰zÐˆzÜ˜C §¡ q£§¡¨a£Ô1Ü˜C¤§¡¨¬2¯6©6°!°Q«<Ó!8Õ9r-   c                 óJ  — t         j                  j                  d«      }t         j                  j                  d«      }t        j                  d«      }t        ||g|¬«      }||u sJ ‚t	        ||j                  |«      «       t	        |t        j
                  ||«      «       y )Nr{  r|  )r“   r“   r�  r‘  )rK   r©  r¤  r)   r’  s        r+   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_outƒ  sz   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�h‰h�vÓˆÜ˜˜A˜ CÔ(ˆØ�c‰zÐˆzÜ˜C §¡ q£Ô*Ü˜C¤§¡¨¨1£Õ.r-   c                 óÆ  — t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t         j                  j                  d«      }t        j                  d«      }t        ||||g|¬«      }||u sJ ‚t	        ||j                  |«      j                  |«      j                  |«      «       y )Nr{  r|  rƒ  )r“   rp   r�  r‘  )rK   r©  r¤  r~  r„  r)   r’  s          r+   Ú-test_dynamic_programming_optimization_and_outz:TestMultiDot.test_dynamic_programming_optimization_and_out�  s§   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�h‰h�vÓˆÜ˜˜A˜q !˜¨#Ô.ˆØ�c‰zÐˆzÜ˜C §¡ q£§¡¨a£×!4Ñ!4°QÓ!7Õ8r-   c           	      ó.  — t         j                  j                  d«      t         j                  j                  d«      t         j                  j                  d«      t         j                  j                  d«      t         j                  j                  d«      t         j                  j                  d«      g}t        j                  g d¢g d¢g d	¢g d
¢g d¢g d¢g«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢gt        ¬«      }|dz  }t	        |d¬«      \  }}t        t        j                  |d d…dd …f   «      t        j                  |d d…dd …f   «      «       t        t        j                  |«      t        j                  |«      «       y )N)é   é#   )rš  é   )r›  r…   )r…   rÍ  )rÍ  é   )rœ  r�  )rñ  g     ÃÎ@g     Ã¾@g    €OÂ@g    €1Ç@g    €ŠÍ@)rñ  rñ  g     ‚¤@g     ±@g     Õ»@g     ‚Ä@)rñ  rñ  rñ  g     p‡@g     ˆ£@g     ÿ´@)rñ  rñ  rñ  rñ  g     @�@g     X«@)rñ  rñ  rñ  rñ  rñ  g     ˆ³@)rñ  rñ  rñ  rñ  rñ  rñ  )r   rp   rp   rs   rs   rs   )r   r   rr   rs   rs   rs   )r   r   r   rs   rs   rs   )r   r   r   r   rt   r…   )r   r   r   r   r   r…   )r   r   r   r   r   r   r8   rp   T)Úreturn_costsr–   )r'   rÁ  r   Úintr   r   r  )rK   ÚarraysÚ
m_expectedÚ
s_expectedrË   rí  s         r+   Útest_dynamic_programming_logicz+TestMultiDot.test_dynamic_programming_logic™  sC  € ô —)‘)×"Ñ" 8Ó,Ü—)‘)×"Ñ" 8Ó,Ü—)‘)×"Ñ" 7Ó+Ü—)‘)×"Ñ" 7Ó+Ü—)‘)×"Ñ" 8Ó,Ü—)‘)×"Ñ" 8Ó,ð.ˆô —X‘XÒIÚIÚIÚIÚIÚIðKó Lˆ
ô —X‘XÒ6Ú6Ú6Ú6Ú6Ú6ð8ô
 @CôDˆ
ð 	�a‰ˆ
ä,¨VÀ$ÔG‰ˆˆ1ô 	œBŸG™G A c r c¨1©2 g¡JÓ/ÜŸG™G J¨s°¨s°A±B¨wÑ$7Ó8ô	:äœBŸG™G A›J¬¯©°
Ó(;Õ<r-   c                 ó”   — t        t        t        g «       t        t        t        t        j                  j	                  d«      g«       y )Nr%  )r    r'  r   r'   rÁ  rS   s    r+   Útest_too_few_input_arraysz&TestMultiDot.test_too_few_input_arrays·  s,   € Ü”j¤)¨RÔ0Ü”j¤)¬b¯i©i×.>Ñ.>¸vÓ.FÐ-GÕHr-   N)rU   rV   rW   r  r�  r…  r‰  rŒ  rŽ  r“  r•  r—  r¢  r¤  rY   r-   r+   rx  rx  ;  s<   „ òKò=òMò<ò<ò<ò:ò/ò
9ò=ó<Ir-   rx  c                   ó2  — e Zd Zej                  j                  d ej                  d«      df ej                  d«      dfg«      d„ «       Zej                  j                  ddd	g«      d
„ «       Z	ej                  j                  dddg«      d„ «       Z
d„ Zy)ÚTestTensorinvzarr, ind©rt   r“   rn   rr   rr   ©rs   rs   rr   rp   c                 óz   — t        t        «      5  t        j                  ||¬«       d d d «       y # 1 sw Y   y xY w)N©Úind)r    r   r   Ú	tensorinv)rK   rþ  r«  s      r+   Útest_non_square_handlingz&TestTensorinv.test_non_square_handling¾  s1   € ô
 œ;Ó'ñ 	+Ü×Ñ˜S cÕ*÷	+÷ 	+ñ 	+ús   �1±:z
shape, ind)©rt   r“   rn   rs   rr   )©é   rn   rs   rp   c                 óè   — t        j                  d«      j                  |«      }t        j                  ||¬«      }|j
                  |d  |j
                  d | z   }|j
                  }t        ||«       y )Nr°  ©r2   r«  )r'   r}  rœ   r   r¬  r�   r   )rK   r�   r«  r2   Úainvr.  Úactuals          r+   Útest_tensorinv_shapez"TestTensorinv.test_tensorinv_shapeÆ  s_   € ô �F‰F�2‹J×Ñ˜uÓ%ˆÜ×Ñ !¨Ô-ˆØ—7‘7˜3˜4�= 1§7¡7¨4¨C =Ñ0ˆØ—‘ˆÜ�V˜XÕ&r-   r«  r   r—   c                 óÂ   — t        j                  d«      j                  d«      }t        t        «      5  t        j                  ||¬«       d d d «       y # 1 sw Y   y xY w)Nr°  r®  r²  )r'   r}  rœ   r    r'  r   r¬  )rK   r«  r2   s      r+   Útest_tensorinv_ind_limitz&TestTensorinv.test_tensorinv_ind_limitÒ  sI   € ô �F‰F�2‹J×Ñ˜|Ó,ˆÜœ:Ó&ñ 	+Ü×Ñ˜q cÕ*÷	+÷ 	+ñ 	+ús   ´AÁAc                 ó"  — t        j                  d«      j                  d«      }t        j                  |d¬«      }t        j
                  d«      }t        t        j                  ||d«      t         j                  j                  ||«      «       y )Nr°  r¯  rp   rª  )	r'   r}  rœ   r   r¬  r³  r   Ú	tensordotÚtensorsolve)rK   r2   r³  r3   s       r+   Útest_tensorinv_resultz#TestTensorinv.test_tensorinv_resultÚ  sa   € ä�F‰F�2‹J×Ñ˜zÓ*ˆÜ×Ñ  qÔ)ˆÜ�G‰G�B‹KˆÜœŸ™ T¨1¨aÓ0´"·)±)×2GÑ2GÈÈ1Ó2MÕNr-   N)rU   rV   rW   rü   rý   r4  r'   r³  r­  rµ  r·  r»  rY   r-   r+   r¦  r¦  ¼  sµ   „ à‡[�[×Ñ˜ZØ	ˆ�‰�Ó	 Ð"Ø	ˆ�‰�Ó	˜QÐð*
ó ñ+ó	ð+ð ‡[�[×Ñ˜\àØð,
ó ñ
'óð
'ð ‡[�[×Ñ˜UØ	ˆ2ð%
ó ñ+óð+ó
Or-   r¦  c                   óä   — e Zd Zej                  j                  d ej                  d«      df ej                  d«      dfg«      d„ «       Zej                  j                  dg d¢«      d	„ «       Z	y)
ÚTestTensorsolveza, axesr§  Nr¨  ©r   rr   c                 óÀ   — t        t        «      5  t        j                  |j                  d d «      }t        j                  |||¬«       d d d «       y # 1 sw Y   y xY w©Nrr   rŠ  )r    r   r'   r³  r�   r   rº  )rK   r2   r‹  r3   s       r+   r­  z(TestTensorsolve.test_non_square_handlingä  sK   € ô
 œ;Ó'ñ 	0Ü—‘˜Ÿ™  ˜Ó$ˆAÜ×Ñ˜q !¨$Õ/÷	0÷ 	0ñ 	0ús   �;AÁAr�   ))rr   rs   r“   )rs   rt   rt   rs   )r   rs   rs   r   c           	      ó*  — t        j                  j                  |Ž }t        j                  |j                  d d «      }t         j
                  j                  ||«      }t        t        j                  ||t        |j                  «      ¬«      |«       y rÀ  )
r'   rÁ  r.  r³  r�   r   rº  r   r¹  r  )rK   r�   r2   r3   rÅ   s        r+   Útest_tensorsolve_resultz'TestTensorsolve.test_tensorsolve_resultí  sc   € ô �I‰I�O‰O˜UÐ#ˆÜ�G‰G�A—G‘G˜B˜Q�KÓ ˆÜ�I‰I×!Ñ! ! QÓ'ˆÜœŸ™ Q¨´°A·G±G³Ô=¸qÕAr-   )
rU   rV   rW   rü   rý   r4  r'   r³  r­  rÂ  rY   r-   r+   r½  r½  â  sz   „ à‡[�[×Ñ˜YØ	ˆ�‰�Ó	 Ð%Ø	ˆ�‰�Ó	˜VÐ$ð)
ó ñ0ó	ð0ð
 ‡[�[×Ñ˜WÚ/óñBóñBr-   r½  c                  ó²   — t        j                  ddgddggd¬«      } t        t        d«      5  t	        j
                  | «       d d d «       y # 1 sw Y   y xY w)Nrp   r—   rr   r…   Úfloat16r8   zunsupported in linalg)r'   r   r!   r9  r   r0  )rþ  s    r+   Útest_unsupported_commontyperÅ  ÷  sK   € ä
�(‰(�Q˜�G˜a ˜VÐ$¨IÔ
6€CÜ	œYÐ(?Ó	@ñ Ü�‰˜Ô÷÷ ñ ús   ®AÁAz,Bad memory reports lead to OOM in ci testingc                  óø   — d} t        j                  d| gt         j                  ¬«      }t        j                  ddgt         j                  ¬«      }d|d<   t        j                  ||«      }t        |d   d«       y )Nì        rp   r8   )r   r–   )r'   rA  rö  r³  r   r   )rÿ  r2   r3   r   s       r+   Útest_blas64_dotrÈ  	  s]   € à€AÜ
�‰�!�Q�œrŸz™zÔ*€AÜ
�‰��A�œbŸj™jÔ)€AØ€A€e�HÜ
�‰ˆq�!‹€AÜ��5‘˜1Õr-   z*Numpy not compiled with 64-bit BLAS/LAPACKc            
      óð  — t         j                  } t         j                  j                  j                  }d}d}|}t        j
                  ddg| ¬«      }t        j
                  dg| ¬«      }t        j
                  dg| ¬«      } |||||||dd«      }t        |d   d«       t        |d   |«       t        |d   |«       t        |j                  «       «      }	t        d	|	cxk  xr
 d
k  «       y c «       y )Nl       rp   r8   r–   r   Úinforí  rÿ  rÇ  l        )
r'   rC  r   r_  ÚdgeqrfrA  r   rž  Úitemr   )
r0   Úlapack_routinerí  rÿ  Úldar2   Úworkr  ÚresultsÚlworks
             r+   Ú!test_blas64_geqrf_lwork_smoketestrÒ  	  sÙ   € ô �J‰J€EÜ—Y‘Y×*Ñ*×1Ñ1€Nà€AØ€AØ
€Cô 	�‰�!�Q�˜uÔ%€AÜ�8‰8�Q�C˜uÔ%€DÜ
�(‰(�A�3˜eÔ
$€Cñ ˜Q  1 c¨3°°b¸!Ó<€GÜ�˜‘ !Ô$Ü�˜‘˜qÔ!Ü�˜‘˜qÔ!ô �—	‘	“Ó€EÜˆE�EÖ!˜EÑ!Õ"Ñ!Õ"r-   c                  óÞ   — t        j                  d«      j                  d«      } t         j                  j	                  | «      }t        j
                  g d¢g d¢g d¢g«      }t        ||«       y )Né<   ©rs   rt   r…   )r   r“   rÚ  é   )rœ  é   r  é&   )rñ  é.   é4   é:   )r'   r&  rœ   r   r3  r   r   ©rÅ   r´  r.  s      r+   Útest_diagonalrÝ  (	  sX   € ô 	�	‰	�"‹×Ñ˜iÓ(€AÜ�Y‰Y×Ñ Ó"€FÜ�x‰xâÚÚð	
ó€Hô �˜Õ"r-   c                  óÐ   — t        j                  d«      j                  d«      } t         j                  j	                  | «      }t        j
                  g d¢«      }t        ||«       y )NrÔ  rÕ  )é$   ét   éÄ   )r'   r&  rœ   r   Útracer   r   rÜ  s      r+   Ú
test_tracerã  8	  sF   € ô 	�	‰	�"‹×Ñ˜iÓ(€AÜ�Y‰Y�_‰_˜QÓ€FÜ�x‰xšÓ'€Hä�˜Õ"r-   c                  ó  — t        j                  d«      j                  d«      } t         j                  j	                  | | dz   «      }t        j
                  g d¢g d¢g d¢g«      }t        ||«       g d¢}g d¢}t         j                  j	                  ||«      }t        g d¢«      }t        ||«       t        t        d«      5  | d d …dd …f   }t         j                  j	                  ||«       d d d «       y # 1 sw Y   y xY w)	NrÕ  r%  rp   )r–   rr   r–   r×  r™  )r¥   r“   r¥   z8input arrays must be \(arrays of\) 3-dimensional vectors)	r'   r&  rœ   r   Úcrossr   r   r!   r'  )rÅ   r´  r.  rw  re  Úx_2dims         r+   Ú
test_crossrç  C	  sÔ   € Ü
�	‰	�!‹×Ñ˜VÓ$€AÜ�Y‰Y�_‰_˜Q  A¡Ó&€FÜ�x‰xÚÚÚðó €Hô �˜Ô"ò 	€AÚ€AÜ�Y‰Y�_‰_˜Q Ó"€FÜ’\Ó"€Hä�˜Ô"ä	ÜØCó
ñ (ð ’1�a‘b�5‘ˆÜ
�	‰	�‰˜ Ô'÷(÷ (ñ (ús   Ã,C8Ã8Dc                  óè   — t        j                  d«      j                  d«      } t         j                  j	                  | | «      dk(  sJ ‚t         j                  j	                  | | ddg¬«      dk(  sJ ‚y )Nr“   rÅ  é7   rW  rŠ  )r'   r&  rœ   r   r¹  )rÅ   s    r+   Útest_tensordotrê  ^	  sb   € ä
�	‰	�!‹×Ñ˜VÓ$€Aä�9‰9×Ñ˜q !Ó$¨Ò*Ð*Ð*Ü�9‰9×Ñ˜q !¨6°6Ð*:ÐÓ;¸rÒAÐAÑAr-   c                  óî   — t        j                  d«      j                  d«      } t         j                  j	                  | | j
                  «      }t        j                  ddgddgg«      }t        ||«       y )Nr“   rÅ  r…   é   r&  )r'   r&  rœ   r   r   r”  r   r   rÜ  s      r+   Útest_matmulrí  f	  s[   € ô 	�	‰	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×Ñ˜a §¡Ó%€FÜ�x‰x˜!˜R˜ 2 r (Ð+Ó,€Hä�˜Õ"r-   c                  óP  — t        j                  d«      j                  d«      } t         j                  j	                  | «      }| j
                  }t        ||«       t        t        d«      5  t         j                  j	                  | d d …df   «       d d d «       y # 1 sw Y   y xY w)Nr“   rÅ  z$array must be at least 2-dimensionalr   )	r'   r&  rœ   r   Úmatrix_transposer”  r   r!   r'  rÜ  s      r+   Útest_matrix_transposerð  p	  s€   € Ü
�	‰	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×'Ñ'¨Ó*€FØ�s‰s€Hä�˜Ô"ä	ÜÐ:ó
ñ ,ô 	�	‰	×"Ñ" 1¢Q¨ T¡7Ô+÷,÷ ,ñ ,ús   Á,'BÂB%c                  óT  — t        j                  d«      j                  d«      } t         j                  j	                  | «      }t        |t        j                  d«      d¬«       t         j                  j	                  | d¬«      }t        |t        j                  dgg«      d¬«       y )NrÕ  r%  çž^)Ë�,@rs   ©r5   T©r«  )r'   r&  rœ   r   Úmatrix_normr   rC  r   )rÅ   r´  s     r+   Útest_matrix_normrö  }	  su   € Ü
�	‰	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×"Ñ" 1Ó%€Fä˜¤§
¡
¨7Ó 3ÀAÕFä�Y‰Y×"Ñ" 1¨tÐ"Ó4€Fä˜¤§¡¨7¨)¨Ó 5ÀaÖHr-   c                  ót  — dD �]2  } t         j                  t         j                  t         j                  fD ]ý  }t        j                  | |«      }t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |t         j                  ¬«      d«       Œÿ �Œ5 y )N)r¾  )rr   r   rk   rš  rš  r   r¬  rp   rr   )	r'   rC  rö  rÑ  rA  r   r   rõ  r   )r�   r0   rÅ   s      r+   Útest_matrix_norm_emptyrø  ˆ	  sá   € Ø)ó BˆÜ—j‘j¤"§*¡*¬b¯h©hÐ7ò 	BˆEÜ—‘˜ Ó&ˆAÜœŸ™×.Ñ.¨q°eÐ.Ó<¸aÔ@ÜœŸ™×.Ñ.¨q°eÐ.Ó<¸aÔ@ÜœŸ™×.Ñ.¨q°aÐ.Ó8¸!Ô<ÜœŸ™×.Ñ.¨q°aÐ.Ó8¸!Ô<ÜœŸ™×.Ñ.¨q´b·f±fÐ.Ó=¸qÕAò	BñBr-   c                  ó"  — t        j                  d«      j                  d«      } t         j                  j	                  | «      }t        |t        j                  d«      d¬«       t         j                  j	                  | d¬«      }t        |t        j                  g d¢«      d¬«       t         j                  j	                  | d	¬
«      }t        j                  ddd¬«      }t        |j                  |j                  «       t        ||d¬«       y )NrÕ  r%  rò  rs   ró  r   rà  )gÚ|a2Õ@gsh‘í|? @gDioð…I#@Trô  r³   rC  r8   )r'   r&  rœ   r   Úvector_normr   rC  r   Úfullr   r�   rÜ  s      r+   Útest_vector_normrü  ’	  sÀ   € Ü
�	‰	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×"Ñ" 1Ó%€Fä˜¤§
¡
¨7Ó 3ÀAÕFä�Y‰Y×"Ñ" 1¨1Ð"Ó-€FäØ”—‘Ò0Ó1À!õô �Y‰Y×"Ñ" 1¨tÐ"Ó4€FÜ�w‰w�v˜w¨iÔ8€HÜ�—‘˜xŸ~™~Ô.Ü˜ ¸Ö;r-   c                  ó¶  — t         j                  t         j                  t         j                  fD ]§  } t        j                  d| «      }t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |d¬«      d«       t        t         j                  j                  |t         j                  ¬«      d«       Œ© y )Nr   rp   rš  rr   )	r'   rC  rö  rÑ  rA  r   r   rú  r   )r0   rÅ   s     r+   Útest_vector_norm_emptyrþ  ¤	  s’   € Ü—*‘*œbŸj™j¬"¯(©(Ð3ò >ˆÜ�H‰H�Q˜ÓˆÜ”R—Y‘Y×*Ñ*¨1°!Ð*Ó4°aÔ8Ü”R—Y‘Y×*Ñ*¨1°!Ð*Ó4°aÔ8Ü”R—Y‘Y×*Ñ*¨1´"·&±&Ð*Ó9¸1Õ=ñ	>r-   c                  óf  — t        t        t        j                  d«      «      d«       t        t        t        j                  d«      «      d«       t        t        t        j                  d«      «      d«       t        t        j                  d«      «      } t        | j                  d«       t        | j
                  t        j                  «       t        t        j                  d«      «      } t        | t        j                  g d¢«      «       t        t        j                  d	«      «      } t        | t        j                  ddg«      «       t        t        j                  d
«      «      } t        | j                  d«       t        | t        j                  dt        j                  ¬«      «       y )Nrk   r   )r   r…   )r…   r   )r   r…   r…   rl   )rs   r   r…   r	  )rr   r…   r   )rr   rs   r   rt   rÅ  r8   )r   r   r'   rA  r�   r0   Úintpr   )r(  s    r+   Útest_empty_matrix_rankr  «	  s  € Ü”œRŸX™X fÓ-Ó.°Ô2Ü”œRŸX™X fÓ-Ó.°Ô2Ü”œRŸX™X fÓ-Ó.°Ô2äœŸ™ )Ó,Ó-€FÜ�—‘˜tÔ$Ü�—‘œrŸw™wÔ'äœŸ™ )Ó,Ó-€FÜ�œŸ™¢)Ó,Ô-äœŸ™ )Ó,Ó-€FÜ�œŸ™ 1 a &Ó)Ô*äœŸ™ ,Ó/Ó0€FÜ�—‘˜vÔ&Ü�œŸ™ &´·±Ô8Õ9r-   )r“   rÚ  )–Ú__doc__rµ   rV  rF  rp  Ú	threadingrÖ   r…  rü   Únumpyr'   r   r   r   r   r   r   r	   r
   r   r   r   r   r   Únumpy._corer   Únumpy.exceptionsr   Únumpy.linalgr   r   r   r   r   Únumpy.linalg._linalgr   Únumpy.testingr   r   r   r   r   r   r   r   r    r!   Únumpy.testing._private.utilsr"   Únumpy.linalg.lapack_liteÚImportErrorr,   r1   r9   r;   r=   r[   rE   r_   rÁ  rÂ  r™   rº   rÃ  r    rÌ   rÐ   rÒ   rß   rè   rð   rö   r   r  r  r  r  r6  r;  rI  rQ  rZ  ra  rl  ru  rz  r†  r’  r—  r£  rÈ  rÏ  rÒ  rÕ  rÜ  rÞ  rï  rø  r  rý   r4  r0   r  rF  rL  rc  rk  rs  r|  r¶  rÉ  rË  rÙ  rÜ  rÞ  rá  rã  rå  rç  rù  rû  r$  r=  rO  rD  rS  r‡  Úactive_countri  rþ   rv  rx  r¦  r½  rÅ  rZ  rÈ  rÆ  rÒ  rÝ  rã  rç  rê  rí  rð  rö  rø  rü  rþ  r  )r   s   0r+   ú<module>r     s!  ðñó Û 	Û 
Û Û Û Û ã ã ÷÷ ÷ õ õ !Ý &ß PÕ PÝ >÷÷ ÷ õ 8ð	Û#ò*ð .Ð ó9ò5ò
7ò
ò€÷,ñ ,ò,ð ‡	�	‡�ˆtÔ à
€ð ‰�8ÙˆxÙ�r˜2�h  R Ð)°Ô8Ù�b˜"�X VÔ,ó.ñ ˆxÙ�r˜2�h  R Ð)°Ô8Ù�b˜"�X VÔ,ó.ñ ˆzÙ�r˜2�h  R Ð)°Ô8Ù’l¢LÐ1¸Ô@óBñ ˆyÙ�w Ð'¨&°&Ð)9Ð:À'ÔJÙ�g˜wÐ'¨wÔ7ó9ñ ˆyÙ�w Ð'¨&°&Ð)9Ð:À'ÔJÙ�g˜wÐ'¨wÔ7ó9ñ ˆ{Ù�w Ð'¨&°&Ð)9Ð:À'ÔJÙÚ.Ò0HÐIØ ôóñ ˆuØˆr�x‰x˜ fÔ-Øˆr�x‰x˜ FÔ+Ø�Jô ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ ó"ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ ó"ñ ˆzØ�A�˜˜A˜ÐØ�1ˆvóðA#ó #
ñ #€ðL ‰�;Ùˆ~Ù’l¢LÐ1¸Ô@Ù�b˜"�X VÔ,ó.ñ ˆ~Ù�r˜2�h  R ¨2¨r¨(Ð3¸6ÔBÙ’\¨Ô0ó2ñ ˆ~Ù’l¢LÐ1¸Ô@Ù�b˜"�X VÔ,ó.ñ ˆ~Ù�r˜2�h  R ¨2¨r¨(Ð3¸6ÔBÙ’\¨Ô0ó2ñ ˆÙÚ/Ò1LÐMØ ôñ �g˜wÐ'¨wÔ7ó9ñ ˆÙØ˜wÐ'¨'°7Ð);¸gÀwÐ=OÐPØ!ôñ Ò0¸Ô@óBñ ˆÙÚ0Ò2MÐNØ!ôñ �g˜wÐ'¨wÔ7ó9ñ ˆÙØ˜wÐ'¨'°7Ð);¸gÀwÐ=OÐPØ!ôñ Ò0¸Ô@óBñ Ð ÙÚ0Ò2MÐNØ!ôñ �w Ð(¨6°6Ð*:Ð;À7ÔKóMñ Ð ÙØ˜wÐ'¨'°7Ð);¸gÀwÐ=OÐPØ!ôñ Ø˜wÐ'¨&°&Ð)9¸FÀFÐ;KÐLØ!ôóñ ˆvØ�y‰y�~‰~˜a Ó$Ø�y‰y�~‰~˜aÓ ó"ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ ó"ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ ó"ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ Ø�Jô ñ ˆuØ�y‰y�~‰~˜a Ó#Ø�y‰y�~‰~˜aÓ Ø�Jô ðCE!ó E
ñ E€ðP ‰�;ÙˆyÙ�r˜2�h  R Ð)°Ô8Øóñ ˆyÙ�r˜2�h  R Ð)°Ô8Øóñ ˆzÙ�r˜6�l V¨Q KÐ0¸Ô@Øóñ ˆzÙ�r˜6�l V¨Q KÐ0¸Ô@Øóñ ˆxØˆr�x‰x˜ fÔ-ØØ�Jô ñ ˆ{Ø�A�˜˜A˜ÐØóñ ˆÙ�r˜2�h  R Ð)Ó*Øóñ ˆ}Ø�y‰y�~‰~˜a Ó#Øóð/!ó 
ñ €ò@ðB Ñ	 Ó	"Ñ "€ò-'ò`ð Ñ	Ó	Ñ €÷1ñ 1ô.2˜>ô 2ô2˜nô 2ô2˜ô 2ô	F nô 	Fô	I¨ô 	Iô
+ >ô 
+ò$ô+Ð%Ð'Fô +ôH3�
ô H3ôV/Ð#Ð%Dô /ô0ˆhô 0ô.)Ð'Ð)Hô )ô-�,ô -ô66Ð#Ð%Dô 6ô!+ˆhô !+÷H5ñ 5ô,Ð#Ð%Dô ,ô8ˆh˜ô 8ô,,Ð)Ð+Gô ,ô,AÐ(¨,ô Aô+1Ð$Ð&Eô +1ô\M*ˆyô M*ô`0Ð$Ø'Ø/Ø2ô0ô	ˆyô 	ô0Ð*Ð,Hô 0ô	Ð*ô 	ò/ô#Ð#Ð%Dô #ô*'1ˆhô '1ôT3Ð%Ð'>ô 3ô<.+�
ô .+ðb ‡�×Ñ˜Ð5HÖI°  §¡¨¥ÒIÓJ÷S:ð S:ó KðS:ôl?Ð)Ð+Gô ?÷3-ñ 3-ôlBÐ%Ð'Cô B÷.8+ñ 8+÷v
=ñ 
=ô\Q�}ô \Qô~v<�-ô v<ôr	�Ð-ô 	÷Jñ Jô8˜-ô ô
˜-ô ô
˜ô ô
	�YÐ 3ô 	ô	�YÐ 3ô 	ô	�IÐ1ô 	÷&Eñ &EòR
(÷^+ñ ^+÷B?
ñ ?
÷D3ñ 3ò"5ð* ‡�×Ñ�GÐ$BÐÓCñ;ó Dð;ð ‡�×ÑØCóð ‡�×ÑØ€I×ÑÓ˜qÑ ØLð ó Nð ‡�×ÑØØGð ó Iñ.7óIóNóð.7ðb ‡�×Ñ�GÐ$=ÐÓ>Ø‡�×Òñ5ó ó ?ð5÷D~Iñ ~I÷B#Oñ #O÷LBñ Bò*ð ‡�×ÒÐGÐÓHñó Iðð ‡�×Ò�|Ð#ØFð ó Hñ#óHð#ò4#ò #ò(ò6Bò#ò
,òIòBò<ò$>ó:øðsK ò 	ò 	ð		üò`   Js   Âf> Ýg

æ>gçg