§
    u! hÖR ã                   ó  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z
ddl	mZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZmZmZm Z m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ 	 ddl0Z	n# e1$ r Y nw xY wd	„ Z2e*Z3díd„Z*d„ Z4d„ Z5d„ Z6h d£Z7 G d„ d¦  «        Z8d„ Z9e
j:         ;                    d¦  «         g Z<e< e9d e8d eddgddgge¬¦  «         eddge¬¦  «        ¦  «         e8d eddgddgge¬¦  «         eddge¬¦  «        ¦  «         e8d eddgddgge¬¦  «         eg d¢g d¢ge¬¦  «        ¦  «         e8d  ed!d"gd#d$gge¬¦  «         ed%d!ge¬¦  «        ¦  «         e8d& ed!d"gd#d$gge¬¦  «         ed%d!ge¬¦  «        ¦  «         e8d' ed!d"gd#d$gge¬¦  «         eg d(¢g d)¢ge¬¦  «        ¦  «         e8d* e
j=        d+e¬¦  «         e
j=        d,e¬¦  «        d-h¬.¦  «         e8d/e
j:         >                    d0d0¦  «        e
j:         >                    d0¦  «        ¦  «         e8d1e
j:         >                    d2d2¦  «        e
j:         >                    d2¦  «        ¦  «         e8d3d2d4gd5d6ggd4d2g¦  «        g
¦  «        z  Z<e< e9d7 e8d8 eg d9¢g d¢ge¬¦  «         eddge¬¦  «        ¦  «         e8d: eddgddgd;d<gge¬¦  «         eg d=¢e¬¦  «        ¦  «         e8d> eg d9¢g d¢ge¬¦  «         eddge¬¦  «        ¦  «         e8d? eddgddgd;d<gge¬¦  «         eg d=¢e¬¦  «        ¦  «         e8d@ eg dA¢g dB¢ge¬¦  «         ed%d!ge¬¦  «        ¦  «         e8dC edDdEgdFdGgdHdIgge¬¦  «         eg dJ¢e¬¦  «        ¦  «         e8dK eg dA¢g dB¢ge¬¦  «         ed%d!ge¬¦  «        ¦  «         e8dL edDdEgdFdGgdHdIgge¬¦  «         eg dJ¢e¬¦  «        ¦  «         e8dM eg dA¢g dB¢ge¬¦  «         ed%d!gdNdOgge¬¦  «        ¦  «         e8dP edDdEgdFdGgdHdIgge¬¦  «         ed%d!gdNdOgdNdOgge¬¦  «        ¦  «         e8dQe
j:         >                    d0dR¦  «        e
j:         >                    d0¦  «        ¦  «         e8dSe
j:         >                    d2dT¦  «        e
j:         >                    d2¦  «        ¦  «         e8dUe
j:         >                    dTd2¦  «        e
j:         >                    dT¦  «        ¦  «         e8dVe
j:         >                    dd6¦  «        e
j:         >                    d¦  «        d-h¬.¦  «         e8dWe
j:         >                    d6d¦  «        e
j:         >                    d6¦  «        d-h¬.¦  «        g¦  «        z  Z<e< e9dX e8dY eddgddgge¬¦  «        d¦  «         e8dZ eddgddgge¬¦  «        d¦  «         e8d[ edd"gd\d2gge¬¦  «        d¦  «         e8d] edd"gd\d2gge¬¦  «        d¦  «         e8d^ e
j=        d+e¬¦  «        dd-h¬.¦  «         e8d_d2d4gd4d2ggd¦  «         e8d` eddgddgg¦  «        d¦  «         e8dae
j:         >                    d2d2¦  «        d¦  «        g¦  «        z  Z<db„ Z?e< e?¦   «         z  Z<dc„ Z@dd„ ZAe< eA¦   «         z  Z< G de„ df¦  «        ZB G dg„ dheB¦  «        ZC G di„ djeB¦  «        ZD G dk„ dleB¦  «        ZE G dm„ dneB¦  «        ZF G do„ dpeB¦  «        ZG G dq„ dreB¦  «        ZHds„ ZI G dt„ dueCeF¦  «        ZJ G dv„ dweJ¦  «        ZK G dx„ dyeCeF¦  «        ZL G dz„ d{eL¦  «        ZM G d|„ d}eCeF¦  «        ZN G d~„ deN¦  «        ZO G d€„ d�eCeF¦  «        ZP G d‚„ dƒeP¦  «        ZQ G d„„ d…¦  «        ZR G d†„ d‡eCeF¦  «        ZS G dˆ„ d‰eSeR¦  «        ZT G dŠ„ d‹eEeH¦  «        ZU G dŒ„ d�eUeR¦  «        ZV G dŽ„ d�eCeF¦  «        ZW G d�„ d‘eW¦  «        ZX G d’„ d“eCeDeFeG¦  «        ZY G d”„ d•eY¦  «        ZZ G d–„ d—eEeH¦  «        Z[ G d˜„ d™e[¦  «        Z\dš„ Z] G d›„ dœeCeF¦  «        Z^ G d�„ dže^¦  «        Z_ G dŸ„ d eCeD¦  «        Z` G d¡„ d¢e`¦  «        Zaejb         c                    d£d¤„ d¥D ¦   «         ¦  «         G d¦„ d§¦  «        ¦   «         Zd G d¨„ d©eEeH¦  «        Ze G dª„ d«¦  «        Zf G d¬„ d­eEeH¦  «        Zg G d®„ d¯¦  «        Zh G d°„ d±¦  «        Zi G d²„ d³ei¦  «        Zj G d´„ dµei¦  «        Zk G d¶„ d·ekej¦  «        Zl G d¸„ d¹¦  «        Zm G dº„ d»ei¦  «        Zn G d¼„ d½ei¦  «        Zo G d¾„ d¿ei¦  «        Zp G dÀ„ dÁelen¦  «        Zq G dÂ„ dÃeleo¦  «        Zr G dÄ„ dÅelep¦  «        Zs G dÆ„ dÇ¦  «        ZtdÈ„ Zu G dÉ„ dÊ¦  «        Zv G dË„ dÌ¦  «        Zw G dÍ„ dÎ¦  «        ZxdÏ„ Zyejb         z                    e&dÐ¬Ñ¦  «        dÒ„ ¦   «         Z{ejb         z                     ej|        ¦   «         d2k    dÓ¬Ñ¦  «        ejb         z                    e'dÔ¬Ñ¦  «        dÕ„ ¦   «         ¦   «         Z}ejb         z                    e&dÖ¬Ñ¦  «        ejb        j~        d×„ ¦   «         ¦   «         Z G dØ„ dÙ¦  «        Z€ G dÚ„ dÛ¦  «        Z� G dÜ„ dÝ¦  «        Z‚dÞ„ Zƒejb         „                    dß¬Ñ¦  «        dà„ ¦   «         Z…ejb         †                    e% dá¬Ñ¦  «        dâ„ ¦   «         Z‡dã„ Zˆdä„ Z‰då„ ZŠdæ„ Z‹dç„ ZŒdè„ Z�dé„ ZŽdê„ Z�dë„ Z�dì„ Z‘dS )îz# Test functions for linalg module

é    N)ÚarrayÚasarrayÚ
atleast_2dÚcdoubleÚcsingleÚdotÚdoubleÚidentityÚinfÚlinalgÚmatmulÚmultiplyÚsingle)Úswapaxes)Ú	AxisError)ÚLinAlgErrorÚmatrix_powerÚmatrix_rankÚ	multi_dotÚnorm)Ú_multi_dot_matrix_chain_order)ÚHAS_LAPACK64ÚIS_WASMÚNOGIL_BUILDÚassert_Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexÚsuppress_warningsc                 óŠ   — t          | ¦  «        t          |t          j        ¦  «        rt          |¦  «        nt          j        u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     úXc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr,   9   s9   € õ �‰9Œ9¥j°µb´jÑ&AÔ&Að )�˜c™œ˜Ý œjð*ð *ó    é   é   c                 ó~   — t          | ¦  «        j        j        t          t          fv r|}n|}t          | |fd|i|¤Ž d S )NÚdecimal)r   Údtyper%   r   r   Úold_assert_almost_equal)ÚaÚbÚsingle_decimalÚdouble_decimalÚkwr1   s         r+   r   r   C   sM   € Ýˆq�z„zÔÔ¥­Ð 1Ð1Ð1Ø ˆˆà ˆÝ˜A˜qÐ8Ð8¨'Ð8°RÐ8Ð8Ð8Ð8Ð8r-   c                 ór   — t           t           t          t          t          t           t          t          i|          S r$   )r   r	   r   r   ©r2   s    r+   Úget_real_dtyper;   K   s&   € Ý•F�F¥FÝ•V�W¥fð.Ø.3ô5ð 5r-   c                 ór   — t           t          t          t          t          t          t          t          i|          S r$   )r   r   r	   r   r:   s    r+   Úget_complex_dtyper=   P   s&   € Ý•G�V¥WÝ•W�g¥wð0Ø05ô7ð 7r-   c                 ó*   — | t           t          fv rdS dS )Ngñhãˆµøä>g•dyáý¥=)r   r   r:   s    r+   Úget_rtolr?   U   s   € à•�Ð!Ð!Ð!Øˆtàˆur-   >   ÚsquareÚstridedÚ	hermitianÚ	nonsquareÚgeneralizedúsize-0c                   ó4   — e Zd Z e¦   «         fd„Zd„ Zd„ ZdS )Ú
LinalgCasec                 óœ   — t          t          |t          ¦  «        ¦  «         || _        || _        || _        t          |¦  «        | _        dS )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Únamer4   r5   Ú	frozensetÚtags)ÚselfrJ   r4   r5   rL   s        r+   Ú__init__zLinalgCase.__init__e   sB   € õ
 	•
˜4¥Ñ%Ô%Ñ&Ô&Ð&ØˆŒ	ØˆŒØˆŒÝ˜d‘O”OˆŒ	ˆ	ˆ	r-   c                 ó@   —  || j         | j        | j        ¬¦  «         dS )zN
        Run the function `do` on this test case, expanding arguments
        ©rL   N)r4   r5   rL   )rM   Údos     r+   ÚcheckzLinalgCase.checkp   s'   € ð 	ˆˆ4Œ6�4”6 ¤	Ð*Ñ*Ô*Ð*Ð*Ð*r-   c                 ó   — d| j         › d�S )Nz<LinalgCase: ú>)rJ   ©rM   s    r+   Ú__repr__zLinalgCase.__repr__v   s   € Ø+˜tœyÐ+Ð+Ð+Ð+r-   N)Ú__name__Ú
__module__Ú__qualname__ÚsetrN   rR   rV   © r-   r+   rG   rG   d   sO   € € € € € Ø(+¨©¬ð 	$ð 	$ð 	$ð 	$ð+ð +ð +ð,ð ,ð ,ð ,ð ,r-   rG   c                 óV   — | t           v s
J d¦   «         ‚|D ]}|j        | hz  |_        Œ|S )z^
    Add the given tag (a string) to each of the cases (a list of LinalgCase
    objects)
    zInvalid tag)Úall_tagsrL   )ÚtagÚcasesÚcases      r+   Ú	apply_tagra   z   s=   € ð
 •(ˆ?ˆ?ˆ?˜M‰?Œ?ˆ?Øð &ð &ˆØ”I  Ñ%ˆŒ	ˆ	Ø€Lr-   éÒ  r@   r   ç      ð?ç       @ç      @ç      @r:   r	   Údouble_2)rd   rc   rf   )re   rf   ç      @r   ù      ð?       @y       @      @y      @      @y      @      @ù       @      ð?r   Ú	cdouble_2)rj   ri   y      ð?      @)y      ð?       Ày      ð?      Ày      ð?      ÀÚ0x0©r   r   ©r   rE   rP   Ú8x8é   Ú1x1é   Únonarrayé   é   é   rC   Úsingle_nsq_1)rc   rd   re   Úsingle_nsq_2g      @rh   )rd   rc   re   Údouble_nsq_1Údouble_nsq_2Úcsingle_nsq_1)ù      ð?      ð?ù       @       @ù      @      À)y      @      Ày      @      "@y      @       @Úcsingle_nsq_2r|   r}   r~   y      @      "Ày      @      Ày      @       @)rj   ri   r~   Úcdouble_nsq_1Úcdouble_nsq_2Úcdouble_nsq_1_2y      ð?      ð¿y       @       ÀÚcdouble_nsq_2_2Ú8x11é   Ú1x5é   Ú5x1Ú0x4Ú4x0rB   ÚhsingleÚhdoubleÚhcsingley       @      ÀÚhcdoubleÚhemptyÚ	hnonarrayÚmatrix_b_onlyÚhmatrix_1x1c                  ó  — g } t           D �] }t          |j        t          j        ¦  «        sŒ#t          j        |j        d|j        z  d|j        z  g¦  «        }|j        €d }nD|j        j        dk    r|j        }n,t          j        |j        d|j        z  d|j        z  g¦  «        }t          |j	        dz   |||j
        dhz  ¬¦  «        }|                      |¦  «         t          j        |j        gdz  dz  ¦  «                             d	|j        j        z   ¦  «        }|j        €d }n§|j        j        dk    rWt          j        |j        gdz  dz  |j        d
         z  ¦  «                             d	|j        j        dd …         z   ¦  «        }n@t          j        |j        gdz  dz  ¦  «                             d	|j        j        z   ¦  «        }t          |j	        dz   |||j
        dhz  ¬¦  «        }|                      |¦  «         �Œ| S )Nrt   ru   rr   é   r.   Ú_tile3rD   rP   ©ru   rt   éÿÿÿÿéþÿÿÿÚ_tile213)ÚCASESr&   r4   r'   r(   r   r5   ÚndimrG   rJ   rL   ÚappendÚreshapeÚshape)Ú	new_casesr`   r4   r5   Únew_cases        r+   Ú_make_generalized_casesr¡   
  sþ  € Ø€Iåð #ñ #ˆÝ˜$œ&¥"¤*Ñ-Ô-ð 	ØåŒH�d”f˜a $¤&™j¨!¨d¬f©*Ð5Ñ6Ô6ˆØŒ6ˆ>ØˆAˆAØŒVŒ[˜AÒÐØ”ˆAˆAå”˜$œ& ! d¤f¡*¨a°$´&©jÐ9Ñ:Ô:ˆAÝ˜dœi¨(Ñ2°A°qØ#'¤9°¨Ñ#>ð@ñ @ô @ˆà×Ò˜Ñ"Ô"Ð"åŒH�d”f�X ‘\ AÑ%Ñ&Ô&×.Ò.¨v¸¼¼Ñ/DÑEÔEˆØŒ6ˆ>ØˆAˆAØŒVŒ[˜AÒÐÝ”˜$œ&˜ A™¨Ñ)¨A¬G°B¬KÑ7Ñ8Ô8ß’7˜6 D¤F¤L°°°Ô$5Ñ5Ñ6Ô6ð ˆAõ ”˜$œ&˜ A™¨Ñ)Ñ*Ô*×2Ò2°6¸D¼F¼LÑ3HÑIÔIˆAÝ˜dœi¨*Ñ4°a¸Ø#'¤9°¨Ñ#>ð@ñ @ô @ˆà×Ò˜Ñ"Ô"Ð"Ñ"àÐr-   c              #   ó0  K  — t          | t          j        ¦  «        s| dfV — dS dg| j        z  }d|d<   | j        dk    rd|d<   | j        dk    rd	|d
<   t	          j        t          |¦  «        Ž D �]$}d„ t          | j        |¦  «        D ¦   «         }t          d„ |D ¦   «         ¦  «        }t          j	        || j
        ¬¦  «        }|                     t          j        ¦  «                             d¦  «         ||         }| |d<   |                     | j        ¦  «        }t          t          j        || k    ¦  «        ¦  «         |dd                     d„ |D ¦   «         ¦  «        z   fV — | j        dk    rV| j        d         dk    rEt%          | j        ¦  «        }d|d<   t          j        j                             | |¬¦  «        }|dfV — | j        dk    rV| j        d         dk    rEt%          | j        ¦  «        }d|d<   t          j        j                             | |¬¦  «        }|dfV — | j        dk    r]| j        dd…         dk    rJt%          | j        ¦  «        }d|d<   d|d<   t          j        j                             | |¬¦  «        }|dfV — �Œ&dS )z<
    Generate cartesian product of strides for all axes
    ÚnopN©rr   )rr   ru   éüÿÿÿr—   rr   r˜   rt   )rr   r¥   éýÿÿÿc                 ó8   — g | ]\  }}t          ||z  ¦  «        ‘ŒS r[   )Úabs)Ú.0r4   r5   s      r+   ú
<listcomp>z%_stride_comb_iter.<locals>.<listcomp>B  s&   € ÐBÐBÐB¡D A q•S˜˜Q™‘Z”ZÐBÐBÐBr-   c              3   ó8   K  — | ]}t          d d |¦  «        V — Œd S r$   )Úslice)r©   Úrepeats     r+   ú	<genexpr>z$_stride_comb_iter.<locals>.<genexpr>C  s.   è è € ÐGÐG°V•u˜T 4¨Ñ0Ô0ÐGÐGÐGÐGÐGÐGr-   r:   l   ï>[= .Ústride_Ú_c                 ó   — g | ]}d |z  ‘ŒS )z%+dr[   )r©   Újs     r+   rª   z%_stride_comb_iter.<locals>.<listcomp>L  s   € Ð'CÐ'CÐ'C°a¨°©	Ð'CÐ'CÐ'Cr-   r   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©rr   rr   Ústride_xxx_0_0)r&   r'   r(   r›   Ú	itertoolsÚproductÚtupleÚziprž   Úemptyr2   ÚviewÚuint32ÚfillÚ	__class__r   ÚallÚjoinÚlistr³   ÚlibÚstride_tricksÚ
as_strided)ÚxÚ
stride_setÚrepeatsÚ	new_shapeÚslicesÚxiÚss          r+   Ú_stride_comb_iterrÎ   1  s©  è è € õ
 �a�œÑ$Ô$ð Ø�ˆhˆˆˆØˆà�˜!œ&‘€JØ€Jˆr�NØ„v�‚z€zØ#ˆ
�2‰Ø„v�‚z€zØ ˆ
�2‰åÔ$¥e¨JÑ&7Ô&7Ð8ð 'ñ 'ˆØBÐB­C°´¸Ñ,AÔ,AÐBÑBÔBˆ	ÝÐGÐG¸wÐGÑGÔGÑGÔGˆõ ŒX�i q¤wÐ/Ñ/Ô/ˆØ
�Š•”	ÑÔ×Ò 
Ñ+Ô+Ð+Ø�ŒZˆØˆˆ3‰Ø�WŠW�Q”[Ñ!Ô!ˆÝ•”�r˜Q’w‘”Ñ Ô Ð Ø�)˜cŸhšhÐ'CÐ'C¸7Ð'CÑ'CÔ'CÑDÔDÑDÐDÐDÐDÐDð Œ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØ�nÐ$Ð$Ð$Ð$ØŒ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ØŒ6�QŠ;ˆ;˜1œ7 3 B 3œ<¨6Ò1Ð1Ý�Q”Y‘”ˆAØˆAˆb‰EØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ùð;'ð 'r-   c            
      ó
  — g } t           D ]x}t          |j        ¦  «        D ]a\  }}t          |j        ¦  «        D ]G\  }}t	          |j        dz   |z   dz   |z   |||j        dhz  ¬¦  «        }|                      |¦  «         ŒHŒbŒy| S )Nr°   rA   rP   )rš   rÎ   r4   r5   rG   rJ   rL   rœ   )rŸ   r`   r4   Úa_labelr5   Úb_labelr    s          r+   Ú_make_strided_casesrÒ   a  s¹   € Ø€IÝð +ð +ˆÝ+¨D¬FÑ3Ô3ð 	+ð 	+‰JˆAˆwÝ/°´Ñ7Ô7ð +ð +‘
��7Ý% d¤i°#¡o¸Ñ&?À#Ñ&EÈÑ&OÐQRÐTUØ+/¬9¸	°{Ñ+BðDñ Dô D�à× Ò  Ñ*Ô*Ð*Ð*ð+ð	+ð
 Ðr-   c                   ó>   — e Zd ZeZ e¦   «          e¦   «         fd„ZdS )ÚLinalgTestCasec                 ó   — | j         D ]u}|j        |z  |k    rŒ|j        |z  rŒ	 |                     | j        ¦  «         Œ8# t          $ r1}d|›d�}|t          j        ¦   «         z  }t          |¦  «        |‚d}~ww xY wdS )zx
        Run func on each of the cases with all of the tags in require, and none
        of the tags in exclude
        zIn test case: z

N)Ú
TEST_CASESrL   rR   rQ   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rM   ÚrequireÚexcluder`   ÚeÚmsgs         r+   Úcheck_caseszLinalgTestCase.check_casesu  s´   € ð
 ”Oð 	1ð 	1ˆDàŒy˜7Ñ" gÒ-Ð-ØØŒy˜7Ñ"ð Øð1Ø—
’
˜4œ7Ñ#Ô#Ð#Ð#øÝð 1ð 1ð 1Ø3 tÐ3Ð3Ð3�Ø•yÔ+Ñ-Ô-Ñ-�Ý$ SÑ)Ô)¨qÐ0øøøøð1øøøð	1ð 	1s   ¥A Á 
A;Á
,A6Á6A;N)rW   rX   rY   rš   rÖ   rZ   rß   r[   r-   r+   rÔ   rÔ   r  s>   € € € € € Ø€Jà"% #¡%¤%°°±´ð 1ð 1ð 1ð 1ð 1ð 1r-   rÔ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚLinalgSquareTestCasec                 ó:   — |                       dhddh¬¦  «         d S )Nr@   rD   rE   ©rÛ   rÜ   ©rß   rU   s    r+   Útest_sq_casesz"LinalgSquareTestCase.test_sq_cases‹  s5   € Ø×Ò ( Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r-   c                 ó:   — |                       ddhdh¬¦  «         d S )Nr@   rE   rD   rã   rä   rU   s    r+   Útest_empty_sq_casesz(LinalgSquareTestCase.test_empty_sq_cases�  s5   € Ø×Ò (¨HÐ!5Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r-   N)rW   rX   rY   rå   rç   r[   r-   r+   rá   rá   ‰  ó2   € € € € € ð<ð <ð <ð2ð 2ð 2ð 2ð 2r-   rá   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚLinalgNonsquareTestCasec                 ó:   — |                       dhddh¬¦  «         d S )NrC   rD   rE   rã   rä   rU   s    r+   Útest_nonsq_casesz(LinalgNonsquareTestCase.test_nonsq_cases–  ó5   € Ø×Ò + Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r-   c                 ó:   — |                       ddhdh¬¦  «         d S )NrC   rE   rD   rã   rä   rU   s    r+   Útest_empty_nonsq_casesz.LinalgNonsquareTestCase.test_empty_nonsq_casesš  ó5   € Ø×Ò +¨xÐ!8Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r-   N)rW   rX   rY   rì   rï   r[   r-   r+   rê   rê   ”  rè   r-   rê   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚHermitianTestCasec                 ó:   — |                       dhddh¬¦  «         d S )NrB   rD   rE   rã   rä   rU   s    r+   Útest_herm_casesz!HermitianTestCase.test_herm_cases¡  rí   r-   c                 ó:   — |                       ddhdh¬¦  «         d S )NrB   rE   rD   rã   rä   rU   s    r+   Útest_empty_herm_casesz'HermitianTestCase.test_empty_herm_cases¥  rð   r-   N)rW   rX   rY   rô   rö   r[   r-   r+   rò   rò   Ÿ  rè   r-   rò   c                   ób   — e Zd Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )ÚLinalgGeneralizedSquareTestCasec                 ó:   — |                       ddhdh¬¦  «         d S )NrD   r@   rE   rã   rä   rU   s    r+   Útest_generalized_sq_casesz9LinalgGeneralizedSquareTestCase.test_generalized_sq_cases¬  s5   € à×Ò -°Ð!:Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r-   c                 ó6   — |                       h d£¬¦  «         d S )N>   r@   rD   rE   ©rÛ   rä   rU   s    r+   Útest_generalized_empty_sq_casesz?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_cases±  s&   € à×ÒÐ!DÐ!DÐ!DÐÑEÔEÐEÐEÐEr-   N)rW   rX   rY   ÚpytestÚmarkÚslowrú   rý   r[   r-   r+   rø   rø   ª  sY   € € € € € à„[Ôð-ð -ñ Ôð-ð „[ÔðFð Fñ ÔðFð Fð Fr-   rø   c                   ób   — e Zd Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )Ú"LinalgGeneralizedNonsquareTestCasec                 ó:   — |                       ddhdh¬¦  «         d S )NrD   rC   rE   rã   rä   rU   s    r+   Útest_generalized_nonsq_casesz?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_cases¸  ó5   € à×Ò -°Ð!=Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r-   c                 ó6   — |                       h d£¬¦  «         d S )N>   rC   rD   rE   rü   rä   rU   s    r+   Ú"test_generalized_empty_nonsq_caseszELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_cases½  s&   € à×ÒÐ!GÐ!GÐ!GÐÑHÔHÐHÐHÐHr-   N)rW   rX   rY   rþ   rÿ   r   r  r  r[   r-   r+   r  r  ¶  sY   € € € € € à„[Ôð-ð -ñ Ôð-ð „[ÔðIð Iñ ÔðIð Ið Ir-   r  c                   ób   — e Zd Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )ÚHermitianGeneralizedTestCasec                 ó:   — |                       ddhdh¬¦  «         d S )NrD   rB   rE   rã   rä   rU   s    r+   Útest_generalized_herm_casesz8HermitianGeneralizedTestCase.test_generalized_herm_casesÄ  r  r-   c                 ó:   — |                       h d£dh¬¦  «         d S )N>   rB   rD   rE   Únonerã   rä   rU   s    r+   Ú!test_generalized_empty_herm_casesz>HermitianGeneralizedTestCase.test_generalized_empty_herm_casesÉ  s7   € à×ÒÐ!GÐ!GÐ!GØ"( ð 	ñ 	+ô 	+ð 	+ð 	+ð 	+r-   N)rW   rX   rY   rþ   rÿ   r   r  r  r[   r-   r+   r	  r	  Â  sT   € € € € € à„[Ôð-ð -ñ Ôð-ð „[Ôð+ð +ñ Ôð+ð +ð +r-   r	  c                 óè   — t          | ¦  «        } | j        dk    r?t          j        | j        | j        ¬¦  «        }t          | j        d         ¦  «        |d<   |S t          | j        d         ¦  «        S )Nru   r:   r˜   .r   )r   r›   r'   r¼   rž   r2   r
   )r4   Úrs     r+   Úidentity_like_generalizedr  Ï  s`   € Ý�‰
Œ
€AØ„v�‚{€{ÝŒH�Q”W A¤GÐ,Ñ,Ô,ˆÝ˜!œ' "œ+Ñ&Ô&ˆˆ#‰Øˆå˜œ œ
Ñ#Ô#Ð#r-   c                   ó   — e Zd Zd„ ZdS )Ú
SolveCasesc                 ón  — t          j        ||¦  «        }t          j        |¦  «        j        dk    rEt          ||d         ¦  «        d         }t          t          j        ||j        ¦  «        |¦  «         n t          ||¦  «        }t          ||¦  «         t          t          ||¦  «        ¦  «         d S )Nrr   ).N©.r   )r   Úsolver'   r   r›   r   r   Úbroadcast_torž   r   r,   )rM   r4   r5   rL   rÇ   Úadotxs         r+   rQ   zSolveCases.doÛ  s    € ÝŒL˜˜AÑÔˆÝŒ8�A‰;Œ;Ô˜qÒ Ð õ ˜1˜a 	œlÑ+Ô+¨FÔ3ˆEÝ¥¤°°5´;Ñ ?Ô ?ÀÑGÔGÐGÐGå˜1˜a‘L”LˆEÝ  5Ñ)Ô)Ð)ÝÕ# A qÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r-   N©rW   rX   rY   rQ   r[   r-   r+   r  r  Ù  s#   € € € € € ð
+ð 
+ð 
+ð 
+ð 
+r-   r  c                   óp   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ ZdS )Ú	TestSolver2   c                 óŽ   — t          j        ddgddgg|¬¦  «        }t          t          j        ||¦  «        j        |¦  «         d S ©Nrr   ç      à?r:   )r'   r   r   r   r  r2   ©rM   r2   rÇ   s      r+   Ú
test_typeszTestSolve.test_typesé  sH   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ•V”\ ! QÑ'Ô'Ô-¨uÑ5Ô5Ð5Ð5Ð5r-   c                 óŒ  —  G d„ dt           j        ¦  «        }t          j        d¦  «                             ddd¦  «        }t          j        d¦  «                             |¦  «        }t          j        ||¦  «        }|j        dk    sJ ‚t          j        d¦  «                             dd¦  «                             |¦  «        }t          j        ||¦  «        }|j        dk    sJ ‚t          j        d¦  «                             dd¦  «                             |¦  «        }t          t          t
          j        ||¦  «         d S )	Nc                   ó   — e Zd ZdS )ú)TestSolve.test_1_d.<locals>.ArraySubclassN©rW   rX   rY   r[   r-   r+   ÚArraySubclassr#  ï  ó   € € € € € ØˆDr-   r%  rp   rt   ©rt   rt   rv   )rt   rt   rt   rr   )
r'   r(   Úaranger�   r½   r   r  rž   r    Ú
ValueError)rM   r%  r4   r5   Úresults        r+   Útest_1_dzTestSolve.test_1_dî  s$  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒI�a‰LŒL× Ò   A qÑ)Ô)ˆÝŒI�a‰LŒL×Ò˜mÑ,Ô,ˆÝ”˜a Ñ#Ô#ˆØŒ|˜vÒ%Ð%Ð%Ð%õ ŒI�a‰LŒL× Ò   AÑ&Ô&×+Ò+¨MÑ:Ô:ˆÝ”˜a Ñ#Ô#ˆØŒ|˜yÒ(Ð(Ð(Ð(åŒI�a‰LŒL× Ò   AÑ&Ô&×+Ò+¨MÑ:Ô:ˆÝ•j¥&¤,°°1Ñ5Ô5Ð5Ð5Ð5r-   c           
      ó^  —  G d„ dt           j        ¦  «        }t          j        d¦  «                             ddd¦  «        }t          j        d¦  «                             ddd¦  «                             |¦  «        }t          j        ||¦  «        d d …dd…d d …f         }t          j        |d d …dd…dd…f         |d d …dd…d d …f         ¦  «        }t          ||¦  «         t          t          ||¦  «        ¦  «         t          t
          j        t
          j        |d d …dd…dd…f         |¦  «         t          t          t
          j        ||d d …dd…d d …f         ¦  «         t          j        d¦  «                             ddd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        |dd…         |dd…         ¦  «         t          j        d¦  «                             |¦  «        }t          j        ||¦  «        d d …dd…f         }t          j        |d d …dd…dd…f         |dd…         ¦  «        }t          ||¦  «         t          t          ||¦  «        ¦  «         t          j        d¦  «                             dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        |dd…         |dd…         ¦  «         t          t          t
          j        |d d …dd…dd…f         |¦  «         d S )	Nc                   ó   — e Zd ZdS )ú,TestSolve.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  r.     r&  r-   r%  rp   rt   r.   rr   ru   r   )r'   r(   r(  r�   r½   r   r  r   r   r&   r    r   r)  ©rM   r%  r4   r5   Úexpectedr*  s         r+   Útest_0_sizezTestSolve.test_0_sizeÿ  sä  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	õ ŒI�a‰LŒL× Ò   A qÑ)Ô)ˆÝŒI�a‰LŒL× Ò   A qÑ)Ô)×.Ò.¨}Ñ=Ô=ˆå”<  1Ñ%Ô% a a a¨¨1¨¨a¨a¨a iÔ0ˆÝ”˜a    1 Q 3¨¨!¨ œn¨a°°°°1°Q°3¸¸¸°	¬lÑ;Ô;ˆÝ˜6 8Ñ,Ô,Ð,Ý•
˜6 =Ñ1Ô1Ñ2Ô2Ð2õ 	•fÔ(­&¬,¸¸!¸!¸!¸Q¸q¸SÀ!ÀAÀ#¸+¼ÈÑJÔJÐJÝ•j¥&¤,°°1°Q°Q°Q¸¸!¸¸Q¸Q¸Q°Y´<Ñ@Ô@Ð@õ ŒI�a‰LŒL× Ò   A qÑ)Ô)ˆÝ•j¥&¤,°°1Ñ5Ô5Ð5Ý•j¥&¤,°°!°A°#´¸¸!¸A¸#¼Ñ?Ô?Ð?õ ŒI�a‰LŒL×Ò˜mÑ,Ô,ˆÝ”<  1Ñ%Ô% a a a¨¨1¨ fÔ-ˆÝ”˜a    1 Q 3¨¨!¨ œn¨a°°!°¬fÑ5Ô5ˆÝ˜6 8Ñ,Ô,Ð,Ý•
˜6 =Ñ1Ô1Ñ2Ô2Ð2åŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝ•j¥&¤,°°1Ñ5Ô5Ð5Ý•j¥&¤,°°!°A°#´¸¸!¸A¸#¼Ñ?Ô?Ð?Ý•j¥&¤,°°!°!°!°Q°q°S¸!¸A¸#°+´ÀÑBÔBÐBÐBÐBr-   c                 óò  —  G d„ dt           j        ¦  «        }t          j        d¦  «                             ddd¦  «        }t          j        d¦  «                             ddd¦  «                             |¦  «        }t          j        ||¦  «        d d …d d …dd…f         }t          j        ||d d …d d …dd…f         ¦  «        }t          ||¦  «         t          t          ||¦  «        ¦  «         t          j        ||¦  «        d d …dd…dd…f         }t          j        |d d …dd…dd…f         |d d …dd…dd…f         ¦  «        }t          ||¦  «         t          t          ||¦  «        ¦  «         d S )	Nc                   ó   — e Zd ZdS )ú.TestSolve.test_0_size_k.<locals>.ArraySubclassNr$  r[   r-   r+   r%  r4  "  r&  r-   r%  rv   rr   rt   r.   ru   r   )
r'   r(   r(  r�   r½   r   r  r   r   r&   r/  s         r+   Útest_0_size_kzTestSolve.test_0_size_k   s†  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒI�a‰LŒL× Ò   A qÑ)Ô)ˆÝŒI�a‰LŒL× Ò   A qÑ)Ô)×.Ò.¨}Ñ=Ô=ˆå”<  1Ñ%Ô% a a a¨¨¨¨A¨a¨C iÔ0ˆÝ”˜a  1 1 1 a a a¨¨1¨ 9¤Ñ.Ô.ˆÝ˜6 8Ñ,Ô,Ð,Ý•
˜6 =Ñ1Ô1Ñ2Ô2Ð2õ ”<  1Ñ%Ô% a a a¨¨1¨¨a°¨c kÔ2ˆÝ”˜a    1 Q 3¨¨!¨ œn¨a°°°°1°Q°3¸¸!¸°¬nÑ=Ô=ˆÝ˜6 8Ñ,Ô,Ð,Ý•
˜6 =Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r-   N)rW   rX   rY   rþ   rÿ   Úparametrizer   r	   r   r   r   r+  r1  r5  r[   r-   r+   r  r  è  s{   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð6ð 6ñ JÔIð6ð6ð 6ð 6ð"Cð Cð CðB3ð 3ð 3ð 3ð 3r-   r  c                   ó   — e Zd Zd„ ZdS )ÚInvCasesc                 ó¾   — t          j        |¦  «        }t          t          ||¦  «        t	          |¦  «        ¦  «         t          t          ||¦  «        ¦  «         d S r$   )r   Úinvr   r   r  r   r,   )rM   r4   r5   rL   Úa_invs        r+   rQ   zInvCases.do5  sW   € Ý”
˜1‘”ˆÝ�F 1 eÑ,Ô,Ý5°aÑ8Ô8ñ	:ô 	:ð 	:åÕ# E¨1Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r-   Nr  r[   r-   r+   r8  r8  3  s#   € € € € € ð/ð /ð /ð /ð /r-   r8  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestInvr2   c                 óŒ   — t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        |¦  «         d S r  )r'   r   r   r   r:  r2   r  s      r+   r   zTestInv.test_types=  sD   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ•V”Z ‘]”]Ô(¨%Ñ0Ô0Ð0Ð0Ð0r-   c                 óÂ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j
        u ¦  «         t          |j        |j        ¦  «         t          t          ||¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j        u ¦  «         t          |j        |j        ¦  «         t          t          ||¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú*TestInv.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  rA  D  r&  r-   r%  ©r   rr   rr   r:   rm   )r'   r(   ÚzerosÚint_r½   r   r:  r   r2   r%   Úfloat64r   rž   r&   Ú	complex64©rM   r%  r4   Úress       r+   r1  zTestInv.test_0_sizeB  s   € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒj˜‰mŒmˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒj˜‰mŒmˆÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/r-   N©rW   rX   rY   rþ   rÿ   r6  r   r	   r   r   r   r1  r[   r-   r+   r=  r=  <  sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð1ð 1ñ JÔIð1ð0ð 0ð 0ð 0ð 0r-   r=  c                   ó   — e Zd Zd„ ZdS )ÚEigvalsCasesc                 ó|   — t          j        |¦  «        }t          j        |¦  «        \  }}t          ||¦  «         d S r$   )r   ÚeigvalsÚeigr   )rM   r4   r5   rL   ÚevÚevaluesÚevectorss          r+   rQ   zEigvalsCases.doU  s9   € ÝŒ^˜AÑÔˆÝ"œJ q™MœMÑˆ�Ý˜B Ñ(Ô(Ð(Ð(Ð(r-   Nr  r[   r-   r+   rK  rK  S  s#   € € € € € ð)ð )ð )ð )ð )r-   rK  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigvalsr2   c                 ó,  — t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        |¦  «         t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        t          |¦  «        ¦  «         d S ©Nrr   r  r:   r—   )r'   r   r   r   rM  r2   r=   r  s      r+   r   zTestEigvals.test_types\  s�   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ•V”^ AÑ&Ô&Ô,¨eÑ4Ô4Ð4ÝŒH�q˜#�h  Q Ð(°Ð6Ñ6Ô6ˆÝ•V”^ AÑ&Ô&Ô,Õ.?ÀÑ.FÔ.FÑGÔGÐGÐGÐGr-   c                 óÖ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j
        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú.TestEigvals.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  rX  e  r&  r-   r%  rB  r:   ©r   rr   rm   rn   )r'   r(   rC  rD  r½   r   rM  r   r2   r%   rE  r   rž   r&   rF  rG  s       r+   r1  zTestEigvals.test_0_sizec  s$  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒn˜QÑÔˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�V˜SœYÑ'Ô'Ð'å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒn˜QÑÔˆÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�T˜3œ9Ñ%Ô%Ð%å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r-   NrI  r[   r-   r+   rS  rS  [  s\   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIðHð Hñ JÔIðHð-ð -ð -ð -ð -r-   rS  c                   ó   — e Zd Zd„ ZdS )ÚEigCasesc           	      óL  — t          j        |¦  «        }|j        |j        }}t	          t          ||¦  «        t          j        |¦  «        t          j        |¦  «        dd d d …f         z  t          |j	        ¦  «        ¬¦  «         t          t          ||¦  «        ¦  «         d S )N.©Úrtol)r   rN  ÚeigenvaluesÚeigenvectorsr   r   r'   r   r?   r2   r   r,   )rM   r4   r5   rL   rH  r_  r`  s          r+   rQ   zEigCases.dox  sž   € ÝŒj˜‰mŒmˆØ$'¤O°SÔ5E�\ˆÝ�˜q ,Ñ/Ô/Ýœ
 <Ñ0Ô0µ2´:¸kÑ3JÔ3JÈ3ÐPTÐVWÐVWÐVWÈ<Ô3XÑXÝ% kÔ&7Ñ8Ô8ð	:ñ 	:ô 	:ð 	:õ 	Õ# L°!Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5r-   Nr  r[   r-   r+   r[  r[  v  s#   € € € € € ð6ð 6ð 6ð 6ð 6r-   r[  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigr2   c                 óÚ  — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        \  }}t	          |j        |¦  «         t	          |j        |¦  «         t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        \  }}t	          |j        t          |¦  «        ¦  «         t	          |j        t          |¦  «        ¦  «         d S rU  )r'   r   r   rN  r   r2   r=   ©rM   r2   rÇ   ÚwÚvs        r+   r   zTestEig.test_types‚  sÒ   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜eÑ$Ô$Ð$åŒH�q˜#�h  Q Ð(°Ð6Ñ6Ô6ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý�Q”WÕ/°Ñ6Ô6Ñ7Ô7Ð7Ý�Q”WÕ/°Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r-   c                 óÞ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j
        u ¦  «         t          |j        j	        t           j
        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j        u ¦  «         t          |j        j	        t           j        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú*TestEig.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  ri  �  r&  r-   r%  rB  r:   rY  rm   rn   )r'   r(   rC  rD  r½   r   rN  r   r2   r%   rE  r   rž   r&   rF  ©rM   r%  r4   rH  Úres_vs        r+   r1  zTestEig.test_0_sizeŽ  s„  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝ”Z ‘]”]‰
ˆˆUÝ�”Ô ¥B¤JÐ.Ñ/Ô/Ð/Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�V˜SœYÑ'Ô'Ð'å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝ”Z ‘]”]‰
ˆˆUÝ�”Ô ¥B¤LÐ0Ñ1Ô1Ð1Ý�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�Q”W˜eœkÑ*Ô*Ð*Ý�T˜3œ9Ñ%Ô%Ð%å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r-   NrI  r[   r-   r+   rb  rb  �  sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð	8ð 	8ñ JÔIð	8ð+ð +ð +ð +ð +r-   rb  c                   ób   — e Zd ZdZej                             deee	e
g¦  «        d„ ¦   «         ZdS )ÚSVDBaseTestsFr2   c                 ó¤  — t          j        ddgddgg|¬¦  «        }t          j        |¦  «        }|j        |j        |j        }}}t          |j        |¦  «         t          |j        t          |¦  «        ¦  «         t          |j        |¦  «         t          j        |d| j
        ¬¦  «        }t          |j        t          |¦  «        ¦  «         d S )Nrr   r  r:   F©Ú
compute_uvrB   )r'   r   r   ÚsvdÚUÚSÚVhr   r2   r;   rB   )rM   r2   rÇ   rH  rr  rs  rt  rÍ   s           r+   r   zSVDBaseTests.test_types¨  s¹   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒj˜‰mŒmˆØ”5˜#œ% ¤ˆbˆ1ˆÝ�Q”W˜eÑ$Ô$Ð$Ý�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ý�R”X˜uÑ%Ô%Ð%ÝŒJ�q U°d´nÐEÑEÔEˆÝ�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ð4Ð4r-   N)rW   rX   rY   rB   rþ   rÿ   r6  r   r	   r   r   r   r[   r-   r+   rm  rm  ¥  sO   € € € € € Ø€Ià„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð 5ð 5r-   rm  c                   ó   — e Zd Zd„ ZdS )ÚSVDCasesc                 ó˜  — t          j        |d¦  «        \  }}}t          |t          t	          j        |¦  «        t	          j        |¦  «        dd d d …f         z  t	          j        |¦  «        ¦  «        t          |j        ¦  «        ¬¦  «         t          t          ||¦  «        ¦  «         t          t          ||¦  «        ¦  «         d S )NF.r]  )
r   rq  r   r   r'   r   r?   r2   r   r,   )rM   r4   r5   rL   ÚurÍ   Úvts          r+   rQ   zSVDCases.do¶  s¶   € Ý”:˜a Ñ'Ô'‰ˆˆ1ˆbÝ˜�6¥"¤*¨Q¡-¤-µ"´*¸Q±-´-ÀÀTÈ1È1È1ÀÔ2MÑ"MÝ+-¬:°b©>¬>ñ;ô ;å% a¤gÑ.Ô.ð	0ñ 	0ô 	0ð 	0õ 	Õ# A qÑ)Ô)Ñ*Ô*Ð*ÝÕ# B¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r-   Nr  r[   r-   r+   rv  rv  ´  s#   € € € € € ð,ð ,ð ,ð ,ð ,r-   rv  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestSVDc                 ó  — t          j        d¦  «        }t          j        |d| j        ¬¦  «        \  }}}t          |j        d¦  «         t          |j        d¦  «         t          |t          j        d¦  «        ¦  «         t          j        d¦  «        }t          j        |d| j        ¬¦  «        \  }}}t          |j        d¦  «         t          |j        d¦  «         t          |t          j        d¦  «        ¦  «         dS )	z6 Empty input should put an identity matrix in u or vh )rv   r   Tro  ©rv   rv   rm   rv   )r   rv   N)r'   r¼   r   rq  rB   r   rž   Úeye)rM   rÇ   rx  rÍ   Úvhs        r+   Útest_empty_identityzTestSVD.test_empty_identityÀ  sÚ   € åŒH�VÑÔˆÝ”:˜a¨D¸D¼NÐKÑKÔK‰ˆˆ1ˆbÝ�Q”W˜fÑ%Ô%Ð%Ý�R”X˜vÑ&Ô&Ð&Ý�Q�œ˜q™	œ	Ñ"Ô"Ð"åŒH�VÑÔˆÝ”:˜a¨D¸D¼NÐKÑKÔK‰ˆˆ1ˆbÝ�Q”W˜fÑ%Ô%Ð%Ý�R”X˜vÑ&Ô&Ð&Ý�R�œ ™œÑ#Ô#Ð#Ð#Ð#r-   c                 óº   — t          j        ddgddgg¦  «        }t          j        |d| j        ¬¦  «        }t          j        |¦  «        }t          ||¦  «         d S )Nrr   r  Fro  )r'   r   r   rq  rB   Úsvdvalsr   )rM   rÇ   Ú
s_from_svdÚs_from_svdvalss       r+   Útest_svdvalszTestSVD.test_svdvalsÎ  s[   € ÝŒH�q˜#�h  a Ð)Ñ*Ô*ˆÝ”Z ¨e¸t¼~ÐNÑNÔNˆ
Ýœ¨Ñ*Ô*ˆÝ˜J¨Ñ7Ô7Ð7Ð7Ð7r-   N)rW   rX   rY   r€  r…  r[   r-   r+   r{  r{  ¿  s2   € € € € € ð$ð $ð $ð8ð 8ð 8ð 8ð 8r-   r{  c                   ó   — e Zd Zd„ ZdS )ÚSVDHermitianCasesc                 ó€  — t          j        |dd¬¦  «        \  }}}t          |t          t	          j        |¦  «        t	          j        |¦  «        dd d d …f         z  t	          j        |¦  «        ¦  «        t          |j        ¦  «        ¬¦  «         d„ }t          t	          j        | ||¦  «        ¦  «        t	          j	        t	          j
        |j        d         ¦  «        |j        ¦  «        ¦  «         t          t	          j        | ||¦  «        ¦  «        t	          j	        t	          j
        |j        d         ¦  «        |j        ¦  «        ¦  «         t          t	          j        |¦  «        dd d d…f         |¦  «         t          t          ||¦  «        ¦  «         t          t          ||¦  «        ¦  «         d S )NFT©rB   .r]  c                 óÂ   — t          t          | j        ¦  «        ¦  «        }|d         |d         c|d<   |d<   t          j        t          j        | |¬¦  «        ¦  «        S )Nr˜   r—   ©Úaxes)rÃ   Úranger›   r'   ÚconjÚ	transpose)ÚmatrŒ  s     r+   rB   z'SVDHermitianCases.do.<locals>.hermitianÝ  sR   € Ý�˜cœh™œÑ(Ô(ˆDØ!% b¤¨4°¬8ÐˆD�‰H�d˜2‘hÝ”7�2œ<¨°$Ð7Ñ7Ô7Ñ8Ô8Ð8r-   r—   )r   rq  r   r   r'   r   r?   r2   r   r  r~  rž   r   Úsortr   r,   )rM   r4   r5   rL   rx  rÍ   ry  rB   s           r+   rQ   zSVDHermitianCases.do×  s~  € Ý”:˜a °$Ð7Ñ7Ô7‰ˆˆ1ˆbÝ˜�6¥"¤*¨Q¡-¤-µ"´*¸Q±-´-ÀÀTÈ1È1È1ÀÔ2MÑ"MÝ+-¬:°b©>¬>ñ;ô ;å% a¤gÑ.Ô.ð	0ñ 	0ô 	0ð 	0ð	9ð 	9ð 	9õ
 	�BœI a¨¨°1©¬Ñ6Ô6½¼ÍÌÈqÌwÐWYÌ{ÑH[ÔH[Ð]^Ô]dÑ8eÔ8eÑfÔfÐfÝ�BœI b¨)¨)°B©-¬-Ñ8Ô8½"¼/Í"Ì&ÐQSÔQYÐZ\ÔQ]ÑJ^ÔJ^Ð`bÔ`hÑ:iÔ:iÑjÔjÐjÝ•R”W˜Q‘Z”Z  T T r T 	Ô*¨AÑ.Ô.Ð.ÝÕ# A qÑ)Ô)Ñ*Ô*Ð*ÝÕ# B¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r-   Nr  r[   r-   r+   r‡  r‡  Õ  s#   € € € € € ð,ð ,ð ,ð ,ð ,r-   r‡  c                   ó   — e Zd ZdZdS )ÚTestSVDHermitianTN)rW   rX   rY   rB   r[   r-   r+   r“  r“  é  s   € € € € € Ø€I€I€Ir-   r“  c                   ó   — e Zd Zd„ ZdS )Ú	CondCasesc           	      ó  — t          |¦  «        }d|v r"t          t          t          j        |¦  «         d S t          j        |d¬¦  «        }t          t          j        |¦  «        |d         |d         z  dd¬¦  «         t          t          j        |d	¦  «        |d         |d         z  dd¬¦  «         t          t          j        |d
¦  «        |d         |d         z  dd¬¦  «         t          j                             |¦  «        }t          t          j        |d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |t          j        ¦  «        t          |¦  «         
                    d¦  «                             d¦  «        t          |¦  «         
                    d¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |t          j         ¦  «        t          |¦  «         
                    d¦  «                             d¦  «        t          |¦  «         
                    d¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |d¦  «        t          j        t          |¦  «        d	z   
                    d¦  «         
                    d¦  «        t          |¦  «        d	z   
                    d¦  «         
                    d¦  «        z  ¦  «        dd¬¦  «         d S )NrE   F)rp  r  ).r—   r‡   r…   ©r6   r7   rt   r˜   rr   r—   Úfro)r   r    r   r   Úcondrq  r   r'   r:  r¨   ÚsumÚmaxÚminr   Úsqrt)rM   r4   r5   rL   ÚcrÍ   Úcinvs          r+   rQ   zCondCases.doð  st  € Ý�A‰JŒJˆØ�tÐÐÝ�+¥v¤{°AÑ6Ô6Ð6ØˆFõ ŒJ�q UÐ+Ñ+Ô+ˆÝÝŒK˜‰NŒN˜A˜fœI¨¨'¬
Ñ2Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜˜1ÑÔ˜q œy¨1¨W¬:Ñ5Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜˜2ÑÔ  '¤
¨Q¨v¬YÑ 6Ø¨Rð	1ñ 	1ô 	1ð 	1õ
 Œy�}Š}˜QÑÔˆÝÝŒK˜˜1ÑÔÝ�‰FŒF�JŠJ�r‰NŒN×Ò˜rÑ"Ô"¥S¨¡Y¤Y§]¢]°2Ñ%6Ô%6×%:Ò%:¸2Ñ%>Ô%>Ñ>Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜˜2ÑÔÝ�‰FŒF�JŠJ�r‰NŒN×Ò˜rÑ"Ô"¥S¨¡Y¤Y§]¢]°2Ñ%6Ô%6×%:Ò%:¸2Ñ%>Ô%>Ñ>Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜�2œ6Ñ"Ô"Ý�‰FŒF�JŠJ�r‰NŒN×Ò˜rÑ"Ô"¥S¨¡Y¤Y§]¢]°2Ñ%6Ô%6×%:Ò%:¸2Ñ%>Ô%>Ñ>Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜�BœF˜7Ñ#Ô#Ý�‰FŒF�JŠJ�r‰NŒN×Ò˜rÑ"Ô"¥S¨¡Y¤Y§]¢]°2Ñ%6Ô%6×%:Ò%:¸2Ñ%>Ô%>Ñ>Ø¨Rð	1ñ 	1ô 	1ð 	1õ 	ÝŒK˜˜5Ñ!Ô!ÝŒG•S˜‘V”V˜Q‘Y—O’O BÑ'Ô'×+Ò+¨BÑ/Ô/Ý˜4‘y”y !‘|×(Ò(¨Ñ,Ô,×0Ò0°Ñ4Ô4ñ5ñ 6ô 6à¨Rð		1ñ 	1ô 	1ð 	1ð 	1ð 	1r-   Nr  r[   r-   r+   r•  r•  í  s#   € € € € € ð(1ð (1ð (1ð (1ð (1r-   r•  c                   ól   — e Zd Zd„ Zd„ Zej                             ddd¬¦  «        d„ ¦   «         Zd„ Z	d	S )
ÚTestCondc                 óÎ  — t          g d¢g d¢g d¢g¦  «        }t          t          j        |t          ¦  «        d¦  «         t          t          j        |t           ¦  «        d¦  «         t          t          j        |d¦  «        d¦  «         t          t          j        |d¦  «        d¦  «         t          t          j        |d	¦  «        t          j        d
¦  «        ¦  «         d S )N)rc   r   rr   )r   g       Àr   )r   r   re   rv   gUUUUUUå?rr   r—   r  r˜  gUUUUU6@)r   r   r   r™  r   r'   r�  ©rM   ÚAs     r+   Útest_basic_nonsvdzTestCond.test_basic_nonsvd  sÀ   € å�:�:�:˜{˜{˜{¨J¨J¨JÐ7Ñ8Ô8ˆÝ�FœK¨­3Ñ/Ô/°Ñ3Ô3Ð3Ý�FœK¨­C¨4Ñ0Ô0°%Ñ8Ô8Ð8Ý�FœK¨¨1Ñ-Ô-¨qÑ1Ô1Ð1Ý�FœK¨¨2Ñ.Ô.°Ñ4Ô4Ð4Ý�FœK¨¨5Ñ1Ô1µ2´7¸8Ñ3DÔ3DÑEÔEÐEÐEÐEr-   c                 óH  — t          j        d¦  «        t          j        d¦  «        g}g d¢}ddg}t          j        ||¦  «        D ]+\  }}t          t          j        ||¦  «        dk    ¦  «         Œ,t          j        ||¦  «        D ]\  }}t          j        ||¦  «         Œd S )Nr'  ©Nrr   rt   r˜  r—   r˜   ç  4&õkC)r'   rC  Úonesr¸   r¹   r   r   r™  )rM   ÚAsÚp_posÚp_negr¤  Úps         r+   Útest_singularzTestCond.test_singular%  s·   € õ Œh�vÑÔ¥¤¨¡¤Ð0ˆØ#Ð#Ð#ˆØ�R�ˆÝÔ% b¨%Ñ0Ô0ð 	.ð 	.‰DˆAˆqõ •F”K  1Ñ%Ô%¨Ò,Ñ-Ô-Ð-Ð-ÝÔ% b¨%Ñ0Ô0ð 	ð 	‰DˆAˆqÝŒK˜˜1ÑÔÐÐð	ð 	r-   TFz/Platform/LAPACK-dependent failure, see gh-18914)ÚrunÚreasonc                 óö  — g d¢}g d¢}t          j        d¦  «        }t           j        |d<   |D ]_}t          j        ||¦  «        }t          t          |t           j        ¦  «        ¦  «         t          t          j        |¦  «        ¦  «         Œ`t          j        d¦  «        }t           j        |d<   |D ]Å}t          j        ||¦  «        }t          t          j        |d         ¦  «        ¦  «         ||v r3t          |d         d	k    ¦  «         t          |d
         d	k    ¦  «         Œut          t          j        |d         ¦  «         ¦  «         t          t          j        |d
         ¦  «         ¦  «         ŒÆd S )N)Nrr   r—   rt   r˜   r˜  r§  r'  rY  )ru   rt   rt   ©rr   r   rr   rr   r   r¨  rt   )	r'   r©  Únanr   r™  r   r&   rE  Úisnan)rM   Úpsr«  r¤  r­  rž  s         r+   Útest_nanzTestCond.test_nan3  sX  € ð
 )Ð(Ð(ˆØ#Ð#Ð#ˆåŒG�F‰OŒOˆÝ”&ˆˆ$‰Øð 	!ð 	!ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•J˜q¥"¤*Ñ-Ô-Ñ.Ô.Ð.Ý•B”H˜Q‘K”KÑ Ô Ð Ð åŒG�IÑÔˆÝ”Vˆˆ'‰
Øð 	,ð 	,ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•B”H˜Q˜qœT‘N”NÑ#Ô#Ð#Ø�EˆzˆzÝ˜˜!œ˜tšÑ$Ô$Ð$Ý˜˜!œ˜tšÑ$Ô$Ð$Ð$å�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ý�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ð+ð	,ð 	,r-   c                 óì  — t           j                             d¦  «         t           j                             dddd¦  «        }d|d<   d|d<   dD ]¥}t	          j        ||¦  «        }t          |d         t           j        ¦  «         t          |d         t           j        ¦  «         t          t          j	        |d         ¦  «        ¦  «         t          t          j	        |d         ¦  «        ¦  «         Œ¦d S )	Nrb   rt   r   rm   r¶   )Nrr   rt   r˜  r—   r˜   rY  ©rr   r   )
r'   ÚrandomÚseedÚrandr   r™  r   r   r   Úisfinite)rM   r¤  r­  rž  s       r+   Útest_stacked_singularzTestCond.test_stacked_singularN  sÔ   € õ 	Œ	�Š�tÑÔÐÝŒI�NŠN˜1˜a  AÑ&Ô&ˆØˆˆ$‰Øˆˆ$‰à,ð 	*ð 	*ˆAÝ”˜A˜qÑ!Ô!ˆAÝ˜˜4œ¥"¤&Ñ)Ô)Ð)Ý˜˜4œ¥"¤&Ñ)Ô)Ð)Ý•B”K  $¤Ñ(Ô(Ñ)Ô)Ð)Ý•B”K  $¤Ñ(Ô(Ñ)Ô)Ð)Ð)ð	*ð 	*r-   N)
rW   rX   rY   r¥  r®  rþ   rÿ   Úxfailr¶  r½  r[   r-   r+   r¡  r¡    s‚   € € € € € ðFð Fð Fðð ð ð „[×Ò�t ð-ð ñ .ô .ð,ð ,ñ.ô .ð,ð0*ð *ð *ð *ð *r-   r¡  c                   ó   — e Zd Zd„ ZdS )Ú	PinvCasesc                 óÄ   — t          j        |¦  «        }t          }t           | |||¦  «        |¦  «        |dd¬¦  «         t	          t          ||¦  «        ¦  «         d S )Nr‡   r…   r—  ©r   Úpinvr   r   r   r,   ©rM   r4   r5   rL   Úa_ginvr   s         r+   rQ   zPinvCases.doc  sa   € Ý”˜Q‘”ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r-   Nr  r[   r-   r+   rÀ  rÀ  ^  s#   € € € € € ð
0ð 0ð 0ð 0ð 0r-   rÀ  c                   ó   — e Zd ZdS )ÚTestPinvNr$  r[   r-   r+   rÇ  rÇ  k  ó   € € € € € Ø€Dr-   rÇ  c                   ó   — e Zd Zd„ ZdS )ÚPinvHermitianCasesc                 óÈ   — t          j        |d¬¦  «        }t          }t           | |||¦  «        |¦  «        |dd¬¦  «         t	          t          ||¦  «        ¦  «         d S )NTr‰  r‡   r…   r—  rÂ  rÄ  s         r+   rQ   zPinvHermitianCases.doq  sh   € Ý”˜Q¨$Ð/Ñ/Ô/ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r-   Nr  r[   r-   r+   rÊ  rÊ  o  s#   € € € € € ð0ð 0ð 0ð 0ð 0r-   rÊ  c                   ó   — e Zd ZdS )ÚTestPinvHermitianNr$  r[   r-   r+   rÍ  rÍ  y  rÈ  r-   rÍ  c                  óˆ  — t          j        g d¢g d¢g d¢g¦  «        } t          t           j                             | d¬¦  «        t           j                             | d¬¦  «        ¦  «         t          j        t          d¬¦  «        5  t           j                             | dd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
N©rr   rt   ru   )rv   rr   rr   )rt   ru   rr   r  ©Úrcondr]  z%`rtol` and `rcond` can't be both set.)Úmatch)rÑ  r^  )r'   r   r   r   rÃ  rþ   Úraisesr)  )r4   s    r+   Útest_pinv_rtol_argrÔ  }  sÿ   € Ý
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3€AåÝ
Œ	�Š�q ˆÑ$Ô$Ý
Œ	�Š�q˜sˆÑ#Ô#ñô ð õ
 
ŒÝÐBð
ñ 
ô 
ð /ð /õ 	Œ	�Š�q ¨#ˆÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Â#B7Â7B;Â>B;c                   ó   — e Zd Zd„ ZdS )ÚDetCasesc                 ó&  — t          j        |¦  «        }t          j        |¦  «        }|j        |j        }}t          |¦  «        j        j        t          t          fv r(t          |¦  «         
                    t          ¦  «        }n't          |¦  «         
                    t          ¦  «        }t          j        |¦  «        }	t          |t          j        |	d¬¦  «        ¦  «         t          |t!          j        |¦  «        z  t          j        |	d¬¦  «        ¦  «         t!          j        |¦  «        }t!          j        |¦  «        }|dk    }
t          t!          j        ||
         ¦  «        d¦  «         t)          ||
          t*           ¦  «         d S )Nr—   ©Úaxisr   rr   )r   ÚdetÚslogdetÚsignÚ	logabsdetr   r2   r%   r   r	   Úastyper   rM  r   r   Úreducer'   ÚexpÚ
atleast_1dr¨   r   r   )rM   r4   r5   rL   ÚdrH  rÍ   ÚldÚadrO  Úms              r+   rQ   zDetCases.do�  s5  € ÝŒJ�q‰MŒMˆÝŒn˜QÑÔˆØ”˜#œ-ˆ2ˆÝ�1‰:Œ:ÔÔ ¥V­VÐ$4Ð4Ð4Ý˜‘”×"Ò"¥6Ñ*Ô*ˆBˆBå˜‘”×"Ò"¥7Ñ+Ô+ˆBÝŒ^˜BÑÔˆÝ˜A�xœ¨r¸Ð;Ñ;Ô;Ñ<Ô<Ð<Ý˜A¥¤ r¡
¤
™N­H¬O¸BÀRÐ,HÑ,HÔ,HÑIÔIÐIåŒM˜!ÑÔˆÝŒ]˜2ÑÔˆØ�!ŠVˆÝ�BœF 1 Q¤4™LœL¨!Ñ,Ô,Ð,Ý�R˜˜”V�c˜TÑ"Ô"Ð"Ð"Ð"r-   Nr  r[   r-   r+   rÖ  rÖ  ‹  s#   € € € € € ð#ð #ð #ð #ð #r-   rÖ  c                   ój   — e Zd Zd„ Zej                             deee	e
g¦  «        d„ ¦   «         Zd„ ZdS )ÚTestDetc                 óþ  — t          t          j        dgg¦  «        d¦  «         t          t          t          j        dgg¦  «        ¦  «        t          ¦  «         t          t          j        dgg¦  «        d¦  «         t          t          t          j        dgg¦  «        ¦  «        t
          ¦  «         t          t          j        dgg¦  «        dt           f¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         t          t          j        dgg¦  «        dt           f¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t
          ¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         d S )Nç        y                r   rr   )r   r   rÚ  r%   r	   r   rÛ  r   rU   s    r+   Ú	test_zerozTestDet.test_zero¡  s„  € Ý•V”Z #  Ñ(Ô(¨#Ñ.Ô.Ð.Ý•T�&œ* s e WÑ-Ô-Ñ.Ô.µÑ7Ô7Ð7Ý•V”Z $  Ñ)Ô)¨3Ñ/Ô/Ð/Ý•T�&œ* t f XÑ.Ô.Ñ/Ô/µÑ9Ô9Ð9å•V”^ c U GÑ,Ô,¨sµS°D¨kÑ:Ô:Ð:Ý•T�&œ.¨3¨%¨Ñ1Ô1°!Ô4Ñ5Ô5µvÑ>Ô>Ð>Ý•T�&œ.¨3¨%¨Ñ1Ô1°!Ô4Ñ5Ô5µvÑ>Ô>Ð>Ý•V”^ d V HÑ-Ô-°µs°d¨|Ñ<Ô<Ð<Ý•T�&œ.¨4¨&¨Ñ2Ô2°1Ô5Ñ6Ô6½Ñ@Ô@Ð@Ý•T�&œ.¨4¨&¨Ñ2Ô2°1Ô5Ñ6Ô6½Ñ?Ô?Ð?Ð?Ð?r-   r2   c                 óT  — t          j        ddgddgg|¬¦  «        }t          t           j                             |¦  «        j        |¦  «         t           j                             |¦  «        \  }}t          |j        t          |¦  «        ¦  «         t          |j        |¦  «         d S r  )r'   r   r   r   rÚ  r2   rÛ  r;   )rM   r2   rÇ   ÚphrÍ   s        r+   r   zTestDet.test_types®  s�   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ•R”Y—]’] 1Ñ%Ô%Ô+¨UÑ3Ô3Ð3Ý”	×!Ò! !Ñ$Ô$‰ˆˆAÝ�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ý�R”X˜uÑ%Ô%Ð%Ð%Ð%r-   c                 ó’  — t          j        dt           j        ¬¦  «        }t          j        |¦  «        }t          |d¦  «         t          |j        j        t           j        u ¦  «         t          j	        |¦  «        }t          |d¦  «         t          |d         j        j        t           j        u ¦  «         t          |d         j        j        t           j
        u ¦  «         t          j        dt           j        ¬¦  «        }t          j        |¦  «        }t          |d¦  «         t          |j        j        t           j        u ¦  «         t          j	        |¦  «        }t          |d¦  «         t          |d         j        j        t           j        u ¦  «         t          |d         j        j        t           j        u ¦  «         d S )Nrm   r:   rc   r¸  r   rr   )r'   rC  rF  r   rÚ  r   r   r2   r%   rÛ  Úfloat32rE  )rM   r4   rH  s      r+   r1  zTestDet.test_0_size¶  sV  € ÝŒH�V¥2¤<Ð0Ñ0Ô0ˆÝŒj˜‰mŒmˆÝ�S˜"ÑÔÐÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/ÝŒn˜QÑÔˆÝ�S˜&Ñ!Ô!Ð!Ý��A””Ô!¥R¤\Ð1Ñ2Ô2Ð2Ý��A””Ô!¥R¤ZÐ/Ñ0Ô0Ð0åŒH�V¥2¤:Ð.Ñ.Ô.ˆÝŒj˜‰mŒmˆÝ�S˜"ÑÔÐÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-ÝŒn˜QÑÔˆÝ�S˜&Ñ!Ô!Ð!Ý��A””Ô!¥R¤ZÐ/Ñ0Ô0Ð0Ý��A””Ô!¥R¤ZÐ/Ñ0Ô0Ð0Ð0Ð0r-   N)rW   rX   rY   rê  rþ   rÿ   r6  r   r	   r   r   r   r1  r[   r-   r+   rç  rç     sm   € € € € € ð@ð @ð @ð „[×Ò˜W v¨v°wÀÐ&HÑIÔIð&ð &ñ JÔIð&ð1ð 1ð 1ð 1ð 1r-   rç  c                   ó   — e Zd Zd„ ZdS )Ú
LstsqCasesc                 óŠ  — t          j        |¦  «        }|j        \  }}t          j        |d¦  «        \  }}}	t          j        ||d¬¦  «        \  }
}}}|dk    r%t          |
dk                         ¦   «         ¦  «         ||k    r/t          |t          ||
¦  «        ¦  «         t          ||¦  «         nt          ||¦  «         t          ||                     |¦  «        ¦  «         ||k    r§||k    r¡t          j        t          t          j	        ||
¦  «        |z
  ¦  «        ¦  «        dz                       d¬¦  «        }t          j        |¦  «        }t          j        |¦  «        j        dk    r!d|_        t          |j        |j        ¦  «         n4t          j        g ¦  «                             t#          |
¦  «        ¦  «        }t          ||¦  «         t          t          j        |j        t           j        ¦  «        ¦  «         t          t+          |
|¦  «        ¦  «         t          t+          ||¦  «        ¦  «         d S )	NFr—   rÐ  r   rt   rØ  rr   r¤   )r'   r   rž   r   rq  Úlstsqr   rÁ   r   r   r   Ú__array_wrap__r¨   rš  r›   r   r½   r%   Ú
issubdtyper2   Úfloatingr,   )rM   r4   r5   rL   Úarrrå  Únrx  rÍ   ry  rÇ   Ú	residualsÚrankÚsvÚexpect_residss                  r+   rQ   zLstsqCases.doÌ  sê  € ÝŒj˜‰mŒmˆØŒy‰ˆˆ1Ý”:˜a Ñ'Ô'‰ˆˆ1ˆbÝ!'¤¨a°¸"Ð!=Ñ!=Ô!=Ñˆˆ9�d˜BØ�Š6ˆ6Ý�Q˜!’V—L’L‘N”NÑ#Ô#Ð#Ø�Š6ˆ6Ý ¥3 q¨!¡9¤9Ñ-Ô-Ð-Ý˜˜qÑ!Ô!Ð!Ð!å˜˜qÑ!Ô!Ð!Ý˜B × 1Ò 1°!Ñ 4Ô 4Ñ5Ô5Ð5Ø�1Š9ˆ9˜˜Qš˜å”
�3�rœv a¨™|œ|¨aÑ/Ñ0Ô0Ñ1Ô1°QÑ6¿ºÀ¸¹¼ð åœJ }Ñ5Ô5ˆMÝŒz˜!‰}Œ}Ô! QÒ&Ð&Ø&*�Ô#Ý˜Yœ_¨mÔ.AÑBÔBÐBøåœH R™LœL×-Ò-­d°1©g¬gÑ6Ô6ˆMÝ˜I }Ñ5Ô5Ð5Ý•”˜iœo­r¬{Ñ;Ô;Ñ<Ô<Ð<ÝÕ# A qÑ)Ô)Ñ*Ô*Ð*ÝÕ# I¨qÑ1Ô1Ñ2Ô2Ð2Ð2Ð2r-   Nr  r[   r-   r+   rð  rð  Ê  s#   € € € € € ð3ð 3ð 3ð 3ð 3r-   rð  c                   ój   — e Zd Zd„ Zej                             g d¢g d¢¦  «        d„ ¦   «         Zd„ ZdS )Ú	TestLstsqc                 ó’  — t          j        g d¢g d¢g d¢g d¢g¦  «        j        }t          j        g d¢¦  «        }t          j        ||d¬¦  «        \  }}}}t          |dk    ¦  «         t          j        ||¦  «        \  }}}}t          |d	k    ¦  «         t          j        ||d ¬¦  «        \  }}}}t          |d	k    ¦  «         d S )
N)ré  rc   ré  rc   rd   ré  )ré  rd   ré  ré  rc   ré  )rc   ré  rc   ré  ré  rf   )ré  ré  ré  rd   re   ré  )rr   r   r   r   r   r   r—   rÐ  rv   ru   )r'   r   ÚTr   rò  r   )rM   r4   r5   rÇ   rø  rù  rÍ   s          r+   Ú
test_rcondzTestLstsq.test_rcondé  sð   € ÝŒHÐ2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2ð4ñ 5ô 5ô 67ð 	
õ
 ŒHÐ'Ð'Ð'Ñ(Ô(ˆå &¤¨Q°¸Ð <Ñ <Ô <Ñˆˆ9�d˜AÝ�˜’	ÑÔÐÝ &¤¨Q°Ñ 2Ô 2Ñˆˆ9�d˜AÝ�˜’	ÑÔÐÝ &¤¨Q°¸Ð >Ñ >Ô >Ñˆˆ9�d˜AÝ�˜’	ÑÔÐÐÐr-   )rå  r÷  Ún_rhs))rv   rt   rt   )r   rv   rr   )r   rv   rt   )rv   r   rr   )rv   r   rt   )rv   rt   r   ©r   r   r   c                 óš  — t          j        ||z  ¦  «                             ||¦  «        }t          j        ||f¦  «        }t	          j        ||d ¬¦  «        \  }}}}	|dk    r%t          |dk                         ¦   «         ¦  «         t          |j	        ||f¦  «         t          |j	        ||k    r|fnd¦  «         ||k    rE|dk    r?|t          j
        ||¦  «        z
  }
t          ||
|
z                       d¬¦  «        ¦  «         t          |t          ||¦  «        ¦  «         t          |	j	        t          ||¦  «        f¦  «         d S )NrÐ  r   rn   r˜   rØ  )r'   r(  r�   r©  r   rò  r   rÁ   r   rž   r   r   rš  rœ  )rM   rå  r÷  r  r4   r5   rÇ   rø  rù  rÍ   r  s              r+   Útest_empty_a_bzTestLstsq.test_empty_a_bø  s3  € õ ŒI�a˜!‘eÑÔ×$Ò$ Q¨Ñ*Ô*ˆÝŒG�Q˜�JÑÔˆÝ &¤¨Q°¸Ð >Ñ >Ô >Ñˆˆ9�d˜AØ�Š6ˆ6Ý�Q˜!’V—L’L‘N”NÑ#Ô#Ð#Ý�Q”W˜q %˜jÑ)Ô)Ð)Ý�Y”_°1°q²5°5¨ x x¸dÑDÔDÐDØˆqŠ5ˆ5�U˜Q’Y�Yà•B”F˜1˜a‘L”LÑ ˆAÝ 	¨A°©E¯;ª;¸B¨;Ñ+?Ô+?Ñ@Ô@Ð@Ý�T�3˜q !™9œ9Ñ%Ô%Ð%Ý�Q”W�s 1 a™yœy˜lÑ+Ô+Ð+Ð+Ð+r-   c                 ó\  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        |t          j        t	          |¦  «        ¦  «        g¦  «        j        }t          t          d¦  «        5  t          j	        ||d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   rr   rt   ru   )r—   gš™™™™™É?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ @gffffff
@zIncompatible dimensionsrÐ  )
r'   r   Úvstackr©  Úlenrÿ  r!   r   r   rò  )rM   rÇ   Úyr¤  s       r+   Útest_incompatible_dimsz TestLstsq.test_incompatible_dims  sÜ   € åŒH�\�\�\Ñ"Ô"ˆÝŒHÐ-Ð-Ð-Ñ.Ô.ˆÝŒI�q�"œ'¥# a¡&¤&™/œ/Ð*Ñ+Ô+Ô-ˆÝ ¥Ð.GÑHÔHð 	+ð 	+ÝŒL˜˜A TÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   Á<B!Â!B%Â(B%N)	rW   rX   rY   r   rþ   rÿ   r6  r  r	  r[   r-   r+   rý  rý  è  sz   € € € € € ðð ð ð „[×ÒÐ0Ð0Ð0ð 3ð 3ð 3ñ ô ð,ð ,ñô ð,ð+ð +ð +ð +ð +r-   rý  Údtc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r[   )r'   r2   )r©   rž  s     r+   rª   rª     s    € ÐIÐIÐI°¥¤¨¡¤ÐIÐIÐIr-   z?bBhHiIqQefdgFDGOc                   ó˜  — e Zd Z ej        d¦  «        Zeg d¢         Zeg d¢         Zeg d¢         ZeeeegZ	 e
ddgddgg¦  «        Z ej        egggdz  ¦  «        Ze ej        d¦  «         ej        d	¦  «         ej        d
¦  «        gZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             ed¬¦  «        d„ ¦   «         ZdS )ÚTestMatrixPowerrv   )ru   r   rr   rt   )rt   ru   r   rr   )rr   rt   ru   r   rr   r   rt   rÝ   ÚgÚGc                 ó²  — | j                              |¦  «        }t          t          |ddz  dz   dz   dz   ¦  «        | j        ¦  «         t          t          |ddz  dz   dz   dz   ¦  «        | j         ¦  «         t          t          |ddz  dz   dz   dz   ¦  «        | j        ¦  «         t          t          |ddz  dz   dz   dz   ¦  «        | j        ¦  «         d S )Nrt   éd   i   é    r   rr   ru   )Úrshft_1rÞ  r   r   Úrshft_0Úrshft_2Úrshft_3)rM   r
  Úrshfts      r+   Útest_large_powerz TestMatrixPower.test_large_power&  s  € Ø”×#Ò# BÑ'Ô'ˆÝÝ˜  3¡¨¡°Ñ 5¸Ñ 9Ñ:Ô:¸D¼Lñ	Jô 	Jð 	JåÝ˜  3¡¨¡°Ñ 5¸Ñ 9Ñ:Ô:¸D¼Lñ	Jô 	Jð 	JåÝ˜  3¡¨¡°Ñ 5¸Ñ 9Ñ:Ô:¸D¼Lñ	Jô 	Jð 	JåÝ˜  3¡¨¡°Ñ 5¸Ñ 9Ñ:Ô:¸D¼Lñ	Jô 	Jð 	Jð 	Jð 	Jr-   c                 ó¸   — d„ }| j         D ]N} ||                     |¦  «        ¦  «         |t          k    r# || j                             |¦  «        ¦  «         ŒOd S )Nc                 ó”   — t          | d¦  «        }t          |t          | ¦  «        ¦  «         t          |j        | j        ¦  «         d S )Nr   )r   r   r  r2   )ÚMÚmzs     r+   Útzz.TestMatrixPower.test_power_is_zero.<locals>.tz2  sD   € Ý˜a Ñ#Ô#ˆBÝ˜Õ6°qÑ9Ô9Ñ:Ô:Ð:Ý˜œ 1¤7Ñ+Ô+Ð+Ð+Ð+r-   ©Ú	rshft_allrÞ  ÚobjectÚstacked©rM   r
  r  r�  s       r+   Útest_power_is_zeroz"TestMatrixPower.test_power_is_zero1  sr   € ð	,ð 	,ð 	,ð
 ”>ð 	,ð 	,ˆCØˆBˆs�zŠz˜"‰~Œ~ÑÔÐØ•VŠ|ˆ|Ø��4”<×&Ò& rÑ*Ô*Ñ+Ô+Ð+øð	,ð 	,r-   c                 ó¸   — d„ }| j         D ]N} ||                     |¦  «        ¦  «         |t          k    r# || j                             |¦  «        ¦  «         ŒOd S )Nc                 óz   — t          | d¦  «        }t          || ¦  «         t          |j        | j        ¦  «         d S )Nrr   )r   r   r2   )r�  r  s     r+   r  z-TestMatrixPower.test_power_is_one.<locals>.tz=  s;   € Ý˜c 1Ñ%Ô%ˆBÝ˜˜SÑ!Ô!Ð!Ý˜œ 3¤9Ñ-Ô-Ð-Ð-Ð-r-   r  r"  s       r+   Útest_power_is_onez!TestMatrixPower.test_power_is_one<  sr   € ð	.ð 	.ð 	.ð
 ”>ð 	,ð 	,ˆCØˆBˆs�zŠz˜"‰~Œ~ÑÔÐØ•VŠ|ˆ|Ø��4”<×&Ò& rÑ*Ô*Ñ+Ô+Ð+øð	,ð 	,r-   c                 ó¸   — d„ }| j         D ]N} ||                     |¦  «        ¦  «         |t          k    r# || j                             |¦  «        ¦  «         ŒOd S )Nc                 óÊ   — t          | d¦  «        }| j        t          k    rt          nt          }t          | || | ¦  «        ¦  «         t          |j        | j        ¦  «         d S )Nrt   )r   r2   r   r   r   r   )r�  r  Úmmuls      r+   r  z-TestMatrixPower.test_power_is_two.<locals>.tzH  sZ   € Ý˜c 1Ñ%Ô%ˆBØ œY­&Ò0Ð0•6�6µcˆDÝ˜˜T˜T # s™^œ^Ñ,Ô,Ð,Ý˜œ 3¤9Ñ-Ô-Ð-Ð-Ð-r-   r  r"  s       r+   Útest_power_is_twoz!TestMatrixPower.test_power_is_twoG  sr   € ð	.ð 	.ð 	.ð ”>ð 	,ð 	,ˆCØˆBˆs�zŠz˜"‰~Œ~ÑÔÐØ•VŠ|ˆ|Ø��4”<×&Ò& rÑ*Ô*Ñ+Ô+Ð+øð	,ð 	,r-   c                 ón   — d„ }| j         D ])}|| j        vr ||                     |¦  «        ¦  «         Œ*d S )Nc                 ó°   — t          | d¦  «        }| j        t          k    rt          nt          }t           ||| ¦  «        t          | ¦  «        ¦  «         d S ©Nr—   )r   r2   r   r   r   r   r  )r�  Úinvmatr)  s      r+   r  z3TestMatrixPower.test_power_is_minus_one.<locals>.tzT  sa   € Ý! # rÑ*Ô*ˆFØ œY­&Ò0Ð0•6�6µcˆDÝØ��V˜SÑ!Ô!Õ#<¸SÑ#AÔ#AñCô Cð Cð Cð Cr-   )r  ÚdtnoinvrÞ  r"  s       r+   Útest_power_is_minus_onez'TestMatrixPower.test_power_is_minus_oneS  sY   € ð	Cð 	Cð 	Cð ”>ð 	#ð 	#ˆCØ˜œÐ%Ð%Ø��3—:’:˜b‘>”>Ñ"Ô"Ð"øð	#ð 	#r-   c                 ó¬   — | j                              |¦  «        }t          t          t          |d¦  «         t          t          t          |dg¦  «         d S )Ng      ø?rr   )r  rÞ  r    Ú	TypeErrorr   ©rM   r
  r�  s      r+   Útest_exceptions_bad_powerz)TestMatrixPower.test_exceptions_bad_power^  sG   € ØŒl×!Ò! "Ñ%Ô%ˆÝ•i¥¨s°CÑ8Ô8Ð8Ý•i¥¨s°Q°CÑ8Ô8Ð8Ð8Ð8r-   c                 ó*  — t          t          t          t          j        dg|¦  «        d¦  «         t          t          t          t          j        dgdgg|¦  «        d¦  «         t          t          t          t          j        d|¦  «        d¦  «         d S )Nrr   rt   )rv   ru   rt   )r    r   r   r'   r   r©  )rM   r
  s     r+   Útest_exceptions_non_squarez*TestMatrixPower.test_exceptions_non_squarec  sr   € Ý•k¥<µ´¸1¸#¸rÑ1BÔ1BÀAÑFÔFÐFÝ•k¥<µ´¸A¸3ÀÀ¸*ÀbÑ1IÔ1IÈ1ÑMÔMÐMÝ•k¥<µ´¸ÀBÑ1GÔ1GÈÑKÔKÐKÐKÐKr-   úfp errors don't work in wasm©r°  c                 óˆ   — || j         v rd S | j                             |¦  «        }t          t          t
          |d¦  «         d S r-  )r/  ÚnoninvrÞ  r    r   r   r3  s      r+   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertibleh  sC   € à�”ÐÐØˆFØŒk× Ò  Ñ$Ô$ˆÝ•k¥<°°bÑ9Ô9Ð9Ð9Ð9r-   N)rW   rX   rY   r'   r~  r  r  r  r  r  r   r:  Úblockr!  r   r2   r/  r  r#  r&  r*  r0  r4  r6  rþ   rÿ   Úskipifr   r;  r[   r-   r+   r  r    sc  € € € € € ð ˆbŒf�Q‰iŒi€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ˜' 7¨GÐ4€IØˆU�Q˜�F˜Q ˜FÐ#Ñ$Ô$€FØˆbŒh˜'˜˜�} qÑ(Ñ)Ô)€Gà�x�r”x ‘}”} h b¤h¨s¡m¤m°X°R´X¸c±]´]ÐC€Gð	Jð 	Jð 	Jð	,ð 	,ð 	,ð	,ð 	,ð 	,ð
,ð 
,ð 
,ð	#ð 	#ð 	#ð9ð 9ð 9ð
Lð Lð Lð
 „[×Ò˜Ð(FÐÑGÔGð:ð :ñ HÔGð:ð :ð :r-   r  c                   ó   — e Zd Zd„ ZdS )ÚTestEigvalshCasesc                 óD  — t          j        |d¦  «        }t          j        |¦  «        \  }}|                     d¬¦  «         t	          ||t          |j        ¦  «        ¬¦  «         t          j        |d¦  «        }t	          ||t          |j        ¦  «        ¬¦  «         d S )NÚLr—   rØ  r]  rr  )r   ÚeigvalshrN  r‘  r   r?   r2   )rM   r4   r5   rL   rO  rP  rQ  Úev2s           r+   rQ   zTestEigvalshCases.dor  s�   € õ Œ_˜Q Ñ$Ô$ˆÝ"œJ q™MœMÑˆ�Ø�Š˜"ˆÑÔÐÝ˜˜G­(°2´8Ñ*<Ô*<Ð=Ñ=Ô=Ð=åŒo˜a Ñ%Ô%ˆÝ˜˜W­8°B´HÑ+=Ô+=Ð>Ñ>Ô>Ð>Ð>Ð>r-   Nr  r[   r-   r+   r?  r?  p  s#   € € € € € ð	?ð 	?ð 	?ð 	?ð 	?r-   r?  c                   óp   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ ZdS )ÚTestEigvalshr2   c                 óÀ   — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        }t	          |j        t          |¦  «        ¦  «         d S r  )r'   r   r   rB  r   r2   r;   )rM   r2   rÇ   re  s       r+   r   zTestEigvalsh.test_types  sX   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒI×Ò˜qÑ!Ô!ˆÝ�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ð4Ð4r-   c                 ó8  — t          j        ddgddggt           j        ¬¦  «        }t          t          t           j        j        |d¬¦  «         t          t          t           j        j        |d¦  «         t          t          t           j        j        |d¦  «         d S ©Nrr   r  r:   Úlrong©ÚUPLOÚlowerÚupper)r'   r   rî  r    r)  r   rB  ©rM   rÇ   s     r+   Útest_invalidzTestEigvalsh.test_invalid…  sy   € ÝŒH�q˜#�h  a Ð)µ´Ð<Ñ<Ô<ˆÝ•j¥"¤)Ô"4°a¸gÐFÑFÔFÐFÝ•j¥"¤)Ô"4°a¸ÑAÔAÐAÝ•j¥"¤)Ô"4°a¸ÑAÔAÐAÐAÐAr-   c                 ó  — t          j        ddgddggt           j        ¬¦  «        }t          j        ddgddggt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }t          t           j        ¦  «        }t           j                             |¦  «        }t          |||¬¦  «         t           j                             |d¬¦  «        }t          |||¬¦  «         t           j                             |d¬¦  «        }t          |||¬¦  «         t           j                             |d	¬¦  «        }t          |||¬¦  «         t           j                             |d
¬¦  «        }t          |||¬¦  «         d S ©Nr   rr   r:   r—   r]  rA  rJ  Úlrr  rx  )r'   r   r	   r?   r   rB  r   )rM   ÚKloÚKupÚtgtr^  re  s         r+   Ú	test_UPLOzTestEigvalsh.test_UPLO‹  s_  € ÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A�w¥b¤iÐ0Ñ0Ô0ˆÝ�œ	Ñ"Ô"ˆõ ŒI×Ò˜sÑ#Ô#ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*Ð*Ð*r-   c                 óÖ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j
        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú/TestEigvalsh.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  rY  £  r&  r-   r%  rB  r:   rY  rm   rn   )r'   r(   rC  rD  r½   r   rB  r   r2   r%   rE  r   rž   r&   rF  rî  rG  s       r+   r1  zTestEigvalsh.test_0_size¡  s$  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒo˜aÑ Ô ˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�V˜SœYÑ'Ô'Ð'å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒo˜aÑ Ô ˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�T˜3œ9Ñ%Ô%Ð%å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r-   N©rW   rX   rY   rþ   rÿ   r6  r   r	   r   r   r   rO  rV  r1  r[   r-   r+   rE  rE  ~  sz   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð
Bð Bð Bð+ð +ð +ð,-ð -ð -ð -ð -r-   rE  c                   ó   — e Zd Zd„ ZdS )ÚTestEighCasesc                 óÀ  — t          j        |¦  «        }|j        |j        }}t          j        |¦  «        \  }}|                     d¬¦  «         t          ||¦  «         t          t          ||¦  «        t          j
        |¦  «        dd d d …f         t          j
        |¦  «        z  t          |j        ¦  «        ¬¦  «         t          j        |d¦  «        \  }	}
t          |	|¦  «         t          t          ||
¦  «        t          j
        |	¦  «        dd d d …f         t          j
        |
¦  «        z  t          |j        ¦  «        t          |¦  «        ¬¦  «         d S )Nr—   rØ  .r]  rr  )r^  Úerr_msg)r   Úeighr_  r`  rN  r‘  r   r   r   r'   r   r?   r2   Úrepr)rM   r4   r5   rL   rH  rO  ÚevcrP  rQ  rC  Úevc2s              r+   rQ   zTestEighCases.do¶  s@  € õ Œk˜!‰nŒnˆØ”/ 3Ô#3ˆCˆÝ"œJ q™MœMÑˆ�Ø�Š˜"ˆÑÔÐÝ˜B Ñ(Ô(Ð(å�˜q #™œÝœ
 2™œ s¨D°!°!°! |Ô4µr´zÀ#±´ÑFÝ% b¤hÑ/Ô/ð	1ñ 	1ô 	1ð 	1õ ”K  3Ñ'Ô'‰	ˆˆTÝ˜C Ñ)Ô)Ð)å�˜q $™œÝœ
 3™œ¨¨T°1°1°1¨Ô5½¼
À4Ñ8HÔ8HÑHÝ% b¤hÑ/Ô/½¸a¹¼ð	Bñ 	Bô 	Bð 	Bð 	Bð 	Br-   Nr  r[   r-   r+   r\  r\  ´  s(   € € € € € ðBð Bð Bð Bð Br-   r\  c                   óp   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ ZdS )ÚTestEighr2   c                 óð   — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        \  }}t	          |j        t          |¦  «        ¦  «         t	          |j        |¦  «         d S r  )r'   r   r   r_  r   r2   r;   rd  s        r+   r   zTestEigh.test_typesÌ  sl   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒy�~Š~˜aÑ Ô ‰ˆˆ1Ý�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ý�Q”W˜eÑ$Ô$Ð$Ð$Ð$r-   c                 ó8  — t          j        ddgddggt           j        ¬¦  «        }t          t          t           j        j        |d¬¦  «         t          t          t           j        j        |d¦  «         t          t          t           j        j        |d¦  «         d S rH  )r'   r   rî  r    r)  r   r_  rN  s     r+   rO  zTestEigh.test_invalidÓ  sv   € ÝŒH�q˜#�h  a Ð)µ´Ð<Ñ<Ô<ˆÝ•j¥"¤)¤.°!¸'ÐBÑBÔBÐBÝ•j¥"¤)¤.°!°WÑ=Ô=Ð=Ý•j¥"¤)¤.°!°WÑ=Ô=Ð=Ð=Ð=r-   c                 ó,  — t          j        ddgddggt           j        ¬¦  «        }t          j        ddgddggt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }t          t           j        ¦  «        }t           j                             |¦  «        \  }}t          |||¬¦  «         t           j                             |d¬¦  «        \  }}t          |||¬¦  «         t           j                             |d¬¦  «        \  }}t          |||¬¦  «         t           j                             |d	¬¦  «        \  }}t          |||¬¦  «         t           j                             |d
¬¦  «        \  }}t          |||¬¦  «         d S rQ  )r'   r   r	   r?   r   r_  r   )rM   rS  rT  rU  r^  re  rf  s          r+   rV  zTestEigh.test_UPLOÙ  se  € ÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A�w¥b¤iÐ0Ñ0Ô0ˆÝ�œ	Ñ"Ô"ˆõ Œy�~Š~˜cÑ"Ô"‰ˆˆ1Ý˜˜3 TÐ*Ñ*Ô*Ð*åŒy�~Š~˜c¨ˆ~Ñ,Ô,‰ˆˆ1Ý˜˜3 TÐ*Ñ*Ô*Ð*åŒy�~Š~˜c¨ˆ~Ñ,Ô,‰ˆˆ1Ý˜˜3 TÐ*Ñ*Ô*Ð*åŒy�~Š~˜c¨ˆ~Ñ,Ô,‰ˆˆ1Ý˜˜3 TÐ*Ñ*Ô*Ð*åŒy�~Š~˜c¨ˆ~Ñ,Ô,‰ˆˆ1Ý˜˜3 TÐ*Ñ*Ô*Ð*Ð*Ð*r-   c                 óÞ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j
        u ¦  «         t          |j        j	        t           j
        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j        u ¦  «         t          |j        j	        t           j        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú+TestEigh.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  rj  ñ  r&  r-   r%  rB  r:   rY  rm   rn   )r'   r(   rC  rD  r½   r   r_  r   r2   r%   rE  r   rž   r&   rF  rî  rj  s        r+   r1  zTestEigh.test_0_sizeï  s„  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝ”[ ‘^”^‰
ˆˆUÝ�”Ô ¥B¤JÐ.Ñ/Ô/Ð/Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�V˜SœYÑ'Ô'Ð'å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝ”[ ‘^”^‰
ˆˆUÝ�”Ô ¥B¤LÐ0Ñ1Ô1Ð1Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�T˜3œ9Ñ%Ô%Ð%å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r-   NrZ  r[   r-   r+   rd  rd  Ë  sw   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð%ð %ñ JÔIð%ð>ð >ð >ð+ð +ð +ð,+ð +ð +ð +ð +r-   rd  c                   ó,   — e Zd ZdZdZed„ ¦   «         ZdS )Ú_TestNormBaseNc                 óò   — t          | j        j        t          j        ¦  «        r!t          |j        | j        j        ¦  «         d S t          t          |j        j        t          j        ¦  «        ¦  «         d S r$   )	Ú
issubclassr2   r%   r'   Úinexactr   Úrealr   rõ  )rÇ   rH  s     r+   Úcheck_dtypez_TestNormBase.check_dtype
  s\   € å�a”g”l¥B¤JÑ/Ô/ð 	=Ý˜œ A¤F¤LÑ1Ô1Ð1Ð1Ð1õ •J˜sœyœ~­r¬{Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r-   )rW   rX   rY   r
  ÚdecÚstaticmethodrq  r[   r-   r+   rl  rl    s7   € € € € € Ø	€BØ
€Càð=ð =ñ „\ð=ð =ð =r-   rl  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestNormGeneralc           
      ó  — t          t          g ¦  «        d¦  «         t          t          t          g | j        ¬¦  «        ¦  «        d¦  «         t          t          t	          t          g | j        ¬¦  «        ¦  «        ¦  «        d¦  «         d S )Nré  r:   )r   r   r   r
  r   rU   s    r+   Ú
test_emptyz_TestNormGeneral.test_empty  st   € Ý•T˜"‘X”X˜sÑ#Ô#Ð#Ý•T�% ¨$¬'Ð2Ñ2Ô2Ñ3Ô3°SÑ9Ô9Ð9Ý•T�*¥U¨2°T´WÐ%=Ñ%=Ô%=Ñ>Ô>Ñ?Ô?ÀÑEÔEÐEÐEÐEr-   c                 ó(  — t          j        g d¢¦  «        }t           j        d         }t           j        d         }||z   }|D �]N}|                     |¦  «        }t	          |t           j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          ¦   «         5 }| 	                    t          d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d	¦  «        }|                      ||¦  «         t          |d
¦  «         t	          |d¦  «        }|                      ||¦  «         t          ||j                             d
¦  «        |j                             d¦  «        z  ¦  «         t	          |d¦  «        }|                      ||¦  «         t          ||j                             d
¦  «        |j                             d¦  «        z  ¦  «         t	          |t           j        ¦  «        }|                      ||¦  «         t          |d¦  «         �ŒPd S )Nr²  Ú
AllIntegerÚAllFloatré  údivide by zero encounteredr—   r   rt   rr   rd   r  rv   g      Ð?rc   )r'   r   Ú	typecodesrÞ  r   r   rq  r   r"   ÚfilterÚRuntimeWarningr2   r%   ©	rM   r4   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚanÚsups	            r+   Útest_vector_return_typez(_TestNormGeneral.test_vector_return_type  sŠ  € ÝŒH�Y�Y�YÑÔˆå”l <Ô0ˆÝœ ZÔ0ˆà -Ñ/ˆ	à"ð 	)ñ 	)ˆIØ—’˜)Ñ$Ô$ˆBå�b�2œ6˜'Ñ"Ô"ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å"Ñ$Ô$ð -¨Ø—
’
�>Ð+GÑHÔHÐHÝ˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð	-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  AÑ&Ô&Ð&å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀiÑ8PÔ8PÑ$PÑQÔQÐQå�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀiÑ8PÔ8PÑ$PÑQÔQÐQå�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(Ñ(ð?	)ð 	)s   Â)ADÄD	ÄD	c                 óî   ‡ — g d¢}g d¢}g d¢}ˆ fd„}|||fD ]} ||¦  «         Œt          |‰ j        ¬¦  «        t          |‰ j        ¬¦  «        t          |‰ j        ¬¦  «        fD ]} ||¦  «         Œd S )N)rr   rt   ru   rv   )r—   r˜   r¦   r¥   )r—   rt   r¦   rv   c                 ól  •— t           j                             t          | ¦  «        d‰j        ¬¦  «         t           j                             t          | t
          ¦  «        d‰j        ¬¦  «         t           j                             t          | t
           ¦  «        d‰j        ¬¦  «         t           j                             t          | d¦  «        d‰j        ¬¦  «         t           j                             t          | d¦  «        d‰j        ¬¦  «         t           j                             t          | d	¦  «        d‰j        ¬¦  «         t           j                             t          | d
¦  «        d‰j        ¬¦  «         t           j                             t          | d¦  «        d‰j        ¬¦  «         d S )Ng�¥6Ò­è@©r1   rf   rc   rr   ç      $@r—   g¸…ëQ¸Þ?rt   r˜   gÊsÔcÙÑê?r   rv   )r'   Útestingr   r   rr  r   )rf  rM   s    €r+   Ú_testz+_TestNormGeneral.test_vector.<locals>._testH  sŽ  ø€ ÝŒJ×*Ò*­4°©7¬7°IØ37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°µ3©<¬<¸Ø37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°µC°4©=¬=¸#Ø37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°°1©:¬:°tØ37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°°2©;¬;¸	Ø37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°°1©:¬:°yØ37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°°2©;¬;Ð9MØ37´8ð +ñ =ô =ð =åŒJ×*Ò*­4°°1©:¬:°qØ37´8ð +ñ =ô =ð =ð =ð =r-   r:   )r   r
  )rM   r4   r5   rž  r�  rf  s   `     r+   Útest_vectorz_TestNormGeneral.test_vectorC  s¾   ø€ ØˆLˆLˆØÐÐˆØˆNˆNˆð	=ð 	=ð 	=ð 	=ð 	=ð$ �Q˜�ð 	ð 	ˆAØˆE�!‰HŒHˆHˆHå˜ ¤Ð)Ñ)Ô)­5°¸$¼'Ð+BÑ+BÔ+BÝ˜ ¤Ð)Ñ)Ô)ð+ð 	ð 	ˆAàˆE�!‰HŒHˆHˆHð	ð 	r-   c           	      ó*  ‡	‡
‡‡— t          g d¢g d¢g| j        ¬¦  «        Š	d dddddt          j        t          j         fD ]�Šˆ	ˆfd	„t	          ‰	j        d         ¦  «        D ¦   «         }t          t          ‰	‰d¬
¦  «        |¦  «         ˆ	ˆfd„t	          ‰	j        d         ¦  «        D ¦   «         }t          t          ‰	‰d¬
¦  «        |¦  «         Œ‘t          j        dd| j        ¬¦  «         	                    ddd¦  «        Š
‰
j
        }d ddddt          j        t          j         dfD ]êŠt          j        t	          | |¦  «        d¦  «        D ]Ã}|\  }}|dk     r||z  }|dk     r||z  }||k    rt          t          t          ‰
‰|¬
¦  «         ŒBt          ‰
‰|¬
¦  «        }|||z   z
  Š||k     r)ˆ
ˆˆfd„t	          ‰
j        ‰         ¦  «        D ¦   «         }n(ˆ
ˆˆfd„t	          ‰
j        ‰         ¦  «        D ¦   «         }t          ||¦  «         ŒÄŒëd S )NrÏ  ©rv   r‡   r.   r:   r—   r   rr   rt   ru   c                 óF   •— g | ]}t          ‰d d …|f         ‰¬¦  «        ‘ŒS ©N©Úord©r   ©r©   Úkr¤  Úorders     €€r+   rª   z._TestNormGeneral.test_axis.<locals>.<listcomp>g  s2   ø€ ÐMÐMÐM°a�˜a    1 œg¨5Ð1Ñ1Ô1ÐMÐMÐMr-   ©r”  rÙ  c                 óF   •— g | ]}t          ‰|d d …f         ‰¬¦  «        ‘ŒS r’  r•  r–  s     €€r+   rª   z._TestNormGeneral.test_axis.<locals>.<listcomp>i  s2   ø€ ÐMÐMÐM°a�˜a  1 1 1 œg¨5Ð1Ñ1Ô1ÐMÐMÐMr-   é   rv   r˜   r˜  c                 ól   •— g | ]0}t          ‰d d …                              |‰¬¦  «        ‰¬¦  «        ‘Œ1S ©NrØ  r“  )r   Útake©r©   r—  ÚBÚk_indexr˜  s     €€€r+   rª   z._TestNormGeneral.test_axis.<locals>.<listcomp>  sT   ø€ ð $Fð $Fð $FØ()õ %)¨¨1¨1¨1¬¯ª°1¸7¨Ñ)CÔ)CÈÐ$OÑ$OÔ$Oð $Fð $Fð $Fr-   c                 óv   •— g | ]5}t          ‰d d …                              |‰¬¦  «        j        ‰¬¦  «        ‘Œ6S r�  )r   rž  rÿ  rŸ  s     €€€r+   rª   z._TestNormGeneral.test_axis.<locals>.<listcomp>‚  sW   ø€ ð $Fð $Fð $FØ()õ %)¨¨1¨1¨1¬¯ª°1¸7¨Ñ)CÔ)CÔ)EÈ5Ð$QÑ$QÔ$Qð $Fð $Fð $Fr-   )r   r
  r'   r   r�  rž   r   r   r(  r�   r›   r¸   Úcombinationsr    r)  )rM   Ú	expected0Ú	expected1ÚndrÙ  Úrow_axisÚcol_axisr÷  r0  r¤  r   r¡  r˜  s            @@@@r+   Ú	test_axisz_TestNormGeneral.test_axisa  s¢  øøøø€ õ �9�9�9˜i˜i˜iÐ(°´Ð8Ñ8Ô8ˆØ˜B  1 a¨­B¬FµR´V°GÐ<ð 	Gð 	GˆEØMÐMÐMÐMÐM½5ÀÄÈÄÑ;LÔ;LÐMÑMÔMˆIÝ¥ Q¨E¸Ð :Ñ :Ô :¸IÑFÔFÐFØMÐMÐMÐMÐM½5ÀÄÈÄÑ;LÔ;LÐMÑMÔMˆIÝ¥ Q¨E¸Ð :Ñ :Ô :¸IÑFÔFÐFÐFõ ŒI�a˜ 4¤7Ð+Ñ+Ô+×3Ò3°A°q¸!Ñ<Ô<ˆØŒVˆØ˜B  2 q­"¬&µ2´6°'¸5ÐAð 	5ð 	5ˆEÝ!Ô.­u°b°S¸"©~¬~¸qÑAÔAð 5ð 5�Ø%)Ñ"�˜(Ø˜a’<�<Ø ‘N�HØ˜a’<�<Ø ‘N�HØ˜xÒ'Ð'Ý!¥*­d°A¸5ÀtÐLÑLÔLÐLÐLå˜Q E°Ð5Ñ5Ô5�Að ! H¨xÑ$7Ñ8�GØ (Ò*Ð*ð$Fð $Fð $Fð $Fð $Fð $FÝ-2°1´7¸7Ô3CÑ-DÔ-Dð$Fñ $Fô $F˜˜ð$Fð $Fð $Fð $Fð $Fð $FÝ-2°1´7¸7Ô3CÑ-DÔ-Dð$Fñ $Fô $F˜å'¨¨8Ñ4Ô4Ð4Ð4ð)5ð	5ð 	5r-   c                 ó¨  — t          j        dd| j        ¬¦  «                             ddd¦  «        }d}d}t	          |d d ¬	¦  «        }t	          |d d d
¬¦  «        }t          t          j        |¦  «        ||                     d d ¦  «        ¬¦  «         d}t          |j	        |k    |                     |j	        |d d ¦  «        ¦  «         d dddddt           j
        t           j
         fD ]Ò}t          |j        ¦  «        D ]»}t	          |||¬	¦  «        }t	          |||d
¬¦  «        }t          t          j        |¦  «        ||                     ||¦  «        ¬¦  «         t          |j	        ¦  «        }d||<   t          |¦  «        }t          |j	        |k    |                     |j	        |||¦  «        ¦  «         Œ¼ŒÓd ddddt           j
        t           j
         ddf	D ]ö}t          j        t          |j        ¦  «        d¦  «        D ]Ì}t	          |||¬	¦  «        }t	          |||d
¬¦  «        }t          t          j        |¦  «        ||                     ||¦  «        ¬¦  «         t          |j	        ¦  «        }d||d         <   d||d         <   t          |¦  «        }t          |j	        |k    |                     |j	        |||¦  «        ¦  «         ŒÍŒ÷d S )Nrr   r›  r:   rt   ru   rv   zorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}r™  T)r”  rÙ  Úkeepdims)r^  )rr   rr   rr   r—   r   r˜   r˜  Únuc)r'   r(  r
  r�   r   r   ÚsqueezeÚformatr   rž   r   r�  r›   rÃ   rº   r¸   Úpermutations)	rM   r¤  Úallclose_errÚ	shape_errr0  ÚfoundÚexpected_shaper˜  r—  s	            r+   Útest_keepdimsz_TestNormGeneral.test_keepdims†  s'  € ÝŒI�a˜ 4¤7Ð+Ñ+Ô+×3Ò3°A°q¸!Ñ<Ô<ˆà.ˆØQˆ	õ ˜˜t¨$Ð/Ñ/Ô/ˆÝ�Q˜D t°dÐ;Ñ;Ô;ˆÝ�œ
 5Ñ)Ô)¨8Ø ,× 3Ò 3°D¸$Ñ ?Ô ?ð	Añ 	Aô 	Að 	Aà"ˆÝ�”˜~Ò-Ø× Ò  ¤¨n¸dÀDÑIÔIñ	Kô 	Kð 	Kð ˜B  1 a¨­B¬FµR´V°GÐ<ð 
	Qð 
	QˆEÝ˜1œ6‘]”]ð 	Qð 	Q�Ý  u°1Ð5Ñ5Ô5�Ý˜Q E°¸DÐAÑAÔA�Ý¥¤
¨5Ñ 1Ô 1°8Ø(4×(;Ò(;¸EÀ1Ñ(EÔ(EðGñ Gô Gð Gå!% a¤g¡¤�Ø$%�˜qÑ!Ý!& ~Ñ!6Ô!6�Ý˜œ ~Ò5Ø!×(Ò(¨¬°nÀeÈQÑOÔOñQô Qð Qð Qð	Qð ˜B  2 q­"¬&µ2´6°'¸5À%ÐHð 	Qð 	QˆEÝÔ+­E°!´&©M¬M¸1Ñ=Ô=ð 
Qð 
Q�Ý  u°1Ð5Ñ5Ô5�Ý˜Q E°¸DÐAÑAÔA�Ý¥¤
¨5Ñ 1Ô 1°8Ø(4×(;Ò(;¸EÀ1Ñ(EÔ(EðGñ Gô Gð Gå!% a¤g¡¤�Ø'(�˜q œtÑ$Ø'(�˜q œtÑ$Ý!& ~Ñ!6Ô!6�Ý˜œ ~Ò5Ø!×(Ò(¨¬°nÀeÈQÑOÔOñQô Qð Qð Qð
Qð	Qð 	Qr-   N)rW   rX   rY   rw  r‡  rŽ  r©  r´  r[   r-   r+   ru  ru    si   € € € € € ðFð Fð Fð
')ð ')ð ')ðRð ð ð<#5ð #5ð #5ðJ(Qð (Qð (Qð (Qð (Qr-   ru  c                   ó:   — e Zd Zej        Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )Ú_TestNorm2Dc                 óv   — t          t          |                      g g| j        ¬¦  «        ¦  «        d¦  «         d S )Nr:   ré  )r   r   r   r
  rU   s    r+   Útest_matrix_emptyz_TestNorm2D.test_matrix_empty¶  s4   € Ý•T˜$Ÿ*š* b T°´˜*Ñ9Ô9Ñ:Ô:¸CÑ@Ô@Ð@Ð@Ð@r-   c                 óÖ  — |                       g d¢g d¢g¦  «        }t          j        d         }d}||z   }|D �]0}|                     |¦  «        }t	          |t          j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          ¦   «         5 }| 	                    t          d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d	¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d
¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |t          j        ¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          j                             |dd¬¦  «         �Œ2d S )Nr²  rB  ry  ÚfdFDrd   r{  r—   rc   rr   rt   gªLXèz¶û?r˜   r˜  r¬  gU&,t=Û@r.   rŠ  )r   r'   r|  rÞ  r   r   rq  r   r"   r}  r~  rŒ  r  s	            r+   Útest_matrix_return_typez#_TestNorm2D.test_matrix_return_type¹  s—  € Ø�JŠJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆå”l <Ô0ˆð
 ˆà -Ñ/ˆ	à"ð %	Nñ %	NˆIØ—’˜)Ñ$Ô$ˆBå�b�2œ6˜'Ñ"Ô"ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å"Ñ$Ô$ð -¨Ø—
’
�>Ð+GÑHÔHÐHÝ˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð	-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý Ð$4Ñ5Ô5Ð5å�b˜"‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$õ ŒJ×*Ò*¨2Ð/AÈ1Ð*ÑMÔMÐMÑMðK%	Nð %	Ns   ÂAC<Ã<D 	ÄD 	c                 ó"  — |                       ddgddgg| j        ¬¦  «        }t          t          |¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d	¦  «         t          t          |t          ¦  «        d
¦  «         t          t          |t           ¦  «        d¦  «         t          t          |d¦  «        d	¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          t          |d¦  «         t          t          t          |d¦  «         t          t          t          |d¦  «         d S )Nrr   ru   r‡   r”   r:   g…¹ŽT"@r˜  r¬  r‹  g      (@rf   r—   rh   rt   g„öW³?"@r˜   gÑ—€Ê„ì?Únofror¦   r   )r   r
  r   r   r   r    r)  r£  s     r+   Útest_matrix_2x2z_TestNorm2D.test_matrix_2x2ì  sB  € Ø�JŠJ˜˜A˜  A Ð'¨t¬wˆJÑ7Ô7ˆÝ�D ™GœG YÑ/Ô/Ð/Ý�D  E™NœN¨IÑ6Ô6Ð6Ý�D  E™NœN¨DÑ1Ô1Ð1Ý�D ¥C™LœL¨$Ñ/Ô/Ð/Ý�D ¥S D™MœM¨3Ñ/Ô/Ð/Ý�D  A™JœJ¨Ñ-Ô-Ð-Ý�D  B™KœK¨Ñ-Ô-Ð-Ý�D  A™JœJÐ(:Ñ;Ô;Ð;Ý�D  B™KœKÐ)<Ñ=Ô=Ð=å•j¥$¨¨7Ñ3Ô3Ð3Ý•j¥$¨¨2Ñ.Ô.Ð.Ý•j¥$¨¨1Ñ-Ô-Ð-Ð-Ð-r-   c                 ó†  — d|                       g d¢g d¢g d¢g| j        ¬¦  «        z  }t          t          |¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d	¦  «         t          t          |t          ¦  «        d
¦  «         t          t          |t           ¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         d S )Ngš™™™™™¹?rÏ  )r.   r   r‡   )ru   rt   rr   r:   grj=Q0î?r˜  r¬  gþB+pcõ?gš™™™™™ñ?g333333ã?rr   rc   r—   gš™™™™™Ù?rt   gû&Þê.dì?r˜   gÜ¸Õ ˆçÈ?)r   r
  r   r   r   r£  s     r+   Útest_matrix_3x3z_TestNorm2D.test_matrix_3x3ü  s  € ð
 Ø�JŠJ˜	˜	˜	 9 9 9¨i¨i¨iÐ8ÀÄˆJÑHÔHñIˆå�D ™GœGÐ%9Ñ:Ô:Ð:Ý�D  E™NœNÐ,@ÑAÔAÐAÝ�D  E™NœNÐ,>Ñ?Ô?Ð?Ý�D ¥C™LœL¨#Ñ.Ô.Ð.Ý�D ¥S D™MœM¨3Ñ/Ô/Ð/Ý�D  A™JœJ¨Ñ,Ô,Ð,Ý�D  B™KœK¨Ñ-Ô-Ð-Ý�D  A™JœJÐ(;Ñ<Ô<Ð<Ý�D  B™KœKÐ)<Ñ=Ô=Ð=Ð=Ð=r-   c                 ó@  — |                       g d¢g d¢g| j        ¬¦  «        }t          j        dd| j        ¬¦  «                             ddd¦  «        }t          t          t          |d	d
¦  «         t          t          t          |dd
¦  «         t          t          t          ddgd	d ¦  «         t          t          t          ddgdd ¦  «         t          t          t          ddgdd ¦  «         dD ]Y}t          t          t          ||d ¦  «         t          t          t          ||d¦  «         t          t          t          ||d¦  «         ŒZt          t          t          |d d¦  «         t          t          t          |d d¦  «         t          t          t          |d d¦  «         d S )NrÏ  r�  r:   rr   r›  rt   ru   rv   r˜  r   r¬  Útest©r   ru   rY  )rr   rt   ©rt   ru   ©r   rr   rt   )	r   r
  r'   r(  r�   r    r)  r   r   )rM   r¤  r   r˜  s       r+   Útest_bad_argsz_TestNorm2D.test_bad_args  sn  € ð �JŠJ˜	˜	˜	 9 9 9Ð-°T´WˆJÑ=Ô=ˆÝŒI�a˜ 4¤7Ð+Ñ+Ô+×3Ò3°A°q¸!Ñ<Ô<ˆõ
 	•j¥$¨¨5°!Ñ4Ô4Ð4Ý•j¥$¨¨5°!Ñ4Ô4Ð4Ý•j¥$¨¨A¨°°tÑ<Ô<Ð<Ý•j¥$¨¨A¨°°tÑ<Ô<Ð<Ý•j¥$¨¨A¨°¸Ñ=Ô=Ð=ð ð 	>ð 	>ˆEÝ�*¥d¨A¨u°dÑ;Ô;Ð;Ý�*¥d¨A¨u°fÑ=Ô=Ð=Ý�*¥d¨A¨u°fÑ=Ô=Ð=Ð=õ 	•i¥ q¨$°Ñ2Ô2Ð2Ý•i¥ q¨$°Ñ7Ô7Ð7Ý•j¥$¨¨4°Ñ;Ô;Ð;Ð;Ð;r-   N)
rW   rX   rY   r'   r   r¸  r»  r¾  rÀ  rÆ  r[   r-   r+   r¶  r¶  ±  so   € € € € € ð ŒH€EðAð Að Að1Nð 1Nð 1Nðf.ð .ð .ð >ð >ð >ð"<ð <ð <ð <ð <r-   r¶  c                   ó   — e Zd ZdS )Ú	_TestNormNr$  r[   r-   r+   rÈ  rÈ  )  rÈ  r-   rÈ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestNorm_NonSystematicc                 óˆ   — t          j        dt           j        ¬¦  «        }t          t	          |d¬¦  «        dd¬¦  «         d S )Né
   r:   ru   r“  gÍÌÌÌÌL)@rt   rŠ  )r'   r(  Ú
longdoubler3   r   rN  s     r+   Útest_longdouble_normz+TestNorm_NonSystematic.test_longdouble_norm/  s?   € õ ŒI�b¥¤Ð.Ñ.Ô.ˆÝ¥ Q¨A ¡¤°¸qÐAÑAÔAÐAÐAÐAr-   c                 óŠ   — t          j        dgt           j        ¬¦  «        }t          t	          |d¬¦  «        dd¬¦  «         d S )Ni   €r:   ru   r“  l        r‡   rŠ  )r'   r   Úint32r3   r   rN  s     r+   Útest_intminz"TestNorm_NonSystematic.test_intmin5  sA   € õ ŒH�h�Z¥r¤xÐ0Ñ0Ô0ˆÝ¥ Q¨A ¡¤°ÀÐCÑCÔCÐCÐCÐCr-   c                 ó   — t          j        dt           j        ¬¦  «        }d|d<   d|d<   d}t          t           j                             |d¬	¦  «        |d
¬¦  «         |                     t           j        ¦  «        }t          t           j                             |d¬	¦  «        |d¬¦  «         |                     t           j        ¦  «        }t          t           j                             |d¬	¦  «        |d¬¦  «         d S )N©rt   r:   y      @      @r   y      À      @rr   g¨ËþÿV;'@ru   r“  rÌ  rŠ  é	   r‡   )	r'   r¼   Úclongdoubler3   r   r   rÞ  Ú
complex128rF  )rM   râ  rH  s      r+   Útest_complex_high_ordz,TestNorm_NonSystematic.test_complex_high_ord;  sÐ   € åŒH�T¥¤Ð0Ñ0Ô0ˆØˆˆ!‰Øˆˆ!‰ØˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀrÐJÑJÔJÐJØ�HŠH•R”]Ñ#Ô#ˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀqÐIÑIÔIÐIØ�HŠH•R”\Ñ"Ô"ˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀqÐIÑIÔIÐIÐIÐIr-   N)rW   rX   rY   rÎ  rÑ  r×  r[   r-   r+   rÊ  rÊ  -  sL   € € € € € ðBð Bð BðDð Dð Dð
Jð 
Jð 
Jð 
Jð 
Jr-   rÊ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormDoubleBaser/   N)rW   rX   rY   r'   r	   r
  rr  r[   r-   r+   rÙ  rÙ  I  s   € € € € € Ø	Œ€BØ
€C€C€Cr-   rÙ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormSingleBaser.   N)rW   rX   rY   r'   rî  r
  rr  r[   r-   r+   rÛ  rÛ  N  s   € € € € € Ø	Œ€BØ
€C€C€Cr-   rÛ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormInt64Baser/   N)rW   rX   rY   r'   Úint64r
  rr  r[   r-   r+   rÝ  rÝ  S  s   € € € € € Ø	Œ€BØ
€C€C€Cr-   rÝ  c                   ó   — e Zd ZdS )ÚTestNormDoubleNr$  r[   r-   r+   rà  rà  X  rÈ  r-   rà  c                   ó   — e Zd ZdS )ÚTestNormSingleNr$  r[   r-   r+   râ  râ  \  rÈ  r-   râ  c                   ó   — e Zd ZdS )ÚTestNormInt64Nr$  r[   r-   r+   rä  rä  `  rÈ  r-   rä  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestMatrixRankc                 ó˜  — t          dt          t          j        d¦  «        ¦  «        ¦  «         t          j        d¦  «        }d|d<   t          t          |¦  «        d¦  «         t          t          t          j        d¦  «        ¦  «        d¦  «         t          t          g d¢¦  «        d¦  «         t          t          t          j        d	¦  «        ¦  «        d¦  «         t          t          dg¦  «        d¦  «         t          j        |t          j        d¦  «        t          j        d¦  «        g¦  «        }t          t          |¦  «        t          j        g d
¢¦  «        ¦  «         t          t          d¦  «        d¦  «         t          t          d¦  «        5  t          |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrv   ré  ©r—   r—   ru   r}  r   )rr   r   r   r   rr   )rv   )ru   rv   r   z#`tol` and `rtol` can't be both set.g{®Gáz„?)Útolr^  )r   r   r'   r~  rC  r   r!   r)  )rM   ÚIÚmss      r+   Útest_matrix_rankzTestMatrixRank.test_matrix_rankf  s¹  € å�Q�¥B¤F¨1¡I¤IÑ.Ô.Ñ/Ô/Ð/åŒF�1‰IŒIˆØˆˆ&‰	Ý•[ ‘^”^ QÑ'Ô'Ð'å•[¥¤¨&Ñ!1Ô!1Ñ2Ô2°AÑ6Ô6Ð6å•[   Ñ.Ô.°Ñ2Ô2Ð2Ý•[¥¤¨$¡¤Ñ0Ô0°!Ñ4Ô4Ð4å•[ ! Ñ%Ô% qÑ)Ô)Ð)åŒX�q�"œ& ™)œ)¥R¤X¨fÑ%5Ô%5Ð6Ñ7Ô7ˆÝ•[ ‘_”_¥b¤h¨y¨y¨yÑ&9Ô&9Ñ:Ô:Ð:å•[ ‘^”^ QÑ'Ô'Ð'å ÝÐ>ñ
ô 
ð 	0ð 	0õ ˜˜t¨$Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ÆF?Æ?GÇGc                 ó&  — t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          j        d¦  «        }d|d<   t          d	t          |d¬¦  «        ¦  «         d
|d<   t          dt          |dd¬¦  «        ¦  «         t          d	t          |dd¬¦  «        ¦  «         d S )Nrv   Tr‰  rr   r}  r   ré  rè  ru   g:Œ0âŽyE>g¾Ü|"•BE>)rB   ré  gµ;ä¡ˆ°E>)r   r   r'   r~  r©  rC  )rM   rê  s     r+   Útest_symmetric_rankz"TestMatrixRank.test_symmetric_rank  só   € Ý�Q�¥B¤F¨1¡I¤I¸Ð>Ñ>Ô>Ñ?Ô?Ð?Ý�Q�¥B¤G¨F¡O¤O¸tÐDÑDÔDÑEÔEÐEÝ�Q�¥B¤H¨VÑ$4Ô$4ÀÐEÑEÔEÑFÔFÐFåŒF�1‰IŒIˆØˆˆ&‰	Ý�Q� A°Ð6Ñ6Ô6Ñ7Ô7Ð7àˆˆ&‰	Ý�Q� A°¸7ÐCÑCÔCÑDÔDÐDÝ�Q� A°¸7ÐCÑCÔCÑDÔDÐDÐDÐDr-   N)rW   rX   rY   rì  rî  r[   r-   r+   ræ  ræ  d  s7   € € € € € ð0ð 0ð 0ð2Eð Eð Eð Eð Er-   ræ  c                  óˆ  — t           j                             d¦  «        } t          d¦  «        D ]’}|                      d¬¦  «        }|d d …df         |d d …df         z   |d d …df<   t          t          |¦  «        d¦  «         |d d …d	f         |d d …d
f         z   |d d …df<   t          t          |¦  «        d¦  «         Œ“d S )NiŠ3r  )é(   rÌ  ©Úsizerr   rt   r   rÔ  rv   r‡   ru   rp   )r'   r¹  ÚRandomStater�  Únormalr   r   )ÚrngÚiÚXs      r+   Útest_reduced_rankrø  �  sÔ   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�3‰ZŒZð (ð (ˆà�JŠJ˜HˆJÑ%Ô%ˆØ�A�A�A�q�D”'˜A˜a˜a˜a ˜dœGÑ#ˆˆ!ˆ!ˆ!ˆQˆ$‰å•[ ‘^”^ QÑ'Ô'Ð'Ø�A�A�A�q�D”'˜A˜a˜a˜a ˜dœGÑ#ˆˆ!ˆ!ˆ!ˆQˆ$‰Ý•[ ‘^”^ QÑ'Ô'Ð'Ð'ð(ð (r-   c            	       óˆ  — e Zd Zej        Zd„ Zej                             ddgg d¢¦  «        d„ ¦   «         Z	d„ Z
d„ Zd„ Zej                             d	g d
¢¦  «        ej                             dg d¢¦  «        ej                             dej        ej        ej        ej        g¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )ÚTestQRc                 ó*  — t          |¦  «        }|j        }|j        \  }}t          ||¦  «        }t	          j        |d¬¦  «        }|j        |j        }	}t          |j        |k    ¦  «         t          |	j        |k    ¦  «         t          t          ||¦  «        ¦  «         t          t          |	|¦  «        ¦  «         t          |j        ||fk    ¦  «         t          |	j        ||fk    ¦  «         t          t          ||	¦  «        |¦  «         t          t          |j                             ¦   «         |¦  «        t          j        |¦  «        ¦  «         t          t          j        |	¦  «        |	¦  «         t	          j        |d¬¦  «        \  }
}t          |
j        |k    ¦  «         t          |j        |k    ¦  «         t          t          |
|¦  «        ¦  «         t          t          ||¦  «        ¦  «         t          |
j        ||fk    ¦  «         t          |j        ||fk    ¦  «         t          t          |
|¦  «        |¦  «         t          t          |
j                             ¦   «         |
¦  «        t          j        |¦  «        ¦  «         t          t          j        |¦  «        |¦  «         t	          j        |d¬¦  «        }t          |j        |k    ¦  «         t          t          ||¦  «        ¦  «         t          ||¦  «         d S )NÚcomplete©ÚmodeÚreducedr  )r%   r2   rž   rœ  r   ÚqrÚQÚRr   r&   r   r   rÿ  rŽ  r'   r~  Útriu)rM   r4   Úa_typeÚa_dtyperå  r÷  r—  rH  r  r  Úq1Úr1Úr2s                r+   Úcheck_qrzTestQR.check_qrž  s”  € õ �a‘”ˆØ”'ˆØŒw‰ˆˆ1Ý��1‰IŒIˆõ Œi˜ 
Ð+Ñ+Ô+ˆØŒu�c”eˆ1ˆÝ�”˜7Ò"Ñ#Ô#Ð#Ý�”˜7Ò"Ñ#Ô#Ð#Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý�”˜A˜q˜6Ò!Ñ"Ô"Ð"Ý�”˜A˜q˜6Ò!Ñ"Ô"Ð"Ý�C  1™IœI qÑ)Ô)Ð)Ý�C ¤§¢¡
¤
¨AÑ.Ô.µ´°q±	´	Ñ:Ô:Ð:Ý�BœG A™JœJ¨Ñ*Ô*Ð*õ ”˜1 9Ð-Ñ-Ô-‰ˆˆBÝ�”˜GÒ#Ñ$Ô$Ð$Ý�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý�”˜Q ˜FÒ"Ñ#Ô#Ð#Ý�”˜Q ˜FÒ"Ñ#Ô#Ð#Ý�C  B™KœK¨Ñ+Ô+Ð+Ý�C ¤§	¢	¡¤¨RÑ0Ô0µ"´&¸±)´)Ñ<Ô<Ð<Ý�BœG B™KœK¨Ñ,Ô,Ð,õ ŒY�q˜sÐ#Ñ#Ô#ˆÝ�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý˜B Ñ#Ô#Ð#Ð#Ð#r-   rå  r÷  )©ru   r   rÃ  rm   c                 óš  — t          ||¦  «        }t          j        ||f¦  «        }|                      |¦  «         t          j                             |d¬¦  «        \  }}t          |j        t          j        ¦  «         t          |j        t          j        ¦  «         t          |j	        ||f¦  «         t          |j	        |f¦  «         d S )NÚrawrý  )
rœ  r'   r¼   r	  r   r   r   r2   r	   rž   )rM   rå  r÷  r—  r4   ÚhÚtaus          r+   Útest_qr_emptyzTestQR.test_qr_emptyÅ  s©   € õ ��1‰IŒIˆÝŒH�a˜�VÑÔˆà�Š�aÑÔÐå”—’˜a e�Ñ,Ô,‰ˆˆ3Ý�Q”W�bœiÑ(Ô(Ð(Ý�S”Y¥¤	Ñ*Ô*Ð*Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�S”Y  Ñ%Ô%Ð%Ð%Ð%r-   c                 ó˜  — |                       ddgddgddggt          j        ¬¦  «        }t          j        |d¬	¦  «        \  }}t          |j        t          j        k    ¦  «         t          |j        t          j        k    ¦  «         t          |j        d
k    ¦  «         t          |j        dk    ¦  «         t          j        |j        d¬	¦  «        \  }}t          |j        t          j        k    ¦  «         t          |j        t          j        k    ¦  «         t          |j        dk    ¦  «         t          |j        dk    ¦  «         d S )Nrr   rt   ru   rv   r‡   r.   r:   r  rý  rÄ  rÓ  r–   )	r   r'   r	   r   r   r   r2   rž   rÿ  )rM   r4   r  r  s       r+   Útest_mode_rawzTestQR.test_mode_rawÖ  s  € ð �JŠJ˜˜A˜  A ¨¨A¨Ð/µr´yˆJÑAÔAˆõ ”˜1 5Ð)Ñ)Ô)‰ˆˆ3Ý�”�2œ9Ò$Ñ%Ô%Ð%Ý�”	�RœYÒ&Ñ'Ô'Ð'Ý�”˜6Ò!Ñ"Ô"Ð"Ý�”	˜TÒ!Ñ"Ô"Ð"å”˜1œ3 UÐ+Ñ+Ô+‰ˆˆ3Ý�”�2œ9Ò$Ñ%Ô%Ð%Ý�”	�RœYÒ&Ñ'Ô'Ð'Ý�”˜6Ò!Ñ"Ô"Ð"Ý�”	˜TÒ!Ñ"Ô"Ð"Ð"Ð"r-   c                 ó\  — |                       ddgddgg¦  «        }|                       ddgddgddgg¦  «        }dD ]p}|                     |¦  «        }|                     |¦  «        }|                      |¦  «         |                      |¦  «         |                      |j        ¦  «         ŒqdD ]|}dd|                     |¦  «        z  z   }dd|                     |¦  «        z  z   }|                      |¦  «         |                      |¦  «         |                      |j        ¦  «         Œ}d S )	Nrr   rt   ru   rv   r‡   r.   Úfdù              ð?)r   rÞ  r	  rÿ  )rM   r4   r5   r
  Úm1Úm2s         r+   Útest_mode_all_but_economicz!TestQR.test_mode_all_but_economicì  s2  € Ø�JŠJ˜˜A˜  A Ð'Ñ(Ô(ˆØ�JŠJ˜˜A˜  A ¨¨A¨Ð/Ñ0Ô0ˆØð 	 ð 	 ˆBØ—’˜"‘”ˆBØ—’˜"‘”ˆBØ�MŠM˜"ÑÔÐØ�MŠM˜"ÑÔÐØ�MŠM˜"œ$ÑÔÐÐàð 	 ð 	 ˆBØ�R˜!Ÿ(š( 2™,œ,Ñ&Ñ&ˆBØ�R˜!Ÿ(š( 2™,œ,Ñ&Ñ&ˆBØ�MŠM˜"ÑÔÐØ�MŠM˜"ÑÔÐØ�MŠM˜"œ$ÑÔÐÐð	 ð 	 r-   c           	      óÄ  — t          |¦  «        }|j        }|j        dd …         \  }}t          ||¦  «        }t	          j        |d¬¦  «        \  }}t          |j        |k    ¦  «         t          |j        |k    ¦  «         t          t          ||¦  «        ¦  «         t          t          ||¦  «        ¦  «         t          |j        dd …         ||fk    ¦  «         t          |j        dd …         ||fk    ¦  «         t          t          ||¦  «        |¦  «         t          j        |j        d         ¦  «        }	t          j        |	|j        d d…         |j        d         fdz  z   ¦  «        }
t          t          t          |dd¦  «                             ¦   «         |¦  «        |
¦  «         t          t          j        |dd d …d d …f         ¦  «        |¦  «         t	          j        |d¬¦  «        \  }}t          |j        |k    ¦  «         t          |j        |k    ¦  «         t          t          ||¦  «        ¦  «         t          t          ||¦  «        ¦  «         t          |j        dd …         ||fk    ¦  «         t          |j        dd …         ||fk    ¦  «         t          t          ||¦  «        |¦  «         t          j        |j        d         ¦  «        }	t          j        |	|j        d d…         |j        d         fdz  z   ¦  «        }
t          t          t          |dd¦  «                             ¦   «         |¦  «        |
¦  «         t          t          j        |dd d …d d …f         ¦  «        |¦  «         t	          j        |d¬¦  «        }t          |j        |k    ¦  «         t          t          ||¦  «        ¦  «         t          ||¦  «         d S )	Nr˜   rü  rý  r—   rt   .rÿ  r  )r%   r2   rž   rœ  r   r   r   r&   r   r   r'   r
   r  r   rŽ  r  )rM   r4   r  r  rå  r÷  r—  Úqr  ÚI_matÚstack_I_matr  r  r  s                 r+   Úcheck_qr_stackedzTestQR.check_qr_stackedý  s|  € õ �a‘”ˆØ”'ˆØŒw�r�s�sŒ|‰ˆˆ1Ý��1‰IŒIˆõ Œy˜ Ð,Ñ,Ô,‰ˆˆ1Ý�”˜7Ò"Ñ#Ô#Ð#Ý�”˜7Ò"Ñ#Ô#Ð#Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý�”˜˜˜”  A Ò&Ñ'Ô'Ð'Ý�”˜˜˜”  A Ò&Ñ'Ô'Ð'Ý�F 1 a™LœL¨!Ñ,Ô,Ð,Ý”˜AœG BœKÑ(Ô(ˆÝ”o eØœ   œ¨¬°¬ ~¸Ñ'9Ñ9ñ;ô ;ˆå�F¥8¨A¨r°2Ñ#6Ô#6×#;Ò#;Ñ#=Ô#=¸qÑAÔAÀ;ÑOÔOÐOÝ�BœG A c¨1¨1¨1¨a¨a¨a i¤LÑ1Ô1°1Ñ5Ô5Ð5õ ”˜1 9Ð-Ñ-Ô-‰ˆˆBÝ�”˜GÒ#Ñ$Ô$Ð$Ý�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�F 2 r™NœN¨AÑ.Ô.Ð.Ý”˜BœH RœLÑ)Ô)ˆÝ”o eØœ  " œ¨¬°"¬¨¸!Ñ(;Ñ;ñ=ô =ˆå�F¥8¨B°°BÑ#7Ô#7×#<Ò#<Ñ#>Ô#>ÀÑCÔCØ'ñ	)ô 	)ð 	)å�BœG B s¨A¨A¨A¨q¨q¨q y¤MÑ2Ô2°BÑ7Ô7Ð7õ ŒY�q˜sÐ#Ñ#Ô#ˆÝ�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý˜B Ñ#Ô#Ð#Ð#Ð#r-   rò  ))ru   rv   )rv   ru   r}  r
  rÃ  Ú
outer_size)r'  rÓ  )rt   ru   rv   r
  c                 óT  — t           j                             d¦  «        }|                     ||z   ¬¦  «                             |¦  «        }|                     ||z   ¬¦  «                             |¦  «        }|                      |¦  «         |                      |d|z  z   ¦  «         d S )Né{   rñ  r  )r'   r¹  Údefault_rngrô  rÞ  r  )rM   r  rò  r
  rõ  r¤  r   s          r+   Útest_stacked_inputszTestQR.test_stacked_inputs*  s›   € õ Œi×#Ò# CÑ(Ô(ˆØ�JŠJ˜J¨Ñ-ˆJÑ.Ô.×5Ò5°bÑ9Ô9ˆØ�JŠJ˜J¨Ñ-ˆJÑ.Ô.×5Ò5°bÑ9Ô9ˆØ×Ò˜aÑ Ô Ð Ø×Ò˜a #¨¡'™kÑ*Ô*Ð*Ð*Ð*r-   N)rW   rX   rY   r'   r   r	  rþ   rÿ   r6  r  r  r  r  r   r	   r   r   r!  r[   r-   r+   rú  rú  š  sI  € € € € € àŒH€Eð%$ð %$ð %$ðN „[×Ò˜c 3˜Zð *ð *ð *ñ ô ð

&ð 
&ñô ð

&ð#ð #ð #ð, ð  ð  ð"+$ð +$ð +$ðZ „[×Ò˜Vð &ð &ð &ñ ô ð „[×Ò˜\ð ,!ð ,!ð ,!ñ "ô "à„[×Ò˜TØ
Œ	�2”9Ø
Œ
�B”Jð$ ñ !ô !ð+ð +ñ!ô !ñ"ô "ñô ð+ð +ð +r-   rú  c                   ó  — e Zd Zej                             dg d¢¦  «        ej                             dej        ej        ej	        ej
        f¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd	„ Zd
S )ÚTestCholeskyrž   )r¶   r'  ©ru   ru   )é2   r%  )ru   rÌ  rÌ  r2   rM  FTc                 óx  — t           j                             d¦  «         t          j        j        |Ž }t          j        |t           j        ¦  «        r|dt          j        j        |Ž z  z   }t          t          t          |¦  «        ¦  «        ¦  «        }d|dd …<   t          j	        | 
                    |¦  «                             ¦   «         |¦  «        }t          j        ||¬¦  «        }t           j                             ||¬¦  «        }|r;t          j	        | 
                    |¦  «                             ¦   «         |¦  «        }n:t          j	        || 
                    |¦  «                             ¦   «         ¦  «        }d|j        d         z  t          j        |¦  «        j        z  }t%          ||||› d	|› d
|› d
|› �¬¦  «         t          j        |dd¬¦  «        }	t)          t          j        t          j        |	¦  «        ¦  «        ¦  «         t)          t          j        |	dk    ¦  «        ¦  «         d S )Nrr   r  )r—   r˜   r˜   r:   ©rM  iô  r   ú ú
)Úatolr^  r—   )Úaxis1Úaxis2)r'   r¹  rº  Úrandnrô  ÚcomplexfloatingrÃ   r�  r  r   r�  rŽ  r   r   Úcholeskyrž   ÚfinfoÚepsr   Údiagonalr   rÁ   Úisreal)
rM   rž   r2   rM  r4   Útrž  r5   r*  râ  s
             r+   Útest_basic_propertyz TestCholesky.test_basic_property=  sÙ  € õ 	Œ	�Š�qÑÔÐÝŒIŒO˜UÐ#ˆÝŒ=˜¥Ô 2Ñ3Ô3ð 	1Ø�B�œœ¨%Ð0Ñ0Ñ0ˆAå••s˜5‘z”zÑ"Ô"Ñ#Ô#ˆØˆˆ"ˆ#ˆ#‰åŒI�a—k’k !‘n”n×)Ò)Ñ+Ô+¨QÑ/Ô/ˆÝŒJ�q Ð&Ñ&Ô&ˆåŒI×Ò˜q¨ÐÑ.Ô.ˆð ð 	4Ý”	˜!Ÿ+š+ a™.œ.×-Ò-Ñ/Ô/°Ñ3Ô3ˆAˆAå”	˜!˜QŸ[š[¨™^œ^×0Ò0Ñ2Ô2Ñ3Ô3ˆAà�Q”W˜Q”ZÑ¥"¤(¨5¡/¤/Ô"5Ñ5ˆÝ˜˜1 4°EÐ1MÐ1M¸EÐ1MÐ1MÀQÐ1MÐ1MÈ!Ð1MÐ1MÐNÑNÔNÐNõ ŒK˜ ¨2Ð.Ñ.Ô.ˆÝ•”•r”y ‘|”|Ñ$Ô$Ñ%Ô%Ð%Ý•”�q˜A’v‘”ÑÔÐÐÐr-   c                 óê  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        |j        ¦  «         t          |j
        j        t           j        u ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        |j        ¦  «         t          |j
        j        t           j        u ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú/TestCholesky.test_0_size.<locals>.ArraySubclassNr$  r[   r-   r+   r%  r8  b  r&  r-   r%  rB  r:   )rr   r   r   )r'   r(   rC  rD  r½   r   r/  r   rž   r   r2   r%   rE  r&   rF  rG  s       r+   r1  zTestCholesky.test_0_sizea  s(  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒo˜aÑ Ô ˆÝ�Q”W˜cœiÑ(Ô(Ð(Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,åŒH�Y¥b¤lÐ3Ñ3Ô3×8Ò8¸ÑGÔGˆÝŒo˜aÑ Ô ˆÝ�Q”W˜cœiÑ(Ô(Ð(Ý�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r-   c                 ó@  — t          j        ddgddgg¦  «        }t          t          j        |¦  «        t          j        |d¬¦  «        ¦  «         t          t          j        |d¬¦  «        t          j        |¦  «        j                             ¦   «         ¦  «         d S )Ny      ð?        y               Ày               @y      @        Fr'  T)r'   r   r   r   r/  rÿ  rŽ  )rM   r4   s     r+   Útest_upper_lower_argz!TestCholesky.test_upper_lower_argq  s“   € åŒH�v˜vÐ&¨°Ð(8Ð9Ñ:Ô:ˆå•V”_ QÑ'Ô'­¬¸À%Ð)HÑ)HÔ)HÑIÔIÐIåÝŒO˜A TÐ*Ñ*Ô*ÝŒO˜AÑÔÔ ×%Ò%Ñ'Ô'ñ	
ô 	
ð 	
ð 	
ð 	
r-   N)rW   rX   rY   rþ   rÿ   r6  r'   rî  rE  rF  rÖ  r5  r1  r:  r[   r-   r+   r#  r#  ;  sÍ   € € € € € à„[×ÒØÐ@Ð@Ð@ñô ð „[×ÒØ�"”*˜bœj¨"¬,¸¼ÐFñô ð „[×ÒØ�%˜�ñ ô  ð ð  ñ ô  ñô ñô ð ð8-ð -ð -ð 	
ð 	
ð 	
ð 	
ð 	
r-   r#  c                   óh  — e Zd Z ej        d¦  «        Z ej        d¦  «        Z ej        g d¢g d¢g d¢g¦  «        Z e	ej
                             ee¦  «        e¦  «          eed¦  «        5  ej
                             edd…ej        f         e¦  «         ddd¦  «         dS # 1 swxY w Y   dS )Ú	TestOuterru   r  rÅ  )r   rt   rv   z$Input arrays must be one-dimensionalN)rW   rX   rY   r'   r(  Úarr1Úarr2r   r0  r   r   Úouterr!   r)  Únewaxisr[   r-   r+   r<  r<  }  s  € € € € € Øˆ2Œ9�Q‰<Œ<€DØˆ2Œ9�Q‰<Œ<€DØˆrŒxØ	ˆˆØ	ˆˆØ	ˆˆð	ñô €Hð Ð�r”y—’ t¨TÑ2Ô2°HÑ=Ô=Ð=à	Ð	ØÐ:ñ
ô 
ð 3ð 3ð 	Œ	�Š˜˜Q˜Q˜Q ¤
˜]Ô+¨TÑ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   Á/+B'Â'B+Â.B+r<  c                  óh  — t           j        dk    rd} nd} t          j        t          j        fD �]}t          j        d|¬¦  «        }|                     |j                             | ¦  «        ¦  «        }|                     |j                             d¦  «        ¦  «         	                    ¦   «         }t          |j        j        d¦  «         t          j        t          j        t          j        fD ]?} ||¦  «        }t          | ||¦  «        ¦  «         t          | ||¦  «        ¦  «         Œ@�Œd S )NÚlittleú<rT   rv   r:   rs  ú=)ÚsysÚ	byteorderr'   rî  rE  r~  r½   r2   ÚnewbyteorderÚbyteswapr   r   r:  rÚ  rÃ  r   )ÚnativeÚdttrö  Ún_arrÚsw_arrÚroutinerH  s          r+   Útest_byteorder_checkrN  Ž  s  € å
„}˜Ò Ð Øˆˆàˆå”
�BœJÐ'ð 5ñ 5ˆÝŒf�Q˜cÐ"Ñ"Ô"ˆØ—’˜œ×/Ò/°Ñ7Ô7Ñ8Ô8ˆØ—’˜#œ)×0Ò0°Ñ5Ô5Ñ6Ô6×?Ò?ÑAÔAˆÝ�S”YÔ(¨#Ñ.Ô.Ð.Ýœ
¥F¤Jµ´Ð<ð 	5ð 	5ˆGà�'˜#‘,”,ˆCå˜s G G¨E¡N¤NÑ3Ô3Ð3å˜s G G¨F¡O¤OÑ4Ô4Ð4Ð4ñ	5ð5ð 5r-   r7  r8  c                  ó  — t          j        ddgddgg¦  «        } t          j        ddgddgg¦  «        }t          j        g d¢¦  «        dd d…         }| |d<   ||d<   t          t           j        j        t           j        j        |¦  «         d S )Nrr   rt   ru   rv   )rv   rv   rt   rt   .rm   )r'   r   rC  r    r   r   r:  )Ú
invertibleÚnon_invertiblerÇ   s      r+   Ú test_generalized_raise_multilooprR  £  s�   € õ
 ”˜A˜q˜6 A q 6Ð*Ñ+Ô+€JÝ”X  1˜v¨¨1 vÐ.Ñ/Ô/€Nå
Œ���ÑÔ˜q˜t !˜tÔ$€AØ€A€c�FØ€A€d�Gå•"”)Ô'­¬¬¸Ñ:Ô:Ð:Ð:Ð:r-   z?skipping test that uses fork because there are multiple threadsz:Cannot safely use fork in tests on the free-threaded buildc                  óª  — d} 	 t          j        ¦   «         }n+# t          t          f$ r t	          j        d¦  «         Y nw xY w|dk    �rEt          j        d¦  «         t          j        d¦  «         dd l}|                     |j	        d¦  «         	 t          j        j                             ¦   «          n9# t          $ r Y n-t          $ r! t          j        t           j        ¦  «         Y nw xY w	 t          j        dgg¦  «        }t          j        j                             ddd|d||dd¦	  «	         n<# t          $ r/}dt)          |¦  «        v rt          j        | ¦  «         Y d }~nd }~ww xY wt          j        t           j        ¦  «         d S t          j        ¦   «         \  }}t          j        |¦  «        | k    rt	          j        d¦  «         d S d S )	Néÿ   zNot POSIX or fork failed.r   rr   rm   rc   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   ÚdorgqrrI   ÚwaitÚWEXITSTATUS)Ú	XERBLA_OKÚpidr[  r4   rÝ   Ústatuss         r+   Útest_xerbla_overriderh  ²  sù  € ð €Ið1ÝŒg‰iŒiˆˆøÝ•^Ð$ð 1ð 1ð 1åŒÐ/Ñ0Ô0Ð0Ð0Ð0ð1øøøð ˆa‚x�xå
Œ�‰ŒˆÝ
Œ�‰ŒˆàˆˆˆØ×Ò˜8Ô/°Ñ8Ô8Ð8ð	#ÝŒIÔ!×(Ò(Ñ*Ô*Ð*Ð*øÝð 	ð 	ð 	ØˆDÝð 	#ð 	#ð 	#ÝŒH•R”\Ñ"Ô"Ð"Ð"Ð"ð	#øøøð
	$Ý”˜2˜$˜Ñ Ô ˆAÝŒIÔ!×(Ò(Ø�1�a˜ØØ�1�a˜ñô ð ð øõ ð 	$ð 	$ð 	$Ø*­c°!©f¬fÐ4Ð4õ ”˜Ñ#Ô#Ð#øøøøøøøøøð		$øøøõ 	Œ•”ÑÔÐÐÐõ ”g‘i”i‰ˆˆVÝŒ>˜&Ñ!Ô! YÒ.Ð.ÝŒKÐ5Ñ6Ô6Ð6Ð6Ð6ð /Ð.s?   „ ˜%A ¿A Â#B6 Â6
C,Ã'C,Ã+C,Ã0AD3 Ä3
E,Ä=%E'Å'E,zCannot start subprocessc                  ó$  — ddg} t          j        d¦  «        }| D ]t}|                     dd|¬¦  «        }t          j        t
          j        d|g¦  «         |                     dd|¬¦  «        }t          j        t
          j        d|g¦  «         Œud S )	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)rm  rl  rn  )ÚtextwrapÚdedentr®  Ú
subprocessÚ
check_callrE  Ú
executable)Úbad_libsÚtemplatern  Úcodes       r+   Útest_sdot_bug_8577rw  é  s¸   € ð " 9Ð-€HåŒð 
 ñ 
	ô 
	€Hð ð <ð <ˆØ�ŠÐ&:À"Ø'.ð ñ 0ô 0ˆåÔ�sœ~¨t°TÐ:Ñ;Ô;Ð;ð �ŠÐ%9À"Ø'.ð ñ 0ô 0ˆåÔ�sœ~¨t°TÐ:Ñ;Ô;Ð;Ð;ð<ð <r-   c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestMultiDotc           
      óØ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          |||g¦  «        |                     |¦  «                             |¦  «        ¦  «         t          t          |||g¦  «        t          j        |t          j        ||¦  «        ¦  «        ¦  «         d S ©N©r.   rt   ©rt   r.   ©r'   r¹  r   r   r   )rM   r¤  r   ÚCs       r+   Ú(test_basic_function_with_three_argumentsz5TestMultiDot.test_basic_function_with_three_arguments  s¯   € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆå�I q¨!¨Q iÑ0Ô0°!·%²%¸±(´(·,²,¸q±/´/ÑBÔBÐBÝ�I q¨!¨Q iÑ0Ô0µ"´&¸½B¼FÀ1Àa¹L¼LÑ2IÔ2IÑJÔJÐJÐJÐJr-   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||g¦  «        |                     |¦  «        ¦  «         t          t          ||g¦  «        t          j        ||¦  «        ¦  «         d S r{  r~  )rM   r¤  r   s      r+   Ú&test_basic_function_with_two_argumentsz3TestMultiDot.test_basic_function_with_two_arguments  s~   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆå�I q¨! fÑ-Ô-¨q¯uªu°Q©x¬xÑ8Ô8Ð8Ý�I q¨! fÑ-Ô-­r¬v°a¸©|¬|Ñ<Ô<Ð<Ð<Ð<r-   c                 ó²  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        |                     |¦  «                             |¦  «                             |¦  «        ¦  «         d S )Nr|  r}  ©rt   rr   r~  )rM   r¤  r   r  ÚDs        r+   Ú9test_basic_function_with_dynamic_programming_optimizationzFTestMultiDot.test_basic_function_with_dynamic_programming_optimization!  s    € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝ�I q¨!¨Q° lÑ3Ô3°Q·U²U¸1±X´X·\²\À!±_´_×5HÒ5HÈÑ5KÔ5KÑLÔLÐLÐLÐLr-   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        j        d¦  «         d S )Nrt   r}  r|  r'  rÓ  ©r'   r¹  r   r   rž   )rM   ÚA1dr   r  r…  s        r+   Útest_vector_as_first_argumentz*TestMultiDot.test_vector_as_first_argument*  s�   € åŒi×Ò˜qÑ!Ô!ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆõ 	•Y  Q¨¨1˜~Ñ.Ô.Ô4°dÑ;Ô;Ð;Ð;Ð;r-   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        j        d¦  «         d S )Nr|  r}  rt   )r.   rˆ  )rM   r¤  r   r  ÚD1ds        r+   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argument4  s�   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒi×Ò˜qÑ!Ô!ˆõ 	•Y  1 a¨˜~Ñ.Ô.Ô4°dÑ;Ô;Ð;Ð;Ð;r-   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        j        d¦  «         d S )Nrt   r}  r|  r[   rˆ  )rM   r‰  r   r  rŒ  s        r+   Ú&test_vector_as_first_and_last_argumentz3TestMultiDot.test_vector_as_first_and_last_argument>  s‚   € åŒi×Ò˜qÑ!Ô!ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒi×Ò˜qÑ!Ô!ˆõ 	•Y  Q¨¨3Ð/Ñ0Ô0Ô6¸Ñ;Ô;Ð;Ð;Ð;r-   c           
      óô  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          |||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «        ¦  «         t	          |t          j        |t          j        ||¦  «        ¦  «        ¦  «         d S )Nr|  r}  ©r)   ©r'   r¹  rC  r   r   r   )rM   r¤  r   r  r)   Úrets         r+   Útest_three_arguments_and_outz)TestMultiDot.test_three_arguments_and_outH  sÇ   € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆåŒh�vÑÔˆÝ˜˜A˜q˜	 sÐ+Ñ+Ô+ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤§¢¨a¡¤Ñ1Ô1Ð1Ý˜C¥¤¨­2¬6°!°Q©<¬<Ñ!8Ô!8Ñ9Ô9Ð9Ð9Ð9r-   c                 óh  — t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          ||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «        ¦  «         t	          |t          j        ||¦  «        ¦  «         d S )Nr|  r}  )r.   r.   r‘  r’  )rM   r¤  r   r)   r“  s        r+   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_outU  s˜   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒh�vÑÔˆÝ˜˜A˜ CÐ(Ñ(Ô(ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤Ñ*Ô*Ð*Ý˜C¥¤¨¨1¡¤Ñ.Ô.Ð.Ð.Ð.r-   c                 óî  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          ||||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «                             |¦  «        ¦  «         d S )Nr|  r}  r„  )r.   rr   r‘  r’  )rM   r¤  r   r  r…  r)   r“  s          r+   Ú-test_dynamic_programming_optimization_and_outz:TestMultiDot.test_dynamic_programming_optimization_and_out_  sÆ   € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒh�vÑÔˆÝ˜˜A˜q !˜¨#Ð.Ñ.Ô.ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤§¢¨a¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ð8Ð8r-   c           	      óJ  — t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        g}t          j        g d¢g d¢g d	¢g d
¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g d¢gt          ¬¦  «        }|dz  }t	          |d¬¦  «        \  }}t          t          j        |d d…dd …f         ¦  «        t          j        |d d…dd …f         ¦  «        ¦  «         t          t          j        |¦  «        t          j        |¦  «        ¦  «         d S )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   rr   rr   ru   ru   ru   )r   r   rt   ru   ru   ru   )r   r   r   ru   ru   ru   )r   r   r   r   rv   r‡   )r   r   r   r   r   r‡   )r   r   r   r   r   r   r:   rr   T)Úreturn_costsr—   )r'   r¹  r   Úintr   r   r  )rM   ÚarraysÚ
m_expectedÚ
s_expectedrÍ   rå  s         r+   Útest_dynamic_programming_logicz+TestMultiDot.test_dynamic_programming_logick  sÂ  € õ ”)×"Ò" 8Ñ,Ô,Ý”)×"Ò" 8Ñ,Ô,Ý”)×"Ò" 7Ñ+Ô+Ý”)×"Ò" 7Ñ+Ô+Ý”)×"Ò" 8Ñ,Ô,Ý”)×"Ò" 8Ñ,Ô,ð.ˆõ ”XÐIÐIÐIØIÐIÐIØIÐIÐIØIÐIÐIØIÐIÐIØIÐIÐIðKñ Lô Lˆ
õ ”XÐ6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6ð8õ
 @CðDñ Dô Dˆ
ð 	�a‰ˆ
å,¨VÀ$ÐGÑGÔG‰ˆˆ1õ 	�BœG A c r c¨1¨2¨2 g¤JÑ/Ô/ÝœG J¨s°¨s°A°B°B¨wÔ$7Ñ8Ô8ñ	:ô 	:ð 	:å�BœG A™JœJ­¬°
Ñ(;Ô(;Ñ<Ô<Ð<Ð<Ð<r-   c                 ó®   — t          t          t          g ¦  «         t          t          t          t          j                             d¦  «        g¦  «         d S )Nr$  )r    r)  r   r'   r¹  rU   s    r+   Útest_too_few_input_arraysz&TestMultiDot.test_too_few_input_arrays‰  s?   € Ý•j¥)¨RÑ0Ô0Ð0Ý•j¥)­b¬i×.>Ò.>¸vÑ.FÔ.FÐ-GÑHÔHÐHÐHÐHr-   N)rW   rX   rY   r€  r‚  r†  rŠ  r�  r�  r”  r–  r˜  r£  r¥  r[   r-   r+   ry  ry    sÄ   € € € € € ðKð Kð Kð=ð =ð =ðMð Mð Mð<ð <ð <ð<ð <ð <ð<ð <ð <ð:ð :ð :ð/ð /ð /ð
9ð 
9ð 
9ð=ð =ð =ð<Ið Ið Ið Ið Ir-   ry  c                   ó8  — e Zd Zej                             d ej        d¦  «        df ej        d¦  «        dfg¦  «        d„ ¦   «         Zej                             ddd	g¦  «        d
„ ¦   «         Z	ej                             dddg¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestTensorinvzarr, ind©rv   r.   rp   rt   rt   ©ru   ru   rt   rr   c                 óŒ   — t          t          ¦  «        5  t          j        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©Úind)r    r   r   Ú	tensorinv)rM   rö  r¬  s      r+   Útest_non_square_handlingz&TestTensorinv.test_non_square_handling�  sŒ   € õ
 �;Ñ'Ô'ð 	+ð 	+ÝÔ˜S cÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   •9¹=Á =z
shape, ind)©rv   r.   rp   ru   rt   )©é   rp   ru   rr   c                 óÔ   — t          j        d¦  «        }||_        t          j        ||¬¦  «        }|j        |d …         |j        d |…         z   }|j        }t          ||¦  «         d S )Nr±  ©r4   r¬  )r'   r~  rž   r   r­  r   )rM   rž   r¬  r4   Úainvr0  Úactuals          r+   Útest_tensorinv_shapez"TestTensorinv.test_tensorinv_shape˜  sh   € õ ŒF�2‰JŒJˆØˆŒÝÔ !¨Ð-Ñ-Ô-ˆØ”7˜3˜4˜4”= 1¤7¨4¨C¨4¤=Ñ0ˆØ”ˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r-   r¬  r   r˜   c                 óÂ   — t          j        d¦  «        }d|_        t          t          ¦  «        5  t          j        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr±  r¯  r³  )r'   r~  rž   r    r)  r   r­  )rM   r¬  r4   s      r+   Útest_tensorinv_ind_limitz&TestTensorinv.test_tensorinv_ind_limit¥  s    € õ ŒF�2‰JŒJˆØˆŒÝ�:Ñ&Ô&ð 	+ð 	+ÝÔ˜q cÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   °AÁAÁAc                 ó  — t          j        d¦  «        }d|_        t          j        |d¬¦  «        }t          j        d¦  «        }t          t          j        ||d¦  «        t           j                             ||¦  «        ¦  «         d S )Nr±  r°  rr   r«  )	r'   r~  rž   r   r­  r©  r   Ú	tensordotÚtensorsolve)rM   r4   r´  r5   s       r+   Útest_tensorinv_resultz#TestTensorinv.test_tensorinv_result®  sn   € åŒF�2‰JŒJˆØˆŒÝÔ  qÐ)Ñ)Ô)ˆÝŒG�B‰KŒKˆÝ�œ T¨1¨aÑ0Ô0µ"´)×2GÒ2GÈÈ1Ñ2MÔ2MÑNÔNÐNÐNÐNr-   N)rW   rX   rY   rþ   rÿ   r6  r'   r©  r®  r¶  r¸  r¼  r[   r-   r+   r§  r§  Ž  sþ   € € € € € à„[×Ò˜ZØ	ˆŒ�Ñ	Ô	 Ð"Ø	ˆŒ�Ñ	Ô	˜QÐð*
ñ ô ð+ð +ñ	ô ð+ð „[×Ò˜\àØð,
ñ ô ð
'ð 'ñô ð
'ð „[×Ò˜UØ	ˆ2ð%
ñ ô ð+ð +ñô ð+ðOð Oð Oð Oð Or-   r§  c                   óæ   — e Zd Zej                             d ej        d¦  «        df ej        d¦  «        dfg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d	„ ¦   «         Z	dS )
ÚTestTensorsolveza, axesr¨  Nr©  ©r   rt   c                 óÐ   — t          t          ¦  «        5  t          j        |j        d d…         ¦  «        }t          j        |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nrt   r‹  )r    r   r'   r©  rž   r   r»  )rM   r4   rŒ  r5   s       r+   r®  z(TestTensorsolve.test_non_square_handling¹  s§   € õ
 �;Ñ'Ô'ð 	0ð 	0Ý”˜œ   œÑ$Ô$ˆAÝÔ˜q !¨$Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   •9AÁAÁ"Arž   ))rt   ru   r.   )ru   rv   rv   ru   )r   ru   ru   r   c           	      ó  — t          j        j        |Ž }t          j        |j        d d…         ¦  «        }t           j                             ||¦  «        }t          t          j        ||t          |j        ¦  «        ¬¦  «        |¦  «         d S rÁ  )
r'   r¹  r-  r©  rž   r   r»  r   rº  r  )rM   rž   r4   r5   rÇ   s        r+   Útest_tensorsolve_resultz'TestTensorsolve.test_tensorsolve_resultÂ  sq   € õ ŒIŒO˜UÐ#ˆÝŒG�A”G˜B˜Q˜B”KÑ Ô ˆÝŒI×!Ò! ! QÑ'Ô'ˆÝ�œ Q¨µ°A´G±´Ð=Ñ=Ô=¸qÑAÔAÐAÐAÐAr-   )
rW   rX   rY   rþ   rÿ   r6  r'   r©  r®  rÃ  r[   r-   r+   r¾  r¾  ·  s±   € € € € € à„[×Ò˜YØ	ˆŒ�Ñ	Ô	 Ð%Ø	ˆŒ�Ñ	Ô	˜VÐ$ð)
ñ ô ð0ð 0ñ	ô ð0ð
 „[×Ò˜WØ/Ð/Ð/ñô ðBð Bñô ðBð Bð Br-   r¾  c                  óÂ   — t          j        ddgddggd¬¦  «        } t          t          d¦  «        5  t	          j        | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrr   r˜   rt   r‡   Úfloat16r:   zunsupported in linalg)r'   r   r!   r2  r   r/  )rö  s    r+   Útest_unsupported_commontyperÆ  Ì  s¨   € å
Œ(�Q˜�G˜a ˜VÐ$¨IÐ
6Ñ
6Ô
6€CÝ	�YÐ(?Ñ	@Ô	@ð ð ÝŒ˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ²AÁAÁAz,Bad memory reports lead to OOM in ci testingc                  óò   — d} t          j        d| gt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }d|d<   t          j        ||¦  «        }t          |d         d¦  «         d S )Nì        rr   r:   )r   r—   )r'   rC  rî  r©  r   r   )r÷  r4   r5   rž  s       r+   Útest_blas64_dotrÉ  ×  sm   € à€AÝ
Œ�!�Q��rœzÐ*Ñ*Ô*€AÝ
Œ��A��bœjÐ)Ñ)Ô)€AØ€A€e�HÝ
Œˆq�!‰Œ€AÝ��5”˜1ÑÔÐÐÐr-   z*Numpy not compiled with 64-bit BLAS/LAPACKc            
      ó  — t           j        } t           j        j        j        }d}d}|}t          j        ddg| ¬¦  «        }t          j        dg| ¬¦  «        }t          j        dg| ¬¦  «        } |||||||dd¦  «        }t          |d         d¦  «         t          |d         |¦  «         t          |d         |¦  «         t          |                     ¦   «         ¦  «        }	t          d	|	cxk     od
k     nc ¦  «         d S )Nl       rr   r:   r—   r   Úinforå  r÷  rÈ  l        )
r'   rE  r   r^  ÚdgeqrfrC  r   rŸ  Úitemr   )
r2   Úlapack_routinerå  r÷  Úldar4   Úworkr  ÚresultsÚlworks
             r+   Ú!test_blas64_geqrf_lwork_smoketestrÓ  á  s  € õ ŒJ€EÝ”YÔ*Ô1€Nà€AØ€AØ
€Cõ 	Œ�!�Q�˜uÐ%Ñ%Ô%€AÝŒ8�Q�C˜uÐ%Ñ%Ô%€DÝ
Œ(�A�3˜eÐ
$Ñ
$Ô
$€Cð ˆn˜Q  1 c¨3°°b¸!Ñ<Ô<€GÝ�˜” !Ñ$Ô$Ð$Ý�˜”˜qÑ!Ô!Ð!Ý�˜”˜qÑ!Ô!Ð!õ �—	’	‘”ÑÔ€EÝˆE�EÐ!Ð!Ò!Ð!˜EÒ!Ð!Ð!Ð!Ñ"Ô"Ð"Ð"Ð"r-   c                  óì   — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S )Né<   ©ru   rv   r‡   )r   r.   r/   é   )r�  é   r  é&   )rð  é.   é4   é:   )r'   r(  r�   r   r2  r   r   ©rÇ   rµ  r0  s      r+   Útest_diagonalrÞ  ý  s{   € õ 	Œ	�"‰Œ×Ò˜iÑ(Ô(€AÝŒY×Ò Ñ"Ô"€FÝŒxàˆOˆOØÐÐØÐÐð	
ñô €Hõ �˜Ñ"Ô"Ð"Ð"Ð"r-   c                  óÞ   — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }t          j        g d¢¦  «        }t          ||¦  «         d S )NrÕ  rÖ  )é$   ét   éÄ   )r'   r(  r�   r   Útracer   r   rÝ  s      r+   Ú
test_tracerä  	  s[   € õ 	Œ	�"‰Œ×Ò˜iÑ(Ô(€AÝŒY�_Š_˜QÑÔ€FÝŒx˜˜˜Ñ'Ô'€Hå�˜Ñ"Ô"Ð"Ð"Ð"r-   c                  ó>  — t          j        d¦  «                             d¦  «        } t           j                             | | dz   ¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         g d¢}g d¢}t           j                             ||¦  «        }t          g d¢¦  «        }t          ||¦  «         t          t          d¦  «        5  | d d …dd …f         }t           j                             ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NrÔ  r$  rr   )r—   rt   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µ  r0  rx  rf  Úx_2dims         r+   Ú
test_crossrè  	  sd  € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY�_Š_˜Q  A¡Ñ&Ô&€FÝŒxØˆˆØˆˆØˆˆðñ ô €Hõ �˜Ñ"Ô"Ð"ð 	ˆ	ˆ	€AØˆ	ˆ	€AÝŒY�_Š_˜Q Ñ"Ô"€FÝ�\�\�\Ñ"Ô"€Hå�˜Ñ"Ô"Ð"å	ÝØCñ
ô 
ð (ð (ð �1�1�1�a�b�b�5”ˆÝ
Œ	�Š˜ Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   Ã/DÄDÄDc                  óô   — t          j        d¦  «                             d¦  «        } t           j                             | | ¦  «        dk    sJ ‚t           j                             | | ddg¬¦  «        dk    sJ ‚d S )Nr.   rÄ  é7   rY  r‹  )r'   r(  r�   r   rº  )rÇ   s    r+   Útest_tensordotrë  3	  ss   € å
Œ	�!‰Œ×Ò˜VÑ$Ô$€AåŒ9×Ò˜q !Ñ$Ô$¨Ò*Ð*Ð*Ð*ÝŒ9×Ò˜q !¨6°6Ð*:ÐÑ;Ô;¸rÒAÐAÐAÐAÐAÐAr-   c                  óò   — t          j        d¦  «                             d¦  «        } t           j                             | | j        ¦  «        }t          j        ddgddgg¦  «        }t          ||¦  «         d S )Nr.   rÄ  r‡   é   r%  )r'   r(  r�   r   r   rÿ  r   r   rÝ  s      r+   Útest_matmulrî  ;	  sj   € õ 	Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×Ò˜a ¤Ñ%Ô%€FÝŒx˜!˜R˜ 2 r (Ð+Ñ,Ô,€Hå�˜Ñ"Ô"Ð"Ð"Ð"r-   c                  ón  — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }| j        }t          ||¦  «         t          t          d¦  «        5  t           j                             | d d …df         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr.   rÄ  z$array must be at least 2-dimensionalr   )	r'   r(  r�   r   Úmatrix_transposerÿ  r   r!   r)  rÝ  s      r+   Útest_matrix_transposerñ  E	  sç   € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×'Ò'¨Ñ*Ô*€FØŒs€Hå�˜Ñ"Ô"Ð"å	ÝÐ:ñ
ô 
ð ,ð ,õ 	Œ	×"Ò" 1 Q Q Q¨ T¤7Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   Á3*B*Â*B.Â1B.c                  óh  — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }t          |t          j        d¦  «        d¬¦  «         t           j                             | d¬¦  «        }t          |t          j        dgg¦  «        d¬¦  «         d S )NrÔ  r$  çž^)Ë�,@ru   ©r7   T©r«  )r'   r(  r�   r   Úmatrix_normr   rE  r   )rÇ   rµ  s     r+   Útest_matrix_normr÷  R	  s”   € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×"Ò" 1Ñ%Ô%€Få˜¥¤
¨7Ñ 3Ô 3ÀAÐFÑFÔFÐFåŒY×"Ò" 1¨tÐ"Ñ4Ô4€Få˜¥¤¨7¨)¨Ñ 5Ô 5ÀaÐHÑHÔHÐHÐHÐHr-   c                  óx  — dD �]5} t           j        t           j        t           j        fD �]}t          j        | |¦  «        }t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |t           j        ¬¦  «        d¦  «         �Œ�Œ7d S )N)r¿  )rt   r   rm   r˜  r“  r   r¬  rr   rt   )	r'   rE  rî  rÐ  rC  r   r   rö  r   )rž   r2   rÇ   s      r+   Útest_matrix_norm_emptyrù  ]	  s  € Ø)ð Bñ BˆÝ”j¥"¤*­b¬hÐ7ð 	Bñ 	BˆEÝ”˜ Ñ&Ô&ˆAÝ�œ×.Ò.¨q°eÐ.Ñ<Ô<¸aÑ@Ô@Ð@Ý�œ×.Ò.¨q°eÐ.Ñ<Ô<¸aÑ@Ô@Ð@Ý�œ×.Ò.¨q°aÐ.Ñ8Ô8¸!Ñ<Ô<Ð<Ý�œ×.Ò.¨q°aÐ.Ñ8Ô8¸!Ñ<Ô<Ð<Ý�œ×.Ò.¨qµb´fÐ.Ñ=Ô=¸qÑAÔAÐAÑAñ	BðBð Br-   c                  ó0  — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }t          |t          j        d¦  «        d¬¦  «         t           j                             | d¬¦  «        }t          |t          j        g d¢¦  «        d¬¦  «         t           j                             | d	¬
¦  «        }t          j        ddd¬¦  «        }t          |j
        |j
        ¦  «         t          ||d¬¦  «         d S )NrÔ  r$  ró  ru   rô  r   rØ  )gÚ|a2Õ@gsh‘í|? @gDioð…I#@Trõ  r¶   rE  r:   )r'   r(  r�   r   Úvector_normr   rE  r   Úfullr   rž   rÝ  s      r+   Útest_vector_normrý  g	  sû   € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×"Ò" 1Ñ%Ô%€Få˜¥¤
¨7Ñ 3Ô 3ÀAÐFÑFÔFÐFåŒY×"Ò" 1¨1Ð"Ñ-Ô-€FåØ•”Ð0Ð0Ð0Ñ1Ô1À!ðñ ô ð õ ŒY×"Ò" 1¨tÐ"Ñ4Ô4€FÝŒw�v˜w¨iÐ8Ñ8Ô8€HÝ�”˜xœ~Ñ.Ô.Ð.Ý˜ ¸Ð;Ñ;Ô;Ð;Ð;Ð;r-   c                  óª  — t           j        t           j        t           j        fD ]®} t          j        d| ¦  «        }t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |t           j        ¬¦  «        d¦  «         Œ¯d S )Nr   rr   r“  rt   )	r'   rE  rî  rÐ  rC  r   r   rû  r   )r2   rÇ   s     r+   Útest_vector_norm_emptyrÿ  y	  s­   € Ý”*�bœj­"¬(Ð3ð >ð >ˆÝŒH�Q˜ÑÔˆÝ•R”Y×*Ò*¨1°!Ð*Ñ4Ô4°aÑ8Ô8Ð8Ý•R”Y×*Ò*¨1°!Ð*Ñ4Ô4°aÑ8Ô8Ð8Ý•R”Y×*Ò*¨1µ"´&Ð*Ñ9Ô9¸1Ñ=Ô=Ð=Ð=ð	>ð >r-   )r.   r/   )’Ú__doc__r¸   rU  rq  rE  ro  Ú	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,   r3   r;   r=   r?   r]   rG   ra   r¹  rº  rš   r¼   r»  r¡   rÎ   rÒ   rÔ   rá   rê   rò   rø   r  r	  r  r  r  r8  r=  rK  rS  r[  rb  rm  rv  r{  r‡  r“  r•  r¡  rÀ  rÇ  rÊ  rÍ  rÔ  rÖ  rç  rð  rý  rÿ   r6  r  r?  rE  r\  rd  rl  ru  r¶  rÈ  rÊ  rÙ  rÛ  rÝ  rà  râ  rä  ræ  rø  rú  r#  r<  rN  r=  rR  Úactive_countrh  r   rw  ry  r§  r¾  rÆ  rY  rÉ  r¾  rÓ  rÞ  rä  rè  rë  rî  rñ  r÷  rù  rý  rÿ  r[   r-   r+   ú<module>r     sn  ððð ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð à €€€à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ø &Ð &Ð &Ð &Ð &Ð &Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð	Ø#Ð#Ð#Ð#Ð#øØð 	ð 	ð 	ð 	€Dð		øøøð*ð *ð *ð .Ð ð9ð 9ð 9ð 9ð5ð 5ð 5ð
7ð 7ð 7ð
ð ð ðð ð €ð,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð,ð ð ð „	‡‚ˆtÑ Ô Ð à
€ð ˆˆ�8Ø€JˆxØˆu�r˜2�h  R Ð)°Ð8Ñ8Ô8Øˆu�b˜"�X VÐ,Ñ,Ô,ñ.ô .ð €JˆxØˆu�r˜2�h  R Ð)°Ð8Ñ8Ô8Øˆu�b˜"�X VÐ,Ñ,Ô,ñ.ô .ð €JˆzØˆu�r˜2�h  R Ð)°Ð8Ñ8Ô8Øˆu�l�l�l L L LÐ1¸Ð@Ñ@Ô@ñBô Bð €JˆyØˆu�w Ð'¨&°&Ð)9Ð:À'ÐJÑJÔJØˆu�g˜wÐ'¨wÐ7Ñ7Ô7ñ9ô 9ð €JˆyØˆu�w Ð'¨&°&Ð)9Ð:À'ÐJÑJÔJØˆu�g˜wÐ'¨wÐ7Ñ7Ô7ñ9ô 9ð €Jˆ{Øˆu�w Ð'¨&°&Ð)9Ð:À'ÐJÑJÔJØˆuÐ0Ð0Ð0Ð2JÐ2JÐ2JÐKÐSZÐ[Ñ[Ô[ñ]ô ]ð €JˆuØˆrŒx˜ fÐ-Ñ-Ô-ØˆrŒx˜ FÐ+Ñ+Ô+Ø�Jð ñ  ô  ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô ñ"ô "ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô ñ"ô "ð €JˆzØ�A�˜˜A˜ÐØ�1ˆvñô ð; ñ  
ô  
ñ  €ðF ˆˆ�;Ø€Jˆ~Øˆu�l�l�l L L LÐ1¸Ð@Ñ@Ô@Øˆu�b˜"�X VÐ,Ñ,Ô,ñ.ô .ð €Jˆ~Øˆu�r˜2�h  R ¨2¨r¨(Ð3¸6ÐBÑBÔBØˆu�\�\�\¨Ð0Ñ0Ô0ñ2ô 2ð €Jˆ~Øˆu�l�l�l L L LÐ1¸Ð@Ñ@Ô@Øˆu�b˜"�X VÐ,Ñ,Ô,ñ.ô .ð €Jˆ~Øˆu�r˜2�h  R ¨2¨r¨(Ð3¸6ÐBÑBÔBØˆu�\�\�\¨Ð0Ñ0Ô0ñ2ô 2ð €JˆØˆuØ/Ð/Ð/Ð1LÐ1LÐ1LÐMÐU\ð^ñ ^ô ^àˆu�g˜wÐ'¨wÐ7Ñ7Ô7ñ9ô 9ð €JˆØˆuØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ð`ñ `ô `àˆuÐ0Ð0Ð0¸Ð@Ñ@Ô@ñBô Bð €JˆØˆuØ/Ð/Ð/Ð1LÐ1LÐ1LÐMÐU\ð^ñ ^ô ^àˆu�g˜wÐ'¨wÐ7Ñ7Ô7ñ9ô 9ð €JˆØˆuØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ð`ñ `ô `àˆuÐ0Ð0Ð0¸Ð@Ñ@Ô@ñBô Bð €JÐ ØˆuØ/Ð/Ð/Ð1LÐ1LÐ1LÐMÐU\ð^ñ ^ô ^àˆu�w Ð(¨6°6Ð*:Ð;À7ÐKÑKÔKñMô Mð €JÐ ØˆuØ˜gÐ&¨°'Ð(:¸WÀgÐ<NÐOÐW^ð`ñ `ô `àˆu�w Ð(¨6°6Ð*:¸VÀVÐ<LÐMÐU\Ð]Ñ]Ô]ñ_ô _ð €JˆvØŒy�~Š~˜a Ñ$Ô$ØŒy�~Š~˜aÑ Ô ñ"ô "ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô ñ"ô "ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô ñ"ô "ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô Ø�Jð ñ  ô  ð €JˆuØŒy�~Š~˜a Ñ#Ô#ØŒy�~Š~˜aÑ Ô Ø�Jð ñ  ô  ðe6!ñ 6
ô 6
ñ 6€ðr ˆˆ�;Ø€JˆyØˆu�r˜2�h  R Ð)°Ð8Ñ8Ô8Øñô ð €JˆyØˆu�r˜2�h  R Ð)°Ð8Ñ8Ô8Øñô ð €JˆzØˆu�r˜6�l V¨Q KÐ0¸Ð@Ñ@Ô@Øñô ð €JˆzØˆu�r˜6�l V¨Q KÐ0¸Ð@Ñ@Ô@Øñô ð €JˆxØˆrŒx˜ fÐ-Ñ-Ô-ØØ�Jð ñ  ô  ð €Jˆ{Ø�A�˜˜A˜ÐØñô ð €JˆØˆu�r˜2�h  R Ð)Ñ*Ô*Øñô ð €Jˆ}ØŒy�~Š~˜a Ñ#Ô#Øñô ð/!ñ 
ô 
ñ €ð@ð ð ðB Ð	 Ð	 Ñ	"Ô	"Ñ "€ð-'ð -'ð -'ð`ð ð ð Ð	Ð	Ñ	Ô	Ñ €ð1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð.2ð 2ð 2ð 2ð 2˜>ñ 2ô 2ð 2ð2ð 2ð 2ð 2ð 2˜nñ 2ô 2ð 2ð2ð 2ð 2ð 2ð 2˜ñ 2ô 2ð 2ð	Fð 	Fð 	Fð 	Fð 	F nñ 	Fô 	Fð 	Fð	Ið 	Ið 	Ið 	Ið 	I¨ñ 	Iô 	Ið 	Ið
+ð 
+ð 
+ð 
+ð 
+ >ñ 
+ô 
+ð 
+ð$ð $ð $ð+ð +ð +ð +ð +Ð%Ð'Fñ +ô +ð +ðH3ð H3ð H3ð H3ð H3�
ñ H3ô H3ð H3ðV/ð /ð /ð /ð /Ð#Ð%Dñ /ô /ð /ð0ð 0ð 0ð 0ð 0ˆhñ 0ô 0ð 0ð.)ð )ð )ð )ð )Ð'Ð)Hñ )ô )ð )ð-ð -ð -ð -ð -�,ñ -ô -ð -ð66ð 6ð 6ð 6ð 6Ð#Ð%Dñ 6ô 6ð 6ð!+ð !+ð !+ð !+ð !+ˆhñ !+ô !+ð !+ðH5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ð,ð ,ð ,ð ,ð ,Ð#Ð%Dñ ,ô ,ð ,ð8ð 8ð 8ð 8ð 8ˆh˜ñ 8ô 8ð 8ð,,ð ,ð ,ð ,ð ,Ð)Ð+Gñ ,ô ,ð ,ð(ð ð ð ð Ð(¨,ñ ô ð ð+1ð +1ð +1ð +1ð +1Ð$Ð&Eñ +1ô +1ð +1ð\@*ð @*ð @*ð @*ð @*ˆyñ @*ô @*ð @*ðF
0ð 
0ð 
0ð 
0ð 
0Ð$Ø'Ø/Ø2ñ
0ô 
0ð 
0ð	ð 	ð 	ð 	ð 	ˆyñ 	ô 	ð 	ð0ð 0ð 0ð 0ð 0Ð*Ð,Hñ 0ô 0ð 0ð	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð/ð /ð /ð#ð #ð #ð #ð #Ð#Ð%Dñ #ô #ð #ð*'1ð '1ð '1ð '1ð '1ˆhñ '1ô '1ð '1ðT3ð 3ð 3ð 3ð 3Ð%Ð'>ñ 3ô 3ð 3ð<.+ð .+ð .+ð .+ð .+�
ñ .+ô .+ð .+ðb „×Ò˜ÐIÐIÐ5HÐIÑIÔIÑJÔJðS:ð S:ð S:ð S:ð S:ñ S:ô S:ñ KÔJðS:ðl?ð ?ð ?ð ?ð ?Ð)Ð+Gñ ?ô ?ð ?ð3-ð 3-ð 3-ð 3-ð 3-ñ 3-ô 3-ð 3-ðlBð Bð Bð Bð BÐ%Ð'Cñ Bô Bð Bð.8+ð 8+ð 8+ð 8+ð 8+ñ 8+ô 8+ð 8+ðv
=ð 
=ð 
=ð 
=ð 
=ñ 
=ô 
=ð 
=ð[Qð [Qð [Qð [Qð [Q�}ñ [Qô [Qð [Qð|u<ð u<ð u<ð u<ð u<�-ñ u<ô u<ð u<ðp	ð 	ð 	ð 	ð 	�Ð-ñ 	ô 	ð 	ðJð Jð Jð Jð Jñ Jô Jð Jð8ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜ñ ô ð ð
	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�IÐ1ñ 	ô 	ð 	ð&Eð &Eð &Eð &Eð &Eñ &Eô &Eð &EðR
(ð 
(ð 
(ð^+ð ^+ð ^+ð ^+ð ^+ñ ^+ô ^+ð ^+ðB?
ð ?
ð ?
ð ?
ð ?
ñ ?
ô ?
ð ?
ðD3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð"5ð 5ð 5ð* „×Ò�GÐ$BÐÑCÔCð;ð ;ñ DÔCð;ð „×ÒØ€IÔÑÔ˜qÒ ØLð ñ Nô Nð „×ÒØØGð ñ Iô Ið.7ð .7ñIô IñNô Nð.7ðb „×Ò�GÐ$=ÐÑ>Ô>Ø„Ôð<ð <ñ Ôñ ?Ô>ð<ðD~Ið ~Ið ~Ið ~Ið ~Iñ ~Iô ~Ið ~IðB&Oð &Oð &Oð &Oð &Oñ &Oô &Oð &OðRBð Bð Bð Bð Bñ Bô Bð Bð*ð ð ð „×ÒÐGÐÑHÔHðð ñ IÔHðð „×Ò�|Ð#ØFð ñ Hô Hð#ð #ñHô Hð#ð4#ð #ð #ð #ð #ð #ð(ð (ð (ð6Bð Bð Bð#ð #ð #ð
,ð 
,ð 
,ðIð Ið IðBð Bð Bð<ð <ð <ð$>ð >ð >ð >ð >s   Â B ÂBÂB