ó
    �œ‘hÖR ã                   ó<  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r
SSK	JrJrJrJrJrJrJrJrJrJrJrJrJr  SSKJr  SSKJr  SSKJrJrJrJ r J!r!  SSK"J#r#  SSK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/   SSK0r	S	 r2\*r3SêS
 jr*S r4S r5S r61 Skr7 " S S5      r8S r9\
Rt                  Rw                  S5        / r<\<\9" S\8" S\" SS/SS//\S9\" SS/\S95      \8" S\" SS/SS//\S9\" SS/\S95      \8" S\" SS/SS//\S9\" / SQ/ SQ/\S95      \8" S\" SS /S!S"//\S9\" S#S/\S95      \8" S$\" SS /S!S"//\S9\" S#S/\S95      \8" S%\" SS /S!S"//\S9\" / S&Q/ S'Q/\S95      \8" S(\
Rz                  " S)\S9\
Rz                  " S*\S9S+1S,9\8" S-\
Rt                  R}                  S.S.5      \
Rt                  R}                  S.5      5      \8" S/\
Rt                  R}                  S0S05      \
Rt                  R}                  S05      5      \8" S1S0S2/S3S4//S2S0/5      /
5      -  r<\<\9" S5\8" S6\" / S7Q/ SQ/\S9\" SS/\S95      \8" S8\" SS/SS/S9S://\S9\" / S;Q\S95      \8" S<\" / S7Q/ SQ/\S9\" SS/\S95      \8" S=\" SS/SS/S9S://\S9\" / S;Q\S95      \8" S>\" / S?Q/ S@Q/\S9\" S#S/\S95      \8" SA\" SBSC/SDSE/SFSG//\S9\" / SHQ\S95      \8" SI\" / S?Q/ S@Q/\S9\" S#S/\S95      \8" SJ\" SBSC/SDSE/SFSG//\S9\" / SHQ\S95      \8" SK\" / S?Q/ S@Q/\S9\" S#S/SLSM//\S95      \8" SN\" SBSC/SDSE/SFSG//\S9\" S#S/SLSM/SLSM//\S95      \8" SO\
Rt                  R}                  S.SP5      \
Rt                  R}                  S.5      5      \8" SQ\
Rt                  R}                  S0SR5      \
Rt                  R}                  S05      5      \8" SS\
Rt                  R}                  SRS05      \
Rt                  R}                  SR5      5      \8" ST\
Rt                  R}                  SS45      \
Rt                  R}                  S5      S+1S,9\8" SU\
Rt                  R}                  S4S5      \
Rt                  R}                  S45      S+1S,9/5      -  r<\<\9" SV\8" SW\" SS/SS//\S9S5      \8" SX\" SS/SS//\S9S5      \8" SY\" SS /SZS0//\S9S5      \8" S[\" SS /SZS0//\S9S5      \8" S\\
Rz                  " S)\S9SS+1S,9\8" S]S0S2/S2S0//S5      \8" S^\" SS/SS//5      S5      \8" S_\
Rt                  R}                  S0S05      S5      /5      -  r<S` r?\<\?" 5       -  r<Sa r@Sb rA\<\A" 5       -  r< " Sc Sd5      rB " Se Sf\B5      rC " Sg Sh\B5      rD " Si Sj\B5      rE " Sk Sl\B5      rF " Sm Sn\B5      rG " So Sp\B5      rHSq rI " Sr Ss\C\F5      rJ " St Su\J5      rK " Sv Sw\C\F5      rL " Sx Sy\L5      rM " Sz S{\C\F5      rN " S| S}\N5      rO " S~ S\C\F5      rP " S€ S�\P5      rQ " S‚ Sƒ5      rR " S„ S…\C\F5      rS " S† S‡\S\R5      rT " Sˆ S‰\E\H5      rU " SŠ S‹\U\R5      rV " SŒ S�\C\F5      rW " SŽ S�\W5      rX " S� S‘\C\D\F\G5      rY " S’ S“\Y5      rZ " S” S•\E\H5      r[ " S– S—\[5      r\S˜ r] " S™ Sš\C\F5      r^ " S› Sœ\^5      r_ " S� Sž\C\D5      r` " SŸ S \`5      ra\RÄ                  RÇ                  S¡S¢ V s/ s H  n \
RÉ                  U 5      PM     sn 5       " S£ S¤5      5       re " S¥ S¦\E\H5      rf " S§ S¨5      rg " S© Sª\E\H5      rh " S« S¬5      ri " S­ S®5      rj " S¯ S°\j5      rk " S± S²\j5      rl " S³ S´\l\k5      rm " Sµ S¶5      rn " S· S¸\j5      ro " S¹ Sº\j5      rp " S» S¼\j5      rq " S½ S¾\m\o5      rr " S¿ SÀ\m\p5      rs " SÁ SÂ\m\q5      rt " SÃ SÄ5      ruSÅ rv " SÆ SÇ5      rw " SÈ SÉ5      rx " SÊ SË5      rySÌ rz\RÄ                  R÷                  \&SÍSÎ9SÏ 5       r|\RÄ                  R÷                  \Rú                  " 5       S0:„  SÐSÎ9\RÄ                  R÷                  \'SÑSÎ9SÒ 5       5       r~\RÄ                  R÷                  \&SÓSÎ9\RÄ                  Rþ                  SÔ 5       5       r€ " SÕ SÖ5      r� " S× SØ5      r‚ " SÙ SÚ5      rƒSÛ r„\RÄ                  GR                  SÜSÎ9SÝ 5       r†\RÄ                  GR                  \%(       + SÞSÎ9Sß 5       rˆSà r‰Sá rŠSâ r‹Sã rŒSä r�Så rŽSæ r�Sç r�Sè r‘Sé r’g! \1 a     GN‘f = fs  sn f )ë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                 óŽ   • [        U 5      [        U[        R                  5      (       a  [        U5      L $ [        R                  L $ ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     ÚbC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr,   9   s<   € ô �‹9¤j°´b·j±j×&AÑ&Aœ˜c›ð *ð *Ü Ÿj™jð*ð *ó    c                 ó„   • [        U 5      R                  R                  [        [        4;   a  UnOUn[        X4SU0UD6  g )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Ñ8¨'Ð8°RÓ8r-   c                 ó\   • [         [         [        [        [        [         [        [        0U    $ r$   )r   r	   r   r   ©r0   s    r+   Úget_real_dtyper9   K   s&   € Ü”FœF¤FÜ”VœW¤fð.Ø.3ñ5ð 5r-   c                 ó\   • [         [        [        [        [        [        [        [        0U    $ r$   )r   r   r	   r   r8   s    r+   Úget_complex_dtyper;   P   s&   € Ü”GœV¤WÜ”Wœg¤wð0Ø05ñ7ð 7r-   c                 ó&   • U [         [        4;   a  gg)Ngñhãˆµøä>g•dyáý¥=)r   r   r8   s    r+   Úget_rtolr=   U   s   € à”œÐ!Ó!Øàr-   >   ÚsquareÚstridedÚ	hermitianÚ	nonsquareÚgeneralizedúsize-0c                   ó6   • \ rS rSr\" 5       4S jrS rS rSrg)Ú
LinalgCaseéd   c                 óz   • [        [        U[        5      5        Xl        X l        X0l        [        U5      U l        g)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)ÚselfrI   r2   r3   rK   s        r+   Ú__init__ÚLinalgCase.__init__e   s-   € ô
 	”
˜4¤Ó%Ô&ØŒ	ØŒØŒÜ˜d“Oˆ�	r-   c                 óP   • U" U R                   U R                  U R                  S9  g)z>
Run the function `do` on this test case, expanding arguments
©rK   N)r2   r3   rK   )rL   Údos     r+   ÚcheckÚLinalgCase.checkp   s   € ñ 	ˆ4�6‰6�4—6‘6 §	¡	Ó*r-   c                 ó"   • SU R                    S3$ )Nz<LinalgCase: Ú>)rI   ©rL   s    r+   Ú__repr__ÚLinalgCase.__repr__v   s   € Ø˜tŸy™y˜k¨Ð+Ð+r-   )r2   r3   rI   rK   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚsetrM   rR   rW   Ú__static_attributes__© r-   r+   rE   rE   d   s   † Ù(+«ô 	$ò+õ,r-   rE   c                 ód   • U [         ;   d   S5       eU H  nUR                  U 1-  Ul        M     U$ )zR
Add the given tag (a string) to each of the cases (a list of LinalgCase
objects)
zInvalid tag)Úall_tagsrK   )ÚtagÚcasesÚcases      r+   Ú	apply_tagre   z   s6   € ð
 ”(‹?Ð)˜MÓ)ˆ?ÛˆØ—I‘I  Ñ%ˆŽ	ñ à€Lr-   éÒ  r>   r   ç      ð?ç       @ç      @ç      @r8   r	   Údouble_2)rh   rg   rj   )ri   rj   ç      @r   ù      ð?       @y       @      @y      @      @y      @      @ù       @      ð?r   Ú	cdouble_2)rn   rm   y      ð?      @)y      ð?       Ày      ð?      Ày      ð?      ÀÚ0x0©r   r   ©r   rC   rP   Ú8x8é   Ú1x1é   Únonarrayé   é   é   rA   Úsingle_nsq_1)rg   rh   ri   Úsingle_nsq_2g      @rl   )rh   rg   ri   Údouble_nsq_1Údouble_nsq_2Úcsingle_nsq_1)ù      ð?      ð?ù       @       @ù      @      À)y      @      Ày      @      "@y      @       @Úcsingle_nsq_2r€   r�   r‚   y      @      "Ày      @      Ày      @       @)rn   rm   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                  ó  • / n [          GHs  n[        UR                  [        R                  5      (       d  M/  [        R
                  " UR                  SUR                  -  SUR                  -  /5      nUR                  c  S nOdUR                  R                  S:X  a  UR                  nO=[        R
                  " UR                  SUR                  -  SUR                  -  /5      n[        UR                  S-   X#UR                  S1-  S9nU R                  U5        [        R
                  " UR                  /S-  S-  5      R                  S	UR                  R                  -   5      nUR                  c  S nOÈUR                  R                  S:X  aa  [        R
                  " UR                  /S-  S-  UR                  S
   -  5      R                  S	UR                  R                  SS  -   5      nOM[        R
                  " UR                  /S-  S-  5      R                  S	UR                  R                  -   5      n[        UR                  S-   X#UR                  S1-  S9nU R                  U5        GMv     U $ )Nrx   ry   rv   é   é   Ú_tile3rB   rP   ©ry   rx   éÿÿÿÿéþÿÿÿÚ_tile213)ÚCASESr&   r2   r'   r(   r   r3   ÚndimrE   rI   rK   ÚappendÚreshapeÚshape)Ú	new_casesrd   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Ø#'§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           
   #   óÎ  #   • [        U [        R                  5      (       d  U S4v •  gS/U R                  -  nSUS'   U R                  S:”  a  SUS'   U R                  S:”  a  S	US
'   [        R
                  " [        U5      6  GHP  n[        U R                  U5       VVs/ s H  u  p4[        X4-  5      PM     nnn[        S U 5       5      n[        R                  " XPR                  S9nUR                  [        R                  5      R                  S5        Xv   nXS'   UR                  U R                  5      n[!        [        R"                  " Xp:H  5      5        USSR%                  U Vs/ s H  nSU-  PM
     sn5      -   4v •  U R                  S:¼  aZ  U R                  S   S:X  aG  ['        U R(                  5      n	SU	S'   [        R*                  R,                  R/                  X	S9nUS4v •  U R                  S:¼  aZ  U R                  S   S:X  aG  ['        U R(                  5      n	SU	S'   [        R*                  R,                  R/                  X	S9nUS4v •  U R                  S:¼  d  GMî  U R                  SS S:X  d  GM  ['        U R(                  5      n	SU	S'   SU	S'   [        R*                  R,                  R/                  X	S9nUS4v •  GMS     gs  snnf s  snf 7f)z4
Generate cartesian product of strides for all axes
ÚnopN©rv   )rv   ry   éüÿÿÿrœ   rv   r�   rx   )rv   rª   éýÿÿÿc              3   ó<   #   • U  H  n[        S S U5      v •  M     g 7fr$   )Úslice)Ú.0Úrepeats     r+   Ú	<genexpr>Ú$_stride_comb_iter.<locals>.<genexpr>C  s   é € ÐGºw°V”u˜T 4¨×0Ð0ºwùs   ‚r8   l   ï>[= .Ústride_Ú_z%+dr   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©rv   rv   Ú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  sd  é € ô
 �aœŸ™×$Ñ$Ø�ˆhŠØà�˜!Ÿ&™&‘€JØ€Jˆr�NØ‡v�v�ƒzØ#ˆ
�2‰Ø‡v�v�ƒzØ ˆ
�2‰ä×$Ò$¤e¨JÓ&7Ô8ˆÜ,/°·±¸Ô,AÔBÒ,A¡D A”S˜™–ZÑ,Aˆ	ÑBÜÑG¹wÓGÓGˆô �XŠX�i§w¡wÑ/ˆØ
�‰”—	‘	Ó×Ñ 
Ô+Ø‰ZˆØˆ3‰Ø�W‰W�Q—[‘[Ó!ˆÜ”—’�r‘w“Ô Ø�)˜cŸh™h¹7Ó'Cº7°a¨°¬	¹7Ñ'CÓDÑDÐDÒDð �6‰6�Q‹;˜1Ÿ7™7 2™;¨!Ó+Ü�Q—Y‘Y“ˆAØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°Ð0Ð>ˆBØ�nÐ$Ò$Ø�6‰6�Q‹;˜1Ÿ7™7 2™;¨!Ó+Ü�Q—Y‘Y“ˆAØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°Ð0Ð>ˆBØÐ&Ð&Ò&Ø�6‰6�QŽ;˜1Ÿ7™7 3 B˜<¨6Ö1Ü�Q—Y‘Y“ˆAØˆAˆb‰EØˆAˆb‰EÜ—‘×%Ñ%×0Ñ0°Ð0Ð>ˆBØÐ&Ð&Õ&ò; 9ùÛBùò (Dùs-   ‚BK%Â!KÂ:B6K%Å0K Å?C.K%É2K%ÊAK%c            
      ó  • / n [          H  n[        UR                  5       Hc  u  p#[        UR                  5       HE  u  pE[	        UR
                  S-   U-   S-   U-   X$UR                  S1-  S9nU R                  U5        MG     Me     M�     U $ )Nr³   r?   rP   )rŸ   rÑ   r2   r3   rE   rI   rK   r¡   )r¤   rd   r2   Úa_labelr3   Úb_labelr¥   s          r+   Ú_make_strided_casesrÕ   a  s†   € Ø€IßˆÜ+¨D¯F©FÖ3‰JˆAÜ/°·±Ö7‘
�Ü% d§i¡i°#¡o¸Ñ&?À#Ñ&EÈÑ&OÐQRØ+/¯9©9¸	°{Ñ+BñD�à× Ñ  Ö*ó 8ó 4ñ ð Ðr-   c                   ó:   • \ rS rSr\r\" 5       \" 5       4S jrSrg)ÚLinalgTestCaseir  c                 ó2  • U R                    HJ  nUR                  U-  U:w  a  M  UR                  U-  (       a  M.   UR                  U R                  5        ML     g! [         a0  nSU< S3nU[
        R                  " 5       -  n[        U5      UeSnAff = f)z`
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_CASESrK   rR   rQ   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rL   ÚrequireÚexcluderd   ÚeÚmsgs         r+   Úcheck_casesÚLinalgTestCase.check_casesu  sŠ   € ð
 —O”OˆDà�y‰y˜7Ñ" gÓ-ÙØ�y‰y˜7×"Ùð1Ø—
‘
˜4Ÿ7™7Ö#ò $øô ó 1Ø& t¡h¨dÐ3�Ø”y×+Ò+Ó-Ñ-�Ü$ SÓ)¨qÐ0ûð1ús   ¼AÁ
BÁ&+BÂBr_   N)	rY   rZ   r[   r\   rŸ   rÙ   r]   râ   r^   r_   r-   r+   r×   r×   r  s   † Ø€Já"%£%±³÷ 1r-   r×   c                   ó    • \ rS rSrS rS rSrg)ÚLinalgSquareTestCasei‰  c                 ó*   • U R                  S1SS1S9  g )Nr>   rB   rC   ©rÞ   rß   ©râ   rV   s    r+   Útest_sq_casesÚ"LinalgSquareTestCase.test_sq_cases‹  s!   € Ø×Ñ ( Ø"/°Ð!:ð 	ò 	<r-   c                 ó*   • U R                  SS1S1S9  g )Nr>   rC   rB   rç   rè   rV   s    r+   Útest_empty_sq_casesÚ(LinalgSquareTestCase.test_empty_sq_cases�  s!   € Ø×Ñ (¨HÐ!5Ø"/ ð 	ò 	2r-   r_   N)rY   rZ   r[   r\   ré   rì   r^   r_   r-   r+   rå   rå   ‰  ó   † ò<õ2r-   rå   c                   ó    • \ rS rSrS rS rSrg)ÚLinalgNonsquareTestCasei”  c                 ó*   • U R                  S1SS1S9  g )NrA   rB   rC   rç   rè   rV   s    r+   Útest_nonsq_casesÚ(LinalgNonsquareTestCase.test_nonsq_cases–  ó!   € Ø×Ñ + Ø"/°Ð!:ð 	ò 	<r-   c                 ó*   • U R                  SS1S1S9  g )NrA   rC   rB   rç   rè   rV   s    r+   Útest_empty_nonsq_casesÚ.LinalgNonsquareTestCase.test_empty_nonsq_casesš  ó!   € Ø×Ñ +¨xÐ!8Ø"/ ð 	ò 	2r-   r_   N)rY   rZ   r[   r\   rò   rö   r^   r_   r-   r+   rð   rð   ”  rî   r-   rð   c                   ó    • \ rS rSrS rS rSrg)ÚHermitianTestCaseiŸ  c                 ó*   • U R                  S1SS1S9  g )Nr@   rB   rC   rç   rè   rV   s    r+   Útest_herm_casesÚ!HermitianTestCase.test_herm_cases¡  rô   r-   c                 ó*   • U R                  SS1S1S9  g )Nr@   rC   rB   rç   rè   rV   s    r+   Útest_empty_herm_casesÚ'HermitianTestCase.test_empty_herm_cases¥  rø   r-   r_   N)rY   rZ   r[   r\   rü   rÿ   r^   r_   r-   r+   rú   rú   Ÿ  rî   r-   rú   c                   ó„   • \ rS rSr\R
                  R                  S 5       r\R
                  R                  S 5       rSr	g)ÚLinalgGeneralizedSquareTestCaseiª  c                 ó*   • U R                  SS1S1S9  g )NrB   r>   rC   rç   rè   rV   s    r+   Útest_generalized_sq_casesÚ9LinalgGeneralizedSquareTestCase.test_generalized_sq_cases¬  s!   € à×Ñ -°Ð!:Ø"* ð 	ò 	-r-   c                 ó&   • U R                  1 SkS9  g )N>   r>   rB   rC   ©rÞ   rè   rV   s    r+   Útest_generalized_empty_sq_casesÚ?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_cases±  s   € à×ÑÒ!DÐÒEr-   r_   N)
rY   rZ   r[   r\   ÚpytestÚmarkÚslowr  r  r^   r_   r-   r+   r  r  ª  s>   † à‡[�[×Ññ-ó ð-ð ‡[�[×ÑñFó óFr-   r  c                   ó„   • \ rS rSr\R
                  R                  S 5       r\R
                  R                  S 5       rSr	g)Ú"LinalgGeneralizedNonsquareTestCasei¶  c                 ó*   • U R                  SS1S1S9  g )NrB   rA   rC   rç   rè   rV   s    r+   Útest_generalized_nonsq_casesÚ?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_cases¸  ó!   € à×Ñ -°Ð!=Ø"* ð 	ò 	-r-   c                 ó&   • U R                  1 SkS9  g )N>   rA   rB   rC   r  rè   rV   s    r+   Ú"test_generalized_empty_nonsq_casesÚELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_cases½  s   € à×ÑÒ!GÐÒHr-   r_   N)
rY   rZ   r[   r\   r
  r  r  r  r  r^   r_   r-   r+   r  r  ¶  s>   † à‡[�[×Ññ-ó ð-ð ‡[�[×ÑñIó óIr-   r  c                   ó„   • \ rS rSr\R
                  R                  S 5       r\R
                  R                  S 5       rSr	g)ÚHermitianGeneralizedTestCaseiÂ  c                 ó*   • U R                  SS1S1S9  g )NrB   r@   rC   rç   rè   rV   s    r+   Útest_generalized_herm_casesÚ8HermitianGeneralizedTestCase.test_generalized_herm_casesÄ  r  r-   c                 ó*   • U R                  1 SkS1S9  g )N>   r@   rB   rC   Únonerç   rè   rV   s    r+   Ú!test_generalized_empty_herm_casesÚ>HermitianGeneralizedTestCase.test_generalized_empty_herm_casesÉ  s   € à×ÑÒ!GØ"( ð 	ò 	+r-   r_   N)
rY   rZ   r[   r\   r
  r  r  r  r  r^   r_   r-   r+   r  r  Â  s<   † à‡[�[×Ññ-ó ð-ð ‡[�[×Ññ+ó ó+r-   r  c                 óô   • [        U 5      n U R                  S:¼  aF  [        R                  " U R                  U R
                  S9n[        U R                  S   5      US'   U$ [        U R                  S   5      $ )Nry   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                   ó   • \ rS rSrS rSrg)Ú
SolveCasesiÙ  c                 óD  • [         R                  " X5      n[        R                  " U5      R                  S:X  a<  [        XS   5      S   n[        [        R                  " X%R                  5      U5        O[        X5      n[        X%5        [        [        XB5      5        g )Nrv   ).N©.r   )r   Úsolver'   r   r    r   r   Úbroadcast_tor£   r   r,   )rL   r2   r3   rK   rÉ   Úadotxs         r+   rQ   ÚSolveCases.doÛ  sq   € Ü�LŠL˜ÓˆÜ�8Š8�A‹;×Ñ˜qÓ ô ˜1 	™lÓ+¨FÑ3ˆEÜ¤§¢°·;±;Ó ?ÀÕGä˜1“LˆEÜ Ô)ÜÔ# AÓ)Õ*r-   r_   N©rY   rZ   r[   r\   rQ   r^   r_   r-   r+   r#  r#  Ù  s   † õ
+r-   r#  c                   ór   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rS rS rSrg)	Ú	TestSolveiè  r0   c                 óŽ   • [         R                  " SS/SS//US9n[        [        R                  " X"5      R
                  U5        g ©Nrv   ç      à?r8   )r'   r   r   r   r&  r0   ©rL   r0   rÉ   s      r+   Ú
test_typesÚTestSolve.test_typesé  s8   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ”V—\’\ !Ó'×-Ñ-¨uÕ5r-   c                 ó€  •  " S S[         R                  5      n[         R                  " S5      R                  SSS5      n[         R                  " S5      R	                  U5      n[
        R                  " X#5      nUR                  S:X  d   e[         R                  " S5      R                  SS5      R	                  U5      n[
        R                  " X#5      nUR                  S:X  d   e[         R                  " S5      R                  SS5      R	                  U5      n[        [        [
        R                  X#5        g )	Nc                   ó   • \ rS rSrSrg)Ú)TestSolve.test_1_d.<locals>.ArraySubclassiï  r_   N©rY   rZ   r[   r\   r^   r_   r-   r+   ÚArraySubclassr5  ï  ó   † Úr-   r7  rt   rx   ©rx   rx   rz   )rx   rx   rx   rv   )
r'   r(   Úaranger¢   r¿   r   r&  r£   r    Ú
ValueError)rL   r7  r2   r3   Úresults        r+   Útest_1_dÚ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¤&§,¡,°Õ5r-   c           
      óª  •  " S S[         R                  5      n[         R                  " S5      R                  SSS5      n[         R                  " S5      R                  SSS5      R	                  U5      n[
        R                  " X#5      S S 2SS2S S 24   n[
        R                  " US S 2SS2SS24   US S 2SS2S S 24   5      n[        XT5        [        [        XQ5      5        [        [
        R                  [
        R                  US S 2SS2SS24   U5        [        [        [
        R                  X#S S 2SS2S S 24   5        [         R                  " S5      R                  SSS5      n[        [        [
        R                  X#5        [        [        [
        R                  USS USS 5        [         R                  " S5      R	                  U5      n[
        R                  " X#5      S S 2SS24   n[
        R                  " US S 2SS2SS24   USS 5      n[        XT5        [        [        XQ5      5        [         R                  " S5      R                  SS5      n[        [        [
        R                  X#5        [        [        [
        R                  USS USS 5        [        [        [
        R                  US S 2SS2SS24   U5        g )	Nc                   ó   • \ rS rSrSrg)Ú,TestSolve.test_0_size.<locals>.ArraySubclassi   r_   Nr6  r_   r-   r+   r7  rA     r8  r-   r7  rt   rx   r™   rv   ry   r   )r'   r(   r:  r¢   r¿   r   r&  r   r   r&   r    r   r;  ©rL   r7  r2   r3   Úexpectedr<  s         r+   Útest_0_sizeÚTestSolve.test_0_sizeÿ  s-  € ô	œBŸJ™Jô 	ô �IŠI�a‹L× Ñ   A qÓ)ˆÜ�IŠI�a‹L× Ñ   A qÓ)×.Ñ.¨}Ó=ˆä—<’< Ó%¢a¨¨1¨ªa iÑ0ˆÜ—’˜a¢ 1 Q 3¨¨!¨ ™n¨a²°1°Q°3º°	©lÓ;ˆÜ˜6Ô,Ü”
˜6Ó1Ô2ô 	”f×(Ñ(¬&¯,©,¸º!¸Q¸q¸SÀ!ÀAÀ#¸+¹ÈÔJÜ”j¤&§,¡,°²Q¸¸!¸ºQ°Y±<Ô@ô �IŠI�a‹L× Ñ   A qÓ)ˆÜ”j¤&§,¡,°Ô5Ü”j¤&§,¡,°°!°A°¸¸!¸A¸Ô?ô �IŠI�a‹L×Ñ˜mÓ,ˆÜ—<’< Ó%¢a¨¨1¨ fÑ-ˆÜ—’˜a¢ 1 Q 3¨¨!¨ ™n¨a°°!¨fÓ5ˆÜ˜6Ô,Ü”
˜6Ó1Ô2ä�IŠI�a‹L× Ñ   AÓ&ˆÜ”j¤&§,¡,°Ô5Ü”j¤&§,¡,°°!°A°¸¸!¸A¸Ô?Ü”j¤&§,¡,°²!°Q°q°S¸!¸A¸#°+±ÀÕBr-   c                 ó–  •  " S S[         R                  5      n[         R                  " S5      R                  SSS5      n[         R                  " S5      R                  SSS5      R	                  U5      n[
        R                  " X#5      S S 2S S 2SS24   n[
        R                  " X#S S 2S S 2SS24   5      n[        XT5        [        [        XQ5      5        [
        R                  " X#5      S S 2SS2SS24   n[
        R                  " US S 2SS2SS24   US S 2SS2SS24   5      n[        XT5        [        [        XQ5      5        g )	Nc                   ó   • \ rS rSrSrg)Ú.TestSolve.test_0_size_k.<locals>.ArraySubclassi"  r_   Nr6  r_   r-   r+   r7  rH  "  r8  r-   r7  rz   rv   rx   r™   ry   r   )
r'   r(   r:  r¢   r¿   r   r&  r   r   r&   rB  s         r+   Útest_0_size_kÚTestSolve.test_0_size_k   s  € ô	œBŸJ™Jô 	ä�IŠI�a‹L× Ñ   A qÓ)ˆÜ�IŠI�a‹L× Ñ   A qÓ)×.Ñ.¨}Ó=ˆä—<’< Ó%¢aª¨A¨a¨C iÑ0ˆÜ—’˜a¢1¢a¨¨1¨ 9¡Ó.ˆÜ˜6Ô,Ü”
˜6Ó1Ô2ô —<’< Ó%¢a¨¨1¨¨a°¨c kÑ2ˆÜ—’˜a¢ 1 Q 3¨¨!¨ ™n¨a²°1°Q°3¸¸!¸°©nÓ=ˆÜ˜6Ô,Ü”
˜6Ó1Õ2r-   r_   N)rY   rZ   r[   r\   r
  r  Úparametrizer   r	   r   r   r1  r=  rD  rI  r^   r_   r-   r+   r,  r,  è  s@   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ6ó Jð6ò6ò"CõB3r-   r,  c                   ó   • \ rS rSrS rSrg)ÚInvCasesi3  c                 ó”   • [         R                  " U5      n[        [        X5      [	        U5      5        [        [        XA5      5        g r$   )r   Úinvr   r   r!  r   r,   )rL   r2   r3   rK   Úa_invs        r+   rQ   ÚInvCases.do5  s4   € Ü—
’
˜1“ˆÜœF 1Ó,Ü5°aÓ8ô	:äÔ# EÓ-Õ.r-   r_   Nr*  r_   r-   r+   rM  rM  3  s   † õ/r-   rM  c                   óf   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rSrg)ÚTestInvi<  r0   c                 óŽ   • [         R                  " SS/SS//US9n[        [        R                  " U5      R
                  U5        g r.  )r'   r   r   r   rO  r0   r0  s      r+   r1  ÚTestInv.test_types=  s7   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ”V—Z’Z “]×(Ñ(¨%Õ0r-   c                 óâ  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        [        X15      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        [        X15      5        g )Nc                   ó   • \ rS rSrSrg)Ú*TestInv.test_0_size.<locals>.ArraySubclassiD  r_   Nr6  r_   r-   r+   r7  rX  D  r8  r-   r7  ©r   rv   rv   r8   rq   )r'   r(   ÚzerosÚint_r¿   r   rO  r   r0   r%   Úfloat64r   r£   r&   Ú	complex64©rL   r7  r2   Úress       r+   rD  Ú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-   r_   N©rY   rZ   r[   r\   r
  r  rK  r   r	   r   r   r1  rD  r^   r_   r-   r+   rS  rS  <  s4   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ1ó Jð1õ0r-   rS  c                   ó   • \ rS rSrS rSrg)ÚEigvalsCasesiS  c                 óv   • [         R                  " U5      n[         R                  " U5      u  pV[        XE5        g r$   )r   ÚeigvalsÚeigr   )rL   r2   r3   rK   ÚevÚevaluesÚevectorss          r+   rQ   ÚEigvalsCases.doU  s(   € Ü�^Š^˜AÓˆÜ"ŸJšJ q›MÑˆÜ˜BÕ(r-   r_   Nr*  r_   r-   r+   rc  rc  S  s   † õ)r-   rc  c                   óf   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rSrg)ÚTestEigvalsi[  r0   c                 ó*  • [         R                  " SS/SS//US9n[        [        R                  " U5      R
                  U5        [         R                  " SS/SS//US9n[        [        R                  " U5      R
                  [        U5      5        g ©Nrv   r/  r8   rœ   )r'   r   r   r   re  r0   r;   r0  s      r+   r1  Ú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                 óö  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        SUR                  5        [        [        U[         R                  5      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        SUR                  5        [        [        U[         R                  5      5        g )Nc                   ó   • \ rS rSrSrg)Ú.TestEigvals.test_0_size.<locals>.ArraySubclassie  r_   Nr6  r_   r-   r+   r7  rr  e  r8  r-   r7  rY  r8   ©r   rv   rq   rr   )r'   r(   rZ  r[  r¿   r   re  r   r0   r%   r\  r   r£   r&   r]  r^  s       r+   rD  Ú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-   r_   Nra  r_   r-   r+   rl  rl  [  s6   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñHó JðHõ-r-   rl  c                   ó   • \ rS rSrS rSrg)ÚEigCasesiv  c           	      ó:  • [         R                  " U5      nUR                  UR                  pe[	        [        X5      [        R                  " U5      [        R                  " U5      SS S S 24   -  [        UR                  5      S9  [        [        Xa5      5        g )N.©Úrtol)r   rf  ÚeigenvaluesÚeigenvectorsr   r   r'   r   r=   r0   r   r,   )rL   r2   r3   rK   r_  rz  r{  s          r+   rQ   ÚEigCases.dox  st   € Ü�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-   r_   Nr*  r_   r-   r+   rv  rv  v  s   † õ6r-   rv  c                   óf   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rSrg)ÚTestEigi�  r0   c                 óÈ  • [         R                  " SS/SS//US9n[         R                  R                  U5      u  p4[	        UR
                  U5        [	        UR
                  U5        [         R                  " SS/SS//US9n[         R                  R                  U5      u  p4[	        UR
                  [        U5      5        [	        UR
                  [        U5      5        g rn  )r'   r   r   rf  r   r0   r;   ©rL   r0   rÉ   ÚwÚvs        r+   r1  ÚTestEig.test_types‚  s¨   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ�y‰y�}‰}˜QÓ‰ˆÜ�Q—W‘W˜eÔ$Ü�Q—W‘W˜eÔ$ä�HŠH�q˜#�h  Q Ð(°Ñ6ˆÜ�y‰y�}‰}˜QÓ‰ˆÜ�Q—W‘WÔ/°Ó6Ô7Ü�Q—W‘WÔ/°Ó6Õ7r-   c                 ó:  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      u  p4[        UR                  R                  [         R                  L 5        [        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        SUR                  5        [        [        U[         R                  5      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      u  p4[        UR                  R                  [         R                  L 5        [        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        SUR                  5        [        [        U[         R                  5      5        g )Nc                   ó   • \ rS rSrSrg)Ú*TestEig.test_0_size.<locals>.ArraySubclassi�  r_   Nr6  r_   r-   r+   r7  r†  �  r8  r-   r7  rY  r8   rs  rq   rr   )r'   r(   rZ  r[  r¿   r   rf  r   r0   r%   r\  r   r£   r&   r]  ©rL   r7  r2   r_  Úres_vs        r+   rD  ÚTestEig.test_0_sizeŽ  s<  € ô	œBŸJ™Jô 	ä�HŠH�Y¤b§g¡gÑ.×3Ñ3°MÓBˆÜ—Z’Z “]‰
ˆÜ�—‘× Ñ ¤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 “]‰
ˆÜ�—‘× Ñ ¤B§L¡LÐ0Ô1Ü�—	‘	—‘¤"§,¡,Ð.Ô/Ü�Q—W‘W˜eŸk™kÔ*Ü�T˜3Ÿ9™9Ô%ä”
˜1œbŸj™jÓ)Õ*r-   r_   Nra  r_   r-   r+   r~  r~  �  s4   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ	8ó Jð	8õ+r-   r~  c                   ód   • \ rS rSrSr\R                  R                  S\\	\
\/5      S 5       rSrg)ÚSVDBaseTestsi¥  Fr0   c                 óÀ  • [         R                  " SS/SS//US9n[        R                  " U5      nUR                  UR
                  UR                  pen[        UR                  U5        [        UR                  [        U5      5        [        UR                  U5        [        R                  " USU R                  S9n[        UR                  [        U5      5        g )Nrv   r/  r8   F©Ú
compute_uvr@   )r'   r   r   ÚsvdÚUÚSÚVhr   r0   r9   r@   )rL   r0   rÉ   r_  r�  r‘  r’  rÐ   s           r+   r1  ÚSVDBaseTests.test_types¨  s›   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ�jŠj˜‹mˆØ—5‘5˜#Ÿ%™% §¡ˆbˆÜ�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-   r_   N)rY   rZ   r[   r\   r@   r
  r  rK  r   r	   r   r   r1  r^   r_   r-   r+   r‹  r‹  ¥  s4   † Ø€Ià‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jó5r-   r‹  c                   ó   • \ rS rSrS rSrg)ÚSVDCasesi´  c                 óf  • [         R                  " US5      u  pEn[        U[        [        R
                  " U5      [        R
                  " U5      SS S S 24   -  [        R
                  " U5      5      [        UR                  5      S9  [        [        XA5      5        [        [        Xa5      5        g )NF.rx  )
r   r�  r   r   r'   r   r=   r0   r   r,   )rL   r2   r3   rK   ÚurÐ   Úvts          r+   rQ   ÚSVDCases.do¶  s~   € Ü—:’:˜a Ó'‰ˆˆbÜ˜œ6¤"§*¢*¨Q£-´"·*²*¸Q³-ÀÀTÊ1ÀÑ2MÑ"MÜ+-¯:ª:°b«>ó;ä% a§g¡gÓ.ò	0ô 	Ô# AÓ)Ô*ÜÔ# BÓ*Õ+r-   r_   Nr*  r_   r-   r+   r•  r•  ´  s   † õ,r-   r•  c                   ó    • \ rS rSrS rS rSrg)ÚTestSVDi¿  c                 ó  • [         R                  " S5      n[        R                  " USU R                  S9u  p#n[        UR                  S5        [        UR                  S5        [        U[         R                  " S5      5        [         R                  " S5      n[        R                  " USU R                  S9u  p#n[        UR                  S5        [        UR                  S5        [        U[         R                  " S5      5        g)	z5Empty input should put an identity matrix in u or vh )rz   r   Tr�  ©rz   rz   rq   rz   )r   rz   N)r'   r¾   r   r�  r@   r   r£   Úeye)rL   rÉ   r—  rÐ   Úvhs        r+   Útest_empty_identityÚTestSVD.test_empty_identityÀ  s®   € ä�HŠH�VÓˆÜ—:’:˜a¨D¸D¿N¹NÑK‰ˆˆbÜ�Q—W‘W˜fÔ%Ü�R—X‘X˜vÔ&Ü�QœŸš˜q›	Ô"ä�HŠH�VÓˆÜ—:’:˜a¨D¸D¿N¹NÑK‰ˆˆbÜ�Q—W‘W˜fÔ%Ü�R—X‘X˜vÔ&Ü�RœŸš ›Õ#r-   c                 ó¾   • [         R                  " SS/SS//5      n[        R                  " USU R                  S9n[        R
                  " U5      n[        X#5        g )Nrv   r/  Fr�  )r'   r   r   r�  r@   Úsvdvalsr   )rL   rÉ   Ú
s_from_svdÚs_from_svdvalss       r+   Útest_svdvalsÚTestSVD.test_svdvalsÎ  sI   € Ü�HŠH�q˜#�h  a Ð)Ó*ˆÜ—Z’Z ¨e¸t¿~¹~ÑNˆ
ÜŸš¨Ó*ˆÜ˜JÕ7r-   r_   N)rY   rZ   r[   r\   r   r¦  r^   r_   r-   r+   r›  r›  ¿  s   † ò$õ8r-   r›  c                   ó   • \ rS rSrS rSrg)ÚSVDHermitianCasesiÕ  c                 óR  • [         R                  " USSS9u  pEn[        U[        [        R
                  " U5      [        R
                  " U5      SS S S 24   -  [        R
                  " U5      5      [        UR                  5      S9  S n[        [        R                  " XG" U5      5      [        R                  " [        R                  " UR                  S   5      UR                  5      5        [        [        R                  " Xg" U5      5      [        R                  " [        R                  " UR                  S   5      UR                  5      5        [        [        R                  " U5      SS S S24   U5        [        [        XA5      5        [        [        Xa5      5        g )NFT©r@   .rx  c                 ó°   • [        [        U R                  5      5      nUS   US   sUS'   US'   [        R                  " [        R
                  " XS95      $ )Nr�   rœ   ©Úaxes)rÅ   Úranger    r'   ÚconjÚ	transpose)Úmatr®  s     r+   r@   Ú'SVDHermitianCases.do.<locals>.hermitianÝ  sH   € Üœ˜cŸh™h›Ó(ˆDØ!% b¡¨4°©8ÐˆD�‰H�d˜2‘hÜ—7’7œ2Ÿ<š<¨Ñ7Ó8Ð8r-   rœ   )r   r�  r   r   r'   r   r=   r0   r   r'  rž  r£   r   Úsortr   r,   )rL   r2   r3   rK   r—  rÐ   r˜  r@   s           r+   rQ   ÚSVDHermitianCases.do×  s"  € Ü—:’:˜a °$Ñ7‰ˆˆ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Ó)Ô*ÜÔ# BÓ*Õ+r-   r_   Nr*  r_   r-   r+   r©  r©  Õ  s   † õ,r-   r©  c                   ó   • \ rS rSrSrSrg)ÚTestSVDHermitianié  Tr_   N)rY   rZ   r[   r\   r@   r^   r_   r-   r+   r·  r·  é  s   † ØƒIr-   r·  c                   ó   • \ rS rSrS rSrg)Ú	CondCasesií  c           	      óª  • [        U5      nSU;   a   [        [        [        R                  U5        g [        R
                  " USS9n[        [        R                  " U5      US   US   -  SSS9  [        [        R                  " US	5      US   US   -  SSS9  [        [        R                  " US
5      US   US   -  SSS9  [        R                  R                  U5      n[        [        R                  " US5      [        U5      R                  S
5      R                  S5      [        U5      R                  S
5      R                  S5      -  SSS9  [        [        R                  " US5      [        U5      R                  S
5      R                  S5      [        U5      R                  S
5      R                  S5      -  SSS9  [        [        R                  " U[        R                  5      [        U5      R                  S5      R                  S5      [        U5      R                  S5      R                  S5      -  SSS9  [        [        R                  " U[        R                  * 5      [        U5      R                  S5      R                  S5      [        U5      R                  S5      R                  S5      -  SSS9  [        [        R                  " US5      [        R                  " [        U5      S	-  R                  S5      R                  S5      [        U5      S	-  R                  S5      R                  S5      -  5      SSS9  g )NrC   F)rŽ  r%  ).rœ   r‹   r‰   ©r4   r5   rx   r�   rv   rœ   Úfro)r   r    r   r   Úcondr�  r   r'   rO  r½   ÚsumÚmaxÚminr   Úsqrt)rL   r2   r3   rK   ÚcrÐ   Úcinvs          r+   rQ   Ú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-   r_   Nr*  r_   r-   r+   r¹  r¹  í  s   † õ(1r-   r¹  c                   óh   • \ rS rSrS rS r\R                  R                  SSSS9S 5       r	S	 r
S
rg)ÚTestCondi  c                 ó°  • [        / SQ/ SQ/ SQ/5      n[        [        R                  " U[        5      S5        [        [        R                  " U[        * 5      S5        [        [        R                  " US5      S5        [        [        R                  " US5      S5        [        [        R                  " US	5      [
        R                  " S
5      5        g )N)rg   r   rv   )r   g       Àr   )r   r   ri   rz   gUUUUUUå?rv   rœ   r/  r¼  gUUUUU6@)r   r   r   r½  r   r'   rÁ  ©rL   ÚAs     r+   Útest_basic_nonsvdÚ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                 óX  • [         R                  " S5      [         R                  " S5      /n/ SQnSS/n[        R                  " X5       H'  u  pE[        [        R                  " XE5      S:„  5        M)     [        R                  " X5       H  u  pE[        R                  " XE5        M     g )Nr9  ©Nrv   rx   r¼  rœ   r�   ç  4&õkC)r'   rZ  Úonesr¹   rº   r   r   r½  )rL   ÚAsÚp_posÚp_negrÉ  Úps         r+   Útest_singularÚTestCond.test_singular%  s�   € ô �hŠh�vÓ¤§¢¨£Ð0ˆÚ#ˆØ�R�ˆÜ×%Ò% bÖ0‰DˆAô ”F—K’K Ó%¨Ñ,Ö-ñ 1ô ×%Ò% bÖ0‰DˆAÜ�KŠK˜Öò 1r-   TFz/Platform/LAPACK-dependent failure, see gh-18914)ÚrunÚreasonc                 óê  • / SQn/ SQn[         R                  " S5      n[         R                  US'   U H[  n[        R                  " X45      n[        [        U[         R                  5      5        [        [         R                  " U5      5        M]     [         R                  " S5      n[         R                  US'   U H²  n[        R                  " X45      n[        [         R                  " US   5      5        XB;   a$  [        US   S	:„  5        [        US
   S	:„  5        Md  [        [         R                  " US   5      (       + 5        [        [         R                  " US
   5      (       + 5        M´     g )N)Nrv   rœ   rx   r�   r¼  rÍ  r9  rs  )ry   rx   rx   ©rv   r   rv   rv   r   rÎ  rx   )	r'   rÏ  Únanr   r½  r   r&   r\  Úisnan)rL   ÚpsrÑ  rÉ  rÓ  rÂ  s         r+   Útest_nanÚTestCond.test_nan3  sÿ   € ò
 )ˆÚ#ˆä�GŠG�F‹OˆÜ—&‘&ˆˆ$‰ÛˆAÜ—’˜AÓ!ˆAÜ”J˜q¤"§*¡*Ó-Ô.Ü”B—H’H˜Q“KÖ ñ ô
 �GŠG�IÓˆÜ—V‘Vˆˆ'‰
ÛˆAÜ—’˜AÓ!ˆAÜ”B—H’H˜Q˜q™T“NÔ#Ø‹zÜ˜˜!™˜t™Ô$Ü˜˜!™˜t™Ö$äœBŸHšH Q q¡T›NÔ*Ô+ÜœBŸHšH Q q¡T›NÔ*Ö+ò r-   c                 óÔ  • [         R                  R                  S5        [         R                  R                  SSSS5      nSUS'   SUS'   S H—  n[        R
                  " X5      n[        US   [         R                  5        [        US   [         R                  5        [        [         R                  " US   5      5        [        [         R                  " US   5      5        M™     g )	Nrf   rx   r   rq   r·   )Nrv   rx   r¼  rœ   r�   rs  ©rv   r   )
r'   ÚrandomÚseedÚrandr   r½  r   r   r   Úisfinite)rL   rÉ  rÓ  rÂ  s       r+   Útest_stacked_singularÚTestCond.test_stacked_singularN  s¤   € ô 	�	‰	�‰�tÔÜ�I‰I�N‰N˜1˜a  AÓ&ˆØˆˆ$‰Øˆˆ$‰ã,ˆAÜ—’˜AÓ!ˆAÜ˜˜4™¤"§&¡&Ô)Ü˜˜4™¤"§&¡&Ô)Ü”B—K’K  $¡Ó(Ô)Ü”B—K’K  $¡Ó(Ö)ò -r-   r_   N)rY   rZ   r[   r\   rÊ  rÔ  r
  r  ÚxfailrÝ  rå  r^   r_   r-   r+   rÆ  rÆ    sC   † òFòð ‡[�[×Ñ�t ð-ð ð .ñ,ó.ð,õ0*r-   rÆ  c                   ó   • \ rS rSrS rSrg)Ú	PinvCasesi^  c                 ó–   • [         R                  " U5      n[        n[        U" U" X5      U5      USSS9  [	        [        XA5      5        g )Nr‹   r‰   r»  ©r   Úpinvr   r   r   r,   ©rL   r2   r3   rK   Úa_ginvr   s         r+   rQ   ÚPinvCases.doc  s<   € Ü—’˜Q“ˆäˆÜ™C¡ A£°Ó2°AÀaÐXZÒ[ÜÔ# FÓ.Õ/r-   r_   Nr*  r_   r-   r+   ré  ré  ^  s   † õ
0r-   ré  c                   ó   • \ rS rSrSrg)ÚTestPinvik  r_   Nr6  r_   r-   r+   rñ  rñ  k  ó   † Úr-   rñ  c                   ó   • \ rS rSrS rSrg)ÚPinvHermitianCasesio  c                 ó”   • [         R                  " USS9n[        n[        U" U" X5      U5      USSS9  [	        [        XA5      5        g )NTr«  r‹   r‰   r»  rë  rí  s         r+   rQ   ÚPinvHermitianCases.doq  s?   € Ü—’˜Q¨$Ñ/ˆäˆÜ™C¡ A£°Ó2°AÀaÐXZÒ[ÜÔ# FÓ.Õ/r-   r_   Nr*  r_   r-   r+   rô  rô  o  s   † õ0r-   rô  c                   ó   • \ rS rSrSrg)ÚTestPinvHermitianiy  r_   Nr6  r_   r-   r+   rø  rø  y  rò  r-   rø  c                  ón  • [         R                  " / SQ/ SQ/ SQ/5      n [        [         R                  R	                  U SS9[         R                  R	                  U SS95        [
        R                  " [        SS9   [         R                  R	                  U SSS	9  S S S 5        g ! , (       d  f       g = f)
N©rv   rx   ry   )rz   rv   rv   )rx   ry   rv   r/  ©Úrcondrx  z%`rtol` and `rcond` can't be both set.)Úmatch)rü  ry  )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   Á= B&Â&
B4c                   ó   • \ rS rSrS rSrg)ÚDetCasesi‹  c                 ó  • [         R                  " U5      n[         R                  " U5      nUR                  UR                  pv[        U5      R                  R                  [        [        4;   a  [        U5      R                  [        5      nO[        U5      R                  [        5      n[         R                  " U5      n	[        U[        R                  " U	SS95        [        U[         R"                  " U5      -  [        R                  " U	SS95        [         R$                  " U5      n[         R$                  " U5      nUS:g  n
[        [         R&                  " Xj   5      S5        [)        Xz)    [*        * 5        g )Nrœ   ©Úaxisr   rv   )r   ÚdetÚslogdetÚsignÚ	logabsdetr   r0   r%   r   r	   Úastyper   re  r   r   Úreducer'   ÚexpÚ
atleast_1dr½   r   r   )rL   r2   r3   rK   Údr_  rÐ   ÚldÚadrg  Úms              r+   rQ   Ú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¡4›L¨!Ô,Ü�R˜‘Vœc˜TÕ"r-   r_   Nr*  r_   r-   r+   r  r  ‹  s   † õ#r-   r  c                   ól   • \ rS rSrS r\R                  R                  S\\	\
\/5      S 5       rS rSrg)ÚTestDeti   c                 ó|  • [        [        R                  " S//5      S5        [        [        [        R                  " S//5      5      [        5        [        [        R                  " S//5      S5        [        [        [        R                  " S//5      5      [
        5        [        [        R                  " S//5      S[        * 45        [        [        [        R                  " S//5      S   5      [        5        [        [        [        R                  " S//5      S   5      [        5        [        [        R                  " S//5      S[        * 45        [        [        [        R                  " S//5      S   5      [
        5        [        [        [        R                  " S//5      S   5      [        5        g )Nç        y                r   rv   )r   r   r  r%   r	   r   r  r   rV   s    r+   Ú	test_zeroÚ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                 óL  • [         R                  " SS/SS//US9n[        [         R                  R	                  U5      R
                  U5        [         R                  R                  U5      u  p4[        UR
                  [        U5      5        [        UR
                  U5        g r.  )r'   r   r   r   r  r0   r  r9   )rL   r0   rÉ   ÚphrÐ   s        r+   r1  ÚTestDet.test_types®  ss   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ”R—Y‘Y—]‘] 1Ó%×+Ñ+¨UÔ3Ü—	‘	×!Ñ! !Ó$‰ˆÜ�Q—W‘Wœn¨UÓ3Ô4Ü�R—X‘X˜uÕ%r-   c                 óì  • [         R                  " S[         R                  S9n[        R                  " U5      n[        US5        [        UR                  R                  [         R                  L 5        [        R                  " U5      n[        US5        [        US   R                  R                  [         R                  L 5        [        US   R                  R                  [         R                  L 5        [         R                  " S[         R                  S9n[        R                  " U5      n[        US5        [        UR                  R                  [         R                  L 5        [        R                  " U5      n[        US5        [        US   R                  R                  [         R                  L 5        [        US   R                  R                  [         R                  L 5        g )Nrq   r8   rg   rà  r   rv   )r'   rZ  r]  r   r  r   r   r0   r%   r  Úfloat32r\  )rL   r2   r_  s      r+   rD  Ú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-   r_   N)rY   rZ   r[   r\   r  r
  r  rK  r   r	   r   r   r1  rD  r^   r_   r-   r+   r  r     s<   † ò@ð ‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ&ó Jð&õ1r-   r  c                   ó   • \ rS rSrS rSrg)Ú
LstsqCasesiÊ  c                 ó   • [         R                  " U5      nUR                  u  pV[        R                  " US5      u  pxn	[        R
                  " XSS9u  p«pÍUS:X  a  [        U
S:H  R                  5       5        XV::  a!  [        U[        X5      5        [        XÅ5        O[        XÆ5        [        XÝR                  U5      5        XÆ:X  a­  XV:”  a¨  [         R                  " [        [         R                  " X5      U-
  5      5      S-  R                  SS9n[         R                  " U5      n[         R                  " U5      R                  S:X  a'  SUl        [        UR                  UR                  5        O.[         R                  " / 5      R!                  [#        U
5      5      n[        X¾5        [        [         R$                  " UR&                  [         R(                  5      5        [        [+        X¢5      5        [        [+        X²5      5        g )	NFrœ   rû  r   rx   r  rv   r©   )r'   r   r£   r   r�  Úlstsqr   rÃ   r   r   r   Ú__array_wrap__r½   r¾  r    r   r¿   r%   Ú
issubdtyper0   Úfloatingr,   )rL   r2   r3   rK   Úarrr  Únr—  rÐ   r˜  rÉ   Ú	residualsÚrankÚsvÚexpect_residss                  r+   rQ   ÚLstsqCases.doÌ  si  € Ü�jŠj˜‹mˆØ�y‰y‰ˆÜ—:’:˜a Ó'‰ˆˆbÜ!'§¢¨a¸"Ñ!=Ñˆ�dØ�‹6Ü�Q˜!‘V—L‘L“NÔ#Ø‹6Ü ¤3 q£9Ô-Ü˜Õ!ä˜Ô!Ü˜B× 1Ñ 1°!Ó 4Ô5Ø‹9˜›ä—
’
œ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Ó)Ô*ÜÔ# IÓ1Õ2r-   r_   Nr*  r_   r-   r+   r  r  Ê  s   † õ3r-   r  c                   ól   • \ rS rSrS r\R                  R                  / SQ/ SQ5      S 5       rS r	Sr
g)	Ú	TestLstsqiè  c                 ór  • [         R                  " / SQ/ SQ/ SQ/ SQ/5      R                  n[         R                  " / SQ5      n[        R                  " XSS9u  p4pV[        US:H  5        [        R                  " X5      u  p4pV[        US	:H  5        [        R                  " XS S9u  p4pV[        US	:H  5        g )
N)r  rg   r  rg   rh   r  )r  rh   r  r  rg   r  )rg   r  rg   r  r  rj   )r  r  r  rh   ri   r  )rv   r   r   r   r   r   rœ   rû  rz   ry   )r'   r   ÚTr   r!  r   )rL   r2   r3   rÉ   r'  r(  rÐ   s          r+   Ú
test_rcondÚTestLstsq.test_rcondé  s�   € Ü�HŠHÒ2Ú2Ú2Ú2ð4ó 5÷ 67±Qð 	
ô
 �HŠHÒ'Ó(ˆä &§¢¨Q¸Ñ <Ñˆ�dÜ�˜‘	ÔÜ &§¢¨QÓ 2Ñˆ�dÜ�˜‘	ÔÜ &§¢¨Q¸Ñ >Ñˆ�dÜ�˜‘	Õr-   )r  r&  Ún_rhs))rz   rx   rx   )r   rz   rv   )r   rz   rx   )rz   r   rv   )rz   r   rx   )rz   rx   r   ©r   r   r   c                 óF  • [         R                  " X-  5      R                  X5      n[         R                  " X45      n[        R
                  " XES S9u  pgp‰US:X  a  [        US:H  R                  5       5        [        UR                  X#45        [        UR                  X:”  a  U4OS5        X:”  a:  US:”  a4  U[         R                  " XF5      -
  n
[        XzU
-  R                  SS95        [        U[        X5      5        [        U	R                  [        X5      45        g )Nrû  r   rr   r�   r  )r'   r:  r¢   rÏ  r   r!  r   rÃ   r   r£   r   r   r¾  rÀ  )rL   r  r&  r2  r2   r3   rÉ   r'  r(  rÐ   r   s              r+   Útest_empty_a_bÚTestLstsq.test_empty_a_bø  sÙ   € ô �IŠI�a‘eÓ×$Ñ$ QÓ*ˆÜ�GŠG�Q�JÓˆÜ &§¢¨Q¸Ñ >Ñˆ�dØ�‹6Ü�Q˜!‘V—L‘L“NÔ#Ü�Q—W‘W˜q˜jÔ)Ü�Y—_‘_°1³5¨¡x¸dÔDØ‹5�U˜Q“Yà”B—F’F˜1“LÑ ˆAÜ 	°©E¯;©;¸B¨;Ð+?Ô@Ü�Tœ3˜q›9Ô%Ü�Q—W‘Wœs 1›y˜lÕ+r-   c                 ó`  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " U[         R                  " [	        U5      5      /5      R
                  n[        [        S5         [        R                  " X2S S9  S S S 5        g ! , (       d  f       g = f)N)r   rv   rx   ry   )rœ   gš™™™™™É?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ @gffffff
@zIncompatible dimensionsrû  )
r'   r   ÚvstackrÏ  Úlenr/  r!   r   r   r!  )rL   rÉ   ÚyrÉ  s       r+   Útest_incompatible_dimsÚ TestLstsq.test_incompatible_dims  sj   € ä�HŠH’\Ó"ˆÜ�HŠHÒ-Ó.ˆÜ�IŠI�qœ"Ÿ'š'¤# a£&›/Ð*Ó+×-Ñ-ˆÜ ¤Ð.GÕHÜ�LŠL˜ TÒ*÷ I×HÖHús   Â BÂ
B-r_   N)rY   rZ   r[   r\   r0  r
  r  rK  r5  r;  r^   r_   r-   r+   r-  r-  è  s7   † òð ‡[�[×ÑÒ0ò 3ó ñ,óð,õ+r-   r-  Údtz?bBhHiIqQefdgFDGOc                   ó�  • \ rS rSr\R
                  " S5      r\/ SQ   r\/ SQ   r\/ SQ   r	\\\\	/r
\" SS/SS//5      r\R                  " \///S-  5      r\\R                   " S	5      \R                   " S
5      \R                   " S5      /rS rS rS rS rS rS rS r\R4                  R7                  \SS9S 5       rSrg)ÚTestMatrixPoweri  rz   )ry   r   rv   rx   )rx   ry   r   rv   )rv   rx   ry   r   rv   r   rx   rà   ÚgÚGc                 óš  • U R                   R                  U5      n[        [        USS-  S-   S-   S-   5      U R                  5        [        [        USS-  S-   S-   S-   5      U R                   5        [        [        USS-  S-   S-   S-   5      U R
                  5        [        [        USS-  S-   S-   S-   5      U R                  5        g )Nrx   rF   i   é    r   rv   ry   )Úrshft_1r	  r   r   Úrshft_0Úrshft_2Úrshft_3)rL   r=  Úrshfts      r+   Útest_large_powerÚ 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                 ó¸   • S nU R                    HG  nU" UR                  U5      5        U[        :w  d  M&  U" U R                  R                  U5      5        MI     g )Nc                 ó†   • [        U S5      n[        U[        U 5      5        [        UR                  U R                  5        g )Nr   )r   r   r!  r0   )ÚMÚmzs     r+   ÚtzÚ.TestMatrixPower.test_power_is_zero.<locals>.tz2  s0   € Ü˜a Ó#ˆBÜ˜Ô6°qÓ9Ô:Ü˜Ÿ™ 1§7¡7Õ+r-   ©Ú	rshft_allr	  ÚobjectÚstacked©rL   r=  rO  r²  s       r+   Útest_power_is_zeroÚ"TestMatrixPower.test_power_is_zero1  sE   € ò	,ð
 —>”>ˆCÙˆs�z‰z˜"‹~ÔØ”V�|Ù�4—<‘<×&Ñ& rÓ*Ö+ò "r-   c                 ó¸   • S nU R                    HG  nU" UR                  U5      5        U[        :w  d  M&  U" U R                  R                  U5      5        MI     g )Nc                 ór   • [        U S5      n[        X5        [        UR                  U R                  5        g )Nrv   )r   r   r0   )r²  rN  s     r+   rO  Ú-TestMatrixPower.test_power_is_one.<locals>.tz=  s(   € Ü˜c 1Ó%ˆBÜ˜Ô!Ü˜Ÿ™ 3§9¡9Õ-r-   rQ  rU  s       r+   Útest_power_is_oneÚ!TestMatrixPower.test_power_is_one<  sE   € ò	.ð
 —>”>ˆCÙˆs�z‰z˜"‹~ÔØ”V�|Ù�4—<‘<×&Ñ& rÓ*Ö+ò "r-   c                 ó¸   • S nU R                    HG  nU" UR                  U5      5        U[        :w  d  M&  U" U R                  R                  U5      5        MI     g )Nc                 ó¾   • [        U S5      nU R                  [        :w  a  [        O[        n[        X" X 5      5        [        UR                  U R                  5        g )Nrx   )r   r0   rS  r   r   r   )r²  rN  Úmmuls      r+   rO  Ú-TestMatrixPower.test_power_is_two.<locals>.tzH  s@   € Ü˜c 1Ó%ˆBØ ŸY™Y¬&Ó0•6´cˆDÜ˜˜T #›^Ô,Ü˜Ÿ™ 3§9¡9Õ-r-   rQ  rU  s       r+   Útest_power_is_twoÚ!TestMatrixPower.test_power_is_twoG  sE   € ò	.ð —>”>ˆCÙˆs�z‰z˜"‹~ÔØ”V�|Ù�4—<‘<×&Ñ& rÓ*Ö+ò "r-   c                 ó€   • S nU R                    H+  nXR                  ;  d  M  U" UR                  U5      5        M-     g )Nc                 ó’   • [        U S5      nU R                  [        :w  a  [        O[        n[        U" X5      [        U 5      5        g ©Nrœ   )r   r0   rS  r   r   r   r!  )r²  Úinvmatr_  s      r+   rO  Ú3TestMatrixPower.test_power_is_minus_one.<locals>.tzT  s9   € Ü! # rÓ*ˆFØ ŸY™Y¬&Ó0•6´cˆDÜÙ�VÓ!Ô#<¸SÓ#AõCr-   )rR  Údtnoinvr	  rU  s       r+   Útest_power_is_minus_oneÚ'TestMatrixPower.test_power_is_minus_oneS  s2   € ò	Cð —>”>ˆCØŸ™Õ%Ù�3—:‘:˜b“>Ö"ò "r-   c                 ó”   • U R                   R                  U5      n[        [        [        US5        [        [        [        US/5        g )Ng      ø?rv   )rE  r	  r    Ú	TypeErrorr   ©rL   r=  r²  s      r+   Útest_exceptions_bad_powerÚ)TestMatrixPower.test_exceptions_bad_power^  s4   € Ø�l‰l×!Ñ! "Ó%ˆÜ”i¤¨s°CÔ8Ü”i¤¨s°Q°CÕ8r-   c                 ó  • [        [        [        [        R                  " S/U5      S5        [        [        [        [        R                  " S/S//U5      S5        [        [        [        [        R
                  " SU5      S5        g )Nrv   rx   )rz   ry   rx   )r    r   r   r'   r   rÏ  )rL   r=  s     r+   Útest_exceptions_non_squareÚ*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                 ó†   • XR                   ;   a  g U R                  R                  U5      n[        [        [
        US5        g re  )rh  Únoninvr	  r    r   r   rm  s      r+   Útest_exceptions_not_invertibleÚ.TestMatrixPower.test_exceptions_not_invertibleh  s1   € à—‘ÓØØ�k‰k× Ñ  Ó$ˆÜ”k¤<°°bÕ9r-   r_   N)rY   rZ   r[   r\   r'   rž  rE  rD  rF  rG  rR  r   rv  ÚblockrT  rS  r0   rh  rI  rV  r[  ra  ri  rn  rq  r
  r  Úskipifr   rw  r^   r_   r-   r+   r?  r?    sâ   † ð �fŠf�Q‹i€GØ’lÑ#€GØ’lÑ#€GØ’lÑ#€GØ˜' 7¨GÐ4€IÙ�Q˜�F˜Q ˜FÐ#Ó$€FØ�hŠh˜'˜˜�} qÑ(Ó)€Gà�r—x’x “} b§h¢h¨s£m°R·X²X¸c³]ÐC€Gò	Jò	,ò	,ò
,ò	#ò9ò
Lð
 ‡[�[×Ñ˜Ð(FÐÐGñ:ó Hó:r-   r?  c                   ó   • \ rS rSrS rSrg)ÚTestEigvalshCasesip  c                 ó"  • [         R                  " US5      n[         R                  " U5      u  pVUR                  SS9  [	        XE[        UR                  5      S9  [         R                  " US5      n[	        Xu[        UR                  5      S9  g )NÚLrœ   r  rx  r�  )r   Úeigvalshrf  r´  r   r=   r0   )rL   r2   r3   rK   rg  rh  ri  Úev2s           r+   rQ   ÚTestEigvalshCases.dor  sh   € ô �_Š_˜Q Ó$ˆÜ"ŸJšJ q›MÑˆØ�‰˜"ˆÑÜ˜¬(°2·8±8Ó*<Ò=ä�oŠo˜a Ó%ˆÜ˜¬8°B·H±HÓ+=Ó>r-   r_   Nr*  r_   r-   r+   r|  r|  p  s   † õ	?r-   r|  c                   ór   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rS rS rSrg)	ÚTestEigvalshi~  r0   c                 ó¶   • [         R                  " SS/SS//US9n[         R                  R                  U5      n[	        UR
                  [        U5      5        g r.  )r'   r   r   r  r   r0   r9   )rL   r0   rÉ   r�  s       r+   r1  ÚTestEigvalsh.test_types  sF   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ�I‰I×Ñ˜qÓ!ˆÜ�Q—W‘Wœn¨UÓ3Õ4r-   c                 óN  • [         R                  " SS/SS//[         R                  S9n[        [        [         R
                  R                  USS9  [        [        [         R
                  R                  US5        [        [        [         R
                  R                  US5        g ©Nrv   r/  r8   Úlrong©ÚUPLOÚlowerÚupper)r'   r   r  r    r;  r   r  ©rL   rÉ   s     r+   Útest_invalidÚ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                 ó¶  • [         R                  " SS/SS//[         R                  S9n[         R                  " SS/SS//[         R                  S9n[         R                  " SS/[         R                  S9n[        [         R                  5      n[         R                  R                  U5      n[        XSUS9  [         R                  R                  USS9n[        XSUS9  [         R                  R                  USS9n[        XSUS9  [         R                  R                  US	S9n[        XSUS9  [         R                  R                  US
S9n[        XSUS9  g ©Nr   rv   r8   rœ   rx  r~  r‰  Úlr�  r—  )r'   r   r	   r=   r   r  r   )rL   ÚKloÚKupÚtgtry  r�  s         r+   Ú	test_UPLOÚ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Ó#ˆÜ˜ TÒ*ä�I‰I×Ñ˜s¨ÐÐ-ˆÜ˜ TÒ*ä�I‰I×Ñ˜s¨ÐÐ-ˆÜ˜ TÒ*ä�I‰I×Ñ˜s¨ÐÐ-ˆÜ˜ TÒ*ä�I‰I×Ñ˜s¨ÐÐ-ˆÜ˜ TÓ*r-   c                 óö  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        SUR                  5        [        [        U[         R                  5      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  R                  [         R                  L 5        [        SUR                  5        [        [        U[         R                  5      5        g )Nc                   ó   • \ rS rSrSrg)Ú/TestEigvalsh.test_0_size.<locals>.ArraySubclassi£  r_   Nr6  r_   r-   r+   r7  rš  £  r8  r-   r7  rY  r8   rs  rq   rr   )r'   r(   rZ  r[  r¿   r   r  r   r0   r%   r\  r   r£   r&   r]  r  r^  s       r+   rD  Ú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-   r_   N©rY   rZ   r[   r\   r
  r  rK  r   r	   r   r   r1  rŽ  r–  rD  r^   r_   r-   r+   rƒ  rƒ  ~  s?   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ5ó Jð5ò
Bò+õ,-r-   rƒ  c                   ó   • \ rS rSrS rSrg)ÚTestEighCasesi´  c                 ó†  • [         R                  " U5      nUR                  UR                  pe[         R                  " U5      u  pxUR                  SS9  [        XW5        [        [        X5      [        R                  " U5      SS S S 24   [        R                  " U5      -  [        UR                  5      S9  [         R                  " US5      u  pš[        X—5        [        [        X5      [        R                  " U	5      SS S S 24   [        R                  " U
5      -  [        UR                  5      [        U5      S9  g )Nrœ   r  .rx  r�  )ry  Úerr_msg)r   Úeighrz  r{  rf  r´  r   r   r   r'   r   r=   r0   Úrepr)rL   r2   r3   rK   r_  rg  Úevcrh  ri  r€  Úevc2s              r+   rQ   Ú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Ó'‰	ˆÜ˜CÔ)äœ˜q›ÜŸ
š
 3›¨¨T²1¨Ñ5¼¿
º
À4Ó8HÑHÜ% b§h¡hÓ/¼¸a»ó	Br-   r_   Nr*  r_   r-   r+   rž  rž  ´  s   † õBr-   rž  c                   ór   • \ rS rSr\R
                  R                  S\\\	\
/5      S 5       rS rS rS rSrg)	ÚTestEighiË  r0   c                 óæ   • [         R                  " SS/SS//US9n[         R                  R                  U5      u  p4[	        UR
                  [        U5      5        [	        UR
                  U5        g r.  )r'   r   r   r¡  r   r0   r9   r€  s        r+   r1  ÚTestEigh.test_typesÌ  sT   € ä�HŠH�q˜#�h  a Ð)°Ñ7ˆÜ�y‰y�~‰~˜aÓ ‰ˆÜ�Q—W‘Wœn¨UÓ3Ô4Ü�Q—W‘W˜eÕ$r-   c                 óN  • [         R                  " SS/SS//[         R                  S9n[        [        [         R
                  R                  USS9  [        [        [         R
                  R                  US5        [        [        [         R
                  R                  US5        g r‡  )r'   r   r  r    r;  r   r¡  r�  s     r+   rŽ  ÚTestEigh.test_invalidÓ  se   € Ü�HŠH�q˜#�h  a Ð)´·±Ñ<ˆÜ”j¤"§)¡)§.¡.°!¸'ÒBÜ”j¤"§)¡)§.¡.°!°WÔ=Ü”j¤"§)¡)§.¡.°!°WÕ=r-   c                 óÊ  • [         R                  " SS/SS//[         R                  S9n[         R                  " SS/SS//[         R                  S9n[         R                  " SS/[         R                  S9n[        [         R                  5      n[         R                  R                  U5      u  pV[        XSUS9  [         R                  R                  USS9u  pV[        XSUS9  [         R                  R                  USS9u  pV[        XSUS9  [         R                  R                  US	S9u  pV[        XSUS9  [         R                  R                  US
S9u  pV[        XSUS9  g r‘  )r'   r   r	   r=   r   r¡  r   )rL   r“  r”  r•  ry  r�  r‚  s          r+   r–  Ú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Ó"‰ˆÜ˜ TÒ*ä�y‰y�~‰~˜c¨ˆ~Ð,‰ˆÜ˜ TÒ*ä�y‰y�~‰~˜c¨ˆ~Ð,‰ˆÜ˜ TÒ*ä�y‰y�~‰~˜c¨ˆ~Ð,‰ˆÜ˜ TÒ*ä�y‰y�~‰~˜c¨ˆ~Ð,‰ˆÜ˜ TÓ*r-   c                 ó:  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      u  p4[        UR                  R                  [         R                  L 5        [        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        SUR                  5        [        [        U[         R                  5      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      u  p4[        UR                  R                  [         R                  L 5        [        UR                  R                  [         R                  L 5        [        UR                  UR                  5        [        SUR                  5        [        [        U[         R                  5      5        g )Nc                   ó   • \ rS rSrSrg)Ú+TestEigh.test_0_size.<locals>.ArraySubclassiñ  r_   Nr6  r_   r-   r+   r7  r°  ñ  r8  r-   r7  rY  r8   rs  rq   rr   )r'   r(   rZ  r[  r¿   r   r¡  r   r0   r%   r\  r   r£   r&   r]  r  r‡  s        r+   rD  ÚTestEigh.test_0_sizeï  s<  € ô	œBŸJ™Jô 	ä�HŠH�Y¤b§g¡gÑ.×3Ñ3°MÓBˆÜ—[’[ “^‰
ˆÜ�—‘× Ñ ¤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ˆÜ—[’[ “^‰
ˆÜ�—‘× Ñ ¤B§L¡LÐ0Ô1Ü�—	‘	—‘¤"§*¡*Ð,Ô-Ü�Q—W‘W˜eŸk™kÔ*Ü�T˜3Ÿ9™9Ô%ä”
˜1œbŸj™jÓ)Õ*r-   r_   Nrœ  r_   r-   r+   r§  r§  Ë  s>   † Ø‡[�[×Ñ˜W v¨v°wÀÐ&HÓIñ%ó Jð%ò>ò+õ,+r-   r§  c                   ó,   • \ rS rSrSrSr\S 5       rSrg)Ú_TestNormBasei  Nc                 ó.  • [        U R                  R                  [        R                  5      (       a+  [        UR                  U R                  R                  5        g [        [        UR                  R                  [        R                  5      5        g r$   )	Ú
issubclassr0   r%   r'   Úinexactr   Úrealr   r$  )rÉ   r_  s     r+   Úcheck_dtypeÚ_TestNormBase.check_dtype
  sN   € ä�a—g‘g—l‘l¤B§J¡J×/Ñ/Ü˜Ÿ™ A§F¡F§L¡LÕ1ô ”J˜sŸy™yŸ~™~¬r¯{©{Ó;Õ<r-   r_   )	rY   rZ   r[   r\   r=  ÚdecÚstaticmethodr¸  r^   r_   r-   r+   r³  r³    s   † Ø	€BØ
€Càñ=ó ó=r-   r³  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	Ú_TestNormGenerali  c                 óÜ   • [        [        / 5      S5        [        [        [        / U R                  S95      S5        [        [        [	        [        / U R                  S95      5      S5        g )Nr  r8   )r   r   r   r=  r   rV   s    r+   Ú
test_emptyÚ_TestNormGeneral.test_empty  sI   € Ü”T˜"“X˜sÔ#Ü”Tœ% ¨$¯'©'Ñ2Ó3°SÔ9Ü”Tœ*¤U¨2°T·W±WÑ%=Ó>Ó?ÀÕEr-   c                 ó~  • [         R                  " / SQ5      n[         R                  S   n[         R                  S   nX#-   nU GHâ  nUR                  U5      n[	        U[         R
                  * 5      nU R                  Xg5        [        US5        [        5        nUR                  [        S5        [	        US5      nU R                  Xg5        [        US5        S S S 5        [	        US5      nU R                  Xg5        [        US5        [	        US	5      nU R                  Xg5        [        US
5        [	        US5      nU R                  Xg5        [        XwR                  R                  S
5      UR                  R                  S5      -  5        [	        US5      nU R                  Xg5        [        XwR                  R                  S
5      UR                  R                  S5      -  5        [	        U[         R
                  5      nU R                  Xg5        [        US5        GMå     g ! , (       d  f       GNX= f)NrÙ  Ú
AllIntegerÚAllFloatr  údivide by zero encounteredrœ   r   rx   rv   rh   r/  rz   g      Ð?rg   )r'   r   Ú	typecodesr	  r   r   r¸  r   r"   ÚfilterÚRuntimeWarningr0   r%   ©	rL   r2   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚanÚsups	            r+   Útest_vector_return_typeÚ(_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“\�Ø× Ñ  Ô(Ü# B¨Ô,÷	 %ô �b˜!“ˆBØ×Ñ˜RÔ$Ü  AÔ&ä�b˜!“ˆBØ×Ñ˜RÔ$Ü  CÔ(ä�b˜!“ˆBØ×Ñ˜RÔ$Ü §H¡H§M¡M°#Ó$6¸¿¹¿¹ÀiÓ8PÑ$PÔQä�b˜!“ˆBØ×Ñ˜RÔ$Ü §H¡H§M¡M°#Ó$6¸¿¹¿¹ÀiÓ8PÑ$PÔQä�bœ"Ÿ&™&Ó!ˆBØ×Ñ˜RÔ$Ü  C×(ò? #÷ %Ö$ús   ÂA H-È-
H<	c                 óä   ^ • / SQn/ SQn/ SQnU 4S jnXU4 H  nU" U5        M     [        UT R                  S9[        UT R                  S9[        UT R                  S94 H  nU" U5        M     g )N)rv   rx   ry   rz   )rœ   r�   r«   rª   )rœ   rx   r«   rz   c                 óF  >• [         R                  R                  [        U 5      STR                  S9  [         R                  R                  [        U [
        5      STR                  S9  [         R                  R                  [        U [
        * 5      STR                  S9  [         R                  R                  [        U S5      STR                  S9  [         R                  R                  [        U S5      STR                  S9  [         R                  R                  [        U S	5      STR                  S9  [         R                  R                  [        U S
5      STR                  S9  [         R                  R                  [        U S5      STR                  S9  g )Ng�¥6Ò­è@©r/   rj   rg   rv   ç      $@rœ   g¸…ëQ¸Þ?rx   r�   gÊsÔcÙÑê?r   rz   )r'   Útestingr   r   rº  r   )r‚  rL   s    €r+   Ú_testÚ+_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=  )rL   r2   r3   rÂ  r×  r‚  s   `     r+   Útest_vectorÚ_TestNormGeneral.test_vectorC  sl   ø€ ÚˆÚˆÚˆõ	=ð$ ˜“ˆAÙ�!ŽHñ ô ˜ §¡Ñ)¬5°¸$¿'¹'Ñ+BÜ˜ §¡Ñ)ó+ˆAá�!ŽHò+r-   c                 óÐ  • [        / SQ/ SQ/U R                  S9nS SSSSS[        R                  [        R                  * 4 H˜  n[	        UR
                  S   5       Vs/ s H  n[        US S 2U4   US	9PM     nn[        [        XSS
9U5        [	        UR
                  S   5       Vs/ s H  n[        XS S 24   US	9PM     nn[        [        XSS
9U5        Mš     [        R                  " SSU R                  S9R                  SSS5      nUR                  nS SSSS[        R                  [        R                  * S4 GH  n[        R                  " [	        U* U5      S5       Hâ  nUu  pšU	S:  a  X—-  n	U
S:  a  X§-  n
Xš:X  a  [        [        [        XbUS
9  M6  [        XbUS
9nXyU
-   -
  nXš:  aA  [	        UR
                  U   5       Vs/ s H  n[        US S  R                  X<S9US	9PM     nnOJ[	        UR
                  U   5       Vs/ s H'  n[        US S  R                  X<S9R                   US	9PM)     nn[        X½5        Mä     GM     g s  snf s  snf s  snf s  snf )Nrú  ©rz   r‹   r™   r8   rœ   r   rv   rx   ry   ©Úord©rÞ  r  é   rz   r�   r¼  r  )r   r=  r'   r   r¯  r£   r   r   r:  r¢   r    r¹   Úcombinationsr    r;  Útaker/  )rL   rÉ  ÚorderÚkÚ	expected0Ú	expected1ÚBÚndr  Úrow_axisÚcol_axisr&  Úk_indexrC  s                 r+   Ú	test_axisÚ_TestNormGeneral.test_axisa  sD  € ô ’9šiÐ(°·±Ñ8ˆØ˜B  1 a¨¬B¯F©F´R·V±V°GÓ<ˆEÜ;@ÀÇÁÈÁÔ;LÓMÒ;L°aœ˜a¢ 1 ™g¨5Ô1Ñ;LˆIÐMÜ¤ Q¸Ñ :¸IÔFÜ;@ÀÇÁÈÁÔ;LÓMÒ;L°aœ˜a¢1 ™g¨5Ô1Ñ;LˆIÐMÜ¤ Q¸Ñ :¸IÖFñ	 =ô �IŠI�a˜ 4§7¡7Ñ+×3Ñ3°A°q¸!Ó<ˆØ�V‰VˆØ˜B  2 q¬"¯&©&´2·6±6°'¸5ÔAˆEÜ!×.Ò.¬u°b°S¸"«~¸qÖA�Ø%)Ñ"�Ø˜a“<Ø‘N�HØ˜a“<Ø‘N�HØÓ'Ü!¤*¬d°AÀtÔLä˜Q°Ñ5�Að !¨xÑ$7Ñ8�GØÓ*ä-2°1·7±7¸7Ñ3CÔ-Dó$FÚ-D¨ô %)¨©1¨¯©°1¨Ð)CÈÔ$OÙ-Dð !ð $F˜ô .3°1·7±7¸7Ñ3CÔ-Dó$FÚ-D¨ô %)¨©1¨¯©°1¨Ð)C×)EÑ)EÈ5Ô$QÙ-Dð !ð $Fä'¨Ö4ô) Bò Bùò NùâMùò,$Fùò$Fs   ÁIÂ*IÇ$IÈ.I#c                 ó<  • [         R                  " SSU R                  S9R                  SSS5      nSnSn[	        US S S	9n[	        US S S
S9n[        [         R                  " U5      UUR                  S S 5      S9  Sn[        UR                  U:H  UR                  UR                  US S 5      5        S SSSSS[         R                  [         R                  * 4 Hº  n[        UR                  5       Hž  n[	        XUS	9n[	        XUS
S9n[        [         R                  " U5      UUR                  Xx5      S9  [        UR                  5      nSXh'   [        U5      n[        UR                  U:H  UR                  UR                  XgU5      5        M      M¼     S SSSS[         R                  [         R                  * SS4	 HÙ  n[        R                   " [        UR                  5      S5       H¨  n[	        XUS	9n[	        XUS
S9n[        [         R                  " U5      UUR                  Xx5      S9  [        UR                  5      nSXhS   '   SXhS   '   [        U5      n[        UR                  U:H  UR                  UR                  XgU5      5        Mª     MÛ     g )Nrv   rà  r8   rx   ry   rz   zorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}rß  T)rÞ  r  Úkeepdims)r   )rv   rv   rv   rœ   r   r�   r¼  Únuc)r'   r:  r=  r¢   r   r   ÚsqueezeÚformatr   r£   r   r¯  r    rÅ   r»   r¹   Úpermutations)	rL   rÉ  Úallclose_errÚ	shape_errrC  ÚfoundÚexpected_shaperã  rä  s	            r+   Útest_keepdimsÚ_TestNormGeneral.test_keepdims†  sH  € Ü�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Ó<ˆEÜ˜1Ÿ6™6–]�Ü °1Ñ5�Ü˜Q°¸DÑA�Ü¤§
¢
¨5Ó 1°8Ø(4×(;Ñ(;¸EÓ(EòGä!% a§g¡g£�Ø$%�Ñ!Ü!& ~Ó!6�Ü˜Ÿ™ ~Ñ5Ø!×(Ñ(¨¯©°nÈQÓOöQó #ñ =ð ˜B  2 q¬"¯&©&´2·6±6°'¸5À%ÓHˆEÜ×+Ò+¬E°!·&±&«M¸1Ö=�Ü °1Ñ5�Ü˜Q°¸DÑA�Ü¤§
¢
¨5Ó 1°8Ø(4×(;Ñ(;¸EÓ(EòGä!% a§g¡g£�Ø'(� ™tÑ$Ø'(� ™tÑ$Ü!& ~Ó!6�Ü˜Ÿ™ ~Ñ5Ø!×(Ñ(¨¯©°nÈQÓOöQó >ò Ir-   r_   N)
rY   rZ   r[   r\   r¿  rÐ  rÙ  rì  rø  r^   r_   r-   r+   r½  r½    s   † òFò
')òRò<#5õJ(Qr-   r½  c                   óJ   • \ rS rSr\R
                  rS rS rS rS r	S r
Srg)	Ú_TestNorm2Di±  c           	      ó`   • [        [        U R                  / /U R                  S95      S5        g )Nr8   r  )r   r   r   r=  rV   s    r+   Útest_matrix_emptyÚ_TestNorm2D.test_matrix_empty¶  s$   € Ü”T˜$Ÿ*™* b T°·±˜*Ð9Ó:¸CÕ@r-   c                 ó  • U R                  / SQ/ SQ/5      n[        R                  S   nSnX#-   nU GH¶  nUR                  U5      n[	        U[        R
                  * 5      nU R                  Xg5        [        US5        [        5        nUR                  [        S5        [	        US5      nU R                  Xg5        [        US5        S S S 5        [	        US	5      nU R                  Xg5        [        US5        [	        US
5      nU R                  Xg5        [        US5        [	        US5      nU R                  Xg5        [        US5        [	        U[        R
                  5      nU R                  Xg5        [        US5        [	        US5      nU R                  Xg5        [        US5        [	        US5      nU R                  Xg5        [        R                  R                  USSS9  GM¹     g ! , (       d  f       GN,= f)NrÙ  rY  rÂ  ÚfdFDrh   rÄ  rœ   rg   rv   rx   gªLXèz¶û?r�   r¼  rð  gU&,t=Û@r™   rÔ  )r   r'   rÅ  r	  r   r   r¸  r   r"   rÆ  rÇ  rÖ  rÈ  s	            r+   Útest_matrix_return_typeÚ#_TestNorm2D.test_matrix_return_type¹  s©  € Ø�J‰Jš	¢9Ð-Ó.ˆä—l‘l <Ñ0ˆð
 ˆàÑ/ˆ	ä"ˆIØ—‘˜)Ó$ˆBä�bœ2Ÿ6™6˜'Ó"ˆBØ×Ñ˜RÔ$Ü  CÔ(ä"Ô$¨Ø—
‘
œ>Ð+GÔHÜ˜"˜b“\�Ø× Ñ  Ô(Ü# 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 #÷ %Ö$ús   Â
A G/Ç/
G>	c                 ód  • U R                  SS/SS//U R                  S9n[        [        U5      S5        [        [        US5      S5        [        [        US5      S	5        [        [        U[        5      S
5        [        [        U[        * 5      S5        [        [        US5      S	5        [        [        US5      S5        [        [        US5      S5        [        [        US5      S5        [        [        [        US5        [        [        [        US5        [        [        [        US5        g )Nrv   ry   r‹   r˜   r8   g…¹ŽT"@r¼  rð  rÕ  g      (@rj   rœ   rl   rx   g„öW³?"@r�   gÑ—€Ê„ì?Únofror«   r   )r   r=  r   r   r   r    r;  rÈ  s     r+   Útest_matrix_2x2Ú_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                 óì  • SU R                  / SQ/ SQ/ SQ/U R                  S9-  n[        [        U5      S5        [        [        US5      S5        [        [        US5      S	5        [        [        U[        5      S
5        [        [        U[        * 5      S5        [        [        US5      S5        [        [        US5      S5        [        [        US5      S5        [        [        US5      S5        g )Ngš™™™™™¹?rú  )r™   r   r‹   )ry   rx   rv   r8   grj=Q0î?r¼  rð  gþB+pcõ?gš™™™™™ñ?g333333ã?rv   rg   rœ   gš™™™™™Ù?rx   gû&Þê.dì?r�   gÜ¸Õ ˆçÈ?)r   r=  r   r   r   rÈ  s     r+   Útest_matrix_3x3Ú_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                 ó¸  • U R                  / SQ/ SQ/U R                  S9n[        R                  " SSU R                  S9R	                  SSS5      n[        [        [        US	S
5        [        [        [        USS
5        [        [        [        SS/S	S 5        [        [        [        SS/SS 5        [        [        [        SS/SS 5        S HE  n[        [        [        XS 5        [        [        [        XS5        [        [        [        X#S5        MG     [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        g )Nrú  rÜ  r8   rv   rà  rx   ry   rz   r¼  r   rð  Útest©r   ry   rs  )rv   rx   ©rx   ry   ©r   rv   rx   )	r   r=  r'   r:  r¢   r    r;  r   r   )rL   rÉ  rç  rã  s       r+   Útest_bad_argsÚ_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°dÔ;Üœ*¤d¨A°fÔ=Üœ*¤d¨A°fÖ=ñ ô 	”i¤ q¨$°Ô2Ü”i¤ q¨$°Ô7Ü”j¤$¨¨4°Õ;r-   r_   N)rY   rZ   r[   r\   r'   r   rý  r  r  r  r  r^   r_   r-   r+   rû  rû  ±  s)   † ð �H‰H€EòAò1Nòf.ò >õ"<r-   rû  c                   ó   • \ rS rSrSrg)Ú	_TestNormi)  r_   Nr6  r_   r-   r+   r  r  )  rò  r-   r  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestNorm_NonSystematici-  c                 óp   • [         R                  " S[         R                  S9n[        [	        USS9SSS9  g )Né
   r8   ry   rÝ  gÍÌÌÌÌL)@rx   rÔ  )r'   r:  Ú
longdoubler1   r   r�  s     r+   Útest_longdouble_normÚ+TestNorm_NonSystematic.test_longdouble_norm/  s*   € ô �IŠI�b¤§¡Ñ.ˆÜ¤ Q¨A¡°¸qÓAr-   c                 ór   • [         R                  " S/[         R                  S9n[        [	        USS9SSS9  g )Ni   €r8   ry   rÝ  l        r‹   rÔ  )r'   r   Úint32r1   r   r�  s     r+   Útest_intminÚ"TestNorm_NonSystematic.test_intmin5  s,   € ô �HŠH�h�Z¤r§x¡xÑ0ˆÜ¤ Q¨A¡°ÀÓCr-   c                 óÈ  • [         R                  " S[         R                  S9nSUS'   SUS'   Sn[        [         R                  R                  USS	9US
S9  UR                  [         R                  5      n[        [         R                  R                  USS	9USS9  UR                  [         R                  5      n[        [         R                  R                  USS	9USS9  g )N©rx   r8   y      @      @r   y      À      @rv   g¨ËþÿV;'@ry   rÝ  r  rÔ  é	   r‹   )	r'   r¾   Úclongdoubler1   r   r   r	  Ú
complex128r]  )rL   r  r_  s      r+   Útest_complex_high_ordÚ,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-   r_   N)rY   rZ   r[   r\   r  r  r#  r^   r_   r-   r+   r  r  -  s   † òBòDõ
Jr-   r  c                   ó0   • \ rS rSr\R
                  rSrSrg)Ú_TestNormDoubleBaseiI  é   r_   N)	rY   rZ   r[   r\   r'   r	   r=  rº  r^   r_   r-   r+   r&  r&  I  s   † Ø	�‰€BØ
ƒCr-   r&  c                   ó0   • \ rS rSr\R
                  rSrSrg)Ú_TestNormSingleBaseiN  r™   r_   N)	rY   rZ   r[   r\   r'   r  r=  rº  r^   r_   r-   r+   r)  r)  N  s   † Ø	�‰€BØ
ƒCr-   r)  c                   ó0   • \ rS rSr\R
                  rSrSrg)Ú_TestNormInt64BaseiS  r'  r_   N)	rY   rZ   r[   r\   r'   Úint64r=  rº  r^   r_   r-   r+   r+  r+  S  s   † Ø	�‰€BØ
ƒCr-   r+  c                   ó   • \ rS rSrSrg)ÚTestNormDoubleiX  r_   Nr6  r_   r-   r+   r.  r.  X  rò  r-   r.  c                   ó   • \ rS rSrSrg)ÚTestNormSinglei\  r_   Nr6  r_   r-   r+   r0  r0  \  rò  r-   r0  c                   ó   • \ rS rSrSrg)ÚTestNormInt64i`  r_   Nr6  r_   r-   r+   r2  r2  `  rò  r-   r2  c                   ó    • \ rS rSrS rS rSrg)ÚTestMatrixRankid  c                 ó   • [        S[        [        R                  " S5      5      5        [        R                  " S5      nSUS'   [        [        U5      S5        [        [        [        R                  " S5      5      S5        [        [        / SQ5      S5        [        [        [        R                  " S	5      5      S5        [        [        S/5      S5        [        R
                  " U[        R                  " S5      [        R                  " S5      /5      n[        [        U5      [        R
                  " / S
Q5      5        [        [        S5      S5        [        [        S5         [        USSS9  S S S 5        g ! , (       d  f       g = f)Nrz   r  ©rœ   rœ   ry   r�  r   )rv   r   r   r   rv   )rz   )ry   rz   r   z#`tol` and `rtol` can't be both set.g{®Gáz„?)Útolry  )r   r   r'   rž  rZ  r   r!   r;  )rL   ÚIÚmss      r+   Útest_matrix_rankÚ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Ô'ä ÜÐ>õ
ô ˜˜t¨$Ò/÷
÷ 
ö 
ús   Å*E?Å?
Fc           	      ó°  • [        S[        [        R                  " S5      SS95        [        S[        [        R                  " S5      SS95        [        S[        [        R
                  " S5      SS95        [        R                  " S5      nSUS'   [        S	[        USS95        S
US'   [        S[        USSS95        [        S	[        USSS95        g )Nrz   Tr«  rv   r�  r   r  r6  ry   g:Œ0âŽyE>g¾Ü|"•BE>)r@   r7  gµ;ä¡ˆ°E>)r   r   r'   rž  rÏ  rZ  )rL   r8  s     r+   Útest_symmetric_rankÚ"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-   r_   N)rY   rZ   r[   r\   r:  r=  r^   r_   r-   r+   r4  r4  d  s   † ò0õ2Er-   r4  c                  ó@  • [         R                  R                  S5      n [        S5       Hp  nU R	                  SS9nUS S 2S4   US S 2S4   -   US S 2S4'   [        [        U5      S5        US S 2S	4   US S 2S
4   -   US S 2S4'   [        [        U5      S5        Mr     g )NiŠ3rF   )é(   r  ©Úsizerv   rx   r   r   rz   r‹   ry   rt   )r'   rá  ÚRandomStater¯  Únormalr   r   )ÚrngÚiÚXs      r+   Útest_reduced_rankrH  �  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            	       ó°  • \ rS rSr\R
                  rS r\R                  R                  SS// SQ5      S 5       r
S rS rS	 r\R                  R                  S
/ SQ5      \R                  R                  S/ SQ5      \R                  R                  S\R                  \R                  \R                   \R"                  /5      S 5       5       5       rSrg)ÚTestQRiš  c                 ó†  • [        U5      nUR                  nUR                  u  pE[        XE5      n[        R
                  " USS9nUR                  UR                  p˜[        UR                  U:H  5        [        U	R                  U:H  5        [        [        X‚5      5        [        [        X’5      5        [        UR                  XD4:H  5        [        U	R                  XE4:H  5        [        [        X‰5      U5        [        [        UR                  R                  5       U5      [        R                  " U5      5        [        [        R                   " U	5      U	5        [        R
                  " USS9u  p«[        U
R                  U:H  5        [        UR                  U:H  5        [        [        X¢5      5        [        [        X²5      5        [        U
R                  XF4:H  5        [        UR                  Xe4:H  5        [        [        X«5      U5        [        [        U
R                  R                  5       U
5      [        R                  " U5      5        [        [        R                   " U5      U5        [        R
                  " USS9n[        UR                  U:H  5        [        [        XÂ5      5        [        XË5        g )NÚcomplete©ÚmodeÚreducedr   )r%   r0   r£   rÀ  r   ÚqrÚQÚRr   r&   r   r   r/  r°  r'   rž  Útriu)rL   r2   Úa_typeÚa_dtyper  r&  rä  r_  rQ  rR  Úq1Úr1Úr2s                r+   Úcheck_qrÚTestQR.check_qrž  sá  € ô �a“ˆØ—'‘'ˆØ�w‰w‰ˆÜ�‹Iˆô �iŠi˜ 
Ñ+ˆØ�u‰u�c—e‘eˆ1Ü�—‘˜7Ñ"Ô#Ü�—‘˜7Ñ"Ô#Ü”
˜1Ó%Ô&Ü”
˜1Ó%Ô&Ü�—‘˜A˜6Ñ!Ô"Ü�—‘˜A˜6Ñ!Ô"ÜœC ›I qÔ)ÜœC §¡§¡£
¨AÓ.´·²°q³	Ô:ÜœBŸGšG A›J¨Ô*ô —’˜1 9Ñ-‰ˆÜ�—‘˜GÑ#Ô$Ü�—‘˜GÑ#Ô$Ü”
˜2Ó&Ô'Ü”
˜2Ó&Ô'Ü�—‘˜Q˜FÑ"Ô#Ü�—‘˜Q˜FÑ"Ô#ÜœC ›K¨Ô+ÜœC §¡§	¡	£¨RÓ0´"·&²&¸³)Ô<ÜœBŸGšG B›K¨Ô,ô �YŠY�q˜sÑ#ˆÜ�—‘˜GÑ#Ô$Ü”
˜2Ó&Ô'Ü˜BÕ#r-   r  r&  )©ry   r   r  rq   c                 ó–  • [        X5      n[        R                  " X45      nU R                  U5        [        R                  R                  USS9u  pV[        UR                  [        R                  5        [        UR                  [        R                  5        [        UR                  X!45        [        UR                  U45        g )NÚrawrM  )
rÀ  r'   r¾   rY  r   rP  r   r0   r	   r£   )rL   r  r&  rä  r2   ÚhÚtaus          r+   Útest_qr_emptyÚTestQR.test_qr_emptyÅ  s…   € ô �‹IˆÜ�HŠH�a�VÓˆà�‰�aÔä—‘—‘˜a e�Ð,‰ˆÜ�Q—W‘WœbŸi™iÔ(Ü�S—Y‘Y¤§	¡	Ô*Ü�Q—W‘W˜q˜fÔ%Ü�S—Y‘Y  Õ%r-   c                 ó²  • U R                  SS/SS/SS//[        R                  S9n[        R                  " USS	9u  p#[        UR                  [        R                  :H  5        [        UR                  [        R                  :H  5        [        UR                  S
:H  5        [        UR                  S:H  5        [        R                  " UR                  SS	9u  p#[        UR                  [        R                  :H  5        [        UR                  [        R                  :H  5        [        UR                  S:H  5        [        UR                  S:H  5        g )Nrv   rx   ry   rz   r‹   r™   r8   r]  rM  r  r  r›   )	r   r'   r	   r   rP  r   r0   r£   r/  )rL   r2   r^  r_  s       r+   Útest_mode_rawÚTestQR.test_mode_rawÖ  sï   € ð �J‰J˜˜A˜  A ¨¨A¨Ð/´r·y±yˆJÐAˆô —’˜1 5Ñ)‰ˆÜ�—‘œ2Ÿ9™9Ñ$Ô%Ü�—	‘	œRŸY™YÑ&Ô'Ü�—‘˜6Ñ!Ô"Ü�—	‘	˜TÑ!Ô"ä—’˜1Ÿ3™3 UÑ+‰ˆÜ�—‘œ2Ÿ9™9Ñ$Ô%Ü�—	‘	œRŸY™YÑ&Ô'Ü�—‘˜6Ñ!Ô"Ü�—	‘	˜TÑ!Õ"r-   c                 ó  • U R                  SS/SS//5      nU R                  SS/SS/SS//5      nS Hb  nUR                  U5      nUR                  U5      nU R                  U5        U R                  U5        U R                  UR                  5        Md     S Hn  nSSUR                  U5      -  -   nSSUR                  U5      -  -   nU R                  U5        U R                  U5        U R                  UR                  5        Mp     g )	Nrv   rx   ry   rz   r‹   r™   Úfdù              ð?)r   r	  rY  r/  )rL   r2   r3   r=  Úm1Úm2s         r+   Útest_mode_all_but_economicÚ!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           	      óÂ  • [        U5      nUR                  nUR                  SS  u  pE[        XE5      n[        R
                  " USS9u  px[        UR                  U:H  5        [        UR                  U:H  5        [        [        Xr5      5        [        [        X‚5      5        [        UR                  SS  XD4:H  5        [        UR                  SS  XE4:H  5        [        [        Xx5      U5        [        R                  " UR                  S   5      n	[        R                  " U	UR                  S S UR                  S   4S-  -   5      n
[        [        [        USS5      R                  5       U5      U
5        [        [        R                  " USS S 2S S 24   5      U5        [        R
                  " USS9u  p¼[        UR                  U:H  5        [        UR                  U:H  5        [        [        X²5      5        [        [        XÂ5      5        [        UR                  SS  XF4:H  5        [        UR                  SS  Xe4:H  5        [        [        X¼5      U5        [        R                  " UR                  S   5      n	[        R                  " U	UR                  S S UR                  S   4S-  -   5      n
[        [        [        USS5      R                  5       U5      U
5        [        [        R                  " USS S 2S S 24   5      U5        [        R
                  " USS9n[        UR                  U:H  5        [        [        XÒ5      5        [        XÜ5        g )	Nr�   rL  rM  rœ   rx   .rO  r   )r%   r0   r£   rÀ  r   rP  r   r&   r   r   r'   r
   r'  r   r°  rS  )rL   r2   rT  rU  r  r&  rä  Úqr   ÚI_matÚstack_I_matrV  rW  rX  s                 r+   Úcheck_qr_stackedÚTestQR.check_qr_stackedý  s™  € ô �a“ˆØ—'‘'ˆØ�w‰w�r�sˆ|‰ˆÜ�‹Iˆô �yŠy˜ Ñ,‰ˆÜ�—‘˜7Ñ"Ô#Ü�—‘˜7Ñ"Ô#Ü”
˜1Ó%Ô&Ü”
˜1Ó%Ô&Ü�—‘˜˜�  Ñ&Ô'Ü�—‘˜˜�  Ñ&Ô'ÜœF 1›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Ñ-‰ˆÜ�—‘˜GÑ#Ô$Ü�—‘˜GÑ#Ô$Ü”
˜2Ó&Ô'Ü”
˜2Ó&Ô'Ü�—‘˜˜� ! Ñ'Ô(Ü�—‘˜˜� ! Ñ'Ô(ÜœF 2›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Ó&Ô'Ü˜BÕ#r-   rB  ))ry   rz   )rz   ry   r�  r[  r  Ú
outer_size)r9  r  )rx   ry   rz   r=  c                 ó  • [         R                  R                  S5      nUR                  X-   S9R	                  U5      nUR                  X-   S9R	                  U5      nU R                  U5        U R                  USU-  -   5        g )Né{   rA  rg  )r'   rá  Údefault_rngrD  r	  rp  )rL   rr  rB  r=  rE  rÉ  rç  s          r+   Útest_stacked_inputsÚTestQR.test_stacked_inputs*  sx   € ô �i‰i×#Ñ# CÓ(ˆØ�J‰J˜JÑ-ˆJÐ.×5Ñ5°bÓ9ˆØ�J‰J˜JÑ-ˆJÐ.×5Ñ5°bÓ9ˆØ×Ñ˜aÔ Ø×Ñ˜a #¨¡'™kÕ*r-   r_   N)rY   rZ   r[   r\   r'   r   rY  r
  r  rK  r`  rc  rj  rp  r   r	   r   r   rv  r^   r_   r-   r+   rJ  rJ  š  sÑ   † à�H‰H€Eò%$ðN ‡[�[×Ñ˜c 3˜Zò *ó ñ

&óð

&ò#ò, ò"+$ðZ ‡[�[×Ñ˜Vò &ó ð ‡[�[×Ñ˜\ò ,!ó "à‡[�[×Ñ˜TØ
�	‰	�2—9‘9Ø
�
‰
�B—J‘Jð$ ó !ñ+ó!ó"óó+r-   rJ  c                   ó@  • \ rS rSr\R
                  R                  S/ SQ5      \R
                  R                  S\R                  \R                  \R                  \R                  45      \R
                  R                  SSS/5      S 5       5       5       rS	 rS
 rSrg)ÚTestCholeskyi;  r£   )r·   r9  ©ry   ry   )é2   r{  )ry   r  r  r0   rŒ  FTc                 óh  • [         R                  R                  S5        [         R                  R                  " U6 n[         R                  " U[         R
                  5      (       a#  US[         R                  R                  " U6 -  -   n[        [        [        U5      5      5      nSUSS & [         R                  " UR                  U5      R                  5       U5      n[         R                  " XBS9n[         R                  R                  XCS9nU(       a5  [         R                  " UR                  U5      R                  5       U5      nO3[         R                  " XfR                  U5      R                  5       5      nSUR                  S   -  [         R                   " U5      R"                  -  n[%        XtX� S	U S
U S
U 3S9  [         R&                  " USSS9n	[)        [         R*                  " [         R,                  " U	5      5      5        [)        [         R*                  " U	S:¬  5      5        g )Nrv   rg  )rœ   r�   r�   r8   ©rŒ  iô  r   Ú Ú
)Úatolr   rœ   )Úaxis1Úaxis2)r'   rá  râ  Úrandnr#  ÚcomplexfloatingrÅ   r¯  r9  r   r±  r°  r   r   Úcholeskyr£   ÚfinfoÚepsr   Údiagonalr   rÃ   Úisreal)
rL   r£   r0   rŒ  r2   ÚtrÂ  r3   r€  r  s
             r+   Útest_basic_propertyÚ TestCholesky.test_basic_property=  s‰  € ô 	�	‰	�‰�qÔÜ�I‰I�OŠO˜UÐ#ˆÜ�=Š=˜¤× 2Ñ 2×3Ñ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ä—	’	˜!Ÿ[™[¨›^×0Ñ0Ó2Ó3ˆAà�Q—W‘W˜Q‘ZÑ¤"§(¢(¨5£/×"5Ñ"5Ñ5ˆÜ˜ 4°7¸!¸E¸7À"ÀQÀCÀrÈ!ÈÐ1MÒNô �KŠK˜ ¨2Ñ.ˆÜ”—’”r—y’y “|Ó$Ô%Ü”—’�q˜A‘v“Õr-   c                 ó  •  " S S[         R                  5      n[         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  UR                  5        [        UR                  R                  [         R                  L 5        [        [        U[         R                  5      5        [         R                  " S[         R                  S9R	                  U5      n[
        R                  " U5      n[        UR                  UR                  5        [        UR                  R                  [         R                  L 5        [        [        U[         R                  5      5        g )Nc                   ó   • \ rS rSrSrg)Ú/TestCholesky.test_0_size.<locals>.ArraySubclassib  r_   Nr6  r_   r-   r+   r7  r�  b  r8  r-   r7  rY  r8   )rv   r   r   )r'   r(   rZ  r[  r¿   r   r…  r   r£   r   r0   r%   r\  r&   r]  r^  s       r+   rD  Ú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                 ó8  • [         R                  " SS/SS//5      n[        [        R                  " U5      [        R                  " USS95        [        [        R                  " USS9[        R                  " U5      R
                  R                  5       5        g )Ny      ð?        y               Ày               @y      @        Fr}  T)r'   r   r   r   r…  r/  r°  )rL   r2   s     r+   Útest_upper_lower_argÚ!TestCholesky.test_upper_lower_argq  sn   € ä�HŠH�v˜vÐ&¨°Ð(8Ð9Ó:ˆä”V—_’_ QÓ'¬¯ª¸À%Ñ)HÔIäÜ�OŠO˜A TÑ*Ü�OŠO˜AÓ× Ñ ×%Ñ%Ó'õ	
r-   r_   N)rY   rZ   r[   r\   r
  r  rK  r'   r  r\  r]  r"  r‹  rD  r’  r^   r_   r-   r+   ry  ry  ;  sŒ   † à‡[�[×ÑØÒ@óð ‡[�[×ÑØ�"—*‘*˜bŸj™j¨"¯,©,¸¿¹ÐFóð ‡[�[×ÑØ�%˜�ó ñ ó óóð ò8-õ 	
r-   ry  c                   ó|  • \ rS rSr\R
                  " S5      r\R
                  " S5      r\R                  " / SQ/ SQ/ SQ/5      r	\
" \R                  R                  \\5      \	5        \" \S5         \R                  R                  \SS2\R                  4   \5        SSS5        Srg! , (       d  f       Srg= f)	Ú	TestOuteri}  ry   r3  r  )r   rx   rz   z$Input arrays must be one-dimensionalNr_   )rY   rZ   r[   r\   r'   r:  Úarr1Úarr2r   rC  r   r   Úouterr!   r;  Únewaxisr^   r_   r-   r+   r•  r•  }  s—   † Ø�9Š9�Q‹<€DØ�9Š9�Q‹<€DØ�xŠxÚ	Ú	Ú	ð	ó€Hñ �r—y‘y—‘ t¨TÓ2°HÔ=á	ØÐ:õ
ð 	�	‰	�‰˜šQ §
¡
˜]Ñ+¨TÔ2÷
÷ 
÷ 
ò 
ús   Á2.B+Â+
B;r•  c                  ór  • [         R                  S:X  a  Sn OSn [        R                  [        R                  4 Hú  n[        R
                  " SUS9nUR                  UR                  R                  U 5      5      nUR                  UR                  R                  S5      5      R                  5       n[        UR                  R                  S5        [        R                  [        R                  [        R                  4 H-  nU" U5      n[        Xe" U5      5        [        Xe" U5      5        M/     Mü     g )NÚlittleÚ<rU   rz   r8   r‘  Ú=)ÚsysÚ	byteorderr'   r  r\  rž  r¿   r0   ÚnewbyteorderÚbyteswapr   r   rO  r  rì  r   )ÚnativeÚdttr%  Ún_arrÚsw_arrÚroutiner_  s          r+   Útest_byteorder_checkr§  Ž  sØ   € ä
‡}�}˜Ó Ø‰àˆä—
‘
œBŸJ™JÓ'ˆÜ�fŠf�Q˜cÑ"ˆØ—‘˜Ÿ™×/Ñ/°Ó7Ó8ˆØ—‘˜#Ÿ)™)×0Ñ0°Ó5Ó6×?Ñ?ÓAˆÜ�S—Y‘Y×(Ñ(¨#Ô.ÜŸ
™
¤F§J¡J´·±Ó<ˆGá˜#“,ˆCä˜s G¨E£NÔ3ä˜s G¨F£OÖ4ó =ò (r-   rs  rt  c                  ó:  • [         R                  " SS/SS//5      n [         R                  " SS/SS//5      n[         R                  " / SQ5      SS S2   nXS'   XS'   [        [         R                  R
                  [         R                  R                  U5        g )Nrv   rx   ry   rz   )rz   rz   rx   rx   .rq   )r'   r   rZ  r    r   r   rO  )Ú
invertibleÚnon_invertiblerÉ   s      r+   Ú test_generalized_raise_multiloopr«  £  s   € ô
 —’˜A˜q˜6 A q 6Ð*Ó+€JÜ—X’X  1˜v¨¨1 vÐ.Ó/€Nä
�Š’Ó˜q˜t !˜tÑ$€AØ€c�FØ€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                  óê  • Sn  [         R                  " 5       nWS:X  aã  [         R                  " S5        [         R                  " S5        SS KnUR                  UR                  S5         [        R                  R                  R                  5          [        R$                  " S//5      n[        R                  R                  R'                  SSSUSX3SS5	        [         R                   " [         R"                  5        g [         R*                  " 5       u  p[         R,                  " U5      U :w  a  [        R
                  " S5        g g ! [        [        4 a    [        R
                  " S5         GN[f = f! [         a     Nð[         a(    [         R                   " [         R"                  5         GN f = f! [         a0  nS[)        U5      ;   a  [         R                   " U 5         S nAGNS nAff = f)	Néÿ   zNot POSIX or fork failed.r   rv   rq   rg   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   ÚdorgqrrH   ÚwaitÚWEXITSTATUS)Ú	XERBLA_OKÚpidr´  r2   rà   Ústatuss         r+   Útest_xerbla_overriderÁ  ²  sm  € ð €Ið1Ü�gŠg‹iˆð
 ˆaƒxä
�Š�ŒÜ
�Š�ŒãØ×Ñ˜8×/Ñ/°Ô8ð	#Ü�I‰I×!Ñ!×(Ñ(Ô*ð
	$Ü—’˜2˜$˜Ó ˆAÜ�I‰I×!Ñ!×(Ñ(Ø�1�a˜ØØ�a˜ôô 	�Š”—‘Õô —g’g“i‰ˆÜ�>Š>˜&Ó! YÓ.Ü�KŠKÐ5Õ6ð /øôI ”^Ð$ó 1ä�ŠÐ/×0ð1ûô ó 	ÙÜó 	#Ü�HŠH”R—\‘\×"ð	#ûô ó 	$Ø*¬c°!«fÓ4ô —’˜Ô#ÿùð		$úsB   „E Á,(E8 ÂAF8 Å&E5Å4E5Å8
F5Æ-F5Æ4F5Æ8
G2Ç%G-Ç-G2zCannot start subprocessc                  ó*  • SS/n [         R                  " S5      nU  Hs  nUR                  SSUS9n[        R                  " [
        R                  SU/5        UR                  SSUS9n[        R                  " [
        R                  SU/5        Mu     g )	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Å  rÇ  )ÚtextwrapÚdedentrò  Ú
subprocessÚ
check_callrž  Ú
executable)Úbad_libsÚtemplaterÇ  Úcodes       r+   Útest_sdot_bug_8577rÐ  é  s—   € ð " 9Ð-€Hä�Šð 
 ó 
	€Hó ˆØ�‰Ð&:À"Ø'.ð ð 0ˆä×ÒœsŸ~™~¨t°TÐ:Ô;ð �‰Ð%9À"Ø'.ð ð 0ˆä×ÒœsŸ~™~¨t°TÐ:Ö;ò r-   c                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚTestMultiDoti  c           
      ó¨  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[        [        XU/5      UR	                  U5      R	                  U5      5        [        [        XU/5      [         R                  " U[         R                  " X#5      5      5        g ©N©r™   rx   ©rx   r™   ©r'   rá  r   r   r   )rL   rÉ  rç  ÚCs       r+   Ú(test_basic_function_with_three_argumentsÚ5TestMultiDot.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»LÓ2IÕJr-   c                 ó  • [         R                  R                  S5      n[         R                  R                  S5      n[        [        X/5      UR	                  U5      5        [        [        X/5      [         R                  " X5      5        g rÔ  r×  )rL   rÉ  rç  s      r+   Ú&test_basic_function_with_two_argumentsÚ3TestMultiDot.test_basic_function_with_two_arguments  s\   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆäœI q fÓ-¨q¯u©u°Q«xÔ8ÜœI q fÓ-¬r¯vªv°a«|Õ<r-   c                 ó„  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[        [        XX4/5      UR	                  U5      R	                  U5      R	                  U5      5        g )NrÕ  rÖ  ©rx   rv   r×  )rL   rÉ  rç  rØ  ÚDs        r+   Ú9test_basic_function_with_dynamic_programming_optimizationÚFTestMultiDot.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                 ó>  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[        [        XX4/5      R                  S5        g )Nrx   rÖ  rÕ  r9  r  ©r'   rá  r   r   r£   )rL   ÚA1drç  rØ  rà  s        r+   Útest_vector_as_first_argumentÚ*TestMultiDot.test_vector_as_first_argument*  sm   € ä�i‰i×Ñ˜qÓ!ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆô 	”Y ¨˜~Ó.×4Ñ4°dÕ;r-   c                 ó>  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[        [        XX4/5      R                  S5        g )NrÕ  rÖ  rx   )r™   rä  )rL   rÉ  rç  rØ  ÚD1ds        r+   Útest_vector_as_last_argumentÚ)TestMultiDot.test_vector_as_last_argument4  sm   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�i‰i×Ñ˜qÓ!ˆô 	”Y  a˜~Ó.×4Ñ4°dÕ;r-   c                 ó>  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[        [        XX4/5      R                  S5        g )Nrx   rÖ  rÕ  r_   rä  )rL   rå  rç  rØ  ré  s        r+   Ú&test_vector_as_first_and_last_argumentÚ3TestMultiDot.test_vector_as_first_and_last_argument>  sn   € ä�i‰i×Ñ˜qÓ!ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�i‰i×Ñ˜qÓ!ˆô 	”Y ¨Ð/Ó0×6Ñ6¸Õ;r-   c           
      óÊ  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  " S5      n[        XU/US9nXEL d   e[	        XAR                  U5      R                  U5      5        [	        U[         R
                  " U[         R
                  " X#5      5      5        g )NrÕ  rÖ  ©r)   ©r'   rá  rZ  r   r   r   )rL   rÉ  rç  rØ  r)   Úrets         r+   Útest_three_arguments_and_outÚ)TestMultiDot.test_three_arguments_and_outH  s�   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆä�hŠh�vÓˆÜ˜˜q˜	 sÑ+ˆØŠzÐˆzÜ˜C§¡ q£§¡¨a£Ô1Ü˜C¤§¢¨¬2¯6ª6°!«<Ó!8Õ9r-   c                 óB  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  " S5      n[        X/US9nX4L d   e[	        X1R                  U5      5        [	        U[         R
                  " X5      5        g )NrÕ  rÖ  )r™   r™   rð  rñ  )rL   rÉ  rç  r)   rò  s        r+   Útest_two_arguments_and_outÚ'TestMultiDot.test_two_arguments_and_outU  sr   € ä�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�hŠh�vÓˆÜ˜˜ CÑ(ˆØŠzÐˆzÜ˜C§¡ q£Ô*Ü˜C¤§¢¨£Õ.r-   c                 ó¼  • [         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  R                  S5      n[         R                  " S5      n[        XX4/US9nXVL d   e[	        XQR                  U5      R                  U5      R                  U5      5        g )NrÕ  rÖ  rß  )r™   rv   rð  rñ  )rL   rÉ  rç  rØ  rà  r)   rò  s          r+   Ú-test_dynamic_programming_optimization_and_outÚ:TestMultiDot.test_dynamic_programming_optimization_and_out_  sŸ   € ô �I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�I‰I×Ñ˜VÓ$ˆÜ�hŠh�vÓˆÜ˜˜q˜¨#Ñ.ˆØŠzÐˆzÜ˜C§¡ q£§¡¨a£×!4Ñ!4°QÓ!7Õ8r-   c           	      ó,  • [         R                  R                  S5      [         R                  R                  S5      [         R                  R                  S5      [         R                  R                  S5      [         R                  R                  S5      [         R                  R                  S5      /n[         R                  " / SQ/ SQ/ S	Q/ S
Q/ SQ/ SQ/5      n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/[        S9nUS-  n[	        USS9u  pE[        [         R                  " US S2SS 24   5      [         R                  " US S2SS 24   5      5        [        [         R                  " U5      [         R                  " U5      5        g )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   rv   rv   ry   ry   ry   )r   r   rx   ry   ry   ry   )r   r   r   ry   ry   ry   )r   r   r   r   rz   r‹   )r   r   r   r   r   r‹   )r   r   r   r   r   r   r8   rv   T)Úreturn_costsrœ   )r'   rá  r   Úintr   r   rS  )rL   ÚarraysÚ
m_expectedÚ
s_expectedrÐ   r  s         r+   Útest_dynamic_programming_logicÚ+TestMultiDot.test_dynamic_programming_logick  sA  € ô —)‘)×"Ñ" 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‰ˆô 	œ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                 ó”   • [        [        [        / 5        [        [        [        [        R                  R	                  S5      /5        g )Nrz  )r    r;  r   r'   rá  rV   s    r+   Útest_too_few_input_arraysÚ&TestMultiDot.test_too_few_input_arrays‰  s,   € Ü”j¤)¨RÔ0Ü”j¤)¬b¯i©i×.>Ñ.>¸vÓ.FÐ-GÕHr-   r_   N)rY   rZ   r[   r\   rÙ  rÜ  rá  ræ  rê  rí  ró  rö  rù  r  r  r^   r_   r-   r+   rÒ  rÒ    s<   † òKò=òMò<ò<ò<ò:ò/ò
9ò=õ<Ir-   rÒ  c                   ó:  • \ rS rSr\R
                  R                  S\R                  " S5      S4\R                  " S5      S4/5      S 5       r	\R
                  R                  SS	S
/5      S 5       r
\R
                  R                  SSS/5      S 5       rS rSrg)ÚTestTensorinviŽ  zarr, ind©rz   r™   rt   rx   rx   ©ry   ry   rx   rv   c                 ó~   • [        [        5         [        R                  " XS9  S S S 5        g ! , (       d  f       g = f)N©Úind)r    r   r   Ú	tensorinv)rL   r%  r  s      r+   Útest_non_square_handlingÚ&TestTensorinv.test_non_square_handling�  s&   € ô
 œ;Õ'Ü×Ò˜SÒ*÷ (×'Ö'ús   �.®
<z
shape, ind)©rz   r™   rt   ry   rx   )©é   rt   ry   rv   c                 óÐ   • [         R                  " S5      nXl        [        R                  " X2S9nUR                  US  UR                  S U -   nUR                  n[        Xe5        g )Nr  ©r2   r  )r'   rž  r£   r   r  r   )rL   r£   r  r2   ÚainvrC  Úactuals          r+   Útest_tensorinv_shapeÚ"TestTensorinv.test_tensorinv_shape˜  sU   € ô �FŠF�2‹JˆØŒÜ×Ò !Ñ-ˆØ—7‘7˜3˜4�= 1§7¡7¨4¨C =Ñ0ˆØ—‘ˆÜ�VÕ&r-   r  r   r�   c                 ó¸   • [         R                  " S5      nSUl        [        [        5         [
        R                  " X!S9  S S S 5        g ! , (       d  f       g = f)Nr  r  r  )r'   rž  r£   r    r;  r   r  )rL   r  r2   s      r+   Útest_tensorinv_ind_limitÚ&TestTensorinv.test_tensorinv_ind_limit¥  s:   € ô �FŠF�2‹JˆØˆŒÜœ:Õ&Ü×Ò˜qÒ*÷ '×&Ö&ús   ­AÁ
Ac                 ó  • [         R                  " S5      nSUl        [        R                  " USS9n[         R
                  " S5      n[        [         R                  " X#S5      [         R                  R                  X5      5        g )Nr  r  rv   r  )	r'   rž  r£   r   r  rÏ  r   Ú	tensordotÚtensorsolve)rL   r2   r  r3   s       r+   Útest_tensorinv_resultÚ#TestTensorinv.test_tensorinv_result®  sY   € ä�FŠF�2‹JˆØˆŒÜ×Ò  qÑ)ˆÜ�GŠG�B‹KˆÜœŸš T¨aÓ0´"·)±)×2GÑ2GÈÓ2MÕNr-   r_   N)rY   rZ   r[   r\   r
  r  rK  r'   rÏ  r  r  r  r#  r^   r_   r-   r+   r  r  Ž  s±   † à‡[�[×Ñ˜ZØ	�Š�Ó	 Ð"Ø	�Š�Ó	˜QÐð*
ó ñ+ó	ð+ð ‡[�[×Ñ˜\àØð,
ó ñ
'óð
'ð ‡[�[×Ñ˜UØ	ˆ2ð%
ó ñ+óð+õOr-   r  c                   óì   • \ rS rSr\R
                  R                  S\R                  " S5      S4\R                  " S5      S4/5      S 5       r	\R
                  R                  S/ S	Q5      S
 5       r
Srg)ÚTestTensorsolvei·  za, axesr  Nr  ©r   rx   c                 óÆ   • [        [        5         [        R                  " UR                  S S 5      n[
        R                  " XUS9  S S S 5        g ! , (       d  f       g = f©Nrx   r­  )r    r   r'   rÏ  r£   r   r"  )rL   r2   r®  r3   s       r+   r  Ú(TestTensorsolve.test_non_square_handling¹  s@   € ô
 œ;Õ'Ü—’˜Ÿ™  ˜Ó$ˆAÜ×Ò˜q¨$Ò/÷ (×'Ö'ús   �9AÁ
A r£   ))rx   ry   r™   )ry   rz   rz   ry   )r   ry   ry   r   c           	      ó&  • [         R                  R                  " U6 n[         R                  " UR                  S S 5      n[         R
                  R                  X#5      n[        [         R                  " X$[        UR                  5      S9U5        g r)  )
r'   rá  rƒ  rÏ  r£   r   r"  r   r!  r9  )rL   r£   r2   r3   rÉ   s        r+   Útest_tensorsolve_resultÚ'TestTensorsolve.test_tensorsolve_resultÂ  s_   € ô �I‰I�OŠO˜UÐ#ˆÜ�GŠG�A—G‘G˜B˜Q�KÓ ˆÜ�I‰I×!Ñ! !Ó'ˆÜœŸš Q´°A·G±G³Ñ=¸qÕAr-   r_   )rY   rZ   r[   r\   r
  r  rK  r'   rÏ  r  r,  r^   r_   r-   r+   r&  r&  ·  sv   † à‡[�[×Ñ˜YØ	�Š�Ó	 Ð%Ø	�Š�Ó	˜VÐ$ð)
ó ñ0ó	ð0ð
 ‡[�[×Ñ˜WÚ/óñBóóBr-   r&  c                  óº   • [         R                  " SS/SS//SS9n [        [        S5         [        R
                  " U 5        S S S 5        g ! , (       d  f       g = f)Nrv   r�   rx   r‹   Úfloat16r8   zunsupported in linalg)r'   r   r!   rl  r   r…  )r%  s    r+   Útest_unsupported_commontyper0  Ì  sC   € ä
�(Š(�Q˜�G˜a ˜VÐ$¨IÑ
6€CÜ	œYÐ(?Õ	@Ü�Š˜Ô÷ 
A×	@Ö	@ús   ¬AÁ
Az,Bad memory reports lead to OOM in ci testingc                  óð   • Sn [         R                  " SU /[         R                  S9n[         R                  " SS/[         R                  S9nSUS'   [         R                  " X!5      n[        US   S5        g )Nì        rv   r8   )r   rœ   )r'   rZ  r  rÏ  r   r   )r&  r2   r3   rÂ  s       r+   Útest_blas64_dotr3  ×  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            
      óè  • [         R                  n [         R                  R                  R                  nSnSnUn[         R
                  " SS/U S9n[         R
                  " S/U S9n[         R
                  " S/U S9nU" X#XTXvSS5      n[        US   S5        [        US   U5        [        US   U5        [        UR                  5       5      n	[        S	U	s=:  =(       a
    S
:  5        g s  5        g )Nl       rv   r8   rœ   r   Úinfor  r&  r2  l        )
r'   r\  r   r·  ÚdgeqrfrZ  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¨3°b¸!Ó<€GÜ�˜‘ !Ô$Ü�˜‘˜qÔ!Ü�˜‘˜qÔ!ô �—	‘	“Ó€EÜˆE�E×!Ó!˜EÑ!Õ"Ñ!Õ"r-   c                  óà   • [         R                  " S5      R                  S5      n [         R                  R	                  U 5      n[         R
                  " / SQ/ SQ/ SQ/5      n[        X5        g )Né<   ©ry   rz   r‹   )r   r™   r'  é   )rÿ  é   rC  é&   )r@  é.   é4   é:   )r'   r:  r¢   r   rˆ  r   r   ©rÉ   r  rC  s      r+   Útest_diagonalrH  ý  sV   € ô 	�	Š	�"‹×Ñ˜iÓ(€AÜ�Y‰Y×Ñ Ó"€FÜ�xŠxâÚÚð	
ó€Hô �Õ"r-   c                  óÒ   • [         R                  " S5      R                  S5      n [         R                  R	                  U 5      n[         R
                  " / SQ5      n[        X5        g )Nr?  r@  )é$   ét   éÄ   )r'   r:  r¢   r   Útracer   r   rG  s      r+   Ú
test_tracerN  	  sD   € ô 	�	Š	�"‹×Ñ˜iÓ(€AÜ�Y‰Y�_‰_˜QÓ€FÜ�xŠxšÓ'€Hä�Õ"r-   c                  ó  • [         R                  " S5      R                  S5      n [         R                  R	                  X S-   5      n[         R
                  " / SQ/ SQ/ SQ/5      n[        X5        / SQn/ SQn[         R                  R	                  X45      n[        / SQ5      n[        X5        [        [        S5         U S S 2SS 24   n[         R                  R	                  XU5        S S S 5        g ! , (       d  f       g = f)	Nr   rz  rv   )rœ   rx   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  rC  r—  r‚  Úx_2dims         r+   Ú
test_crossrR  	  sÅ   € Ü
�	Š	�!‹×Ñ˜VÓ$€AÜ�Y‰Y�_‰_˜Q A¡Ó&€FÜ�xŠxÚÚÚðó €Hô �Ô"ò 	€AÚ€AÜ�Y‰Y�_‰_˜QÓ"€FÜ’\Ó"€Hä�Ô"ä	ÜØCõ
ð ’1�a‘b�5‘ˆÜ
�	‰	�‰˜Ô'÷
÷ 
ö 
ús   Ã+C5Ã5
Dc                  óä   • [         R                  " S5      R                  S5      n [         R                  R	                  X 5      S:X  d   e[         R                  R	                  X SS/S9S:X  d   eg )Nr™   r  é7   rs  r­  )r'   r:  r¢   r   r!  )rÉ   s    r+   Útest_tensordotrU  3	  s^   € ä
�	Š	�!‹×Ñ˜VÓ$€Aä�9‰9×Ñ˜qÓ$¨Ó*Ð*Ð*Ü�9‰9×Ñ˜q¨6°6Ð*:ÐÐ;¸rÓAÐAÑAr-   c                  óî   • [         R                  " S5      R                  S5      n [         R                  R	                  X R
                  5      n[         R                  " SS/SS//5      n[        X5        g )Nr™   r  r‹   é   r{  )r'   r:  r¢   r   r   r/  r   r   rG  s      r+   Útest_matmulrX  ;	  sW   € ô 	�	Š	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×Ñ˜a§¡Ó%€FÜ�xŠx˜!˜R˜ 2 r (Ð+Ó,€Hä�Õ"r-   c                  óZ  • [         R                  " S5      R                  S5      n [         R                  R	                  U 5      nU R
                  n[        X5        [        [        S5         [         R                  R	                  U S S 2S4   5        S S S 5        g ! , (       d  f       g = f)Nr™   r  z$array must be at least 2-dimensionalr   )	r'   r:  r¢   r   Úmatrix_transposer/  r   r!   r;  rG  s      r+   Útest_matrix_transposer[  E	  sy   € Ü
�	Š	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×'Ñ'¨Ó*€FØ�s‰s€Hä�Ô"ä	ÜÐ:õ
ô 	�	‰	×"Ñ" 1¢Q¨ T¡7Ô+÷
÷ 
ö 
ús   Á,'BÂ
B*c                  óH  • [         R                  " S5      R                  S5      n [         R                  R	                  U 5      n[        U[         R                  " S5      SS9  [         R                  R	                  U SS9n[        U[         R                  " S//5      SS9  g )Nr   rz  çž^)Ë�,@ry   ©r5   T©rï  )r'   r:  r¢   r   Úmatrix_normr   r\  r   )rÉ   r  s     r+   Útest_matrix_normra  R	  su   € Ü
�	Š	�!‹×Ñ˜VÓ$€AÜ�Y‰Y×"Ñ" 1Ó%€Fä˜¤§
¢
¨7Ó 3ÀAÒFä�Y‰Y×"Ñ" 1¨tÐ"Ð4€Fä˜¤§¢¨7¨)¨Ó 5ÀaÓHr-   c            	      ó^  • S GH&  n [         R                  [         R                  [         R                  4 Hï  n[         R                  " X5      n[        [         R                  R                  USS9S5        [        [         R                  R                  USS9S5        [        [         R                  R                  USS9S5        [        [         R                  R                  USS9S5        [        [         R                  R                  U[         R                  S9S5        Mñ     GM)     g )N)r'  )rx   r   rq   r¼  rÝ  r   rð  rv   rx   )	r'   r\  r  r  rZ  r   r   r`  r   )r£   r0   rÉ   s      r+   Útest_matrix_norm_emptyrc  ]	  sÑ   € Ü)ˆÜ—j‘j¤"§*¡*¬b¯h©hÓ7ˆEÜ—’˜Ó&ˆAÜœŸ™×.Ñ.¨q°eÐ.Ð<¸aÔ@ÜœŸ™×.Ñ.¨q°eÐ.Ð<¸aÔ@ÜœŸ™×.Ñ.¨q°aÐ.Ð8¸!Ô<ÜœŸ™×.Ñ.¨q°aÐ.Ð8¸!Ô<ÜœŸ™×.Ñ.¨q´b·f±fÐ.Ð=¸qÖAô 8ò *r-   c                  ó  • [         R                  " S5      R                  S5      n [         R                  R	                  U 5      n[        U[         R                  " S5      SS9  [         R                  R	                  U SS9n[        U[         R                  " / SQ5      SS9  [         R                  R	                  U S	S
9n[         R                  " SSSS9n[        UR                  UR                  5        [        XSS9  g )Nr   rz  r]  ry   r^  r   r  )gÚ|a2Õ@gsh‘í|? @gDioð…I#@Tr_  r·   r\  r8   )r'   r:  r¢   r   Úvector_normr   r\  r   Úfullr   r£   rG  s      r+   Útest_vector_normrg  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                  óª  • [         R                  [         R                  [         R                  4 H   n [         R                  " SU 5      n[        [         R                  R                  USS9S5        [        [         R                  R                  USS9S5        [        [         R                  R                  U[         R                  S9S5        M¢     g )Nr   rv   rÝ  rx   )	r'   r\  r  r  rZ  r   r   re  r   )r0   rÉ   s     r+   Útest_vector_norm_emptyri  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Ö=ò	 4r-   )r™   r'  )“Ú__doc__r¹   r®  rÊ  rž  rÈ  Ú	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=   ra   rE   re   rá  râ  rŸ   r¾   rã  r¦   rÑ   rÕ   r×   rå   rð   rú   r  r  r  r!  r#  r,  rM  rS  rc  rl  rv  r~  r‹  r•  r›  r©  r·  r¹  rÆ  ré  rñ  rô  rø  rÿ  r  r  r  r-  r  rK  r0   r?  r|  rƒ  rž  r§  r³  r½  rû  r  r  r&  r)  r+  r.  r0  r2  r4  rH  rJ  ry  r•  r§  rz  r«  Úactive_countrÁ  r  rÐ  rÒ  r  r&  r0  r²  r3  rç  r=  rH  rN  rR  rU  rX  r[  ra  rc  rg  ri  )rÂ  s   0r+   Ú<module>ru     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Ø�xŠx˜ fÑ-Ø�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Ø�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Ò5H° §¡¨¦Ñ5HÑ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ð;ð ‡�×ÑØ×ÒÓ˜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   Â d Ûd
ädäd