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

é    N)ÚarrayÚasarrayÚ
atleast_2dÚcdoubleÚcsingleÚdotÚdoubleÚidentityÚinfÚlinalgÚmatmulÚmultiplyÚsingle)Úswapaxes)Ú	AxisError)ÚLinAlgErrorÚmatrix_powerÚmatrix_rankÚ	multi_dotÚnorm)Ú_multi_dot_matrix_chain_order)
ÚHAS_LAPACK64ÚIS_WASMÚNOGIL_BUILDÚassert_Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                 óŠ   — t          | ¦  «        t          |t          j        ¦  «        rt          |¦  «        nt          j        u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr+   9   s9   € õ �‰9Œ9¥j°µb´jÑ&AÔ&Að )�˜c™œ˜Ý œjð*ð *ó    é   é   c                 ó~   — t          | ¦  «        j        j        t          t          fv r|}n|}t          | |fd|i|¤Ž d S )NÚdecimal)r   Údtyper$   r   r   Úold_assert_almost_equal)ÚaÚbÚsingle_decimalÚdouble_decimalÚkwr0   s         r*   r   r   C   sM   € Ýˆq�z„zÔÔ¥­Ð 1Ð1Ð1Ø ˆˆà ˆÝ˜A˜qÐ8Ð8¨'Ð8°RÐ8Ð8Ð8Ð8Ð8r,   c                 ór   — t           t           t          t          t          t           t          t          i|          S r#   )r   r	   r   r   ©r1   s    r*   Úget_real_dtyper:   K   s&   € Ý•F�F¥FÝ•V�W¥fð.Ø.3ô5ð 5r,   c                 ór   — t           t          t          t          t          t          t          t          i|          S r#   )r   r   r	   r   r9   s    r*   Úget_complex_dtyper<   P   s&   € Ý•G�V¥WÝ•W�g¥wð0Ø05ô7ð 7r,   c                 ó*   — | t           t          fv rdS dS )Ngñhãˆµøä>g•dyáý¥=)r   r   r9   s    r*   Úget_rtolr>   U   s   € à•�Ð!Ð!Ð!Øˆtàˆur,   >   ÚsquareÚstridedÚ	hermitianÚ	nonsquareÚgeneralizedúsize-0c                   ó4   — e Zd Z e¦   «         fd„Zd„ Zd„ ZdS )Ú
LinalgCasec                 óœ   — t          t          |t          ¦  «        ¦  «         || _        || _        || _        t          |¦  «        | _        dS )z¢
        A bundle of arguments to be passed to a test case, with an identifying
        name, the operands a and b, and a set of tags to filter the tests
        N)r   r%   ÚstrÚnamer3   r4   Ú	frozensetÚtags)ÚselfrI   r3   r4   rK   s        r*   Ú__init__zLinalgCase.__init__e   sB   € õ
 	•
˜4¥Ñ%Ô%Ñ&Ô&Ð&ØˆŒ	ØˆŒØˆŒÝ˜d‘O”OˆŒ	ˆ	ˆ	r,   c                 ó@   —  || j         | j        | j        ¬¦  «         dS )zN
        Run the function `do` on this test case, expanding arguments
        ©rK   N)r3   r4   rK   )rL   Údos     r*   ÚcheckzLinalgCase.checkp   s'   € ð 	ˆˆ4Œ6�4”6 ¤	Ð*Ñ*Ô*Ð*Ð*Ð*r,   c                 ó   — d| j         › d�S )Nz<LinalgCase: ú>)rI   ©rL   s    r*   Ú__repr__zLinalgCase.__repr__v   s   € Ø+˜tœyÐ+Ð+Ð+Ð+r,   N)Ú__name__Ú
__module__Ú__qualname__ÚsetrM   rQ   rU   © r,   r*   rF   rF   d   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`   z   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>B  s&   € ÐBÐBÐB¡D A q•S˜˜Q™‘Z”ZÐBÐBÐBr,   c              3   ó8   K  — | ]}t          d d |¦  «        V — Œd S r#   )Úslice)r¨   Úrepeats     r*   ú	<genexpr>z$_stride_comb_iter.<locals>.<genexpr>C  s.   è è € ÐGÐG°V•u˜T 4¨Ñ0Ô0ÐGÐGÐGÐGÐGÐGr,   r9   l   ï>[= .Ústride_Ú_c                 ó   — g | ]}d |z  ‘ŒS )z%+drZ   )r¨   Újs     r*   r©   z%_stride_comb_iter.<locals>.<listcomp>L  s   € Ð'CÐ'CÐ'C°a¨°©	Ð'CÐ'CÐ'Cr,   r   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©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Í   1  s©  è è € õ
 �a�œÑ$Ô$ð Ø�ˆhˆˆˆØˆà�˜!œ&‘€JØ€Jˆr�NØ„v�‚z€zØ#ˆ
�2‰Ø„v�‚z€zØ ˆ
�2‰åÔ$¥e¨JÑ&7Ô&7Ð8ð 'ñ 'ˆØBÐB­C°´¸Ñ,AÔ,AÐBÑBÔBˆ	ÝÐGÐG¸wÐGÑGÔGÑGÔGˆõ ŒX�i q¤wÐ/Ñ/Ô/ˆØ
�Š•”	ÑÔ×Ò 
Ñ+Ô+Ð+Ø�ŒZˆØˆˆ3‰Ø�WŠW�Q”[Ñ!Ô!ˆÝ•”�r˜Q’w‘”Ñ Ô Ð Ø�)˜cŸhšhÐ'CÐ'C¸7Ð'CÑ'CÔ'CÑDÔDÑDÐDÐDÐDÐDð Œ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØ�nÐ$Ð$Ð$Ð$ØŒ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ØŒ6�QŠ;ˆ;˜1œ7 3 B 3œ<¨6Ò1Ð1Ý�Q”Y‘”ˆAØˆAˆb‰EØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ùð;'ð 'r,   c            
      ó
  — g } t           D ]x}t          |j        ¦  «        D ]a\  }}t          |j        ¦  «        D ]G\  }}t	          |j        dz   |z   dz   |z   |||j        dhz  ¬¦  «        }|                      |¦  «         ŒHŒbŒy| S )Nr¯   r@   rO   )r™   rÍ   r3   r4   rF   rI   rK   r›   )rž   r_   r3   Úa_labelr4   Úb_labelrŸ   s          r*   Ú_make_strided_casesrÑ   a  s¹   € Ø€IÝð +ð +ˆÝ+¨D¬FÑ3Ô3ð 	+ð 	+‰JˆAˆwÝ/°´Ñ7Ô7ð +ð +‘
��7Ý% d¤i°#¡o¸Ñ&?À#Ñ&EÈÑ&OÐQRÐTUØ+/¬9¸	°{Ñ+BðDñ Dô D�à× Ò  Ñ*Ô*Ð*Ð*ð+ð	+ð
 Ðr,   c                   ó>   — e Zd ZeZ e¦   «          e¦   «         fd„ZdS )ÚLinalgTestCasec                 ó   — | j         D ]u}|j        |z  |k    rŒ|j        |z  rŒ	 |                     | j        ¦  «         Œ8# t          $ r1}d|›d�}|t          j        ¦   «         z  }t          |¦  «        |‚d}~ww xY wdS )zx
        Run func on each of the cases with all of the tags in require, and none
        of the tags in exclude
        zIn test case: z

N)Ú
TEST_CASESrK   rQ   rP   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rL   ÚrequireÚexcluder_   ÚeÚmsgs         r*   Úcheck_caseszLinalgTestCase.check_casesu  s´   € ð
 ”Oð 	1ð 	1ˆDàŒy˜7Ñ" gÒ-Ð-ØØŒy˜7Ñ"ð Øð1Ø—
’
˜4œ7Ñ#Ô#Ð#Ð#øÝð 1ð 1ð 1Ø3 tÐ3Ð3Ð3�Ø•yÔ+Ñ-Ô-Ñ-�Ý$ SÑ)Ô)¨qÐ0øøøøð1øøøð	1ð 	1s   ¥A Á 
A;Á
,A6Á6A;N)rV   rW   rX   r™   rÕ   rY   rÞ   rZ   r,   r*   rÓ   rÓ   r  s>   € € € € € Ø€Jà"% #¡%¤%°°±´ð 1ð 1ð 1ð 1ð 1ð 1r,   rÓ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚLinalgSquareTestCasec                 ó:   — |                       dhddh¬¦  «         d S )Nr?   rC   rD   ©rÚ   rÛ   ©rÞ   rT   s    r*   Útest_sq_casesz"LinalgSquareTestCase.test_sq_cases‹  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_cases�  s5   € Ø×Ò (¨HÐ!5Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r,   N)rV   rW   rX   rä   ræ   rZ   r,   r*   rà   rà   ‰  ó2   € € € € € ð<ð <ð <ð2ð 2ð 2ð 2ð 2r,   rà   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚLinalgNonsquareTestCasec                 ó:   — |                       dhddh¬¦  «         d S )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$  r3  "  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*  r0  r4  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.do5  sW   € Ý”
˜1‘”ˆÝ�F 1 eÑ,Ô,Ý5°aÑ8Ô8ñ	:ô 	:ð 	:åÕ# E¨1Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r,   Nr  rZ   r,   r*   r7  r7  3  s#   € € € € € ð/ð /ð /ð /ð /r,   r7  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   r9  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@  D  r%  r,   r$  ©r   rq   rq   r9   rl   )r&   r'   ÚzerosÚint_r¼   r   r9  r   r1   r$   Úfloat64r   r�   r%   Ú	complex64©rL   r$  r3   Úress       r*   r0  zTestInv.test_0_sizeB  s   € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒj˜‰mŒmˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒj˜‰mŒmˆÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/r,   N©rV   rW   rX   rý   rþ   r5  r   r	   r   r   r  r0  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.doU  s9   € ÝŒ^˜AÑÔˆÝ"œJ q™MœMÑˆ�Ý˜B Ñ(Ô(Ð(Ð(Ð(r,   Nr  rZ   r,   r*   rJ  rJ  S  s#   € € € € € ð)ð )ð )ð )ð )r,   rJ  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   rL  r1   r<   r  s      r*   r  zTestEigvals.test_types\  s�   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ•V”^ AÑ&Ô&Ô,¨eÑ4Ô4Ð4ÝŒH�q˜#�h  Q Ð(°Ð6Ñ6Ô6ˆÝ•V”^ AÑ&Ô&Ô,Õ.?ÀÑ.FÔ.FÑGÔGÐGÐGÐGr,   c                 óÖ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j
        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú.TestEigvals.test_0_size.<locals>.ArraySubclassNr#  rZ   r,   r*   r$  rW  e  r%  r,   r$  rA  r9   ©r   rq   rl   rm   )r&   r'   rB  rC  r¼   r   rL  r   r1   r$   rD  r   r�   r%   rE  rF  s       r*   r0  zTestEigvals.test_0_sizec  s$  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒn˜QÑÔˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�V˜SœYÑ'Ô'Ð'å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒn˜QÑÔˆÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�T˜3œ9Ñ%Ô%Ð%å•
˜3¥¤
Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r,   NrH  rZ   r,   r*   rR  rR  [  s\   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIðHð Hñ JÔIðHð-ð -ð -ð -ð -r,   rR  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   rM  ÚeigenvaluesÚeigenvectorsr   r   r&   r   r>   r1   r   r+   )rL   r3   r4   rK   rG  r^  r_  s          r*   rP   zEigCases.dox  sž   € ÝŒj˜‰mŒmˆØ$'¤O°SÔ5E�\ˆÝ�˜q ,Ñ/Ô/Ýœ
 <Ñ0Ô0µ2´:¸kÑ3JÔ3JÈ3ÐPTÐVWÐVWÐVWÈ<Ô3XÑXÝ% kÔ&7Ñ8Ô8ð	:ñ 	:ô 	:ð 	:õ 	Õ# L°!Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5r,   Nr  rZ   r,   r*   rZ  rZ  v  s#   € € € € € ð6ð 6ð 6ð 6ð 6r,   rZ  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 rT  )r&   r   r   rM  r   r1   r<   ©rL   r1   rÆ   ÚwÚvs        r*   r  zTestEig.test_types‚  sÒ   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜eÑ$Ô$Ð$åŒH�q˜#�h  Q Ð(°Ð6Ñ6Ô6ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý�Q”WÕ/°Ñ6Ô6Ñ7Ô7Ð7Ý�Q”WÕ/°Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r,   c                 óÞ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j
        u ¦  «         t          |j        j	        t           j
        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        \  }}t          |j        j	        t           j        u ¦  «         t          |j        j	        t           j        u ¦  «         t          |j        |j        ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú*TestEig.test_0_size.<locals>.ArraySubclassNr#  rZ   r,   r*   r$  rh  �  r%  r,   r$  rA  r9   rX  rl   rm   )r&   r'   rB  rC  r¼   r   rM  r   r1   r$   rD  r   r�   r%   rE  ©rL   r$  r3   rG  Úres_vs        r*   r0  zTestEig.test_0_sizeŽ  s„  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝ”Z ‘]”]‰
ˆˆUÝ�”Ô ¥B¤JÐ.Ñ/Ô/Ð/Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�V˜SœYÑ'Ô'Ð'å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝ”Z ‘]”]‰
ˆˆUÝ�”Ô ¥B¤LÐ0Ñ1Ô1Ð1Ý�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�Q”W˜eœkÑ*Ô*Ð*Ý�T˜3œ9Ñ%Ô%Ð%å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r,   NrH  rZ   r,   r*   ra  ra  �  sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð	8ð 	8ñ JÔIð	8ð+ð +ð +ð +ð +r,   ra  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Æ   rG  rq  rr  rs  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þ   r5  r   r	   r   r   r  rZ   r,   r*   rl  rl  ¥  sO   € € € € € Ø€Ià„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð 5ð 5r,   rl  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   rp  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*   ru  ru  ´  s#   € € € € € ð,ð ,ð ,ð ,ð ,r,   ru  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   Trn  ©ru   ru   rl   ru   )r   ru   N)r&   r»   r   rp  rA   r   r�   Úeye)rL   rÆ   rw  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  Frn  )r&   r   r   rp  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*   rz  rz  ¿  s2   € € € € € ð$ð $ð $ð8ð 8ð 8ð 8ð 8r,   rz  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   rp  r   r   r&   r   r>   r1   r   r  r}  r�   r   Úsortr   r+   )rL   r3   r4   rK   rw  rÌ   rx  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„ ZdS )ÚTestSVDHermitianTc                 óp  — t          j        ddgddgg¦  «        }t          j        || j        ¬¦  «        \  }}}t          ||j                             ¦   «         z  t          j        d¦  «        d¬¦  «         t          ||j                             ¦   «         z  t          j        d¦  «        d¬¦  «         d S )Nrq   r   rˆ  rs   g›+¡†›„=r\  )	r&   r   r   rp  rA   r   ÚTr�  r}  )rL   rÆ   rw  r¯   r~  s        r*   Útest_singularzTestSVDHermitian.test_singularì  s—   € ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝ”:˜a¨4¬>Ð:Ñ:Ô:‰ˆˆ1ˆbÝ˜˜AœCŸHšH™JœJ™­¬¨q©	¬	¸Ð>Ñ>Ô>Ð>Ý˜˜RœTŸYšY™[œ[Ñ(­"¬&°©)¬)¸%Ð@Ñ@Ô@Ð@Ð@Ð@r,   N)rV   rW   rX   rA   r•  rZ   r,   r*   r’  r’  é  s-   € € € € € Ø€IðAð Að Að Að Ar,   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)ro  r  ).r–   r†   r„   ©r5   r6   rs   r—   rq   r–   Úfro)r   r    r   r   Úcondrp  r   r&   r9  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                   óh  — e Zd Zej                             dddg¦  «        d„ ¦   «         Zej                             deee	e
g¦  «        ej                             dddd	d
dej        ej         g¦  «        d„ ¦   «         ¦   «         Zd„ Zej                             ddd¬¦  «        d„ ¦   «         Zd„ ZdS )ÚTestCondÚ
is_complexFTc                 óÜ  — t          g d¢g d¢g d¢g¦  «        }|r|dz  }t          t          j        |t          ¦  «        d¦  «         t          t          j        |t           ¦  «        d¦  «         t          t          j        |d¦  «        d¦  «         t          t          j        |d¦  «        d	¦  «         t          t          j        |d
¦  «        t          j        d¦  «        ¦  «         d S )N©rb   r   rq   ©r   g       Àr   ©r   r   rd   r{   ru   gUUUUUUå?rq   r–   r  rš  gUUUUU6@)r   r   r   r›  r   r&   rŸ  )rL   r¤  ÚAs      r*   Útest_basic_nonsvdzTestCond.test_basic_nonsvd"  sÓ   € õ �:�:�:˜{˜{˜{¨J¨J¨JÐ7Ñ8Ô8ˆØð 	à�V‘ˆAÝ�FœK¨­3Ñ/Ô/°Ñ3Ô3Ð3Ý�FœK¨­C¨4Ñ0Ô0°%Ñ8Ô8Ð8Ý�FœK¨¨1Ñ-Ô-¨qÑ1Ô1Ð1Ý�FœK¨¨2Ñ.Ô.°Ñ4Ô4Ð4Ý�FœK¨¨5Ñ1Ô1µ2´7¸8Ñ3DÔ3DÑEÔEÐEÐEÐEr,   r1   Únorm_ordrq   r–   rs   r—   rš  c                 óª   — t          g d¢g d¢g d¢g|¬¦  «        }t          |¦  «        }t          t          j        ||¬¦  «        j        |¦  «         d S )Nr¦  r§  r¨  r9   )Úp)r   r:   r   r   r›  r1   )rL   r1   r«  r©  Úout_types        r*   Útest_cond_dtypeszTestCond.test_cond_dtypes/  s^   € õ
 �:�:�:˜{˜{˜{¨J¨J¨JÐ7¸uÐEÑEÔEˆÝ! %Ñ(Ô(ˆÝ•V”[  hÐ/Ñ/Ô/Ô5°xÑ@Ô@Ð@Ð@Ð@r,   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&   rB  Úonesr·   r¸   r   r   r›  )rL   ÚAsÚp_posÚp_negr©  r­  s         r*   r•  zTestCond.test_singular8  s·   € õ Œh�vÑÔ¥¤¨¡¤Ð0ˆØ#Ð#Ð#ˆØ�R�ˆÝÔ% b¨%Ñ0Ô0ð 	.ð 	.‰DˆAˆqõ •F”K  1Ñ%Ô%¨Ò,Ñ-Ô-Ð-Ð-ÝÔ% b¨%Ñ0Ô0ð 	ð 	‰DˆAˆqÝŒK˜˜1ÑÔÐÐð	ð 	r,   z/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&  rX  )rt   rs   rs   ©rq   r   rq   rq   r   r²  rs   )	r&   r³  Únanr   r›  r   r%   rD  Úisnan)rL   Úpsrµ  r©  r­  r   s         r*   Útest_nanzTestCond.test_nanF  sX  € ð
 )Ð(Ð(ˆØ#Ð#Ð#ˆåŒG�F‰OŒOˆÝ”&ˆˆ$‰Øð 	!ð 	!ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•J˜q¥"¤*Ñ-Ô-Ñ.Ô.Ð.Ý•B”H˜Q‘K”KÑ Ô Ð Ð åŒG�IÑÔˆÝ”Vˆˆ'‰
Øð 	,ð 	,ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•B”H˜Q˜qœT‘N”NÑ#Ô#Ð#Ø�EˆzˆzÝ˜˜!œ˜tšÑ$Ô$Ð$Ý˜˜!œ˜tšÑ$Ô$Ð$Ð$å�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ý�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ð+ð	,ð 	,r,   c                 óì  — t           j                             d¦  «         t           j                             dddd¦  «        }d|d<   d|d<   dD ]¥}t	          j        ||¦  «        }t          |d         t           j        ¦  «         t          |d         t           j        ¦  «         t          t          j	        |d         ¦  «        ¦  «         t          t          j	        |d         ¦  «        ¦  «         Œ¦d S )	Nra   rs   r   rl   rµ   )Nrq   rs   rš  r–   r—   rX  ©rq   r   )
r&   ÚrandomÚseedÚrandr   r›  r   r   r   Úisfinite)rL   r©  r­  r   s       r*   Útest_stacked_singularzTestCond.test_stacked_singulara  sÔ   € õ 	Œ	�Š�tÑÔÐÝŒI�NŠN˜1˜a  AÑ&Ô&ˆØˆˆ$‰Øˆˆ$‰à,ð 	*ð 	*ˆAÝ”˜A˜qÑ!Ô!ˆAÝ˜˜4œ¥"¤&Ñ)Ô)Ð)Ý˜˜4œ¥"¤&Ñ)Ô)Ð)Ý•B”K  $¤Ñ(Ô(Ñ)Ô)Ð)Ý•B”K  $¤Ñ(Ô(Ñ)Ô)Ð)Ð)ð	*ð 	*r,   N)rV   rW   rX   rý   rþ   r5  rª  r   r	   r   r   r&   r   r¯  r•  Úxfailr¾  rÅ  rZ   r,   r*   r£  r£  !  s  € € € € € Ø„[×Ò˜\¨E°4¨=Ñ9Ô9ð
Fð 
Fñ :Ô9ð
Fð „[×Ò˜W v¨v°wÀÐ&HÑIÔIØ„[×Ò˜Z¨!¨R°°B¸¸r¼vÈÌÀwÐ)OÑPÔPðAð Añ QÔPñ JÔIðAðð ð ð „[×Ò�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.dov  sa   € Ý”˜Q‘”ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r,   Nr  rZ   r,   r*   rÈ  rÈ  q  s#   € € € € € ð
0ð 0ð 0ð 0ð 0r,   rÈ  c                   ó   — e Zd ZdS )ÚTestPinvNr#  rZ   r,   r*   rÏ  rÏ  ~  ó   € € € € € Ø€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.do„  sh   € Ý”˜Q¨$Ð/Ñ/Ô/ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r,   Nr  rZ   r,   r*   rÒ  rÒ  ‚  s#   € € € € € ð0ð 0ð 0ð 0ð 0r,   rÒ  c                   ó   — e Zd ZdS )ÚTestPinvHermitianNr#  rZ   r,   r*   rÕ  rÕ  Œ  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Ü  �  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   rL  r   r   Úreducer&   ÚexpÚ
atleast_1dr§   r   r   )rL   r3   r4   rK   ÚdrG  rÌ   ÚldÚadrN  Úms              r*   rP   zDetCases.do   s5  € ÝŒJ�q‰MŒMˆÝŒn˜QÑÔˆØ”˜#œ-ˆ2ˆÝ�1‰:Œ:ÔÔ ¥V­VÐ$4Ð4Ð4Ý˜‘”×"Ò"¥6Ñ*Ô*ˆBˆBå˜‘”×"Ò"¥7Ñ+Ô+ˆBÝŒ^˜BÑÔˆÝ˜A�xœ¨r¸Ð;Ñ;Ô;Ñ<Ô<Ð<Ý˜A¥¤ r¡
¤
™N­H¬O¸BÀRÐ,HÑ,HÔ,HÑIÔIÐIåŒM˜!ÑÔˆÝŒ]˜2ÑÔˆØ�!ŠVˆÝ�BœF 1 Q¤4™LœL¨!Ñ,Ô,Ð,Ý�R˜˜”V�c˜TÑ"Ô"Ð"Ð"Ð"r,   Nr  rZ   r,   r*   rÞ  rÞ  ž  s#   € € € € € ð#ð #ð #ð #ð #r,   rÞ  c                   ój   — e Zd Zd„ Zej                             deee	e
g¦  «        d„ ¦   «         Zd„ ZdS )ÚTestDetc                 óþ  — t          t          j        dgg¦  «        d¦  «         t          t          t          j        dgg¦  «        ¦  «        t          ¦  «         t          t          j        dgg¦  «        d¦  «         t          t          t          j        dgg¦  «        ¦  «        t
          ¦  «         t          t          j        dgg¦  «        dt           f¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         t          t          j        dgg¦  «        dt           f¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t
          ¦  «         t          t          t          j        dgg¦  «        d         ¦  «        t          ¦  «         d S )Nç        y                r   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&   rB  rE  r   râ  r   r   r1   r$   rã  Úfloat32rD  )rL   r3   rG  s      r*   r0  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þ   r5  r   r	   r   r   r  r0  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   rp  Úlstsqr   rÀ   r   r   r   Ú__array_wrap__r§   rœ  rš   r   r¼   r$   Ú
issubdtyper1   Úfloatingr+   )rL   r3   r4   rK   Úarrrí  Únrw  rÌ   rx  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   r”  r   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þ   r5  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_power9  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>.tzE  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_zeroD  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>.tzP  s;   € Ý˜c 1Ñ%Ô%ˆBÝ˜˜SÑ!Ô!Ð!Ý˜œ 3¤9Ñ-Ô-Ð-Ð-Ð-r,   r%  r)  s       r*   Útest_power_is_onez!TestMatrixPower.test_power_is_oneO  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>.tz[  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_twoZ  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�  Úinvmatr0  s      r*   r$  z3TestMatrixPower.test_power_is_minus_one.<locals>.tzg  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_onef  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_powerq  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_squarev  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 r4  )r6  Únoninvræ  r    r   r   r:  s      r*   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertible{  sC   € à�”ÐÐØˆFØŒk× Ò  Ñ$Ô$ˆÝ•k¥<°°bÑ9Ô9Ð9Ð9Ð9r,   N)rV   rW   rX   r&   r}  r  r  r  r  r&  r   rA  Úblockr(  r'  r1   r6  r  r*  r-  r1  r7  r;  r=  rý   rþ   Úskipifr   rB  rZ   r,   r*   r  r  ,  sc  € € € € € ð ˆbŒf�Q‰iŒi€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ˜' 7¨GÐ4€IØˆU�Q˜�F˜Q ˜FÐ#Ñ$Ô$€FØˆbŒh˜'˜˜�} qÑ(Ñ)Ô)€Gà�x�r”x ‘}”} h b¤h¨s¡m¤m°X°R´X¸c±]´]ÐC€Gð	Jð 	Jð 	Jð	,ð 	,ð 	,ð	,ð 	,ð 	,ð
,ð 
,ð 
,ð	#ð 	#ð 	#ð9ð 9ð 9ð
Lð Lð Lð
 „[×Ò˜Ð(FÐÑGÔGð:ð :ñ HÔGð:ð :ð :r,   r  c                   ó   — e Zd Zd„ ZdS )ÚTestEigvalshCasesc                 óD  — t          j        |d¦  «        }t          j        |¦  «        \  }}|                     d¬¦  «         t	          ||t          |j        ¦  «        ¬¦  «         t          j        |d¦  «        }t	          ||t          |j        ¦  «        ¬¦  «         d S )NÚLr–   rà  r\  rq  )r   ÚeigvalshrM  r�  r   r>   r1   )rL   r3   r4   rK   rN  rO  rP  Ú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*   rF  rF  ƒ  s#   € € € € € ð	?ð 	?ð 	?ð 	?ð 	?r,   rF  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   rI  r   r1   r:   )rL   r1   rÆ   rd  s       r*   r  zTestEigvalsh.test_types’  sX   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝŒI×Ò˜qÑ!Ô!ˆÝ�Q”W�n¨UÑ3Ô3Ñ4Ô4Ð4Ð4Ð4r,   c                 ó8  — t          j        ddgddggt           j        ¬¦  «        }t          t          t           j        j        |d¬¦  «         t          t          t           j        j        |d¦  «         t          t          t           j        j        |d¦  «         d S ©Nrq   r  r9   Úlrong©ÚUPLOÚlowerÚupper)r&   r   rö  r    r(  r   rI  ©rL   rÆ   s     r*   Útest_invalidzTestEigvalsh.test_invalid˜  sy   € ÝŒH�q˜#�h  a Ð)µ´Ð<Ñ<Ô<ˆÝ•j¥"¤)Ô"4°a¸gÐFÑFÔFÐFÝ•j¥"¤)Ô"4°a¸ÑAÔAÐAÝ•j¥"¤)Ô"4°a¸ÑAÔAÐAÐAÐAr,   c                 ó  — t          j        ddgddggt           j        ¬¦  «        }t          j        ddgddggt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }t          t           j        ¦  «        }t           j                             |¦  «        }t          |||¬¦  «         t           j                             |d¬¦  «        }t          |||¬¦  «         t           j                             |d¬¦  «        }t          |||¬¦  «         t           j                             |d	¬¦  «        }t          |||¬¦  «         t           j                             |d
¬¦  «        }t          |||¬¦  «         d S ©Nr   rq   r9   r–   r\  rH  rQ  Úlrq  rw  )r&   r   r	   r>   r   rI  r   )rL   ÚKloÚKupÚtgtr]  rd  s         r*   Ú	test_UPLOzTestEigvalsh.test_UPLOž  s_  € ÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A˜  A Ð'­r¬yÐ9Ñ9Ô9ˆÝŒh˜˜A�w¥b¤iÐ0Ñ0Ô0ˆÝ�œ	Ñ"Ô"ˆõ ŒI×Ò˜sÑ#Ô#ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*åŒI×Ò˜s¨ÐÑ-Ô-ˆÝ˜˜3 TÐ*Ñ*Ô*Ð*Ð*Ð*r,   c                 óÖ  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j
        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        j	        t           j        u ¦  «         t          d|j        ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú/TestEigvalsh.test_0_size.<locals>.ArraySubclassNr#  rZ   r,   r*   r$  r`  ¶  r%  r,   r$  rA  r9   rX  rl   rm   )r&   r'   rB  rC  r¼   r   rI  r   r1   r$   rD  r   r�   r%   rE  rö  rF  s       r*   r0  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þ   r5  r   r	   r   r   r  rV  r]  r0  rZ   r,   r*   rL  rL  ‘  sz   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð
Bð Bð Bð+ð +ð +ð,-ð -ð -ð -ð -r,   rL  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\  rq  )r]  Úerr_msg)r   Úeighr^  r_  rM  r�  r   r   r   r&   r   r>   r1   Úrepr)rL   r3   r4   rK   rG  rN  ÚevcrO  rP  rJ  Ú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*   rc  rc  Ç  s(   € € € € € ðBð Bð Bð Bð Br,   rc  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   rf  r   r1   r:   rc  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 rO  )r&   r   rö  r    r(  r   rf  rU  s     r*   rV  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 rX  )r&   r   r	   r>   r   rf  r   )rL   rZ  r[  r\  r]  rd  re  s          r*   r]  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$  rq    r%  r,   r$  rA  r9   rX  rl   rm   )r&   r'   rB  rC  r¼   r   rf  r   r1   r$   rD  r   r�   r%   rE  rö  ri  s        r*   r0  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,   Nra  rZ   r,   r*   rk  rk  Þ  sw   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð%ð %ñ JÔIð%ð>ð >ð >ð+ð +ð +ð,+ð +ð +ð +ð +r,   rk  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Æ   rG  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Ústaticmethodrx  rZ   r,   r*   rs  rs    s7   € € € € € Ø	€BØ
€Càð=ð =ñ „\ð=ð =ð =r,   rs  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                 ó2  — t          j        g d¢¦  «        }t           j        d         }t           j        d         }||z   }|D �]S}|                     |¦  «        }t	          |t           j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          j	        ¦   «         5  t          j
        ddt          ¦  «         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¦  «         �ŒUd S )Nrº  Ú
AllIntegerÚAllFloatrñ  Úignoreúdivide by zero encounteredr–   r   rs   rq   rc   r  ru   g      Ð?rb   )r&   r   Ú	typecodesræ  r   r   rx  r   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr1   r$   ©rL   r3   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚans           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Ñ(Ô(Ð(åÔ(Ñ*Ô*ð -ð -ÝÔ'ØÐ:½NñLô Lð Lå˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  AÑ&Ô&Ð&å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀiÑ8PÔ8PÑ$PÑQÔQÐQå�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀiÑ8PÔ8PÑ$PÑQÔQÐQå�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(Ñ(ðA 	)ð  	)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   ry  r   )re  rL   s    €r*   Ú_testz+_TestNormGeneral.test_vector.<locals>._test\  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–  re  s   `     r*   Útest_vectorz_TestNormGeneral.test_vectorW  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>{  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>}  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>“  sT   ø€ ð $Fð $Fð $FØ()õ %)¨¨1¨1¨1¬¯ª°1¸7¨Ñ)CÔ)CÈÐ$OÑ$OÔ$Oð $Fð $Fð $Fr,   c                 óv   •— g | ]5}t          ‰d d …                              |‰¬¦  «        j        ‰¬¦  «        ‘Œ6S r¦  )r   r§  r”  r¨  s     €€€r*   r©   z._TestNormGeneral.test_axis.<locals>.<listcomp>–  sW   ø€ ð $Fð $Fð $FØ()õ %)¨¨1¨1¨1¬¯ª°1¸7¨Ñ)CÔ)CÔ)EÈ5Ð$QÑ$QÔ$Qð $Fð $Fð $Fr,   )r   r  r&   r   rŒ  r�   r   r   r'  rœ   rš   r·   Úcombinationsr    r(  )rL   Ú	expected0Ú	expected1Úndrá  Úrow_axisÚcol_axisrÿ  r/  r©  r©  rª  r¡  s            @@@@r*   Ú	test_axisz_TestNormGeneral.test_axisu  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)re  )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_keepdimsš  s'  € ÝŒI�a˜ 4¤7Ð+Ñ+Ô+×3Ò3°A°q¸!Ñ<Ô<ˆà.ˆØQˆ	õ ˜˜t¨$Ð/Ñ/Ô/ˆÝ�Q˜D t°dÐ;Ñ;Ô;ˆÝ�œ
 5Ñ)Ô)¨8Ø ,× 3Ò 3°D¸$Ñ ?Ô ?ð	Añ 	Aô 	Að 	Aà"ˆÝ�”˜~Ò-Ø× Ò  ¤¨n¸dÀDÑIÔIñ	Kô 	Kð 	Kð ˜B  1 a¨­B¬FµR´V°GÐ<ð 
	Qð 
	QˆEÝ˜1œ6‘]”]ð 	Qð 	Q�Ý  u°1Ð5Ñ5Ô5�Ý˜Q E°¸DÐAÑAÔA�Ý¥¤
¨5Ñ 1Ô 1°8Ø(4×(;Ò(;¸EÀ1Ñ(EÔ(EðGñ Gô Gð Gå!% a¤g¡¤�Ø$%�˜qÑ!Ý!& ~Ñ!6Ô!6�Ý˜œ ~Ò5Ø!×(Ò(¨¬°nÀeÈQÑOÔOñQô Qð Qð Qð	Qð ˜B  2 q­"¬&µ2´6°'¸5À%ÐHð 	Qð 	QˆEÝÔ+­E°!´&©M¬M¸1Ñ=Ô=ð 
Qð 
Q�Ý  u°1Ð5Ñ5Ô5�Ý˜Q E°¸DÐAÑAÔA�Ý¥¤
¨5Ñ 1Ô 1°8Ø(4×(;Ò(;¸EÀ1Ñ(EÔ(EðGñ Gô Gð Gå!% a¤g¡¤�Ø'(�˜q œtÑ$Ø'(�˜q œtÑ$Ý!& ~Ñ!6Ô!6�Ý˜œ ~Ò5Ø!×(Ò(¨¬°nÀeÈQÑOÔOñQô Qð Qð Qð
Qð	Qð 	Qr,   N)rV   rW   rX   r~  r�  r—  r²  r½  rZ   r,   r*   r|  r|  &  si   € € € € € ðFð Fð Fð
()ð ()ð ()ðTð ð ð<#5ð #5ð #5ðJ(Qð (Qð (Qð (Qð (Qr,   r|  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 �]5}|                     |¦  «        }t	          |t          j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          j	        ¦   «         5  t          j
        ddt          ¦  «         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¬¦  «         �Œ7d S )Nrº  rA  r€  ÚfdFDrc   r‚  rƒ  r–   rb   rq   rs   gªLXèz¶û?r—   rš  rµ  gU&,t=Û@r-   r“  )r   r&   r„  ræ  r   r   rx  r   r…  r†  r‡  rˆ  r•  r‰  s           r*   Útest_matrix_return_typez#_TestNorm2D.test_matrix_return_typeÍ  s¨  € Ø�JŠJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆå”l <Ô0ˆð
 ˆà -Ñ/ˆ	à"ð &	Nñ &	NˆIØ—’˜)Ñ$Ô$ˆBå�b�2œ6˜'Ñ"Ô"ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(åÔ(Ñ*Ô*ð -ð -ÝÔ'ØÐ:½NñLô Lð Lå˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý Ð$4Ñ5Ô5Ð5å�b˜"‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$õ ŒJ×*Ò*¨2Ð/AÈ1Ð*ÑMÔMÐMÑMðM&	Nð &	Ns   Â#ADÄ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(  ©rL   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   rX  )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ð2Nð 2Nð 2Nðh.ð .ð .ð >ð >ð >ð"<ð <ð <ð <ð <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   rU  s     r*   Útest_longdouble_normz+TestNorm_NonSystematic.test_longdouble_normD  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   rU  s     r*   Útest_intminz"TestNorm_NonSystematic.test_intminJ  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æ  Ú
complex128rE  )rL   rê  rG  s      r*   Útest_complex_high_ordz,TestNorm_NonSystematic.test_complex_high_ordP  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Ô  B  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  ry  rZ   r,   r*   rã  rã  ^  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  ry  rZ   r,   r*   rå  rå  c  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  ry  rZ   r,   r*   rç  rç  h  s   € € € € € Ø	Œ€BØ
€C€C€Cr,   rç  c                   ó   — e Zd ZdS )ÚTestNormDoubleNr#  rZ   r,   r*   rê  rê  m  rÐ  r,   rê  c                   ó   — e Zd ZdS )ÚTestNormSingleNr#  rZ   r,   r*   rì  rì  q  rÐ  r,   rì  c                   ó   — e Zd ZdS )ÚTestNormInt64Nr#  rZ   r,   r*   rî  rî  u  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}  rB  r   r!   r(  )rL   ÚIÚmss      r*   Útest_matrix_rankzTestMatrixRank.test_matrix_rank{  s¹  € å�Q�¥B¤F¨1¡I¤IÑ.Ô.Ñ/Ô/Ð/åŒF�1‰IŒIˆØˆˆ&‰	Ý•[ ‘^”^ QÑ'Ô'Ð'å•[¥¤¨&Ñ!1Ô!1Ñ2Ô2°AÑ6Ô6Ð6å•[   Ñ.Ô.°Ñ2Ô2Ð2Ý•[¥¤¨$¡¤Ñ0Ô0°!Ñ4Ô4Ð4å•[ ! Ñ%Ô% qÑ)Ô)Ð)åŒX�q�"œ& ™)œ)¥R¤X¨fÑ%5Ô%5Ð6Ñ7Ô7ˆÝ•[ ‘_”_¥b¤h¨y¨y¨yÑ&9Ô&9Ñ:Ô:Ð:å•[ ‘^”^ QÑ'Ô'Ð'å ÝÐ>ñ
ô 
ð 	0ð 	0õ ˜˜t¨$Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ÆF?Æ?GÇGc                 ó&  — t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          dt          t          j        d¦  «        d¬¦  «        ¦  «         t          j        d¦  «        }d|d<   t          d	t          |d¬¦  «        ¦  «         d
|d<   t          dt          |dd¬¦  «        ¦  «         t          d	t          |dd¬¦  «        ¦  «         d S )Nru   Trˆ  rq   r|  r   rñ  rò  rt   g:Œ0âŽyE>g¾Ü|"•BE>)rA   ró  gµ;ä¡ˆ°E>)r   r   r&   r}  r³  rB  )rL   rô  s     r*   Útest_symmetric_rankz"TestMatrixRank.test_symmetric_rank”  só   € Ý�Q�¥B¤F¨1¡I¤I¸Ð>Ñ>Ô>Ñ?Ô?Ð?Ý�Q�¥B¤G¨F¡O¤O¸tÐDÑDÔDÑEÔEÐEÝ�Q�¥B¤H¨VÑ$4Ô$4ÀÐEÑEÔEÑFÔFÐFåŒF�1‰IŒIˆØˆˆ&‰	Ý�Q� A°Ð6Ñ6Ô6Ñ7Ô7Ð7àˆˆ&‰	Ý�Q� A°¸7ÐCÑCÔCÑDÔDÐDÝ�Q� A°¸7ÐCÑCÔCÑDÔDÐDÐDÐDr,   N)rV   rW   rX   rö  rø  rZ   r,   r*   rð  rð  y  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  ¢  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   rG  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Øœ   œ¨¬°¬ ~¸Ñ'9Ñ9ñ;ô ;ˆå�F¥8¨A¨r°2Ñ#6Ô#6×#;Ò#;Ñ#=Ô#=¸qÑAÔAÀ;ÑOÔOÐOÝ�BœG A c¨1¨1¨1¨a¨a¨a i¤LÑ1Ô1°1Ñ5Ô5Ð5õ ”˜1 9Ð-Ñ-Ô-‰ˆˆBÝ�”˜GÒ#Ñ$Ô$Ð$Ý�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�F 2 r™NœN¨AÑ.Ô.Ð.Ý”˜BœH RœLÑ)Ô)ˆÝ”o eØœ  " œ¨¬°"¬¨¸!Ñ(;Ñ;ñ=ô =ˆå�F¥8¨B°°BÑ#7Ô#7×#<Ò#<Ñ#>Ô#>ÀÑCÔCØ'ñ	)ô 	)ð 	)å�BœG B s¨A¨A¨A¨q¨q¨q y¤MÑ2Ô2°BÑ7Ô7Ð7õ ŒY�q˜sÐ#Ñ#Ô#ˆÝ�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý˜B Ñ#Ô#Ð#Ð#Ð#r,   rü  ))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 #¨¡'™kÑ*Ô*Ð*Ð*Ð*r,   N)rV   rW   rX   r&   r   r  rý   rþ   r5  r  r  r!  r&  r   r	   r   r   r+  rZ   r,   r*   r  r  ¯  sI  € € € € € àŒH€Eð%$ð %$ð %$ðN „[×Ò˜c 3˜Zð *ð *ð *ñ ô ð

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

&ð#ð #ð #ð, ð  ð  ð"+$ð +$ð +$ðZ „[×Ò˜Vð &ð &ð &ñ ô ð „[×Ò˜\ð ,!ð ,!ð ,!ñ "ô "à„[×Ò˜TØ
Œ	�2”9Ø
Œ
�B”Jð$ ñ !ô !ð+ð +ñ!ô !ñ"ô "ñô ð+ð +ð +r,   r  c                   ó  — e Zd Zej                             dg d¢¦  «        ej                             dej        ej        ej	        ej
        f¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd	„ Zd
S )ÚTestCholeskyr�   )rµ   r&  ©rt   rt   )é2   r/  )rt   rÖ  rÖ  r1   rT  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   ©rT  iô  r   ú ú
)Úatolre  r–   )Úaxis1Úaxis2)r&   rÁ  rÂ  Úrandnrü  ÚcomplexfloatingrÂ   rŒ  r  r   rŽ  r�  r   r   Úcholeskyr�   ÚfinfoÚepsr   Údiagonalr   rÀ   Úisreal)
rL   r�   r1   rT  r3   Útr   r4   r4  rê  s
             r*   Útest_basic_propertyz TestCholesky.test_basic_propertyR  sÙ  € õ 	Œ	�Š�qÑÔÐÝŒIŒO˜UÐ#ˆÝŒ=˜¥Ô 2Ñ3Ô3ð 	1Ø�B�œœ¨%Ð0Ñ0Ñ0ˆAå••s˜5‘z”zÑ"Ô"Ñ#Ô#ˆØˆˆ"ˆ#ˆ#‰åŒI�a—k’k !‘n”n×)Ò)Ñ+Ô+¨QÑ/Ô/ˆÝŒJ�q Ð&Ñ&Ô&ˆåŒI×Ò˜q¨ÐÑ.Ô.ˆð ð 	4Ý”	˜!Ÿ+š+ a™.œ.×-Ò-Ñ/Ô/°Ñ3Ô3ˆAˆAå”	˜!˜QŸ[š[¨™^œ^×0Ò0Ñ2Ô2Ñ3Ô3ˆAà�Q”W˜Q”ZÑ¥"¤(¨5¡/¤/Ô"5Ñ5ˆÝ˜˜1 4°EÐ1MÐ1M¸EÐ1MÐ1MÀQÐ1MÐ1MÈ!Ð1MÐ1MÐNÑNÔNÐNõ ŒK˜ ¨2Ð.Ñ.Ô.ˆÝ•”•r”y ‘|”|Ñ$Ô$Ñ%Ô%Ð%Ý•”�q˜A’v‘”ÑÔÐÐÐr,   c                 óê  —  G d„ dt           j        ¦  «        }t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        |j        ¦  «         t          |j
        j        t           j        u ¦  «         t          t          |t           j        ¦  «        ¦  «         t          j        dt           j        ¬¦  «                             |¦  «        }t          j        |¦  «        }t          |j        |j        ¦  «         t          |j
        j        t           j        u ¦  «         t          t          |t           j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )ú/TestCholesky.test_0_size.<locals>.ArraySubclassNr#  rZ   r,   r*   r$  rB  w  r%  r,   r$  rA  r9   )rq   r   r   )r&   r'   rB  rC  r¼   r   r9  r   r�   r   r1   r$   rD  r%   rE  rF  s       r*   r0  zTestCholesky.test_0_sizev  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      @        Fr1  T)r&   r   r   r   r9  r”  r�  )rL   r3   s     r*   Útest_upper_lower_argz!TestCholesky.test_upper_lower_arg†  s“   € åŒH�v˜vÐ&¨°Ð(8Ð9Ñ:Ô:ˆå•V”_ QÑ'Ô'­¬¸À%Ð)HÑ)HÔ)HÑIÔIÐIåÝŒO˜A TÐ*Ñ*Ô*ÝŒO˜AÑÔÔ ×%Ò%Ñ'Ô'ñ	
ô 	
ð 	
ð 	
ð 	
r,   N)rV   rW   rX   rý   rþ   r5  r&   rö  rD  rE  rà  r?  r0  rD  rZ   r,   r*   r-  r-  P  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*   rF  rF  ’  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+rF  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   rr  ú=)ÚsysÚ	byteorderr&   rö  rD  r}  r¼   r1   ÚnewbyteorderÚbyteswapr   r   r9  râ  rË  r   )ÚnativeÚdttrþ  Ún_arrÚsw_arrÚroutinerG  s          r*   Útest_byteorder_checkrX  £  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,   r>  r?  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   rB  r    r   r   r9  )Ú
invertibleÚnon_invertiblerÆ   s      r*   Ú test_generalized_raise_multiloopr\  ¸  s�   € õ
 ”˜A˜q˜6 A q 6Ð*Ñ+Ô+€JÝ”X  1˜v¨¨1 vÐ.Ñ/Ô/€Nå
Œ���ÑÔ˜q˜t !˜tÔ$€AØ€A€c�FØ€A€d�Gå•"”)Ô'­¬¬¸Ñ:Ô:Ð:Ð:Ð:r,   z?skipping test that uses fork because there are multiple threadsz:Cannot safely use fork in tests on the free-threaded buildc                  óª  — d} 	 t          j        ¦   «         }n+# t          t          f$ r t	          j        d¦  «         Y nw xY w|dk    �rEt          j        d¦  «         t          j        d¦  «         dd l}|                     |j	        d¦  «         	 t          j        j                             ¦   «          n9# t          $ r Y n-t          $ r! t          j        t           j        ¦  «         Y nw xY w	 t          j        dgg¦  «        }t          j        j                             ddd|d||dd¦	  «	         n<# t          $ r/}dt)          |¦  «        v rt          j        | ¦  «         Y d }~nd }~ww xY wt          j        t           j        ¦  «         d S t          j        ¦   «         \  }}t          j        |¦  «        | k    rt	          j        d¦  «         d S d S )	Néÿ   zNot POSIX or fork failed.r   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Úpidre  r3   rÜ   Ústatuss         r*   Útest_xerbla_overriderr  Ç  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)rw  rv  rx  )ÚtextwrapÚdedentr·  Ú
subprocessÚ
check_callrO  Ú
executable)Úbad_libsÚtemplaterx  Úcodes       r*   Útest_sdot_bug_8577r�  þ  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 r…  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 )Nr†  r‡  ©rs   rq   rˆ  )rL   r©  r©  r‰  ÚDs        r*   Ú9test_basic_function_with_dynamic_programming_optimizationzFTestMultiDot.test_basic_function_with_dynamic_programming_optimization6  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‡  r†  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 )Nr†  r‡  rs   )r-   r’  )rL   r©  r©  r‰  ÚD1ds        r*   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argumentI  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‡  r†  rZ   r’  )rL   r“  r©  r‰  r–  s        r*   Ú&test_vector_as_first_and_last_argumentz3TestMultiDot.test_vector_as_first_and_last_argumentS  s‚   € åŒi×Ò˜qÑ!Ô!ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒi×Ò˜qÑ!Ô!ˆõ 	•Y  Q¨¨3Ð/Ñ0Ô0Ô6¸Ñ;Ô;Ð;Ð;Ð;r,   c           
      óô  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          |||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «        ¦  «         t	          |t          j        |t          j        ||¦  «        ¦  «        ¦  «         d S )Nr†  r‡  ©r(   ©r&   rÁ  rB  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 )Nr†  r‡  )r-   r-   r›  rœ  )rL   r©  r©  r(   r�  s        r*   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_outj  s˜   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒh�vÑÔˆÝ˜˜A˜ CÐ(Ñ(Ô(ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤Ñ*Ô*Ð*Ý˜C¥¤¨¨1¡¤Ñ.Ô.Ð.Ð.Ð.r,   c                 óî  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          ||||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «                             |¦  «        ¦  «         d S )Nr†  r‡  rŽ  )r-   rq   r›  rœ  )rL   r©  r©  r‰  r�  r(   r�  s          r*   Ú-test_dynamic_programming_optimization_and_outz:TestMultiDot.test_dynamic_programming_optimization_and_outt  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_logic€  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_arraysž  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*   rƒ  rƒ  "  sÄ   € € € € € ðKð Kð Kð=ð =ð =ðMð Mð Mð<ð <ð <ð<ð <ð <ð<ð <ð <ð:ð :ð :ð/ð /ð /ð
9ð 
9ð 
9ð=ð =ð =ð<Ið Ið Ið Ið Ir,   rƒ  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_handling¥  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�   r   )rL   r�   r¶  r3   Úainvr/  Úactuals          r*   Útest_tensorinv_shapez"TestTensorinv.test_tensorinv_shape­  so   € õ ŒF�2‰JŒJ×Ò˜uÑ%Ô%ˆÝÔ !¨Ð-Ñ-Ô-ˆØ”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Á  su   € åŒF�2‰JŒJ×Ò˜zÑ*Ô*ˆÝÔ  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þ   r5  r&   r³  r¸  rÀ  rÂ  rÆ  rZ   r,   r*   r±  r±  £  sþ   € € € € € à„[×Ò˜ZØ	ˆŒ�Ñ	Ô	 Ð"Ø	ˆŒ�Ñ	Ô	˜QÐð*
ñ ô ð+ð +ñ	ô ð+ð „[×Ò˜\àØð,
ñ ô ð
'ð 'ñô ð
'ð „[×Ò˜UØ	ˆ2ð%
ñ ô ð+ð +ñô ð+ð
Oð Oð Oð Oð Or,   r±  c                   óæ   — e Zd Zej                             d ej        d¦  «        df ej        d¦  «        dfg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d	„ ¦   «         Z	dS )
ÚTestTensorsolveza, axesr²  Nr³  ©r   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Á  r7  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þ   r5  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!   r9  r   r9  )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&   rB  rö  r³  r   r   )rÿ  r3   r4   r   s       r*   Útest_blas64_dotrÓ  é  sm   € à€AÝ
Œ�!�Q��rœzÐ*Ñ*Ô*€AÝ
Œ��A��bœjÐ)Ñ)Ô)€AØ€A€e�HÝ
Œˆq�!‰Œ€AÝ��5”˜1ÑÔÐÐÐr,   z*Numpy not compiled with 64-bit BLAS/LAPACKc            
      ó  — t           j        } t           j        j        j        }d}d}|}t          j        ddg| ¬¦  «        }t          j        dg| ¬¦  «        }t          j        dg| ¬¦  «        } |||||||dd¦  «        }t          |d         d¦  «         t          |d         |¦  «         t          |d         |¦  «         t          |                     ¦   «         ¦  «        }	t          d	|	cxk     od
k     nc ¦  «         d S )Nl       rq   r9   r–   r   Úinforí  rÿ  rÒ  l        )
r&   rD  r   rh  ÚdgeqrfrB  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   r<  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/  rw  re  Ú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   rX  rŠ  )r&   r'  rœ   r   rÄ  )rÆ   s    r*   Útest_tensordotrõ  E	  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ø  M	  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û  W	  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   rD  r   )rÆ   r¿  s     r*   Útest_matrix_normr  d	  s”   € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×"Ò" 1Ñ%Ô%€Få˜¥¤
¨7Ñ 3Ô 3ÀAÐFÑFÔFÐFåŒY×"Ò" 1¨tÐ"Ñ4Ô4€Få˜¥¤¨7¨)¨Ñ 5Ô 5ÀaÐHÑHÔHÐHÐHÐHr,   c                  óx  — dD �]5} t           j        t           j        t           j        fD �]}t          j        | |¦  «        }t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |t           j        ¬¦  «        d¦  «         �Œ�Œ7d S )N)rÉ  )rs   r   rl   rš  rœ  r   rµ  rq   rs   )	r&   rD  rö  rÚ  rB  r   r   r   r   )r�   r1   rÆ   s      r*   Útest_matrix_norm_emptyr  o	  s  € Ø)ð Bñ BˆÝ”j¥"¤*­b¬hÐ7ð 	Bñ 	BˆEÝ”˜ Ñ&Ô&ˆAÝ�œ×.Ò.¨q°eÐ.Ñ<Ô<¸aÑ@Ô@Ð@Ý�œ×.Ò.¨q°eÐ.Ñ<Ô<¸aÑ@Ô@Ð@Ý�œ×.Ò.¨q°aÐ.Ñ8Ô8¸!Ñ<Ô<Ð<Ý�œ×.Ò.¨q°aÐ.Ñ8Ô8¸!Ñ<Ô<Ð<Ý�œ×.Ò.¨qµb´fÐ.Ñ=Ô=¸qÑAÔAÐAÑAñ	BðBð Br,   c                  ó0  — t          j        d¦  «                             d¦  «        } t           j                             | ¦  «        }t          |t          j        d¦  «        d¬¦  «         t           j                             | d¬¦  «        }t          |t          j        g d¢¦  «        d¬¦  «         t           j                             | d	¬
¦  «        }t          j        ddd¬¦  «        }t          |j
        |j
        ¦  «         t          ||d¬¦  «         d S )NrÞ  r.  rý  rt   rþ  r   rà  )gÚ|a2Õ@gsh‘í|? @gDioð…I#@Trÿ  rµ   rD  r9   )r&   r'  rœ   r   Úvector_normr   rD  r   Úfullr   r�   rç  s      r*   Útest_vector_normr  y	  sû   € Ý
Œ	�!‰Œ×Ò˜VÑ$Ô$€AÝŒY×"Ò" 1Ñ%Ô%€Få˜¥¤
¨7Ñ 3Ô 3ÀAÐFÑFÔFÐFåŒY×"Ò" 1¨1Ð"Ñ-Ô-€FåØ•”Ð0Ð0Ð0Ñ1Ô1À!ðñ ô ð õ ŒY×"Ò" 1¨tÐ"Ñ4Ô4€FÝŒw�v˜w¨iÐ8Ñ8Ô8€HÝ�”˜xœ~Ñ.Ô.Ð.Ý˜ ¸Ð;Ñ;Ô;Ð;Ð;Ð;r,   c                  óª  — t           j        t           j        t           j        fD ]®} t          j        d| ¦  «        }t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |d¬¦  «        d¦  «         t          t           j                             |t           j        ¬¦  «        d¦  «         Œ¯d S )Nr   rq   rœ  rs   )	r&   rD  rö  rÚ  rB  r   r   r  r   )r1   rÆ   s     r*   Útest_vector_norm_emptyr	  ‹	  s­   € Ý”*�bœj­"¬(Ð3ð >ð >ˆÝŒH�Q˜ÑÔˆÝ•R”Y×*Ò*¨1°!Ð*Ñ4Ô4°aÑ8Ô8Ð8Ý•R”Y×*Ò*¨1°!Ð*Ñ4Ô4°aÑ8Ô8Ð8Ý•R”Y×*Ò*¨1µ"´&Ð*Ñ9Ô9¸1Ñ=Ô=Ð=Ð=ð	>ð >r,   c                  ó¦  — t          t          t          j        d¦  «        ¦  «        d¦  «         t          t          t          j        d¦  «        ¦  «        d¦  «         t          t          t          j        d¦  «        ¦  «        d¦  «         t          t          j        d¦  «        ¦  «        } t          | j        d¦  «         t          | j        t          j        ¦  «         t          t          j        d¦  «        ¦  «        } t          | t          j        g d¢¦  «        ¦  «         t          t          j        d	¦  «        ¦  «        } t          | t          j        ddg¦  «        ¦  «         t          t          j        d
¦  «        ¦  «        } t          | j        d¦  «         t          | t          j        dt          j        ¬¦  «        ¦  «         d S )Nrl   r   )r   r†   )r†   r   )r   r†   r†   rm   )rt   r   r†   r	  )rs   r†   r   )rs   rt   r   ru   rÎ  r9   )r   r   r&   rB  r�   r1   Úintpr   )r)  s    r*   Útest_empty_matrix_rankr  ’	  s_  € Ý•�RœX fÑ-Ô-Ñ.Ô.°Ñ2Ô2Ð2Ý•�RœX fÑ-Ô-Ñ.Ô.°Ñ2Ô2Ð2Ý•�RœX fÑ-Ô-Ñ.Ô.°Ñ2Ô2Ð2å�œ )Ñ,Ô,Ñ-Ô-€FÝ�”˜tÑ$Ô$Ð$Ý�”�rœwÑ'Ô'Ð'å�œ )Ñ,Ô,Ñ-Ô-€FÝ��œ ) ) )Ñ,Ô,Ñ-Ô-Ð-å�œ )Ñ,Ô,Ñ-Ô-€FÝ��œ 1 a &Ñ)Ô)Ñ*Ô*Ð*å�œ ,Ñ/Ô/Ñ0Ô0€FÝ�”˜vÑ&Ô&Ð&Ý��œ &µ´Ð8Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r,   )r-   r.   )“Ú__doc__r·   r_  r{  rO  ry  Ú	threadingr×   r…  rý   Únumpyr&   r   r   r   r   r   r   r	   r
   r   r   r   r   r   Únumpy._corer   Únumpy.exceptionsr   Únumpy.linalgr   r   r   r   r   Únumpy.linalg._linalgr   Únumpy.testingr   r   r   r   r   r   r   r   r    r!   Únumpy.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  r7  r<  rJ  rR  rZ  ra  rl  ru  rz  r†  r’  r—  r£  rÈ  rÏ  rÒ  rÕ  rÜ  rÞ  rï  rø  r  rþ   r5  r  rF  rL  rc  rk  rs  r|  r¿  rÒ  rÔ  rã  rå  rç  rê  rì  rî  rð  r  r  r-  rF  rX  rD  r\  Úactive_countrr  rÿ   r�  rƒ  r±  rÈ  rÐ  rc  rÓ  rÆ  rÝ  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Ø >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð	Ø#Ð#Ð#Ð#Ð#øØð 	ð 	ð 	ð 	€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ñ ,ô ,ð ,ð(Að Að Að Að AÐ(¨,ñ Aô Að Að+1ð +1ð +1ð +1ð +1Ð$Ð&Eñ +1ô +1ð +1ð\M*ð M*ð M*ð M*ð M*ˆyñ M*ô M*ð M*ð`
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ð~v<ð v<ð v<ð v<ð v<�-ñ v<ô v<ð v<ðr	ð 	ð 	ð 	ð 	�Ð-ñ 	ô 	ð 	ðJð Jð Jð Jð Jñ Jô Jð Jð8ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜ñ ô ð ð
	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�IÐ1ñ 	ô 	ð 	ð&Eð &Eð &Eð &Eð &Eñ &Eô &Eð &EðR
(ð 
(ð 
(ð^+ð ^+ð ^+ð ^+ð ^+ñ ^+ô ^+ð ^+ðB?
ð ?
ð ?
ð ?
ð ?
ñ ?
ô ?
ð ?
ðD3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð"5ð 5ð 5ð* „×Ò�GÐ$BÐÑCÔCð;ð ;ñ DÔCð;ð „×ÒØ€IÔÑÔ˜qÒ ØLð ñ Nô Nð „×ÒØØGð ñ Iô Ið.7ð .7ñIô IñNô Nð.7ðb „×Ò�GÐ$=ÐÑ>Ô>Ø„Ôð<ð <ñ Ôñ ?Ô>ð<ðD~Ið ~Ið ~Ið ~Ið ~Iñ ~Iô ~Ið ~IðB#Oð #Oð #Oð #Oð #Oñ #Oô #Oð #OðLBð Bð Bð Bð Bñ Bô Bð Bð*ð ð ð „×ÒÐGÐÑHÔHðð ñ IÔHðð „×Ò�|Ð#ØFð ñ Hô Hð#ð #ñHô Hð#ð4#ð #ð #ð #ð #ð #ð(ð (ð (ð6Bð Bð Bð#ð #ð #ð
,ð 
,ð 
,ðIð Ið IðBð Bð Bð<ð <ð <ð$>ð >ð >ð:ð :ð :ð :ð :s   ÂB ÂBÂB