§
    ÇÁ³gsE ã                   óÀ  — 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 ddlmZ ddlmZ ddl	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! dd	l"m#Z# dd
l$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. 	 ddl/Z	n# e0$ r Y nw xY wd„ Z1e)Z2dìd„Z)d„ Z3d„ Z4d„ Z5h d£Z6 G d„ d¦  «        Z7d„ Z8e
j9         :                    d¦  «         g Z;e; e8d e7d eddgddgge¬¦  «         eddge¬¦  «        ¦  «         e7d eddgddgge¬¦  «         eddge¬¦  «        ¦  «         e7d eddgddgge¬¦  «         eg d ¢g d!¢ge¬¦  «        ¦  «         e7d" ed#d$gd%d&gge¬¦  «         ed'd#ge¬¦  «        ¦  «         e7d( ed#d$gd%d&gge¬¦  «         ed'd#ge¬¦  «        ¦  «         e7d) ed#d$gd%d&gge¬¦  «         eg d*¢g d+¢ge¬¦  «        ¦  «         e7d, e
j<        d-e¬¦  «         e
j<        d.e¬¦  «        d/h¬0¦  «         e7d1e
j9         =                    d2d2¦  «        e
j9         =                    d2¦  «        ¦  «         e7d3e
j9         =                    d4d4¦  «        e
j9         =                    d4¦  «        ¦  «         e7d5d4d6gd7d8ggd6d4g¦  «        g
¦  «        z  Z;e; e8d9 e7d: eg d;¢g d!¢ge¬¦  «         eddge¬¦  «        ¦  «         e7d< eddgddgd=d>gge¬¦  «         eg d?¢e¬¦  «        ¦  «         e7d@ eg d;¢g d!¢ge¬¦  «         eddge¬¦  «        ¦  «         e7dA eddgddgd=d>gge¬¦  «         eg d?¢e¬¦  «        ¦  «         e7dB eg dC¢g dD¢ge¬¦  «         ed'd#ge¬¦  «        ¦  «         e7dE edFdGgdHdIgdJdKgge¬¦  «         eg dL¢e¬¦  «        ¦  «         e7dM eg dC¢g dD¢ge¬¦  «         ed'd#ge¬¦  «        ¦  «         e7dN edFdGgdHdIgdJdKgge¬¦  «         eg dL¢e¬¦  «        ¦  «         e7dO eg dC¢g dD¢ge¬¦  «         ed'd#gdPdQgge¬¦  «        ¦  «         e7dR edFdGgdHdIgdJdKgge¬¦  «         ed'd#gdPdQgdPdQgge¬¦  «        ¦  «         e7dSe
j9         =                    d2dT¦  «        e
j9         =                    d2¦  «        ¦  «         e7dUe
j9         =                    d4dV¦  «        e
j9         =                    d4¦  «        ¦  «         e7dWe
j9         =                    dVd4¦  «        e
j9         =                    dV¦  «        ¦  «         e7dXe
j9         =                    dd8¦  «        e
j9         =                    d¦  «        d/h¬0¦  «         e7dYe
j9         =                    d8d¦  «        e
j9         =                    d8¦  «        d/h¬0¦  «        g¦  «        z  Z;e; e8dZ e7d[ eddgddgge¬¦  «        d¦  «         e7d\ eddgddgge¬¦  «        d¦  «         e7d] edd$gd^d4gge¬¦  «        d¦  «         e7d_ edd$gd^d4gge¬¦  «        d¦  «         e7d` e
j<        d-e¬¦  «        dd/h¬0¦  «         e7dad4d6gd6d4ggd¦  «         e7db eddgddgg¦  «        d¦  «         e7dce
j9         =                    d4d4¦  «        d¦  «        g¦  «        z  Z;dd„ Z>e; e>¦   «         z  Z;de„ Z?df„ Z@e; e@¦   «         z  Z; G dg„ dh¦  «        ZA G di„ djeA¦  «        ZB G dk„ dleA¦  «        ZC G dm„ dneA¦  «        ZD G do„ dpeA¦  «        ZE G dq„ dreA¦  «        ZF G ds„ dteA¦  «        ZGdu„ ZH G dv„ dweBeE¦  «        ZI G dx„ dyeI¦  «        ZJ G dz„ d{eBeE¦  «        ZK G d|„ d}eK¦  «        ZL G d~„ deBeE¦  «        ZM G d€„ d�eM¦  «        ZN G d‚„ dƒeBeE¦  «        ZO G d„„ d…eO¦  «        ZP G d†„ d‡¦  «        ZQ G dˆ„ d‰eBeE¦  «        ZR G dŠ„ d‹eReQ¦  «        ZS G dŒ„ d�eDeG¦  «        ZT G dŽ„ d�eTeQ¦  «        ZU G d�„ d‘eBeE¦  «        ZV G d’„ d“eV¦  «        ZW G d”„ d•eBeCeEeF¦  «        ZX G d–„ d—eX¦  «        ZY G d˜„ d™eDeG¦  «        ZZ G dš„ d›eZ¦  «        Z[dœ„ Z\ G d�„ džeBeE¦  «        Z] G dŸ„ d e]¦  «        Z^ G d¡„ d¢eBeC¦  «        Z_ G d£„ d¤e_¦  «        Z`eja         b                    d¥d¦„ d§D ¦   «         ¦  «         G d¨„ d©¦  «        ¦   «         Zc G dª„ d«eDeG¦  «        Zd G d¬„ d­¦  «        Ze G d®„ d¯eDeG¦  «        Zf G d°„ d±¦  «        Zg G d²„ d³¦  «        Zh G d´„ dµeh¦  «        Zi G d¶„ d·eh¦  «        Zj G d¸„ d¹ejei¦  «        Zk G dº„ d»¦  «        Zl G d¼„ d½eh¦  «        Zm G d¾„ d¿eh¦  «        Zn G dÀ„ dÁeh¦  «        Zo G dÂ„ dÃekem¦  «        Zp G dÄ„ dÅeken¦  «        Zq G dÆ„ dÇekeo¦  «        Zr G dÈ„ dÉ¦  «        ZsdÊ„ Zt G dË„ dÌ¦  «        Zu G dÍ„ dÎ¦  «        Zv G dÏ„ dÐ¦  «        ZwdÑ„ Zxeja         y                    e.dÒ¬Ó¦  «        dÔ„ ¦   «         Zzeja         y                     ej{        ¦   «         d4k    dÕ¬Ó¦  «        dÖ„ ¦   «         Z|eja         y                    e.d×¬Ó¦  «        eja        j}        dØ„ ¦   «         ¦   «         Z~ G dÙ„ dÚ¦  «        Z G dÛ„ dÜ¦  «        Z€ G dÝ„ dÞ¦  «        Z�dß„ Z‚eja         ƒ                    dà¬Ó¦  «        dá„ ¦   «         Z„eja         …                    e- dâ¬Ó¦  «        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ÚsingleÚdoubleÚcsingleÚcdoubleÚdotÚidentityÚmatmul)Úswapaxes)Ú	AxisError)ÚmultiplyÚ
atleast_2dÚinfÚasarray)Úlinalg)Úmatrix_powerÚnormÚmatrix_rankÚ	multi_dotÚLinAlgError)Ú_multi_dot_matrix_chain_order)
Úassert_Úassert_equalÚassert_raisesÚassert_array_equalÚassert_almost_equalÚassert_allcloseÚsuppress_warningsÚassert_raises_regexÚHAS_LAPACK64ÚIS_WASMc                 óŠ   — t          | ¦  «        t          |t          j        ¦  «        rt          |¦  «        nt          j        u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr+   #   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Úkwr0   s         r*   r   r   -   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   ©r1   s    r*   Úget_real_dtyper:   5   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   r9   s    r*   Úget_complex_dtyper<   :   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   r9   s    r*   Úget_rtolr>   ?   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Únamer3   r4   Ú	frozensetÚtags)ÚselfrI   r3   r4   rK   s        r*   Ú__init__zLinalgCase.__init__O   sB   € õ
 	•
˜4¥Ñ%Ô%Ñ&Ô&Ð&ØˆŒ	ØˆŒØˆŒÝ˜d‘O”OˆŒ	ˆ	ˆ	r,   c                 ó@   —  || j         | j        | j        ¬¦  «         dS )zN
        Run the function `do` on this test case, expanding arguments
        ©rK   N)r3   r4   rK   )rL   Údos     r*   ÚcheckzLinalgCase.checkZ   s'   € ð 	ˆˆ4Œ6�4”6 ¤	Ð*Ñ*Ô*Ð*Ð*Ð*r,   c                 ó   — d| j         › d�S )Nz<LinalgCase: ú>)rI   ©rL   s    r*   Ú__repr__zLinalgCase.__repr__`   s   € Ø+˜tœyÐ+Ð+Ð+Ð+r,   N)Ú__name__Ú
__module__Ú__qualname__ÚsetrM   rQ   rU   © r,   r*   rF   rF   N   sO   € € € € € Ø(+¨©¬ð 	$ð 	$ð 	$ð 	$ð+ð +ð +ð,ð ,ð ,ð ,ð ,r,   rF   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_tagsrK   )ÚtagÚcasesÚcases      r*   Ú	apply_tagr`   d   s=   € ð
 •(ˆ?ˆ?ˆ?˜M‰?Œ?ˆ?Øð &ð &ˆØ”I  Ñ%ˆŒ	ˆ	Ø€Lr,   éÒ  r?   r   ç      ð?ç       @ç      @ç      @r9   r   Údouble_2)rc   rb   re   )rd   re   ç      @r   ù      ð?       @y       @      @y      @      @y      @      @ù       @      ð?r   Ú	cdouble_2)ri   rh   y      ð?      @)y      ð?       Ày      ð?      Ày      ð?      ÀÚ0x0©r   r   ©r   rD   rO   Ú8x8é   Ú1x1é   Únonarrayé   é   é   rB   Úsingle_nsq_1)rb   rc   rd   Úsingle_nsq_2g      @rg   )rc   rb   rd   Údouble_nsq_1Údouble_nsq_2Úcsingle_nsq_1)ù      ð?      ð?ù       @       @ù      @      À)y      @      Ày      @      "@y      @       @Úcsingle_nsq_2r{   r|   r}   y      @      "Ày      @      Ày      @       @)ri   rh   r}   Úcdouble_nsq_1Úcdouble_nsq_2Úcdouble_nsq_1_2y      ð?      ð¿y       @       ÀÚcdouble_nsq_2_2Ú8x11é   Ú1x5é   Ú5x1Ú0x4Ú4x0rA   Ú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 )Nrs   rt   rq   é   r-   Ú_tile3rC   rO   ©rt   rs   éÿÿÿÿéþÿÿÿÚ_tile213)ÚCASESr%   r3   r&   r'   r   r4   ÚndimrF   rI   rK   ÚappendÚreshapeÚshape)Ú	new_casesr_   r3   r4   Ú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©rq   )rq   rt   éüÿÿÿr–   rq   r—   rs   )rq   r¤   éýÿÿÿc                 ó8   — g | ]\  }}t          ||z  ¦  «        ‘ŒS rZ   )Úabs)Ú.0r3   r4   s      r*   ú
<listcomp>z%_stride_comb_iter.<locals>.<listcomp>,  s&   € ÐBÐBÐB¡D A q•S˜˜Q™‘Z”ZÐBÐBÐBr,   c                 ó0   — g | ]}t          d d |¦  «        ‘ŒS r#   )Úslice)r¨   Úrepeats     r*   r©   z%_stride_comb_iter.<locals>.<listcomp>-  s$   € ÐHÐHÐH°f�˜d D¨&Ñ1Ô1ÐHÐHÐHr,   r9   l   ï>[= .Ústride_Ú_c                 ó   — g | ]}d |z  ‘ŒS )z%+drZ   )r¨   Újs     r*   r©   z%_stride_comb_iter.<locals>.<listcomp>6  s   € Ð'CÐ'CÐ'C°a¨°©	Ð'CÐ'CÐ'Cr,   r   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©rq   rq   Ústride_xxx_0_0)r%   r&   r'   rš   Ú	itertoolsÚproductÚtupleÚzipr�   Úemptyr1   Ú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Ì     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ˆ	ÝÐHÐHÀÐHÑHÔHÑIÔIˆõ Œ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®   r@   rO   )r™   rÌ   r3   r4   rF   rI   rK   r›   )rž   r_   r3   Úa_labelr4   Úb_labelrŸ   s          r*   Ú_make_strided_casesrÐ   K  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_CASESrK   rQ   rP   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rL   ÚrequireÚexcluder_   ÚeÚmsgs         r*   Úcheck_caseszLinalgTestCase.check_cases_  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)rV   rW   rX   r™   rÔ   rY   rÝ   rZ   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?   rC   rD   ©rÙ   rÚ   ©rÝ   rT   s    r*   Útest_sq_casesz"LinalgSquareTestCase.test_sq_casesu  s5   € Ø×Ò ( Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r,   c                 ó:   — |                       ddhdh¬¦  «         d S )Nr?   rD   rC   rá   râ   rT   s    r*   Útest_empty_sq_casesz(LinalgSquareTestCase.test_empty_sq_casesy  s5   € Ø×Ò (¨HÐ!5Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r,   N)rV   rW   rX   rã   rå   rZ   r,   r*   rß   rß   s  ó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 )NrB   rC   rD   rá   râ   rT   s    r*   Útest_nonsq_casesz(LinalgNonsquareTestCase.test_nonsq_cases€  ó5   € Ø×Ò + Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r,   c                 ó:   — |                       ddhdh¬¦  «         d S )NrB   rD   rC   rá   râ   rT   s    r*   Útest_empty_nonsq_casesz.LinalgNonsquareTestCase.test_empty_nonsq_cases„  ó5   € Ø×Ò +¨xÐ!8Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r,   N)rV   rW   rX   rê   rí   rZ   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 )NrA   rC   rD   rá   râ   rT   s    r*   Útest_herm_casesz!HermitianTestCase.test_herm_cases‹  rë   r,   c                 ó:   — |                       ddhdh¬¦  «         d S )NrA   rD   rC   rá   râ   rT   s    r*   Útest_empty_herm_casesz'HermitianTestCase.test_empty_herm_cases�  rî   r,   N)rV   rW   rX   rò   rô   rZ   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 )NrC   r?   rD   rá   râ   rT   s    r*   Útest_generalized_sq_casesz9LinalgGeneralizedSquareTestCase.test_generalized_sq_cases–  s5   € à×Ò -°Ð!:Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r,   c                 ó6   — |                       h d£¬¦  «         d S )N>   r?   rC   rD   ©rÙ   râ   rT   s    r*   Útest_generalized_empty_sq_casesz?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_cases›  s&   € à×ÒÐ!DÐ!DÐ!DÐÑEÔEÐEÐEÐEr,   N)rV   rW   rX   ÚpytestÚmarkÚslowrø   rû   rZ   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 )NrC   rB   rD   rá   râ   rT   s    r*   Útest_generalized_nonsq_casesz?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_cases¢  ó5   € à×Ò -°Ð!=Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r,   c                 ó6   — |                       h d£¬¦  «         d S )N>   rB   rC   rD   rú   râ   rT   s    r*   Ú"test_generalized_empty_nonsq_caseszELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_cases§  s&   € à×ÒÐ!GÐ!GÐ!GÐÑHÔHÐHÐHÐHr,   N)rV   rW   rX   rü   rý   rþ   r  r  rZ   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 )NrC   rA   rD   rá   râ   rT   s    r*   Útest_generalized_herm_casesz8HermitianGeneralizedTestCase.test_generalized_herm_cases®  r  r,   c                 ó:   — |                       h d£dh¬¦  «         d S )N>   rA   rC   rD   Únonerá   râ   rT   s    r*   Ú!test_generalized_empty_herm_casesz>HermitianGeneralizedTestCase.test_generalized_empty_herm_cases³  s7   € à×ÒÐ!GÐ!GÐ!GØ"( ð 	ñ 	+ô 	+ð 	+ð 	+ð 	+r,   N)rV   rW   rX   rü   rý   rþ   r	  r  rZ   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 )Nrt   r9   r—   .r   )r   rš   r&   rº   r�   r1   r	   )r3   Ú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 )Nrq   ).N©.r   )r   Úsolver&   r   rš   r
   r   Úbroadcast_tor�   r   r+   )rL   r3   r4   rK   rÅ   Úadotxs         r*   rP   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©rV   rW   rX   rP   rZ   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 )Ú	TestSolver1   c                 óŽ   — t          j        ddgddgg|¬¦  «        }t          t          j        ||¦  «        j        |¦  «         d S ©Nrq   ç      à?r9   )r&   r   r   r   r  r1   ©rL   r1   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©rV   rW   rX   rZ   r,   r*   ÚArraySubclassr!  Ù  ó   € € € € € ØˆDr,   r#  ro   rs   ©rs   rs   ru   )rs   rs   rs   rq   )
r&   r'   Úarangerœ   r»   r   r  r�   r   Ú
ValueError)rL   r#  r3   r4   Ú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"  rZ   r,   r*   r#  r,  ê  r$  r,   r#  ro   rs   r-   rq   rt   r   )r&   r'   r&  rœ   r»   r   r  r   r   r%   r   r   r'  ©rL   r#  r3   r4   Ú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"  rZ   r,   r*   r#  r2    r$  r,   r#  ru   rq   rs   r-   rt   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)rV   rW   rX   rü   rý   Úparametrizer   r   r   r   r  r)  r/  r3  rZ   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+   )rL   r3   r4   rK   Úa_invs        r*   rP   zInvCases.do  sW   € Ý”
˜1‘”ˆÝ�F 1 eÑ,Ô,Ý5°aÑ8Ô8ñ	:ô 	:ð 	:åÕ# E¨1Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r,   Nr  rZ   r,   r*   r6  r6    s#   € € € € € ð/ð /ð /ð /ð /r,   r6  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestInvr1   c                 óŒ   — t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        |¦  «         d S r  )r&   r   r   r   r8  r1   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"  rZ   r,   r*   r#  r?  .  r$  r,   r#  ©r   rq   rq   r9   rl   )r&   r'   ÚzerosÚint_r»   r   r8  r   r1   r$   Úfloat64r   r�   r%   Ú	complex64©rL   r#  r3   Úress       r*   r/  zTestInv.test_0_size,  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©rV   rW   rX   rü   rý   r4  r   r   r   r   r  r/  rZ   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   )rL   r3   r4   rK   ÚevÚevaluesÚevectorss          r*   rP   zEigvalsCases.do?  s9   € ÝŒ^˜AÑÔˆÝ"œJ q™MœMÑˆ�Ý˜B Ñ(Ô(Ð(Ð(Ð(r,   Nr  rZ   r,   r*   rI  rI  =  s#   € € € € € ð)ð )ð )ð )ð )r,   rI  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigvalsr1   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 ©Nrq   r  r9   r–   )r&   r   r   r   rK  r1   r<   r  s      r*   r  zTestEigvals.test_typesF  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"  rZ   r,   r*   r#  rV  O  r$  r,   r#  r@  r9   ©r   rq   rl   rm   )r&   r'   rA  rB  r»   r   rK  r   r1   r$   rC  r   r�   r%   rD  rE  s       r*   r/  zTestEigvals.test_0_sizeM  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,   NrG  rZ   r,   r*   rQ  rQ  E  s\   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIðHð Hñ JÔIðHð-ð -ð -ð -ð -r,   rQ  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   rL  ÚeigenvaluesÚeigenvectorsr   r
   r&   r   r>   r1   r   r+   )rL   r3   r4   rK   rF  r]  r^  s          r*   rP   zEigCases.dob  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  rZ   r,   r*   rY  rY  `  s#   € € € € € ð6ð 6ð 6ð 6ð 6r,   rY  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigr1   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 rS  )r&   r   r   rL  r   r1   r<   ©rL   r1   rÅ   ÚwÚvs        r*   r  zTestEig.test_typesl  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"  rZ   r,   r*   r#  rg  z  r$  r,   r#  r@  r9   rW  rl   rm   )r&   r'   rA  rB  r»   r   rL  r   r1   r$   rC  r   r�   r%   rD  ©rL   r#  r3   rF  Úres_vs        r*   r/  zTestEig.test_0_sizex  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,   NrG  rZ   r,   r*   r`  r`  k  sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð	8ð 	8ñ JÔIð	8ð+ð +ð +ð +ð +r,   r`  c                   ób   — e Zd ZdZej                             deee	e
g¦  «        d„ ¦   «         ZdS )ÚSVDBaseTestsFr1   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 )Nrq   r  r9   F©Ú
compute_uvrA   )r&   r   r   ÚsvdÚUÚSÚVhr   r1   r:   rA   )rL   r1   rÅ   rF  rp  rq  rr  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)rV   rW   rX   rA   rü   rý   r4  r   r   r   r   r  rZ   r,   r*   rk  rk  �  sO   € € € € € Ø€Ià„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð 5ð 5r,   rk  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   ro  r   r
   r&   r   r>   r1   r   r+   )rL   r3   r4   rK   ÚurË   Úvts          r*   rP   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  rZ   r,   r*   rt  rt  ž  s#   € € € € € ð,ð ,ð ,ð ,ð ,r,   rt  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 )ru   r   Trm  ©ru   ru   rl   ru   )r   ru   N)r&   rº   r   ro  rA   r   r�   Úeye)rL   rÅ   rv  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 )Nrq   r  Frm  )r&   r   r   ro  rA   Úsvdvalsr   )rL   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)rV   rW   rX   r~  rƒ  rZ   r,   r*   ry  ry  ©  s2   € € € € € ð$ð $ð $ð8ð 8ð 8ð 8ð 8r,   ry  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©rA   .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*   rA   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   ro  r   r
   r&   r   r>   r1   r   r  r|  r�   r   Úsortr   r+   )rL   r3   r4   rK   rv  rË   rw  rA   s           r*   rP   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  rZ   r,   r*   r…  r…  ¿  s#   € € € € € ð,ð ,ð ,ð ,ð ,r,   r…  c                   ó   — e Zd ZdZdS )ÚTestSVDHermitianTN)rV   rW   rX   rA   rZ   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 )NrD   F)rn  r  ).r–   r†   r„   ©r5   r6   rs   r—   rq   r–   Úfro)r   r   r   r   Úcondro  r   r&   r8  r§   ÚsumÚmaxÚminr   Úsqrt)rL   r3   r4   rK   ÚcrË   Úcinvs          r*   rP   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  rZ   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)rb   r   rq   )r   g       Àr   )r   r   rd   ru   gUUUUUUå?rq   r–   r  r–  gUUUUU6@)r   r   r   r—  r   r&   r›  ©rL   Ú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°#Ñ6Ô6Ð6Ý�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%  ©Nrq   rs   r–  r–   r—   ç  4&õkC)r&   rA  Úonesr¶   r·   r   r   r—  )rL   Ú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)Nrq   r–   rs   r—   r–  r¥  r%  rW  )rt   rs   rs   ©rq   r   rq   rq   r   r¦  rs   )	r&   r§  Únanr   r—  r   r%   rC  Úisnan)rL   Úpsr©  r¢  r«  rœ  s         r*   Útest_nanzTestCond.test_nan  sX  € ð
 )Ð(Ð(ˆØ#Ð#Ð#ˆåŒG�F‰OŒOˆÝ”ˆˆ#‰Øð 	!ð 	!ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•J˜q¥"¤*Ñ-Ô-Ñ.Ô.Ð.Ý•B”H˜Q‘K”KÑ Ô Ð Ð åŒG�IÑÔˆÝ”6ˆˆ%‰Øð 	,ð 	,ˆ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 )	Nra   rs   r   rl   r´   )Nrq   rs   r–  r–   r—   rW  ©rq   r   )
r&   ÚrandomÚseedÚrandr   r—  r   r   r   Úisfinite)rL   r¢  r«  rœ  s       r*   Útest_stacked_singularzTestCond.test_stacked_singular7  sÔ   € õ 	Œ	�Š�tÑÔÐÝŒI�NŠN˜1˜a  AÑ&Ô&ˆØˆˆ#‰Øˆˆ#‰à,ð 	)ð 	)ˆAÝ”˜A˜qÑ!Ô!ˆAÝ˜˜3œ¥¤Ñ(Ô(Ð(Ý˜˜3œ¥¤Ñ(Ô(Ð(Ý•B”K  #¤Ñ'Ô'Ñ(Ô(Ð(Ý•B”K  #¤Ñ'Ô'Ñ(Ô(Ð(Ð(ð	)ð 	)r,   N)
rV   rW   rX   r£  r¬  rü   rý   Úxfailr´  r»  rZ   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+   ©rL   r3   r4   rK   Úa_ginvr   s         r*   rP   zPinvCases.doL  sa   € Ý”˜Q‘”ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r,   Nr  rZ   r,   r*   r¾  r¾  G  s#   € € € € € ð
0ð 0ð 0ð 0ð 0r,   r¾  c                   ó   — e Zd ZdS )ÚTestPinvNr"  rZ   r,   r*   rÅ  rÅ  T  ó   € € € € € Ø€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*   rP   zPinvHermitianCases.doZ  sh   € Ý”˜Q¨$Ð/Ñ/Ô/ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r,   Nr  rZ   r,   r*   rÈ  rÈ  X  s#   € € € € € ð0ð 0ð 0ð 0ð 0r,   rÈ  c                   ó   — e Zd ZdS )ÚTestPinvHermitianNr"  rZ   r,   r*   rË  rË  b  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©rq   rs   rt   )ru   rq   rq   )rs   rt   rq   r  ©Úrcondr[  z%`rtol` and `rcond` can't be both set.)Úmatch)rÏ  r\  )r&   r   r   r   rÁ  rü   Úraisesr'  )r3   s    r*   Útest_pinv_rtol_argrÒ  f  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   rq   )r   ÚdetÚslogdetÚsignÚ	logabsdetr   r1   r$   r   r   Úastyper   rK  r   r   Úreducer&   ÚexpÚ
atleast_1dr§   r   r   )rL   r3   r4   rK   ÚdrF  rË   ÚldÚadrM  Úms              r*   rP   zDetCases.dov  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  rZ   r,   r*   rÔ  rÔ  t  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   rq   )r   r   rØ  r$   r   r   rÙ  r   rT   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,   r1   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Ø  r1   rÙ  r:   )rL   r1   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 )Nrl   r9   rb   r¶  r   rq   )r&   rA  rD  r   rØ  r   r   r1   r$   rÙ  Úfloat32rC  )rL   r3   rF  s      r*   r/  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)rV   rW   rX   rè  rü   rý   r4  r   r   r   r   r  r/  rZ   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   rs   rÖ  rq   r£   )r&   r   r�   r   ro  Úlstsqr   r¿   r   r   r   Ú__array_wrap__r§   r˜  rš   r   r»   r$   Ú
issubdtyper1   Úfloatingr+   )rL   r3   r4   rK   Úarrrã  Únrv  rË   rw  rÅ   Ú	residualsÚrankÚsvÚexpect_residss                  r*   rP   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  rZ   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ç  rb   rç  rb   rc   rç  )rç  rc   rç  rç  rb   rç  )rb   rç  rb   rç  rç  re   )rç  rç  rç  rc   rd   rç  )rq   r   r   r   r   r   r–   rÎ  ru   rt   )r&   r   ÚTr   rð  r   )rL   r3   r4   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))ru   rs   rs   )r   ru   rq   )r   ru   rs   )ru   r   rq   )ru   r   rs   )ru   rs   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   rm   r—   rÖ  )r&   r&  rœ   r§  r   rð  r   r¿   r   r�   r   r   r˜  rš  )rL   rã  rõ  rÿ  r3   r4   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   rq   rs   rt   )r–   gš™™™™™É?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ @gffffff
@zIncompatible dimensionsrÎ  )
r&   r   Úvstackr§  Úlenrý  r   r   r   rð  )rL   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)	rV   rW   rX   rþ  rü   rý   r4  r  r  rZ   r,   r*   rû  rû  Ñ  sz   € € € € € ðð ð ð „[×ÒÐ0Ð0Ð0ð 3ð 3ð 3ñ ô ð,ð ,ñô ð,ð+ð +ð +ð +ð +r,   rû  Údtc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rZ   )r&   r1   )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 )ÚTestMatrixPowerru   )rt   r   rq   rs   )rs   rt   r   rq   )rq   rs   rt   r   rq   r   rs   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 )Nrs   éd   i   é    r   rq   rt   )Úrshft_1rÜ  r   r   Úrshft_0Úrshft_2Úrshft_3)rL   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  r1   )ÚMÚmzs     r*   Útzz.TestMatrixPower.test_power_is_zero.<locals>.tz  sD   € Ý˜a Ñ#Ô#ˆBÝ˜Õ6°qÑ9Ô9Ñ:Ô:Ð:Ý˜œ 1¤7Ñ+Ô+Ð+Ð+Ð+r,   ©Ú	rshft_allrÜ  ÚobjectÚstacked©rL   r  r  rŽ  s       r*   Útest_power_is_zeroz"TestMatrixPower.test_power_is_zero  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 )Nrq   )r   r   r1   )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 )Nrs   )r   r1   r  r
   r   r   )rŽ  r  Úmmuls      r*   r  z-TestMatrixPower.test_power_is_two.<locals>.tz1  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_two0  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   r1   r  r
   r   r   r  )rŽ  Úinvmatr'  s      r*   r  z3TestMatrixPower.test_power_is_minus_one.<locals>.tz=  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_one<  sY   € ð	Cð 	Cð 	Cð ”>ð 	#ð 	#ˆCØ˜œÐ%Ð%Ø��3—:’:˜b‘>”>Ñ"Ô"Ð"øð	#ð 	#r,   c                 ó¬   — | j                              |¦  «        }t          t          t          |d¦  «         t          t          t          |dg¦  «         d S )Ng      ø?rq   )r  rÜ  r   Ú	TypeErrorr   ©rL   r  rŽ  s      r*   Útest_exceptions_bad_powerz)TestMatrixPower.test_exceptions_bad_powerG  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 )Nrq   rs   )ru   rt   rs   )r   r   r   r&   r   r§  )rL   r  s     r*   Útest_exceptions_non_squarez*TestMatrixPower.test_exceptions_non_squareL  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   r1  s      r*   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertibleQ  sC   € à�”ÐÐØˆFØŒk× Ò  Ñ$Ô$ˆÝ•k¥<°°bÑ9Ô9Ð9Ð9Ð9r,   N)rV   rW   rX   r&   r|  r  r  r  r  r  r   r8  Úblockr  r  r1   r-  r  r!  r$  r(  r.  r2  r4  rü   rý   Úskipifr!   r9  rZ   r,   r*   r  r    sb  € € € € € ð ˆ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[  rp  )r   ÚeigvalshrL  r�  r   r>   r1   )rL   r3   r4   rK   rM  rN  rO  Úev2s           r*   rP   zTestEigvalshCases.do[  s�   € õ Œ_˜Q Ñ$Ô$ˆÝ"œJ q™MœMÑˆ�Ø�Š˜"ˆÑÔÐÝ˜˜G­(°2´8Ñ*<Ô*<Ð=Ñ=Ô=Ð=åŒo˜a Ñ%Ô%ˆÝ˜˜W­8°B´HÑ+=Ô+=Ð>Ñ>Ô>Ð>Ð>Ð>r,   Nr  rZ   r,   r*   r=  r=  Y  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 )ÚTestEigvalshr1   c                 óÀ   — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        }t	          |j        t          |¦  «        ¦  «         d S r  )r&   r   r   r@  r   r1   r:   )rL   r1   rÅ   rc  s       r*   r  zTestEigvalsh.test_typesh  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 ©Nrq   r  r9   Úlrong©ÚUPLOÚlowerÚupper)r&   r   rì  r   r'  r   r@  ©rL   rÅ   s     r*   Útest_invalidzTestEigvalsh.test_invalidn  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   rq   r9   r–   r[  r?  rH  Úlrp  rv  )r&   r   r   r>   r   r@  r   )rL   ÚKloÚKupÚtgtr\  rc  s         r*   Ú	test_UPLOzTestEigvalsh.test_UPLOt  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"  rZ   r,   r*   r#  rW  Œ  r$  r,   r#  r@  r9   rW  rl   rm   )r&   r'   rA  rB  r»   r   r@  r   r1   r$   rC  r   r�   r%   rD  rì  rE  s       r*   r/  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©rV   rW   rX   rü   rý   r4  r   r   r   r   r  rM  rT  r/  rZ   r,   r*   rC  rC  g  sz   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð
Bð Bð Bð+ð +ð +ð,-ð -ð -ð -ð -r,   rC  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[  rp  )r\  Úerr_msg)r   Úeighr]  r^  rL  r�  r   r   r
   r&   r   r>   r1   Úrepr)rL   r3   r4   rK   rF  rM  ÚevcrN  rO  rA  Úevc2s              r*   rP   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  rZ   r,   r*   rZ  rZ  �  s(   € € € € € ðBð Bð Bð Bð Br,   rZ  c                   óp   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ ZdS )ÚTestEighr1   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   r1   r:   rb  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 rF  )r&   r   rì  r   r'  r   r]  rL  s     r*   rM  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 rO  )r&   r   r   r>   r   r]  r   )rL   rQ  rR  rS  r\  rc  rd  s          r*   rT  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"  rZ   r,   r*   r#  rh  Ú  r$  r,   r#  r@  r9   rW  rl   rm   )r&   r'   rA  rB  r»   r   r]  r   r1   r$   rC  r   r�   r%   rD  rì  rh  s        r*   r/  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,   NrX  rZ   r,   r*   rb  rb  ´  sw   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð%ð %ñ JÔIð%ð>ð >ð >ð+ð +ð +ð,+ð +ð +ð +ð +r,   rb  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#   )	Ú
issubclassr1   r$   r&   Úinexactr   Úrealr   ró  )rÅ   rF  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,   )rV   rW   rX   r  ÚdecÚstaticmethodro  rZ   r,   r*   rj  rj  ï  s7   € € € € € Ø	€BØ
€Càð=ð =ñ „\ð=ð =ð =r,   rj  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ç  r9   )r   r   r   r  r   rT   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   rs   rq   rc   r  ru   g      Ð?rb   )r&   r   Ú	typecodesrÜ  r   r   ro  r   r   ÚfilterÚRuntimeWarningr1   r$   ©	rL   r3   Ú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¸¼¿ºÀgÑ8NÔ8NÑ$NÑOÔOÐOå�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀgÑ8NÔ8NÑ$NÑOÔOÐOå�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)rq   rs   rt   ru   )r–   r—   r¥   r¤   )r–   rs   r¥   ru   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Ò­è@©r0   re   rb   rq   ç      $@r–   g¸…ëQ¸Þ?rs   r—   gÊsÔcÙÑê?r   ru   )r&   Útestingr   r   rp  r   )rd  rL   s    €r*   Ú_testz+_TestNormGeneral.test_vector.<locals>._test1  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,   r9   )r   r  )rL   r3   r4   rœ  r‹  rd  s   `     r*   Útest_vectorz_TestNormGeneral.test_vector,  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Í  ©ru   r†   r-   r9   r–   r   rq   rs   rt   c                 óF   •— g | ]}t          ‰d d …|f         ‰¬¦  «        ‘ŒS ©N©Úord©r   ©r¨   Úkr¢  Úorders     €€r*   r©   z._TestNormGeneral.test_axis.<locals>.<listcomp>P  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>R  s2   ø€ ÐMÐMÐM°a�˜a  1 1 1 œg¨5Ð1Ñ1Ô1ÐMÐMÐMr,   é   ru   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>h  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>k  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'  )rL   Ú	expected0Ú	expected1Úndr×  Úrow_axisÚcol_axisrõ  r.  r¢  rž  rŸ  r–  s            @@@@r*   Ú	test_axisz_TestNormGeneral.test_axisJ  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 )Nrq   r™  r9   rs   rt   ru   zorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}r—  T)r’  r×  Úkeepdims)r\  )rq   rq   rq   r–   r   r—   r–  Únuc)r&   r&  r  rœ   r   r   ÚsqueezeÚformatr   r�   r   r‹  rš   rÁ   r¸   r¶   Úpermutations)	rL   r¢  Úallclose_errÚ	shape_errr.  ÚfoundÚexpected_shaper–  r•  s	            r*   Útest_keepdimsz_TestNormGeneral.test_keepdimso  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)rV   rW   rX   ru  r…  rŒ  r§  r²  rZ   r,   r*   rs  rs  ü  si   € € € € € ðFð Fð Fð
')ð ')ð ')ðRð ð ð<#5ð #5ð #5ðJ(Qð (Qð (Qð (Qð (Qr,   rs  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 )Nr9   rç  )r   r   r   r  rT   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°  r@  rw  ÚfdFDrc   ry  r–   rb   rq   rs   gªLXèz¶û?r—   r–  rª  gU&,t=Û@r-   rˆ  )r   r&   rz  rÜ  r   r   ro  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 Ñ$Ô$Ð$Ý  NÑ3Ô3Ð3å�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 )Nrq   rt   r†   r“   r9   g…¹ŽT"@r–  rª  r‰  g      (@re   r–   rg   rs   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†   )rt   rs   rq   r9   grj=Q0î?r–  rª  gþB+pcõ?gš™™™™™ñ?g333333ã?rq   rb   r–   gš™™™™™Ù?rs   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Ž  r9   rq   r™  rs   rt   ru   r–  r   rª  Útest©r   rt   rW  )rq   rs   ©rs   rt   ©r   rq   rs   )	r   r  r&   r&  rœ   r   r'  r   r   )rL   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)
rV   rW   rX   r&   r   r¶  r¹  r¼  r¾  rÄ  rZ   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"  rZ   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é
   r9   rt   r‘  gÍÌÌÌÌL)@rs   rˆ  )r&   r&  Ú
longdoubler2   r   rL  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   €r9   rt   r‘  l        r†   rˆ  )r&   r   Úint32r2   r   rL  s     r*   Útest_intminz"TestNorm_NonSystematic.test_intmin  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©rs   r9   y      @      @r   y      À      @rq   g¨ËþÿV;'@rt   r‘  rÊ  rˆ  é	   r†   )	r&   rº   Úclongdoubler2   r   r   rÜ  Ú
complex128rD  )rL   rà  rF  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)rV   rW   rX   rÌ  rÏ  rÕ  rZ   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)rV   rW   rX   r&   r   r  rp  rZ   r,   r*   r×  r×  2  s   € € € € € Ø	Œ€BØ
€C€C€Cr,   r×  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormSingleBaser-   N)rV   rW   rX   r&   rì  r  rp  rZ   r,   r*   rÙ  rÙ  7  s   € € € € € Ø	Œ€BØ
€C€C€Cr,   rÙ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormInt64Baser.   N)rV   rW   rX   r&   Úint64r  rp  rZ   r,   r*   rÛ  rÛ  <  s   € € € € € Ø	Œ€BØ
€C€C€Cr,   rÛ  c                   ó   — e Zd ZdS )ÚTestNormDoubleNr"  rZ   r,   r*   rÞ  rÞ  A  rÆ  r,   rÞ  c                   ó   — e Zd ZdS )ÚTestNormSingleNr"  rZ   r,   r*   rà  rà  E  rÆ  r,   rà  c                   ó   — e Zd ZdS )ÚTestNormInt64Nr"  rZ   r,   r*   râ  râ  I  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 )Nru   rç  ©r–   r–   rt   r{  r   )rq   r   r   r   rq   )ru   )rt   ru   r   z#`tol` and `rtol` can't be both set.g{®Gáz„?)Útolr\  )r   r   r&   r|  rA  r   r   r'  )rL   ÚIÚmss      r*   Útest_matrix_rankzTestMatrixRank.test_matrix_rankO  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¨e¡_¤_Ð5Ñ6Ô6ˆÝ•[ ‘_”_¥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 )Nru   Tr‡  rq   r{  r   rç  ræ  rt   g:Œ0âŽyE>g¾Ü|"•BE>)rA   rç  gµ;ä¡ˆ°E>)r   r   r&   r|  r§  rA  )rL   rè  s     r*   Útest_symmetric_rankz"TestMatrixRank.test_symmetric_rankh  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)rV   rW   rX   rê  rì  rZ   r,   r*   rä  rä  M  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Ê  ©Úsizerq   rs   r   rÒ  ru   r†   rt   ro   )r&   r·  ÚRandomStater‹  Únormalr   r   )ÚrngÚiÚXs      r*   Útest_reduced_rankrö  v  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$   r1   r�   rš  r   ÚqrÚQÚRr   r%   r   r   rý  rŒ  r&   r|  Útriu)rL   r3   Úa_typeÚa_dtyperã  rõ  r•  rF  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õ  )©rt   r   rÁ  rl   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   r1   r   r�   )rL   rã  rõ  r•  r3   Ú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 )Nrq   rs   rt   ru   r†   r-   r9   r
  rû  rÂ  rÑ  r•   )	r   r&   r   r   rþ  r   r1   r�   rý  )rL   r3   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 )	Nrq   rs   rt   ru   r†   r-   Úfdù              ð?)r   rÜ  r  rý  )rL   r3   r4   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–   rs   .rý  r  )r$   r1   r�   rš  r   rþ  r   r%   r   r
   r&   r	   r  r   rŒ  r  )rL   r3   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Øœ   œ¨¬°¬ ~°aÑ'7Ñ7ñ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Øœ  " œ¨¬°"¬¨¸Ñ(9Ñ9ñ;ô ;ˆå�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ð  ))rt   ru   )ru   rt   r{  r  rÁ  Ú
outer_size)r%  rÑ  )rs   rt   ru   r  c                 óT  — t           j                             d¦  «        }|                     ||z   ¬¦  «                             |¦  «        }|                     ||z   ¬¦  «                             |¦  «        }|                      |¦  «         |                      |d|z  z   ¦  «         d S )Né{   rï  r  )r&   r·  Údefault_rngrò  rÜ  r  )rL   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 # a¡%™iÑ(Ô(Ð(Ð(Ð(r,   N)rV   rW   rX   r&   r   r  rü   rý   r4  r  r  r  r  r   r   r   r   r  rZ   r,   r*   rø  rø  ƒ  sI  € € € € € àŒH€Eð%$ð %$ð %$ðP „[×Ò˜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%  ©rt   rt   )é2   r#  )rt   rÊ  rÊ  r1   rK  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 )Nrq   r  )r–   r—   r—   r9   ©rK  iô  r   ú ú
)Úatolr\  r–   )Úaxis1Úaxis2)r&   r·  r¸  Úrandnrò  ÚcomplexfloatingrÁ   r‹  r  r
   r�  rŒ  r   r   Úcholeskyr�   ÚfinfoÚepsr   Údiagonalr   r¿   Úisreal)
rL   r�   r1   rK  r3   Útrœ  r4   r(  rà  s
             r*   Útest_basic_propertyz TestCholesky.test_basic_property'  sÙ  € õ 	Œ	�Š�qÑÔÐÝŒIŒO˜UÐ#ˆÝŒ=˜¥Ô 2Ñ3Ô3ð 	/Ø�B•r”y”¨Ð.Ñ.Ñ.ˆ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"  rZ   r,   r*   r#  r6  L  r$  r,   r#  r@  r9   )rq   r   r   )r&   r'   rA  rB  r»   r   r-  r   r�   r   r1   r$   rC  r%   rD  rE  s       r*   r/  zTestCholesky.test_0_sizeK  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Œ  )rL   r3   s     r*   Útest_upper_lower_argz!TestCholesky.test_upper_lower_arg[  s‘   € åŒH�t˜T�l T¨4 LÐ1Ñ2Ô2ˆå•V”_ QÑ'Ô'­¬¸À%Ð)HÑ)HÔ)HÑIÔIÐIåÝŒO˜A TÐ*Ñ*Ô*ÝŒO˜AÑÔÔ ×%Ò%Ñ'Ô'ñ	
ô 	
ð 	
ð 	
ð 	
r,   N)rV   rW   rX   rü   rý   r4  r&   rì  rC  rD  rÔ  r3  r/  r8  rZ   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 )Ú	TestOuterrt   r   rÃ  )r   rs   ru   z$Input arrays must be one-dimensionalN)rV   rW   rX   r&   r&  Úarr1Úarr2r   r.  r   r   Úouterr   r'  ÚnewaxisrZ   r,   r*   r:  r:  g  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ú<rS   ru   r9   rq  ú=)ÚsysÚ	byteorderr&   rì  rC  r|  r»   r1   ÚnewbyteorderÚbyteswapr   r   r8  rØ  rÁ  r   )ÚnativeÚdttrô  Ún_arrÚsw_arrÚroutinerF  s          r*   Útest_byteorder_checkrL  x  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,   r5  r6  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 )Nrq   rs   rt   ru   )ru   ru   rs   rs   .rl   )r&   r   rA  r   r   r   r8  )Ú
invertibleÚnon_invertiblerÅ   s      r*   Ú test_generalized_raise_multilooprP  �  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 threadsc                  óª  — 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   rq   rl   rb   zDORGQR parameter number 5zNumpy xerbla not linked in.)ÚosÚforkÚOSErrorÚAttributeErrorrü   ÚskipÚcloseÚresourceÚ	setrlimitÚRLIMIT_COREr&   r   Úlapack_liteÚxerblar'  rÕ   Ú_exitÚ	EX_CONFIGr   ÚdorgqrrH   ÚwaitÚWEXITSTATUS)Ú	XERBLA_OKÚpidrY  r3   rÛ   Ústatuss         r*   Útest_xerbla_overriderf  ›  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)rk  rj  rl  )ÚtextwrapÚdedentr¬  Ú
subprocessÚ
check_callrC  Ú
executable)Úbad_libsÚtemplaterl  Úcodes       r*   Útest_sdot_bug_8577ru  Ï  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-   rs   ©rs   r-   ©r&   r·  r   r   r   )rL   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 ry  r|  )rL   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 )Nrz  r{  ©rs   rq   r|  )rL   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 )Nrs   r{  rz  r%  rÑ  ©r&   r·  r   r   r�   )rL   Ú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 )Nrz  r{  rs   )r-   r†  )rL   r¢  rž  r}  ÚD1ds        r*   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argument  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 )Nrs   r{  rz  rZ   r†  )rL   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 )Nrz  r{  ©r(   ©r&   r·  rA  r   r   r   )rL   r¢  rž  r}  r(   Úrets         r*   Útest_three_arguments_and_outz)TestMultiDot.test_three_arguments_and_out.  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 )Nrz  r{  )r-   r-   r�  r�  )rL   r¢  rž  r(   r‘  s        r*   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_out;  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 )Nrz  r{  r‚  )r-   rq   r�  r�  )rL   r¢  rž  r}  rƒ  r(   r‘  s          r*   Ú-test_dynamic_programming_optimization_and_outz:TestMultiDot.test_dynamic_programming_optimization_and_outE  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   rq   rq   rt   rt   rt   )r   r   rs   rt   rt   rt   )r   r   r   rt   rt   rt   )r   r   r   r   ru   r†   )r   r   r   r   r   r†   )r   r   r   r   r   r   r9   rq   T)Úreturn_costsr–   )r&   r·  r   Úintr   r   r  )rL   ÚarraysÚ
m_expectedÚ
s_expectedrË   rã  s         r*   Útest_dynamic_programming_logicz+TestMultiDot.test_dynamic_programming_logicQ  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·  rT   s    r*   Útest_too_few_input_arraysz&TestMultiDot.test_too_few_input_arrayso  s?   € Ý•j¥)¨RÑ0Ô0Ð0Ý•j¥)­b¬i×.>Ò.>¸vÑ.FÔ.FÐ-GÑHÔHÐHÐHÐHr,   N)rV   rW   rX   r~  r€  r„  rˆ  r‹  r�  r’  r”  r–  r¡  r£  rZ   r,   r*   rw  rw  ó  sÄ   € € € € € ðKð Kð Kð=ð =ð =ðMð Mð Mð<ð <ð <ð<ð <ð <ð<ð <ð <ð:ð :ð :ð/ð /ð /ð
9ð 
9ð 
9ð=ð =ð =ð<Ið Ið Ið Ið Ir,   rw  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©ru   r-   ro   rs   rs   ©rt   rt   rs   rq   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)rL   rô  rª  s      r*   Útest_non_square_handlingz&TestTensorinv.test_non_square_handlingv  sŒ   € õ
 �;Ñ'Ô'ð 	+ð 	+ÝÔ˜S cÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   •9¹=Á =z
shape, ind)©ru   r-   ro   rt   rs   )©é   ro   rt   rq   c                 óÔ   — t          j        d¦  «        }||_        t          j        ||¬¦  «        }|j        |d …         |j        d |…         z   }|j        }t          ||¦  «         d S )Nr¯  ©r3   rª  )r&   r|  r�   r   r«  r   )rL   r�   rª  r3   Úainvr.  Ú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«  )rL   rª  r3   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®  rq   r©  )	r&   r|  r�   r   r«  r§  r   Ú	tensordotÚtensorsolve)rL   r3   r²  r4   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)rV   rW   rX   rü   rý   r4  r&   r§  r¬  r´  r¶  rº  rZ   r,   r*   r¥  r¥  t  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   rs   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 ©Nrs   r‰  )r   r   r&   r§  r�   r   r¹  )rL   r3   rŠ  r4   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�   ))rs   rt   r-   )rt   ru   ru   rt   )r   rt   rt   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  )rL   r�   r3   r4   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,   )
rV   rW   rX   rü   rý   r4  r&   r§  r¬  rÀ  rZ   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 )Nrq   r—   rs   r†   Úfloat16r9   zunsupported in linalg)r&   r   r   r0  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ì        rq   r9   )r   r–   )r&   rA  rì  r§  r   r   )rõ  r3   r4   rœ  s       r*   Útest_blas64_dotrÆ  ½  sm   € à€AÝ
Œ�!�Q��rœzÐ*Ñ*Ô*€AÝ
Œ��A��bœjÐ)Ñ)Ô)€AØ€A€d�GÝ
Œˆq�!‰Œ€AÝ��4”˜!ÑÔÐÐÐ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       rq   r9   r–   r   Úinforã  rõ  rÅ  l        )
r&   rC  r   r\  ÚdgeqrfrA  r   r�  Úitemr   )
r1   Úlapack_routinerã  rõ  Úldar3   Ú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é<   ©rt   ru   r†   )r   r-   r.   é   )r›  é   r  é&   )rî  é.   é4   é:   )r&   r&  rœ   r   r0  r   r   ©rÅ   r³  r.  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"  rq   )r–   rs   r–   rÍ  rŽ  )r¥   r-   r¥   z8input arrays must be \(arrays of\) 3-dimensional vectors)	r&   r&  rœ   r   Úcrossr   r   r   r'  )rÅ   r³  r.  rv  rd  Ú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   rW  r‰  )r&   r&  rœ   r   r¸  )rÅ   s    r*   Útest_tensordotrè  	  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î  +	  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"  çž^)Ë�,@rt   ©r6   T©r©  )r&   r&  rœ   r   Úmatrix_normr   rC  r   )rÅ   r³  s     r*   Útest_matrix_normrô  8	  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                  ó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ð  rt   rñ  r   rÖ  )gÚ|a2Õ@gsh‘í|? @gDioð…I#@Trò  r´   rC  r9   )r&   r&  rœ   r   Úvector_normr   rC  r   Úfullr   r�   rÚ  s      r*   Útest_vector_normrø  C	  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,   )r-   r.   )�Ú__doc__rS  rC  r¶   Ú	threadingrÖ   rm  ro  rü   Únumpyr&   r   r   r   r   r   r   r	   r
   Únumpy._corer   Únumpy.exceptionsr   r   r   r   r   r   Únumpy.linalgr   r   r   r   r   Únumpy.linalg._linalgr   Únumpy.testingr   r   r   r   r   r   r   r   r    r!   Únumpy.linalg.lapack_liteÚImportErrorr+   r2   r:   r<   r>   r\   rF   r`   r·  r¸  r™   rº   r¹  r    rÌ   rÐ   rÒ   rß   rè   rð   rö   r   r  r  r  r  r6  r;  rI  rQ  rY  r`  rk  rt  ry  r…  r‘  r“  rŸ  r¾  rÅ  rÈ  rË  rÒ  rÔ  rå  rî  rû  rý   r4  r  r=  rC  rZ  rb  rj  rs  r´  rÆ  rÈ  r×  rÙ  rÛ  rÞ  rà  râ  rä  rö  rø  r!  r:  rL  r;  rP  Úactive_countrf  rþ   ru  rw  r¥  r¼  rÃ  rW  rÆ  r¼  rÐ  rÛ  rá  rå  rè  rë  rî  rô  rø  rZ   r,   r*   ú<module>r     sí  ððð ð 
€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€à Ð Ð Ð Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ  Ð  Ð  Ð  Ð  Ð  Ø &Ð &Ð &Ð &Ð &Ð &Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø 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
(ð 
(ð 
(ð_)ð _)ð _)ð _)ð _)ñ _)ô _)ð _)ðD?
ð ?
ð ?
ð ?
ð ?
ñ ?
ô ?
ð ?
ðD3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð"5ð 5ð 5ð* „×Ò�GÐ$BÐÑCÔCð;ð ;ñ DÔCð;ð „×ÒØ€IÔÑÔ˜qÒ ØLð ñ Nô Nð.7ð .7ñ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ð<ð <ð <ð <ð <s   ÂB ÂBÂB