Ë
    HU hXI ã                   óR  — 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.m/Z/ 	 ddl0Z	d	„ Z2e*Z3dêd
„Z*d„ Z4d„ Z5d„ Z6h d£Z7 G d„ d«      Z8d„ Z9e
jt                  jw                  d«       g Z<e< e9d e8d eddgddgge¬«       eddge¬«      «       e8d eddgddgge¬«       eddge¬«      «       e8d eddgddgge¬«       eg d¢g d¢ge¬«      «       e8d edd gd!d"gge¬«       ed#dge¬«      «       e8d$ edd gd!d"gge¬«       ed#dge¬«      «       e8d% edd gd!d"gge¬«       eg d&¢g d'¢ge¬«      «       e8d( e
jz                  d)e¬«       e
jz                  d*e¬«      d+h¬,«       e8d-e
jt                  j}                  d.d.«      e
jt                  j}                  d.«      «       e8d/e
jt                  j}                  d0d0«      e
jt                  j}                  d0«      «       e8d1d0d2gd3d4ggd2d0g«      g
«      z  Z<e< e9d5 e8d6 eg d7¢g d¢ge¬«       eddge¬«      «       e8d8 eddgddgd9d:gge¬«       eg d;¢e¬«      «       e8d< eg d7¢g d¢ge¬«       eddge¬«      «       e8d= eddgddgd9d:gge¬«       eg d;¢e¬«      «       e8d> eg d?¢g d@¢ge¬«       ed#dge¬«      «       e8dA edBdCgdDdEgdFdGgge¬«       eg dH¢e¬«      «       e8dI eg d?¢g d@¢ge¬«       ed#dge¬«      «       e8dJ edBdCgdDdEgdFdGgge¬«       eg dH¢e¬«      «       e8dK eg d?¢g d@¢ge¬«       ed#dgdLdMgge¬«      «       e8dN edBdCgdDdEgdFdGgge¬«       ed#dgdLdMgdLdMgge¬«      «       e8dOe
jt                  j}                  d.dP«      e
jt                  j}                  d.«      «       e8dQe
jt                  j}                  d0dR«      e
jt                  j}                  d0«      «       e8dSe
jt                  j}                  dRd0«      e
jt                  j}                  dR«      «       e8dTe
jt                  j}                  dd4«      e
jt                  j}                  d«      d+h¬,«       e8dUe
jt                  j}                  d4d«      e
jt                  j}                  d4«      d+h¬,«      g«      z  Z<e< e9dV e8dW eddgddgge¬«      d«       e8dX eddgddgge¬«      d«       e8dY edd gdZd0gge¬«      d«       e8d[ edd gdZd0gge¬«      d«       e8d\ e
jz                  d)e¬«      dd+h¬,«       e8d]d0d2gd2d0ggd«       e8d^ eddgddgg«      d«       e8d_e
jt                  j}                  d0d0«      d«      g«      z  Z<d`„ Z?e< e?«       z  Z<da„ Z@db„ ZAe< eA«       z  Z< G dc„ dd«      ZB G de„ dfeB«      ZC G dg„ dheB«      ZD G di„ djeB«      ZE G dk„ dleB«      ZF G dm„ dneB«      ZG G do„ dpeB«      ZHdq„ ZI G dr„ dseCeF«      ZJ G dt„ dueJ«      ZK G dv„ dweCeF«      ZL G dx„ dyeL«      ZM G dz„ d{eCeF«      ZN G d|„ d}eN«      ZO G d~„ deCeF«      ZP G d€„ d�eP«      ZQ G d‚„ dƒ«      ZR G d„„ d…eCeF«      ZS G d†„ d‡eSeR«      ZT G dˆ„ d‰eEeH«      ZU G dŠ„ d‹eUeR«      ZV G dŒ„ d�eCeF«      ZW G dŽ„ d�eW«      ZX G d�„ d‘eCeDeFeG«      ZY G d’„ d“eY«      ZZ G d”„ d•eEeH«      Z[ G d–„ d—e[«      Z\d˜„ Z] G d™„ dšeCeF«      Z^ G d›„ dœe^«      Z_ G d�„ džeCeD«      Z` G dŸ„ d e`«      ZaejÄ                  jÇ                  d¡d¢D � cg c]  }  e
jÈ                  | «      ‘Œ c} «       G d£„ d¤«      «       Ze G d¥„ d¦eEeH«      Zf G d§„ d¨«      Zg G d©„ dªeEeH«      Zh G d«„ d¬«      Zi G d­„ d®«      Zj G d¯„ d°ej«      Zk G d±„ d²ej«      Zl G d³„ d´elek«      Zm G dµ„ d¶«      Zn G d·„ d¸ej«      Zo G d¹„ dºej«      Zp G d»„ d¼ej«      Zq G d½„ d¾emeo«      Zr G d¿„ dÀemep«      Zs G dÁ„ dÂemeq«      Zt G dÃ„ dÄ«      ZudÅ„ Zv G dÆ„ dÇ«      Zw G dÈ„ dÉ«      Zx G dÊ„ dË«      ZydÌ„ ZzejÄ                  j÷                  e&dÍ¬Î«      dÏ„ «       Z|ejÄ                  j÷                   ejú                  «       d0kD  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’y# e1$ 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Úsuppress_warningsc                 ó„   — t        | «      t        |t        j                  «      rt        |«      u S t        j                  u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     úV/var/www/timesheet/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 �]T  }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 �cg c]  }d|z  ‘Œ	 c}«      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–— �ŒW yc c}}w 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>C  s   è ø€ ÒG°V”u˜T 4¨×0ÑGùs   ‚r8   l   ï>[= .Ústride_Ú_z%+dr   )Ú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ÚjÚss
             r+   Ú_stride_comb_iterrÊ   1  sr  è ø€ ô
 �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¸7Ö'C°a¨°«	Ò'CÓDÑDÐDÒDð �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ùò (Dùs-   ‚BK ÂKÂ1B;K Å,KÅ8C3K É-K ÊA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Î   a  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_casesu  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Ð   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!  r0  "  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_k   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-  r1  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.do5  s8   € Ü—
‘
˜1“ˆÜœF 1 eÓ,Ü5°aÓ8ô	:äÔ# E¨1Ó-Õ.r-   Nr  rY   r-   r+   r4  r4  3  s   „ ó/r-   r4  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   r6  r0   r  s      r+   r  zTestInv.test_types=  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=  D  r"  r-   r!  ©r   rp   rp   r8   rk   )r'   r(   ÚzerosÚint_r¸   r   r6  r   r0   r%   Úfloat64r   r�   r&   Ú	complex64©rK   r!  r2   Úress       r+   r-  zTestInv.test_0_sizeB  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û   r2  r   r	   r   r   r  r-  rY   r-   r+   r9  r9  <  s4   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ1ó Jð1ó0r-   r9  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.doU  s,   € Ü�^‰^˜AÓˆÜ"ŸJ™J q›MÑˆ�Ü˜B Õ(r-   Nr  rY   r-   r+   rG  rG  S  s   „ ó)r-   rG  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        j                  ddgddgg|¬«      }t        t        j                  |«      j
                  t        |«      «       y ©Nrp   r  r8   r–   )r'   r   r   r   rI  r0   r;   r  s      r+   r  zTestEigvals.test_types\  st   € ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ”V—^‘^ AÓ&×,Ñ,¨eÔ4Ü�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!  rT  e  r"  r-   r!  r>  r8   ©r   rp   rk   rl   )r'   r(   r?  r@  r¸   r   rI  r   r0   r%   rA  r   r�   r&   rB  rC  s       r+   r-  zTestEigvals.test_0_sizec  sà   € ô	œBŸJ™Jô 	ä�H‰H�Y¤b§g¡gÔ.×3Ñ3°MÓBˆÜ�n‰n˜QÓˆÜ�—	‘	—‘¤"§*¡*Ð,Ô-Ü�V˜SŸY™YÔ'ä”
˜3¤§
¡
Ó+Ô,ä�H‰H�V¤2§<¡<Ô0×5Ñ5°mÓDˆÜ�n‰n˜QÓˆÜ�—	‘	—‘¤"§,¡,Ð.Ô/Ü�T˜3Ÿ9™9Ô%ä”
˜3¤§
¡
Ó+Õ,r-   NrE  rY   r-   r+   rO  rO  [  s6   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñHó JðHó-r-   rO  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   rJ  ÚeigenvaluesÚeigenvectorsr   r   r'   r   r=   r0   r   r,   )rK   r2   r3   rJ   rD  r[  r\  s          r+   rO   zEigCases.dox  sz   € Ü�j‰j˜‹mˆØ$'§O¡O°S×5EÑ5E�\ˆÜœ˜q ,Ó/ÜŸ
™
 <Ó0´2·:±:¸kÓ3JÈ3ÐPTÒVWÈ<Ñ3XÑXÜ% k×&7Ñ&7Ó8õ	:ô 	Ô# L°!Ó4Õ5r-   Nr  rY   r-   r+   rW  rW  v  s   „ ó6r-   rW  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	        |j
                  |«       t        j                  ddgddgg|¬«      }t         j                  j                  |«      \  }}t	        |j
                  t        |«      «       t	        |j
                  t        |«      «       y rQ  )r'   r   r   rJ  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˜eÔ$Ü�Q—W‘W˜eÔ$ä�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!  re  �  r"  r-   r!  r>  r8   rU  rk   rl   )r'   r(   r?  r@  r¸   r   rJ  r   r0   r%   rA  r   r�   r&   rB  ©rK   r!  r2   rD  Ú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§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ˆÜ—Z‘Z “]‰
ˆˆUÜ�—‘× Ñ ¤B§L¡LÐ0Ô1Ü�—	‘	—‘¤"§,¡,Ð.Ô/Ü�Q—W‘W˜eŸk™kÔ*Ü�T˜3Ÿ9™9Ô%ä”
˜1œbŸj™jÓ)Õ*r-   NrE  rY   r-   r+   r^  r^  �  s4   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ	8ó Jð	8ó+r-   r^  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Â   rD  rn  ro  rp  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û   r2  r   r	   r   r   r  rY   r-   r+   ri  ri  ¥  s4   „ Ø€Ià‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jñ5r-   ri  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.rY  )
r   rm  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+   rr  rr  ´  s   „ ó,r-   rr  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   Trk  ©rt   rt   rk   rt   )r   rt   N)r'   r·   r   rm  r@   r   r�   Úeye)rK   rÂ   rt  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  Frk  )r'   r   r   rm  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+   rw  rw  ¿  s   „ ò$ó8r-   rw  c                   ó   — e Zd Zd„ Zy)ÚSVDHermitianCasesc                 óR  — t        j                  |dd¬«      \  }}}t        |t        t	        j
                  |«      t	        j
                  |«      dd d d …f   z  t	        j
                  |«      «      t        |j                  «      ¬«       d„ }t        t	        j                  | ||«      «      t	        j                  t	        j                  |j                  d   «      |j                  «      «       t        t	        j                  | ||«      «      t	        j                  t	        j                  |j                  d   «      |j                  «      «       t        t	        j                  |«      dd d d…f   |«       t        t        ||«      «       t        t        ||«      «       y )NFT©r@   .rY  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   rm  r   r   r'   r   r=   r0   r   r  rz  r�   r   Úsortr   r,   )rK   r2   r3   rJ   rt  rÉ   ru  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ô
 	œBŸI™I a©°1«Ó6¼¿¹ÌÏÉÈqÏwÉwÐWYÉ{ÓH[Ð]^×]dÑ]dÓ8eÔfÜœBŸI™I b©)°B«-Ó8¼"¿/¹/Ì"Ï&É&ÐQS×QYÑQYÐZ\ÑQ]ÓJ^Ð`b×`hÑ`hÓ:iÔjÜ”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y)ÚTestSVDHermitianTN)rU   rV   rW   r@   rY   r-   r+   r�  r�  é  s   „ Ø�Ir-   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)rl  r  ).r–   r…   rƒ   ©r4   r5   rr   r—   rp   r–   Úfro)r   r    r   r   Úcondrm  r   r'   r6  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                   óf   — e Zd Zd„ Zd„ Zej                  j                  ddd¬«      d„ «       Zd„ Z	y	)
ÚTestCondc                 ó¤  — t        g d¢g d¢g d¢g«      }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   rt   gUUUUUUå?rp   r–   r  r”  gUUUUU6@)r   r   r   r•  r   r'   r™  ©rK   ÚAs     r+   Útest_basic_nonsvdzTestCond.test_basic_nonsvd  s‡   € ä’:š{ªJÐ7Ó8ˆÜœ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-   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'   r?  Úonesr²   r³   r   r   r•  )rK   ÚAsÚp_posÚp_negr   Úps         r+   Útest_singularzTestCond.test_singular%  s—   € ô �h‰h�vÓ¤§¡¨£Ð0ˆÚ#ˆØ�R�ˆÜ×%Ñ% b¨%Ó0ò 	.‰DˆAˆqô ”F—K‘K  1Ó%¨Ñ,Õ-ð	.ô ×%Ñ% b¨%Ó0ò 	‰DˆAˆqÜ�K‰K˜˜1Õñ	r-   TFz/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#  rU  )rs   rr   rr   ©rp   r   rp   rp   r   r¤  rr   )	r'   r¥  Únanr   r•  r   r&   rA  Úisnan)rK   Úpsr§  r   r©  rš  s         r+   Útest_nanzTestCond.test_nan3  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—   rU  ©rp   r   )
r'   ÚrandomÚseedÚrandr   r•  r   r   r   Úisfinite)rK   r   r©  rš  s       r+   Útest_stacked_singularzTestCond.test_stacked_singularN  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ª  rú   rû   Úxfailr²  r¹  rY   r-   r+   r�  r�    sC   „ òFòð ‡[�[×Ñ�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   s         r+   rO   zPinvCases.doc  s@   € Ü—‘˜Q“ˆäˆÜ™C¡ A v£°Ó2°AÀaÐXZÕ[ÜÔ# F¨AÓ.Õ/r-   Nr  rY   r-   r+   r¼  r¼  ^  s   „ ó
0r-   r¼  c                   ó   — e Zd Zy)ÚTestPinvNr   rY   r-   r+   rÃ  rÃ  k  ó   „ Ø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.doq  sC   € Ü—‘˜Q¨$Ô/ˆäˆÜ™C¡ A v£°Ó2°AÀaÐXZÕ[ÜÔ# F¨AÓ.Õ/r-   Nr  rY   r-   r+   rÆ  rÆ  o  s   „ ó0r-   rÆ  c                   ó   — e Zd Zy)ÚTestPinvHermitianNr   rY   r-   r+   rÉ  rÉ  y  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  ©ÚrcondrY  z%`rtol` and `rcond` can't be both set.)Úmatch)rÍ  rZ  )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   rI  r   r   Úreducer'   ÚexpÚ
atleast_1dr¶   r   r   )rK   r2   r3   rJ   ÚdrD  rÉ   ÚldÚadrK  Ú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'   r?  rB  r   rÖ  r   r   r0   r%   r×  Úfloat32rA  )rK   r2   rD  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û   r2  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                 ó0  — 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(  rUd|_        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   rm  Úlstsqr   r¼   r   r   r   Ú__array_wrap__r¶   r–  rš   r   r¸   r%   Ú
issubdtyper0   Úfloatingr,   )rK   r2   r3   rJ   Úarrrá  Únrt  rÉ   ru  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Ò&Ø&*�Ô#Ü˜YŸ_™_¨m×.AÑ.AÕBäŸ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   ÚTr   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_dims  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û   r2  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_power&  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 ]D  } ||j                  |«      «       |t        k7  sŒ$ || j                  j                  |«      «       ŒF 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>.tz2  s0   € Ü˜a Ó#ˆBÜ˜Ô6°qÓ9Ô:Ü˜Ÿ™ 1§7¡7Õ+r-   ©Ú	rshft_allrÚ  ÚobjectÚstacked©rK   r  r  rŒ  s       r+   Útest_power_is_zeroz"TestMatrixPower.test_power_is_zero1  sJ   € ò	,ð
 —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔØ”V‹|Ù�4—<‘<×&Ñ& rÓ*Õ+ñ	,r-   c                 ó°   — d„ }| j                   D ]D  } ||j                  |«      «       |t        k7  sŒ$ || j                  j                  |«      «       ŒF 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>.tz=  s*   € Ü˜c 1Ó%ˆBÜ˜˜SÔ!Ü˜Ÿ™ 3§9¡9Õ-r-   r  r  s       r+   Útest_power_is_onez!TestMatrixPower.test_power_is_one<  sJ   € ò	.ð
 —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔØ”V‹|Ù�4—<‘<×&Ñ& rÓ*Õ+ñ	,r-   c                 ó°   — d„ }| j                   D ]D  } ||j                  |«      «       |t        k7  sŒ$ || j                  j                  |«      «       ŒF y )Nc                 óÀ   — t        | d«      }| j                  t        k7  rt        nt        }t        | || | «      «       t        |j                  | j                  «       y )Nrr   )r   r0   r  r   r   r   )rŒ  r  Úmmuls      r+   r  z-TestMatrixPower.test_power_is_two.<locals>.tzH  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_twoG  sJ   € ò	.ð —>‘>ò 	,ˆCÙˆs�z‰z˜"‹~ÔØ”V‹|Ù�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Œ  Úinvmatr$  s      r+   r  z3TestMatrixPower.test_power_is_minus_one.<locals>.tzT  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_oneS  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_squarec  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 r(  )r*  ÚnoninvrÚ  r    r   r   r.  s      r+   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertibleh  s3   € à�—‘ÑØØ�k‰k× Ñ  Ó$ˆÜ”k¤<°°bÕ9r-   N)rU   rV   rW   r'   rz  r  r  r  r  r  r   r5  Úblockr  r  r0   r*  r  r  r!  r%  r+  r/  r1  rú   rû   Úskipifr   r6  rY   r-   r+   r  r    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Ô  rY  rn  )r   ÚeigvalshrJ  r�  r   r=   r0   )rK   r2   r3   rJ   rK  rL  rM  Úev2s           r+   rO   zTestEigvalshCases.dor  sn   € ô �_‰_˜Q Ó$ˆÜ"ŸJ™J q›MÑˆ�Ø�‰˜"ˆÔÜ˜˜G¬(°2·8±8Ó*<Õ=ä�o‰o˜a Ó%ˆÜ˜˜W¬8°B·H±HÓ+=Ö>r-   Nr  rY   r-   r+   r:  r:  p  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)ÚTestEigvalshr0   c                 óº   — t        j                  ddgddgg|¬«      }t         j                  j                  |«      }t	        |j
                  t        |«      «       y r  )r'   r   r   r=  r   r0   r9   )rK   r0   rÂ   ra  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   r=  ©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–   rY  r<  rE  Úlrn  rt  )r'   r   r	   r=   r   r=  r   )rK   ÚKloÚKupÚtgtrZ  ra  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!  rT  £  r"  r-   r!  r>  r8   rU  rk   rl   )r'   r(   r?  r@  r¸   r   r=  r   r0   r%   rA  r   r�   r&   rB  rê  rC  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û   r2  r   r	   r   r   r  rJ  rQ  r-  rY   r-   r+   r@  r@  ~  s?   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jð5ò
Bò+ó,-r-   r@  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Ô  .rY  rn  )rZ  Úerr_msg)r   Úeighr[  r\  rJ  r�  r   r   r   r'   r   r=   r0   Úrepr)rK   r2   r3   rJ   rD  rK  ÚevcrL  rM  r>  Ú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+   rW  rW  ´  s   „ óBr-   rW  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   rZ  r   r0   r9   r`  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 rC  )r'   r   rê  r    r%  r   rZ  rI  s     r+   rJ  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 rL  )r'   r   r	   r=   r   rZ  r   )rK   rN  rO  rP  rZ  ra  rb  s          r+   rQ  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!  re  ñ  r"  r-   r!  r>  r8   rU  rk   rl   )r'   r(   r?  r@  r¸   r   rZ  r   r0   r%   rA  r   r�   r&   rB  rê  rf  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-   NrU  rY   r-   r+   r_  r_  Ë  s>   „ Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ%ó Jð%ò>ò+ó,+r-   r_  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Â   rD  s     r+   Úcheck_dtypez_TestNormBase.check_dtype
  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Ústaticmethodrl  rY   r-   r+   rg  rg    s   „ Ø	€BØ
€Càñ=ó ñ=r-   rg  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        «       5 }|j                  t        d«       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å  údivide by zero encounteredr–   r   rr   rp   rb   r  rt   g      Ð?ra   )r'   r   Ú	typecodesrÚ  r   r   rl  r   r"   ÚfilterÚRuntimeWarningr0   r%   ©	rK   r2   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚanÚsups	            r+   Útest_vector_return_typez(_TestNormGeneral.test_vector_return_type  sÎ  € Ü�H‰H’YÓˆä—l‘l <Ñ0ˆÜŸ™ ZÑ0ˆà -Ñ/ˆ	à"ó 	)ˆIØ—‘˜)Ó$ˆBä�bœ2Ÿ6™6˜'Ó"ˆBØ×Ñ˜R Ô$Ü  CÔ(ä"Ó$ð -¨Ø—
‘
œ>Ð+GÔHÜ˜"˜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Ö(ñ?	)÷-ñ -ús   ÂAH4È4H>	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   rm  r   )rb  rK   s    €r+   Ú_testz+_TestNormGeneral.test_vector.<locals>._testH  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ˆ  rb  s   `     r+   Útest_vectorz_TestNormGeneral.test_vectorC  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_axisa  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)rY  )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   rr  r‚  r‰  r›  r¦  rY   r-   r+   rp  rp    s   „ òFò
')òRò<#5óJ(Qr-   rp  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        «       5 }|j                  t        d«       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>  rt  ÚfdFDrb   rv  r–   ra   rp   rr   gªLXèz¶û?r—   r”  rž  gU&,t=Û@r“   r…  )r   r'   rw  rÚ  r   r   rl  r   r"   rx  ry  r‡  rz  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Ô(ä"Ó$ð -¨Ø—
‘
œ>Ð+GÔHÜ˜"˜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ñK%	N÷-ñ -ús   ÂAG9Ç9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%  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   rU  )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_args  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ò1Nòf.ò >ó"<r-   r¨  c                   ó   — e Zd Zy)Ú	_TestNormNr   rY   r-   r+   rº  rº  )  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   rI  s     r+   Útest_longdouble_normz+TestNorm_NonSystematic.test_longdouble_norm/  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   rI  s     r+   Útest_intminz"TestNorm_NonSystematic.test_intmin5  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Ú  Ú
complex128rB  )rK   rÞ  rD  s      r+   Útest_complex_high_ordz,TestNorm_NonSystematic.test_complex_high_ord;  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¼  -  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  rm  rY   r-   r+   rË  rË  I  s   „ Ø	�‰€BØ
�Cr-   rË  c                   ó(   — e Zd Zej                  ZdZy)Ú_TestNormSingleBaser“   N)rU   rV   rW   r'   rê  r  rm  rY   r-   r+   rÎ  rÎ  N  s   „ Ø	�‰€BØ
�Cr-   rÎ  c                   ó(   — e Zd Zej                  ZdZy)Ú_TestNormInt64BaserÌ  N)rU   rV   rW   r'   Úint64r  rm  rY   r-   r+   rÐ  rÐ  S  s   „ Ø	�‰€BØ
�Cr-   rÐ  c                   ó   — e Zd Zy)ÚTestNormDoubleNr   rY   r-   r+   rÓ  rÓ  X  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   ry  r   )rp   r   r   r   rp   )rt   )rs   rt   r   z#`tol` and `rtol` can't be both set.g{®Gáz„?)ÚtolrZ  )r   r   r'   rz  r?  r   r!   r%  )rK   ÚIÚmss      r+   Útest_matrix_rankzTestMatrixRank.test_matrix_rankf  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   ry  r   rå  rÛ  rs   g:Œ0âŽyE>g¾Ü|"•BE>)r@   rÜ  gµ;ä¡ˆ°E>)r   r   r'   rz  r¥  r?  )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Ù  d  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'   rz  Útriu)rK   r2   Úa_typeÚa_dtyperá  ró  r“  rD  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   ry  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_inputs*  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û   r2  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   rH  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   ©rH  iô  r   ú ú
)ÚatolrY  r–   )Úaxis1Úaxis2)r'   rµ  r¶  Úrandnrð  Úcomplexfloatingr¾   r‰  r  r   r‹  rŠ  r   r   Úcholeskyr�   ÚfinfoÚepsr   Údiagonalr   r¼   Úisreal)
rK   r�   r0   rH  r2   Útrš  r3   r  rÞ  s
             r+   Útest_basic_propertyz TestCholesky.test_basic_property=  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!  r+  b  r"  r-   r!  r>  r8   )rp   r   r   )r'   r(   r?  r@  r¸   r   r"  r   r�   r   r0   r%   rA  r&   rB  rC  s       r+   r-  zTestCholesky.test_0_sizea  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   r"  rû  rŠ  )rK   r2   s     r+   Útest_upper_lower_argz!TestCholesky.test_upper_lower_argq  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û   r2  r'   rê  rA  rB  rÈ  r(  r-  r-  rY   r-   r+   r  r  ;  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   ro  ú=)ÚsysÚ	byteorderr'   rê  rA  rz  r¸   r0   ÚnewbyteorderÚbyteswapr   r   r6  rÖ  r¿  r   )ÚnativeÚdttrò  Ún_arrÚsw_arrÚroutinerD  s          r+   Útest_byteorder_checkrA  Ž  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-   r2  r3  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   r?  r    r   r   r6  )Ú
invertibleÚnon_invertiblerÂ   s      r+   Ú test_generalized_raise_multilooprE  £  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?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ÚpidrN  r2   rÙ   Ústatuss         r+   Útest_xerbla_overrider[  ²  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 ]v  }|j                  dd|¬«      }t        j                  t
        j                  d|g«       |j                  dd|¬«      }t        j                  t
        j                  d|g«       Œx 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)r`  r_  ra  )ÚtextwrapÚdedentr   Ú
subprocessÚ
check_callr8  Ú
executable)Úbad_libsÚtemplatera  Úcodes       r+   Útest_sdot_bug_8577rj  é  sœ   € ð " 9Ð-€Hä�‰ð 
 ó 
	€Hð ò <ˆØ�‰Ð&:À"Ø'.ð ó 0ˆä×ÑœsŸ~™~¨t°TÐ:Ô;ð �‰Ð%9À"Ø'.ð ó 0ˆä×ÑœsŸ~™~¨t°TÐ:Õ;ñ<r-   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 rn  rq  )rK   r   r–  s      r+   Ú&test_basic_function_with_two_argumentsz3TestMultiDot.test_basic_function_with_two_arguments  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 )Nro  rp  ©rr   rp   rq  )rK   r   r–  rr  ÚDs        r+   Ú9test_basic_function_with_dynamic_programming_optimizationzFTestMultiDot.test_basic_function_with_dynamic_programming_optimization!  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   rp  ro  r#  rÅ  ©r'   rµ  r   r   r�   )rK   ÚA1dr–  rr  rx  s        r+   Útest_vector_as_first_argumentz*TestMultiDot.test_vector_as_first_argument*  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 )Nro  rp  rr   )r“   r{  )rK   r   r–  rr  ÚD1ds        r+   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argument4  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   rp  ro  rY   r{  )rK   r|  r–  rr  r  s        r+   Ú&test_vector_as_first_and_last_argumentz3TestMultiDot.test_vector_as_first_and_last_argument>  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 )Nro  rp  ©r)   ©r'   rµ  r?  r   r   r   )rK   r   r–  rr  r)   Úrets         r+   Útest_three_arguments_and_outz)TestMultiDot.test_three_arguments_and_outH  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 )Nro  rp  )r“   r“   r„  r…  )rK   r   r–  r)   r†  s        r+   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_outU  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 )Nro  rp  rw  )r“   rp   r„  r…  )rK   r   r–  rr  rx  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_logick  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   rs  ru  ry  r}  r€  r‚  r‡  r‰  r‹  r–  r˜  rY   r-   r+   rl  rl    s<   „ òKò=òMò<ò<ò<ò:ò/ò
9ò=ó<Ir-   rl  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«      }||_        t        j                  ||¬«      }|j                  |d  |j                  d | z   }|j                  }t        ||«       y )Nr¤  ©r2   rŸ  )r'   rz  r�   r   r   r   )rK   r�   rŸ  r2   Úainvr,  Úactuals          r+   Útest_tensorinv_shapez"TestTensorinv.test_tensorinv_shape˜  s[   € ô �F‰F�2‹JˆØˆŒÜ×Ñ !¨Ô-ˆØ—7‘7˜3˜4�= 1§7¡7¨4¨C =Ñ0ˆØ—‘ˆÜ�V˜XÕ&r-   rŸ  r   r—   c                 ó²   — t        j                  d«      }d|_        t        t        «      5  t        j                  ||¬«       d d d «       y # 1 sw Y   y xY w)Nr¤  r¢  r¦  )r'   rz  r�   r    r%  r   r   )rK   rŸ  r2   s      r+   Útest_tensorinv_ind_limitz&TestTensorinv.test_tensorinv_ind_limit¥  sE   € ô �F‰F�2‹JˆØˆŒÜœ:Ó&ñ 	+Ü×Ñ˜q cÕ*÷	+÷ 	+ñ 	+ús   ¬AÁAc                 ó  — t        j                  d«      }d|_        t        j                  |d¬«      }t        j
                  d«      }t        t        j                  ||d«      t         j                  j                  ||«      «       y )Nr¤  r£  rp   rž  )	r'   rz  r�   r   r   r¥  r   Ú	tensordotÚtensorsolve)rK   r2   r§  r3   s       r+   Útest_tensorinv_resultz#TestTensorinv.test_tensorinv_result®  s]   € ä�F‰F�2‹JˆØˆŒÜ×Ñ  qÔ)ˆÜ�G‰G�B‹KˆÜœŸ™ T¨1¨aÓ0´"·)±)×2GÑ2GÈÈ1Ó2MÕNr-   N)rU   rV   rW   rú   rû   r2  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û   r2  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!   r-  r   r"  )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'   r?  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'   rA  r   rQ  Údgeqrfr?  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   r%  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×  	  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,  rt  rb  Úx_2dims         r+   Ú
test_crossrÛ  	  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   rU  r‡  )r'   r$  rœ   r   r­  )rÂ   s    r+   Útest_tensordotrÞ  3	  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á  ;	  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ä  E	  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   rA  r   )rÂ   r¨  s     r+   Útest_matrix_normrê  R	  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'   rA  rê  rÂ  r?  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°   rA  r8   )r'   r$  rœ   r   Úvector_normr   rA  r   Úfullr   r�   rÐ  s      r+   Útest_vector_normrð  g	  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'   rA  rê  rÂ  r?  r   r   rî  r   )r0   rÂ   s     r+   Útest_vector_norm_emptyrò  y	  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-   )r“   rÌ  )“Ú__doc__r²   rH  rd  r8  rb  Ú	threadingrÔ   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!   r"   Ú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  r4  r9  rG  rO  rW  r^  ri  rr  rw  rƒ  r�  r‘  r�  r¼  rÃ  rÆ  rÉ  rÐ  rÒ  rã  rì  rù  rû   r2  r0   r  r:  r@  rW  r_  rg  rp  r¨  rº  r¼  rË  rÎ  rÐ  rÓ  rÕ  r×  rÙ  rë  rí  r  r/  rA  r8  rE  Úactive_countr[  rü   rj  rl  rš  r±  r¹  rL  r¼  rº  rÆ  rÑ  r×  rÛ  rÞ  rá  rä  rê  rì  rð  rò  )rš  s   0r+   ú<module>rþ     sñ  ðñó Û 	Û Û 
Û Û Û ã ã ÷÷ ÷ õ õ !Ý &ß PÕ PÝ >÷÷ ÷ ñ ð	Û#ò*ð .Ð ó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ÙÒ0Ò2JÐKÐSZÔ[ó]ñ ˆ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óð; ó  
ñ  €ðF ‰�;Ùˆ~Ù’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ÐU\ô^á�g˜wÐ'¨wÔ7ó9ñ ˆÙØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ô`áÒ0¸Ô@óBñ ˆÙÚ/Ò1LÐMÐU\ô^á�g˜wÐ'¨wÔ7ó9ñ ˆÙØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ô`áÒ0¸Ô@óBñ Ð ÙÚ/Ò1LÐMÐU\ô^á�w Ð(¨6°6Ð*:Ð;À7ÔKóMñ Ð ÙØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ô`á�w Ð(¨6°6Ð*:¸VÀVÐ<LÐMÐU\Ô]ó_ñ ˆ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ô ðe6!ó 6
ñ 6€ðr ‰�;Ùˆ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ô ,ô(Ð(¨,ô ô+1Ð$Ð&Eô +1ô\@*ˆyô @*ôF
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ô|u<�-ô u<ôp	�Ð-ô 	÷Jñ Jô8˜-ô ô
˜-ô ô
˜ô ô
	�YÐ 3ô 	ô	�YÐ 3ô 	ô	�IÐ1ô 	÷&Eñ &EòR
(÷^+ñ ^+÷B?
ñ ?
÷D3ñ 3ò"5ð* ‡�×Ñ�GÐ$BÐÓCñ;ó Dð;ð ‡�×ÑØ€I×ÑÓ˜qÑ ØLð ó Nð ‡�×ÑØØGð ó Iñ.7óIóNð.7ðb ‡�×Ñ�GÐ$=ÐÓ>Ø‡�×Ññ<ó ó ?ð<÷D~Iñ ~I÷B&Oñ &O÷RBñ Bò*ð ‡�×ÒÐGÐÓHñó Iðð ‡�×Ò�|Ð#ØFð ó Hñ#óHð#ò4#ò #ò(ò6Bò#ò
,òIòBò<ó$>øðOJ ò 	ò 	ð		üòN  Js   Â f Ýf$
æf!æ f!