§
    €Ûg/ ã                   óÚ  — 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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mZmZmZ ddlmZ ddlmZmZmZmZmZ ddlm Z  dd	l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d
„ Z,e&Z-dàd„Z&d„ Z.d„ Z/d„ Z0h d£Z1 G d„ d¦  «        Z2d„ Z3e	j4         5                    d¦  «         g Z6e6 e3d e2d e
ddgddgge¬¦  «         e
ddge¬¦  «        ¦  «         e2d e
ddgddgge¬¦  «         e
ddge¬¦  «        ¦  «         e2d e
ddgddgge¬¦  «         e
g d¢g d ¢ge¬¦  «        ¦  «         e2d! e
d"d#gd$d%gge¬¦  «         e
d&d"ge¬¦  «        ¦  «         e2d' e
d"d#gd$d%gge¬¦  «         e
d&d"ge¬¦  «        ¦  «         e2d( e
d"d#gd$d%gge¬¦  «         e
g d)¢g d*¢ge¬¦  «        ¦  «         e2d+ e	j7        d,e¬¦  «         e	j7        d-e¬¦  «        d.h¬/¦  «         e2d0e	j4         8                    d1d1¦  «        e	j4         8                    d1¦  «        ¦  «         e2d2e	j4         8                    d3d3¦  «        e	j4         8                    d3¦  «        ¦  «         e2d4d3d5gd6d7ggd5d3g¦  «        g
¦  «        z  Z6e6 e3d8 e2d9 e
g d:¢g d ¢ge¬¦  «         e
ddge¬¦  «        ¦  «         e2d; e
ddgddgd<d=gge¬¦  «         e
g d>¢e¬¦  «        ¦  «         e2d? e
g d:¢g d ¢ge¬¦  «         e
ddge¬¦  «        ¦  «         e2d@ e
ddgddgd<d=gge¬¦  «         e
g d>¢e¬¦  «        ¦  «         e2dA e
g dB¢g dC¢ge¬¦  «         e
d&d"ge¬¦  «        ¦  «         e2dD e
dEdFgdGdHgdIdJgge¬¦  «         e
g dK¢e¬¦  «        ¦  «         e2dL e
g dB¢g dC¢ge¬¦  «         e
d&d"ge¬¦  «        ¦  «         e2dM e
dEdFgdGdHgdIdJgge¬¦  «         e
g dK¢e¬¦  «        ¦  «         e2dN e
g dB¢g dC¢ge¬¦  «         e
d&d"gdOdPgge¬¦  «        ¦  «         e2dQ e
dEdFgdGdHgdIdJgge¬¦  «         e
d&d"gdOdPgdOdPgge¬¦  «        ¦  «         e2dRe	j4         8                    d1dS¦  «        e	j4         8                    d1¦  «        ¦  «         e2dTe	j4         8                    d3dU¦  «        e	j4         8                    d3¦  «        ¦  «         e2dVe	j4         8                    dUd3¦  «        e	j4         8                    dU¦  «        ¦  «         e2dWe	j4         8                    dd7¦  «        e	j4         8                    d¦  «        d.h¬/¦  «         e2dXe	j4         8                    d7d¦  «        e	j4         8                    d7¦  «        d.h¬/¦  «        g¦  «        z  Z6e6 e3dY e2dZ e
ddgddgge¬¦  «        d¦  «         e2d[ e
ddgddgge¬¦  «        d¦  «         e2d\ e
dd#gd]d3gge¬¦  «        d¦  «         e2d^ e
dd#gd]d3gge¬¦  «        d¦  «         e2d_ e	j7        d,e¬¦  «        dd.h¬/¦  «         e2d`d3d5gd5d3ggd¦  «         e2da e
ddgddgg¦  «        d¦  «         e2dbe	j4         8                    d3d3¦  «        d¦  «        g¦  «        z  Z6dc„ Z9e6 e9¦   «         z  Z6dd„ Z:de„ Z;e6 e;¦   «         z  Z6 G df„ dg¦  «        Z< G dh„ die<¦  «        Z= G dj„ dke<¦  «        Z> G dl„ dme<¦  «        Z? G dn„ doe<¦  «        Z@ G dp„ dqe<¦  «        ZA G dr„ dse<¦  «        ZBdt„ ZCdu„ ZD G dv„ dwe=e@¦  «        ZE G dx„ dyeE¦  «        ZF G dz„ d{e=e@¦  «        ZG G d|„ d}eG¦  «        ZH G d~„ de=e@¦  «        ZI G d€„ d�eI¦  «        ZJ G d‚„ dƒe=e@¦  «        ZK G d„„ d…eK¦  «        ZL G d†„ d‡¦  «        ZM G dˆ„ d‰e=e@¦  «        ZN G dŠ„ d‹eNeM¦  «        ZO G dŒ„ d�e?eB¦  «        ZP G dŽ„ d�ePeM¦  «        ZQ G d�„ d‘e=e@¦  «        ZR G d’„ d“eR¦  «        ZS G d”„ d•e=e>e@eA¦  «        ZT G d–„ d—eT¦  «        ZU G d˜„ d™e?eB¦  «        ZV G dš„ d›eV¦  «        ZW G dœ„ d�e=e@¦  «        ZX G dž„ dŸeX¦  «        ZY G d „ d¡e=e>¦  «        ZZ G d¢„ d£eZ¦  «        Z[ej\         ]                    d¤d¥„ d¦D ¦   «         ¦  «         G d§„ d¨¦  «        ¦   «         Z^ G d©„ dªe?eB¦  «        Z_ G d«„ d¬¦  «        Z` G d­„ d®e?eB¦  «        Za G d¯„ d°¦  «        Zb G d±„ d²¦  «        Zc G d³„ d´ec¦  «        Zd G dµ„ d¶ec¦  «        Ze G d·„ d¸eeed¦  «        Zf G d¹„ dº¦  «        Zg G d»„ d¼ec¦  «        Zh G d½„ d¾ec¦  «        Zi G d¿„ dÀec¦  «        Zj G dÁ„ dÂefeh¦  «        Zk G dÃ„ dÄefei¦  «        Zl G dÅ„ dÆefej¦  «        Zm G dÇ„ dÈ¦  «        ZndÉ„ Zo G dÊ„ dË¦  «        Zp G dÌ„ dÍ¦  «        ZqdÎ„ Zrej\         s                    e+dÏ¬Ð¦  «        dÑ„ ¦   «         ZtdÒ„ Zuej\         s                    e+dÓ¬Ð¦  «        ej\        jv        dÔ„ ¦   «         ¦   «         Zw G dÕ„ dÖ¦  «        Zx G d×„ dØ¦  «        Zy G dÙ„ dÚ¦  «        ZzdÛ„ Z{ej\         |                    dÜ¬Ð¦  «        dÝ„ ¦   «         Z}ej\         ~                    e* dÞ¬Ð¦  «        dß„ ¦   «         ZdS )áz# Test functions for linalg module

é    N)ÚarrayÚsingleÚdoubleÚcsingleÚcdoubleÚdotÚidentityÚmatmul)Úswapaxes)ÚmultiplyÚ
atleast_2dÚinfÚasarray)Úlinalg)Úmatrix_powerÚnormÚmatrix_rankÚ	multi_dotÚLinAlgError)Ú_multi_dot_matrix_chain_order)
Úassert_Úassert_equalÚassert_raisesÚassert_array_equalÚassert_almost_equalÚassert_allcloseÚsuppress_warningsÚassert_raises_regexÚHAS_LAPACK64ÚIS_WASMc                 óŠ   — t          | ¦  «        t          |t          j        ¦  «        rt          |¦  «        nt          j        u S ©N)ÚtypeÚ
isinstanceÚnpÚndarray)ÚoutÚin_s     úT/granary/edev/quantum/lib/python3.11/site-packages/numpy/linalg/tests/test_linalg.pyÚconsistent_subclassr*      s9   € õ �‰9Œ9¥j°µb´jÑ&AÔ&Að )�˜c™œ˜Ý œjð*ð *ó    é   é   c                 ó~   — t          | ¦  «        j        j        t          t          fv r|}n|}t          | |fd|i|¤Ž d S )NÚdecimal)r   Údtyper#   r   r   Úold_assert_almost_equal)ÚaÚbÚsingle_decimalÚdouble_decimalÚkwr/   s         r)   r   r   $   sM   € Ýˆq�z„zÔÔ¥­Ð 1Ð1Ð1Ø ˆˆà ˆÝ˜A˜qÐ8Ð8¨'Ð8°RÐ8Ð8Ð8Ð8Ð8r+   c                 ór   — t           t           t          t          t          t           t          t          i|          S r"   )r   r   r   r   ©r0   s    r)   Úget_real_dtyper9   ,   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   r8   s    r)   Úget_complex_dtyper;   1   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   r8   s    r)   Úget_rtolr=   6   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Únamer2   r3   Ú	frozensetÚtags)ÚselfrH   r2   r3   rJ   s        r)   Ú__init__zLinalgCase.__init__F   sB   € õ
 	•
˜4¥Ñ%Ô%Ñ&Ô&Ð&ØˆŒ	ØˆŒØˆŒÝ˜d‘O”OˆŒ	ˆ	ˆ	r+   c                 ó@   —  || j         | j        | j        ¬¦  «         dS )zN
        Run the function `do` on this test case, expanding arguments
        ©rJ   N)r2   r3   rJ   )rK   Údos     r)   ÚcheckzLinalgCase.checkQ   s'   € ð 	ˆˆ4Œ6�4”6 ¤	Ð*Ñ*Ô*Ð*Ð*Ð*r+   c                 ó   — d| j         › d�S )Nz<LinalgCase: ú>)rH   ©rK   s    r)   Ú__repr__zLinalgCase.__repr__W   s   € Ø+˜tœyÐ+Ð+Ð+Ð+r+   N)Ú__name__Ú
__module__Ú__qualname__ÚsetrL   rP   rT   © r+   r)   rE   rE   E   sO   € € € € € Ø(+¨©¬ð 	$ð 	$ð 	$ð 	$ð+ð +ð +ð,ð ,ð ,ð ,ð ,r+   rE   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_tagsrJ   )ÚtagÚcasesÚcases      r)   Ú	apply_tagr_   [   s=   € ð
 •(ˆ?ˆ?ˆ?˜M‰?Œ?ˆ?Øð &ð &ˆØ”I  Ñ%ˆŒ	ˆ	Ø€Lr+   éÒ  r>   r   ç      ð?ç       @ç      @ç      @r8   r   Údouble_2)rb   ra   rd   )rc   rd   ç      @r   ù      ð?       @y       @      @y      @      @y      @      @ù       @      ð?r   Ú	cdouble_2)rh   rg   y      ð?      @)y      ð?       Ày      ð?      Ày      ð?      ÀÚ0x0©r   r   ©r   rC   rN   Ú8x8é   Ú1x1é   Únonarrayé   é   é   rA   Úsingle_nsq_1)ra   rb   rc   Úsingle_nsq_2g      @rf   )rb   ra   rc   Údouble_nsq_1Údouble_nsq_2Úcsingle_nsq_1)ù      ð?      ð?ù       @       @ù      @      À)y      @      Ày      @      "@y      @       @Úcsingle_nsq_2rz   r{   r|   y      @      "Ày      @      Ày      @       @)rh   rg   r|   Úcdouble_nsq_1Úcdouble_nsq_2Úcdouble_nsq_1_2y      ð?      ð¿y       @       ÀÚcdouble_nsq_2_2Ú8x11é   Ú1x5é   Ú5x1Ú0x4Ú4x0r@   ÚhsingleÚhdoubleÚhcsingley       @      ÀÚhcdoubleÚhemptyÚ	hnonarrayÚmatrix_b_onlyÚhmatrix_1x1c                  ó  — g } t           D �]�}t          |j        t          j        ¦  «        sŒ#t          j        |j        d|j        z  d|j        z  g¦  «        }|j        €d }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@t          j        |j        gdz  dz  ¦  «                             d|j        j        z   ¦  «        }t          |j        d	z   |||j	        dhz  ¬¦  «        }|  
                    |¦  «         �Œƒ| S )
Nrr   rs   é   r,   Ú_tile3rB   rN   ©rs   rr   Ú_tile213)ÚCASESr$   r2   r%   r&   r   r3   rE   rH   rJ   ÚappendÚreshapeÚshape)Ú	new_casesr^   r2   r3   Únew_cases        r)   Ú_make_generalized_casesrœ   ë   sŠ  € Ø€Iåð #ñ #ˆÝ˜$œ&¥"¤*Ñ-Ô-ð 	ØåŒH�d”f˜a $¤&™j¨!¨d¬f©*Ð5Ñ6Ô6ˆØŒ6ˆ>Øˆ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å”˜$œ&˜ 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©rp   )rp   rs   éüÿÿÿéÿÿÿÿrp   éþÿÿÿrr   )rp   r    éýÿÿÿc                 ó8   — g | ]\  }}t          ||z  ¦  «        ‘ŒS rY   )Úabs)Ú.0r2   r3   s      r)   ú
<listcomp>z%_stride_comb_iter.<locals>.<listcomp>  s&   € ÐBÐBÐB¡D A q•S˜˜Q™‘Z”ZÐBÐBÐBr+   c                 ó0   — g | ]}t          d d |¦  «        ‘ŒS r"   )Úslice)r¦   Úrepeats     r)   r§   z%_stride_comb_iter.<locals>.<listcomp>  s$   € ÐHÐHÐH°f�˜d D¨&Ñ1Ô1ÐHÐHÐHr+   r8   l   ï>[= .Ústride_Ú_c                 ó   — g | ]}d |z  ‘ŒS )z%+drY   )r¦   Újs     r)   r§   z%_stride_comb_iter.<locals>.<listcomp>(  s   € Ð'CÐ'CÐ'C°a¨°©	Ð'CÐ'CÐ'Cr+   r   )ÚstridesÚstride_xxx_0Ústride_xxx_0_x©rp   rp   Ústride_xxx_0_0)r$   r%   r&   ÚndimÚ	itertoolsÚproductÚtupleÚzipr™   Úemptyr0   ÚviewÚuint32ÚfillÚ	__class__r   ÚallÚjoinÚlistr¯   ÚlibÚstride_tricksÚ
as_strided)ÚxÚ
stride_setÚrepeatsÚ	new_shapeÚslicesÚxiÚss          r)   Ú_stride_comb_iterrË     s©  è è € õ
 �a�œÑ$Ô$ð Ø�ˆhˆˆˆØˆà�˜!œ&‘€JØ€Jˆr�NØ„v�‚z€zØ#ˆ
�2‰Ø„v�‚z€zØ ˆ
�2‰åÔ$¥e¨JÑ&7Ô&7Ð8ð 'ñ 'ˆØBÐB­C°´¸Ñ,AÔ,AÐBÑBÔBˆ	ÝÐHÐHÀÐHÑHÔHÑIÔIˆõ ŒX�i q¤wÐ/Ñ/Ô/ˆØ
�Š•”	ÑÔ×Ò 
Ñ+Ô+Ð+Ø�ŒZˆØˆˆ3‰Ø�WŠW�Q”[Ñ!Ô!ˆÝ•”�r˜Q’w‘”Ñ Ô Ð Ø�)˜cŸhšhÐ'CÐ'C¸7Ð'CÑ'CÔ'CÑDÔDÑDÐDÐDÐDÐDð Œ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØ�nÐ$Ð$Ð$Ð$ØŒ6�QŠ;ˆ;˜1œ7 2œ;¨!Ò+Ð+Ý�Q”Y‘”ˆAØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ØŒ6�QŠ;ˆ;˜1œ7 3 B 3œ<¨6Ò1Ð1Ý�Q”Y‘”ˆAØˆAˆb‰EØˆAˆb‰EÝ”Ô%×0Ò0°¸AÐ0Ñ>Ô>ˆBØÐ&Ð&Ð&Ð&Ð&ùð;'ð 'r+   c            
      ó
  — g } t           D ]x}t          |j        ¦  «        D ]a\  }}t          |j        ¦  «        D ]G\  }}t	          |j        dz   |z   dz   |z   |||j        dhz  ¬¦  «        }|                      |¦  «         ŒHŒbŒy| S )Nr¬   r?   rN   )r–   rË   r2   r3   rE   rH   rJ   r—   )rš   r^   r2   Úa_labelr3   Úb_labelr›   s          r)   Ú_make_strided_casesrÏ   =  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_CASESrJ   rP   rO   Ú	ExceptionÚ	tracebackÚ
format_excÚAssertionError)rK   ÚrequireÚexcluder^   ÚeÚmsgs         r)   Úcheck_caseszLinalgTestCase.check_casesQ  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)rU   rV   rW   r–   rÓ   rX   rÜ   rY   r+   r)   rÑ   rÑ   N  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>   rB   rC   ©rØ   rÙ   ©rÜ   rS   s    r)   Útest_sq_casesz"LinalgSquareTestCase.test_sq_casesg  s5   € Ø×Ò ( Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r+   c                 ó:   — |                       ddhdh¬¦  «         d S )Nr>   rC   rB   rà   rá   rS   s    r)   Útest_empty_sq_casesz(LinalgSquareTestCase.test_empty_sq_casesk  s5   € Ø×Ò (¨HÐ!5Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r+   N)rU   rV   rW   râ   rä   rY   r+   r)   rÞ   rÞ   e  ó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 )NrA   rB   rC   rà   rá   rS   s    r)   Útest_nonsq_casesz(LinalgNonsquareTestCase.test_nonsq_casesr  ó5   € Ø×Ò + Ø"/°Ð!:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r+   c                 ó:   — |                       ddhdh¬¦  «         d S )NrA   rC   rB   rà   rá   rS   s    r)   Útest_empty_nonsq_casesz.LinalgNonsquareTestCase.test_empty_nonsq_casesv  ó5   € Ø×Ò +¨xÐ!8Ø"/ ð 	ñ 	2ô 	2ð 	2ð 	2ð 	2r+   N)rU   rV   rW   ré   rì   rY   r+   r)   rç   rç   p  rå   r+   rç   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚHermitianTestCasec                 ó:   — |                       dhddh¬¦  «         d S )Nr@   rB   rC   rà   rá   rS   s    r)   Útest_herm_casesz!HermitianTestCase.test_herm_cases}  rê   r+   c                 ó:   — |                       ddhdh¬¦  «         d S )Nr@   rC   rB   rà   rá   rS   s    r)   Útest_empty_herm_casesz'HermitianTestCase.test_empty_herm_cases�  rí   r+   N)rU   rV   rW   rñ   ró   rY   r+   r)   rï   rï   {  rå   r+   rï   c                   ó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 )NrB   r>   rC   rà   rá   rS   s    r)   Útest_generalized_sq_casesz9LinalgGeneralizedSquareTestCase.test_generalized_sq_casesˆ  s5   € à×Ò -°Ð!:Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r+   c                 ó6   — |                       h d£¬¦  «         d S )N>   r>   rB   rC   ©rØ   rá   rS   s    r)   Útest_generalized_empty_sq_casesz?LinalgGeneralizedSquareTestCase.test_generalized_empty_sq_cases�  s&   € à×ÒÐ!DÐ!DÐ!DÐÑEÔEÐEÐEÐEr+   N)rU   rV   rW   ÚpytestÚmarkÚslowr÷   rú   rY   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 )NrB   rA   rC   rà   rá   rS   s    r)   Útest_generalized_nonsq_casesz?LinalgGeneralizedNonsquareTestCase.test_generalized_nonsq_cases”  ó5   € à×Ò -°Ð!=Ø"* ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r+   c                 ó6   — |                       h d£¬¦  «         d S )N>   rA   rB   rC   rù   rá   rS   s    r)   Ú"test_generalized_empty_nonsq_caseszELinalgGeneralizedNonsquareTestCase.test_generalized_empty_nonsq_cases™  s&   € à×ÒÐ!GÐ!GÐ!GÐÑHÔHÐHÐHÐHr+   N)rU   rV   rW   rû   rü   rý   r  r  rY   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 )NrB   r@   rC   rà   rá   rS   s    r)   Útest_generalized_herm_casesz8HermitianGeneralizedTestCase.test_generalized_herm_cases   r  r+   c                 ó:   — |                       h d£dh¬¦  «         d S )N>   r@   rB   rC   Únonerà   rá   rS   s    r)   Ú!test_generalized_empty_herm_casesz>HermitianGeneralizedTestCase.test_generalized_empty_herm_cases¥  s7   € à×ÒÐ!GÐ!GÐ!GØ"( ð 	ñ 	+ô 	+ð 	+ð 	+ð 	+r+   N)rU   rV   rW   rû   rü   rý   r  r  rY   r+   r)   r  r  ž  sT   € € € € € à„[Ôð-ð -ñ Ôð-ð „[Ôð+ð +ñ Ôð+ð +ð +r+   r  c                 ó  — t          | ¦  «        } | j        dk    rÝ| j        |j        k    r | j        d d…         |j        dd …         z   }n2| j        |j        dz   k    r| j        d d…         }nt          d¦  «        ‚t	          j        |t	          j        | |¦  «        ¬¦  «        }t          j        t          t          | j        d d…         ¦  «        Ž D ]!}t          | |         ||         ¦  «        ||<   Œ"|S t          | |¦  «        S )Nrs   r¡   rp   zNot implemented...r8   r¢   )r   r´   r™   Ú
ValueErrorr%   r¹   Úcommon_typerµ   r¶   ÚmapÚranger   )r2   r3   rÇ   ÚrÚcs        r)   Údot_generalizedr  «  só   € Ý�‰
Œ
€AØ„v�‚{€{ØŒ6�Q”VÒÐàœ   œ q¤w¨r¨s¨s¤|Ñ3ˆIˆIØŒV�q”v ‘zÒ!Ð!àœ   œˆIˆIåÐ1Ñ2Ô2Ð2ÝŒH�Y¥b¤n°Q¸Ñ&:Ô&:Ð;Ñ;Ô;ˆÝÔ"¥C­¨q¬w°s¸°s¬|Ñ$<Ô$<Ð=ð 	#ð 	#ˆAÝ�q˜”t˜Q˜qœT‘?”?ˆAˆa‰DˆDØˆå�1�a‰yŒyÐr+   c                 óè   — t          | ¦  «        } | j        dk    r?t          j        | j        | j        ¬¦  «        }t          | j        d         ¦  «        |d<   |S t          | j        d         ¦  «        S )Nrs   r8   r¢   .r   )r   r´   r%   r¹   r™   r0   r	   )r2   r  s     r)   Úidentity_like_generalizedr  ¾  s`   € Ý�‰
Œ
€AØ„v�‚{€{ÝŒH�Q”W A¤GÐ,Ñ,Ô,ˆÝ˜!œ' "œ+Ñ&Ô&ˆˆ#‰Øˆå˜œ œ
Ñ#Ô#Ð#r+   c                   ó   — e Zd Zd„ ZdS )Ú
SolveCasesc                 ó¦   — t          j        ||¦  «        }t          |t          ||¦  «        ¦  «         t	          t          ||¦  «        ¦  «         d S r"   )r   Úsolver   r  r   r*   )rK   r2   r3   rJ   rÄ   s        r)   rO   zSolveCases.doÊ  sL   € ÝŒL˜˜AÑÔˆÝ˜A�¨q°!Ñ4Ô4Ñ5Ô5Ð5ÝÕ# A qÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r+   N©rU   rV   rW   rO   rY   r+   r)   r  r  È  s#   € € € € € ð+ð +ð +ð +ð +r+   r  c                   ój   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ ZdS )Ú	TestSolver0   c                 óŽ   — t          j        ddgddgg|¬¦  «        }t          t          j        ||¦  «        j        |¦  «         d S ©Nrp   ç      à?r8   )r%   r   r   r   r  r0   ©rK   r0   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¦  «                             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¦  «                             dd¦  «                             |¦  «        }t          j        ||¦  «        d d …dd…f         }t          j        |d d …dd…dd…f         |d d …dd…f         ¦  «        }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>.ArraySubclassN©rU   rV   rW   rY   r+   r)   ÚArraySubclassr$  ×  ó   € € € € € ØˆDr+   r&  rn   rr   r,   rp   rs   r   )r%   r&   Úaranger˜   rº   r   r  r   r   r$   r   r   r  ©rK   r&  r2   r3   ÚexpectedÚresults         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× Ò   AÑ&Ô&×+Ò+¨MÑ:Ô:ˆÝ”<  1Ñ%Ô% a a a¨¨1¨ fÔ-ˆÝ”˜a    1 Q 3¨¨!¨ œn¨a°°°°1°Q°3°¬iÑ8Ô8ˆÝ˜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%  rY   r+   r)   r&  r/  ù  r'  r+   r&  rt   rp   rr   r,   rs   r   )
r%   r&   r(  r˜   rº   r   r  r   r   r$   r)  s         r)   Útest_0_size_kzTestSolve.test_0_size_k÷  s†  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒ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)rU   rV   rW   rû   rü   Úparametrizer   r   r   r   r!  r,  r0  rY   r+   r)   r  r  Ð  sl   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð6ð 6ñ JÔIð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*   )rK   r2   r3   rJ   Úa_invs        r)   rO   zInvCases.do  sW   € Ý”
˜1‘”ˆÝ�O¨A¨uÑ5Ô5Ý5°aÑ8Ô8ñ	:ô 	:ð 	:åÕ# E¨1Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r+   Nr  rY   r+   r)   r3  r3  
  s#   € € € € € ð/ð /ð /ð /ð /r+   r3  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestInvr0   c                 óŒ   — t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        |¦  «         d S r  )r%   r   r   r   r5  r0   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%  rY   r+   r)   r&  r<    r'  r+   r&  ©r   rp   rp   r8   rk   )r%   r&   ÚzerosÚint_rº   r   r5  r   r0   r#   Úfloat64r   r™   r$   Ú	complex64©rK   r&  r2   Úress       r)   r,  zTestInv.test_0_size  s   € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝŒj˜‰mŒmˆÝ�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝŒj˜‰mŒmˆÝ�”	”¥"¤,Ð.Ñ/Ô/Ð/Ý�Q”W˜cœiÑ(Ô(Ð(Ý•
˜3 Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/r+   N©rU   rV   rW   rû   rü   r1  r   r   r   r   r!  r,  rY   r+   r)   r8  r8    sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð1ð 1ñ JÔIð1ð0ð 0ð 0ð 0ð 0r+   r8  c                   ó   — e Zd Zd„ ZdS )ÚEigvalsCasesc                 ó|   — t          j        |¦  «        }t          j        |¦  «        \  }}t          ||¦  «         d S r"   )r   ÚeigvalsÚeigr   )rK   r2   r3   rJ   ÚevÚevaluesÚevectorss          r)   rO   zEigvalsCases.do,  s9   € ÝŒ^˜AÑÔˆÝ"œJ q™MœMÑˆ�Ý˜B Ñ(Ô(Ð(Ð(Ð(r+   Nr  rY   r+   r)   rF  rF  *  s#   € € € € € ð)ð )ð )ð )ð )r+   rF  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigvalsr0   c                 ó,  — t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        |¦  «         t          j        ddgddgg|¬¦  «        }t          t          j        |¦  «        j        t          |¦  «        ¦  «         d S ©Nrp   r  r8   r¡   )r%   r   r   r   rH  r0   r;   r   s      r)   r!  zTestEigvals.test_types3  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%  rY   r+   r)   r&  rS  <  r'  r+   r&  r=  r8   ©r   rp   rk   rl   )r%   r&   r>  r?  rº   r   rH  r   r0   r#   r@  r   r™   r$   rA  rB  s       r)   r,  zTestEigvals.test_0_size:  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+   NrD  rY   r+   r)   rN  rN  2  s\   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIðHð Hñ JÔIðHð-ð -ð -ð -ð -r+   rN  c                   ó   — e Zd Zd„ ZdS )ÚEigCasesc           	      ó6  — t          j        |¦  «        \  }}t          t          ||¦  «        t	          j        |¦  «        t	          j        |¦  «        dd d d …f         z  t          |j        ¦  «        ¬¦  «         t          t          ||¦  «        ¦  «         d S )N.©Úrtol)
r   rI  r   r  r%   r   r=   r0   r   r*   )rK   r2   r3   rJ   rK  rL  s         r)   rO   zEigCases.doO  s�   € Ý"œJ q™MœMÑˆ�Ý�¨¨8Ñ4Ô4Ýœ
 8Ñ,Ô,­r¬z¸'Ñ/BÔ/BÀ3ÈÈaÈaÈaÀ<Ô/PÑPÝ% g¤mÑ4Ô4ð	6ñ 	6ô 	6ð 	6õ 	Õ# H¨aÑ0Ô0Ñ1Ô1Ð1Ð1Ð1r+   Nr  rY   r+   r)   rV  rV  M  s#   € € € € € ð2ð 2ð 2ð 2ð 2r+   rV  c                   ód   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestEigr0   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 rP  )r%   r   r   rI  r   r0   r;   ©rK   r0   rÄ   ÚwÚvs        r)   r!  zTestEig.test_typesX  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%  rY   r+   r)   r&  rb  f  r'  r+   r&  r=  r8   rT  rk   rl   )r%   r&   r>  r?  rº   r   rI  r   r0   r#   r@  r   r™   r$   rA  ©rK   r&  r2   rC  Úres_vs        r)   r,  zTestEig.test_0_sized  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+   NrD  rY   r+   r)   r[  r[  W  sY   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð	8ð 	8ñ JÔIð	8ð+ð +ð +ð +ð +r+   r[  c                   ób   — e Zd ZdZej                             deee	e
g¦  «        d„ ¦   «         ZdS )ÚSVDBaseTestsFr0   c                 ó‚  — t          j        ddgddgg|¬¦  «        }t          j        |¦  «        \  }}}t	          |j        |¦  «         t	          |j        t          |¦  «        ¦  «         t	          |j        |¦  «         t          j        |d| j        ¬¦  «        }t	          |j        t          |¦  «        ¦  «         d S )Nrp   r  r8   F©Ú
compute_uvr@   )r%   r   r   Úsvdr   r0   r9   r@   )rK   r0   rÄ   ÚurÊ   Úvhs         r)   r!  zSVDBaseTests.test_types~  s¬   € åŒH�q˜#�h  a Ð)°Ð7Ñ7Ô7ˆÝ”:˜a‘=”=‰ˆˆ1ˆbÝ�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)rU   rV   rW   r@   rû   rü   r1  r   r   r   r   r!  rY   r+   r)   rf  rf  {  sO   € € € € € Ø€Ià„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð 5ð 5r+   rf  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.rX  )
r   rj  r   r  r%   r   r=   r0   r   r*   )rK   r2   r3   rJ   rk  rÊ   Úvts          r)   rO   zSVDCases.do‹  s¹   € Ý”:˜a Ñ'Ô'‰ˆˆ1ˆbÝ˜�?­2¬:°a©=¬=½2¼:Àa¹=¼=ÈÈdÐTUÐTUÐTUÈÔ;VÑ+VÝ+-¬:°b©>¬>ñ;ô ;å% a¤gÑ.Ô.ð	0ñ 	0ô 	0ð 	0õ 	Õ# A qÑ)Ô)Ñ*Ô*Ð*ÝÕ# B¨Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r+   Nr  rY   r+   r)   rn  rn  ‰  s#   € € € € € ð,ð ,ð ,ð ,ð ,r+   rn  c                   ó   — e 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 )rt   r   Trh  ©rt   rt   rk   rt   )r   rt   N)r%   r¹   r   rj  r@   r   r™   Úeye)rK   rÄ   rk  rÊ   rl  s        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+   N)rU   rV   rW   rv  rY   r+   r)   rr  rr  ”  s#   € € € € € ð$ð $ð $ð $ð $r+   rr  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©r@   .rX  c                 óÂ   — t          t          | j        ¦  «        ¦  «        }|d         |d         c|d<   |d<   t          j        t          j        | |¬¦  «        ¦  «        S )Nr¢   r¡   ©Úaxes)rÀ   r  r´   r%   ÚconjÚ	transpose)Úmatr}  s     r)   r@   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   rj  r   r  r%   r   r=   r0   r   r
   Úbroadcast_toru  r™   r   Úsortr   r*   )rK   r2   r3   rJ   rk  rÊ   rp  r@   s           r)   rO   zSVDHermitianCases.do¦  s�  € Ý”:˜a °$Ð7Ñ7Ô7‰ˆˆ1ˆbÝ˜�?­2¬:°a©=¬=½2¼:Àa¹=¼=ÈÈdÐTUÐTUÐTUÈÔ;VÑ+VÝ+-¬:°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  rY   r+   r)   rx  rx  ¤  s#   € € € € € ð,ð ,ð ,ð ,ð ,r+   rx  c                   ó   — e Zd ZdZdS )ÚTestSVDHermitianTN)rU   rV   rW   r@   rY   r+   r)   r„  r„  ·  s   € € € € € Ø€I€I€Ir+   r„  c                   ó   — e Zd Zd„ ZdS )Ú	CondCasesc           	      ó  — t          |¦  «        }d|v r"t          t          t          j        |¦  «         d S t          j        |d¬¦  «        }t          t          j        |¦  «        |d         |d         z  dd¬¦  «         t          t          j        |d	¦  «        |d         |d         z  dd¬¦  «         t          t          j        |d
¦  «        |d         |d         z  dd¬¦  «         t          j                             |¦  «        }t          t          j        |d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        t          |¦  «         
                    d
¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |t          j        ¦  «        t          |¦  «         
                    d¦  «                             d¦  «        t          |¦  «         
                    d¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |t          j         ¦  «        t          |¦  «         
                    d¦  «                             d¦  «        t          |¦  «         
                    d¦  «                             d¦  «        z  dd¬¦  «         t          t          j        |d¦  «        t          j        t          |¦  «        d	z   
                    d¦  «         
                    d¦  «        t          |¦  «        d	z   
                    d¦  «         
                    d¦  «        z  ¦  «        dd¬¦  «         d S )NrC   F)ri  ).r   ).r¡   r…   rƒ   ©r4   r5   rr   r¢   rp   r¡   Úfro)r   r   r   r   Úcondrj  r   r%   r5  r¥   ÚsumÚmaxÚminr   Úsqrt)rK   r2   r3   rJ   r  rÊ   Úcinvs          r)   rO   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  rY   r+   r)   r†  r†  »  s#   € € € € € ð(1ð (1ð (1ð (1ð (1r+   r†  c                   ól   — e Zd Zd„ Zd„ Zej                             ddd¬¦  «        d„ ¦   «         Zd„ Z	d	S )
ÚTestCondc                 óÎ  — t          g d¢g d¢g d¢g¦  «        }t          t          j        |t          ¦  «        d¦  «         t          t          j        |t           ¦  «        d¦  «         t          t          j        |d¦  «        d¦  «         t          t          j        |d¦  «        d¦  «         t          t          j        |d	¦  «        t          j        d
¦  «        ¦  «         d S )N)ra   r   rp   )r   g       Àr   )r   r   rc   rt   gUUUUUUå?rp   r¡   r  r‰  gUUUUU6@)r   r   r   rŠ  r   r%   rŽ  ©rK   ÚAs     r)   Útest_basic_nonsvdzTestCond.test_basic_nonsvdê  sÀ   € å�:�:�:˜{˜{˜{¨J¨J¨JÐ7Ñ8Ô8ˆÝ�FœK¨­3Ñ/Ô/°Ñ3Ô3Ð3Ý�FœK¨­C¨4Ñ0Ô0°#Ñ6Ô6Ð6Ý�FœK¨¨1Ñ-Ô-¨qÑ1Ô1Ð1Ý�FœK¨¨2Ñ.Ô.°Ñ4Ô4Ð4Ý�FœK¨¨5Ñ1Ô1µ2´7¸8Ñ3DÔ3DÑEÔEÐEÐEÐEr+   c                 óH  — t          j        d¦  «        t          j        d¦  «        g}g d¢}ddg}t          j        ||¦  «        D ]+\  }}t          t          j        ||¦  «        dk    ¦  «         Œ,t          j        ||¦  «        D ]\  }}t          j        ||¦  «         Œd S )N©rr   rr   ©Nrp   rr   r‰  r¡   r¢   ç  4&õkC)r%   r>  Úonesrµ   r¶   r   r   rŠ  )rK   ÚAsÚp_posÚp_negr”  Úps         r)   Útest_singularzTestCond.test_singularó  s·   € õ Œh�vÑÔ¥¤¨¡¤Ð0ˆØ#Ð#Ð#ˆØ�R�ˆÝÔ% b¨%Ñ0Ô0ð 	.ð 	.‰DˆAˆqõ •F”K  1Ñ%Ô%¨Ò,Ñ-Ô-Ð-Ð-ÝÔ% b¨%Ñ0Ô0ð 	ð 	‰DˆAˆqÝŒK˜˜1ÑÔÐÐð	ð 	r+   TFz/Platform/LAPACK-dependent failure, see gh-18914)ÚrunÚreasonc                 óö  — g d¢}g d¢}t          j        d¦  «        }t           j        |d<   |D ]_}t          j        ||¦  «        }t          t          |t           j        ¦  «        ¦  «         t          t          j        |¦  «        ¦  «         Œ`t          j        d¦  «        }t           j        |d<   |D ]Å}t          j        ||¦  «        }t          t          j        |d         ¦  «        ¦  «         ||v r3t          |d         d	k    ¦  «         t          |d
         d	k    ¦  «         Œut          t          j        |d         ¦  «         ¦  «         t          t          j        |d
         ¦  «         ¦  «         ŒÆd S )N)Nrp   r¡   rr   r¢   r‰  r˜  r—  rT  )rs   rr   rr   ©rp   r   rp   rp   r   r™  rr   )	r%   rš  Únanr   rŠ  r   r$   Úfloat_Úisnan)rK   Úpsrœ  r”  rž  r  s         r)   Útest_nanzTestCond.test_nan  sX  € ð
 )Ð(Ð(ˆØ#Ð#Ð#ˆåŒG�F‰OŒOˆÝ”ˆˆ#‰Øð 	!ð 	!ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•J˜q¥"¤)Ñ,Ô,Ñ-Ô-Ð-Ý•B”H˜Q‘K”KÑ Ô Ð Ð åŒG�IÑÔˆÝ”6ˆˆ%‰Øð 	,ð 	,ˆAÝ”˜A˜qÑ!Ô!ˆAÝ•B”H˜Q˜qœT‘N”NÑ#Ô#Ð#Ø�EˆzˆzÝ˜˜!œ˜tšÑ$Ô$Ð$Ý˜˜!œ˜tšÑ$Ô$Ð$Ð$å�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ý�BœH Q q¤T™NœNÐ*Ñ+Ô+Ð+Ð+ð	,ð 	,r+   c                 óì  — t           j                             d¦  «         t           j                             dddd¦  «        }d|d<   d|d<   dD ]¥}t	          j        ||¦  «        }t          |d         t           j        ¦  «         t          |d         t           j        ¦  «         t          t          j	        |d         ¦  «        ¦  «         t          t          j	        |d         ¦  «        ¦  «         Œ¦d S )	Nr`   rr   r   rk   r²   )Nrp   rr   r‰  r¡   r¢   rT  ©rp   r   )
r%   ÚrandomÚseedÚrandr   rŠ  r   r   r   Úisfinite)rK   r”  rž  r  s       r)   Útest_stacked_singularzTestCond.test_stacked_singular  sÔ   € õ 	Œ	�Š�tÑÔÐÝŒI�NŠN˜1˜a  AÑ&Ô&ˆØˆˆ#‰Øˆˆ#‰à,ð 	)ð 	)ˆAÝ”˜A˜qÑ!Ô!ˆAÝ˜˜3œ¥¤Ñ(Ô(Ð(Ý˜˜3œ¥¤Ñ(Ô(Ð(Ý•B”K  #¤Ñ'Ô'Ñ(Ô(Ð(Ý•B”K  #¤Ñ'Ô'Ñ(Ô(Ð(Ð(ð	)ð 	)r+   N)
rU   rV   rW   r•  rŸ  rû   rü   Úxfailr¨  r¯  rY   r+   r)   r‘  r‘  é  s‚   € € € € € ðFð Fð Fðð ð ð „[×Ò�t ð-ð ñ .ô .ð,ð ,ñ.ô .ð,ð0)ð )ð )ð )ð )r+   r‘  c                   ó   — e Zd Zd„ ZdS )Ú	PinvCasesc                 óÄ   — t          j        |¦  «        }t          }t           | |||¦  «        |¦  «        |dd¬¦  «         t	          t          ||¦  «        ¦  «         d S )Nr…   rƒ   rˆ  ©r   Úpinvr  r   r   r*   ©rK   r2   r3   rJ   Úa_ginvr   s         r)   rO   zPinvCases.do1  sa   € Ý”˜Q‘”ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r+   Nr  rY   r+   r)   r²  r²  ,  s#   € € € € € ð
0ð 0ð 0ð 0ð 0r+   r²  c                   ó   — e Zd ZdS )ÚTestPinvNr%  rY   r+   r)   r¹  r¹  9  ó   € € € € € Ø€Dr+   r¹  c                   ó   — e Zd Zd„ ZdS )ÚPinvHermitianCasesc                 óÈ   — t          j        |d¬¦  «        }t          }t           | |||¦  «        |¦  «        |dd¬¦  «         t	          t          ||¦  «        ¦  «         d S )NTrz  r…   rƒ   rˆ  r´  r¶  s         r)   rO   zPinvHermitianCases.do?  sh   € Ý”˜Q¨$Ð/Ñ/Ô/ˆåˆÝ˜C˜C   A v¡¤°Ñ2Ô2°AÀaÐXZÐ[Ñ[Ô[Ð[ÝÕ# F¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r+   Nr  rY   r+   r)   r¼  r¼  =  s#   € € € € € ð0ð 0ð 0ð 0ð 0r+   r¼  c                   ó   — e Zd ZdS )ÚTestPinvHermitianNr%  rY   r+   r)   r¿  r¿  G  rº  r+   r¿  c                   ó   — e Zd Zd„ ZdS )ÚDetCasesc                 ó  — t          j        |¦  «        }t          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   rp   )r   ÚdetÚslogdetr   r0   r#   r   r   Úastyper   rH  r   r   Úreducer%   ÚexpÚ
atleast_1dr¥   r   r   )
rK   r2   r3   rJ   ÚdrÊ   ÚldÚadrJ  Úms
             r)   rO   zDetCases.doM  s,  € ÝŒJ�q‰MŒMˆÝ”. Ñ#Ô#‰ˆˆBÝ�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  rY   r+   r)   rÁ  rÁ  K  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   rp   )r   r   rÅ  r#   r   r   rÆ  r   rS   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+   r0   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Å  r0   rÆ  r9   )rK   r0   rÄ   ÚphrÊ   s        r)   r!  zTestDet.test_typesm  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 )Nrk   r8   ra   rª  r   rp   )r%   r>  rA  r   rÅ  r   r   r0   r#   rÆ  Úfloat32r@  )rK   r2   rC  s      r)   r,  zTestDet.test_0_sizeu  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)rU   rV   rW   rÓ  rû   rü   r1  r   r   r   r   r!  r,  rY   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¡   ©Úrcondr   rr   rÃ  rp   rŸ   )r%   r   r™   r   rj  Úlstsqr   r¾   r   r   r   Ú__array_wrap__r¥   r‹  r´   r   rº   r#   Ú
issubdtyper0   Úfloatingr*   )rK   r2   r3   rJ   ÚarrrÎ  Únrk  rÊ   rp  rÄ   Ú	residualsÚrankÚsvÚexpect_residss                  r)   rO   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  rY   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                 óV  — t          j        g d¢g d¢g d¢g d¢g¦  «        j        }t          j        g d¢¦  «        }t          ¦   «         5 }|                     t
          d¦  «        }t          j        ||¦  «        \  }}}}t          |dk    ¦  «         t          j        ||d¬	¦  «        \  }}}}t          |dk    ¦  «         t          j        ||d ¬	¦  «        \  }}}}t          |d
k    ¦  «         t          t          |¦  «        dk    ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rÒ  ra   rÒ  ra   rb   rÒ  )rÒ  rb   rÒ  rÒ  ra   rÒ  )ra   rÒ  ra   rÒ  rÒ  rd   )rÒ  rÒ  rÒ  rb   rc   rÒ  )rp   r   r   r   r   r   z`rcond` parameter will changert   r¡   rÛ  rs   rp   )
r%   r   ÚTr   ÚrecordÚFutureWarningr   rÝ  r   Úlen)	rK   r2   r3   Úsupr^  rÄ   rã  rä  rÊ   s	            r)   Útest_future_rcondzTestLstsq.test_future_rcond¨  sƒ  € ÝŒHÐ2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2ð4ñ 5ô 5ô 67ð 	
õ
 ŒHÐ'Ð'Ð'Ñ(Ô(ˆÝÑ Ô ð 		! CØ—
’
�=Ð*IÑJÔJˆAÝ$*¤L°°AÑ$6Ô$6Ñ!ˆAˆy˜$ Ý�D˜A’IÑÔÐÝ$*¤L°°A¸RÐ$@Ñ$@Ô$@Ñ!ˆAˆy˜$ Ý�D˜A’IÑÔÐÝ$*¤L°°A¸TÐ$BÑ$BÔ$BÑ!ˆAˆy˜$ Ý�D˜A’IÑÔÐå•C˜‘F”F˜a’KÑ Ô Ð ð		!ð 		!ð 		!ñ 		!ô 		!ð 		!ð 		!ð 		!ð 		!ð 		!ð 		!ð 		!øøøð 		!ð 		!ð 		!ð 		!ð 		!ð 		!s   Á
CDÄD"Ä%D")rÎ  râ  Ún_rhs))rt   rr   rr   )r   rt   rp   )r   rt   rr   )rt   r   rp   )rt   r   rr   )rt   rr   r   )r   r   r   c                 óš  — t          j        ||z  ¦  «                             ||¦  «        }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   rl   r¢   rÃ  )r%   r(  r˜   rš  r   rÝ  r   r¾   r   r™   r   r   r‹  r�  )rK   rÎ  râ  rð  r2   r3   rÄ   rã  rä  rÊ   r  s              r)   Útest_empty_a_bzTestLstsq.test_empty_a_bº  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   rp   rr   rs   )r¡   gš™™™™™É?gÍÌÌÌÌÌì?gÍÌÌÌÌÌ @gffffff
@zIncompatible dimensionsrÛ  )
r%   r   Úvstackrš  rí  rê  r   r   r   rÝ  )rK   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)	rU   rV   rW   rï  rû   rü   r1  rò  rö  rY   r+   r)   rè  rè  §  sz   € € € € € ð!ð !ð !ð$ „[×ÒÐ0Ð0Ð0ð 3ð 3ð 3ñ ô ð,ð ,ñô ð,ð+ð +ð +ð +ð +r+   rè  Údtc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rY   )r%   r0   )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 )ÚTestMatrixPowerrt   )rs   r   rp   rr   )rr   rs   r   rp   )rp   rr   rs   r   rp   r   rr   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 )Nrr   éd   i   é    r   rp   rs   )Úrshft_1rÇ  r   r   Úrshft_0Úrshft_2Úrshft_3)rK   r÷  Úrshfts      r)   Útest_large_powerz TestMatrixPower.test_large_powerè  s  € Ø”×#Ò# BÑ'Ô'ˆÝÝ˜  3¡¨¡°Ñ 5¸Ñ 9Ñ:Ô:¸D¼Lñ	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  r0   )ÚMÚmzs     r)   Útzz.TestMatrixPower.test_power_is_zero.<locals>.tzô  sD   € Ý˜a Ñ#Ô#ˆBÝ˜Õ6°qÑ9Ô9Ñ:Ô:Ð:Ý˜œ 1¤7Ñ+Ô+Ð+Ð+Ð+r+   ©Ú	rshft_allrÇ  ÚobjectÚstacked©rK   r÷  r
  r€  s       r)   Útest_power_is_zeroz"TestMatrixPower.test_power_is_zeroó  sr   € ð	,ð 	,ð 	,ð
 ”>ð 	,ð 	,ˆCØˆBˆs�zŠz˜"‰~Œ~ÑÔÐØ•VŠ|ˆ|Ø��4”<×&Ò& rÑ*Ô*Ñ+Ô+Ð+øð	,ð 	,r+   c                 ó¸   — d„ }| j         D ]N} ||                     |¦  «        ¦  «         |t          k    r# || j                             |¦  «        ¦  «         ŒOd S )Nc                 óz   — t          | d¦  «        }t          || ¦  «         t          |j        | j        ¦  «         d S )Nrp   )r   r   r0   )r€  r	  s     r)   r
  z-TestMatrixPower.test_power_is_one.<locals>.tzÿ  s;   € Ý˜c 1Ñ%Ô%ˆBÝ˜˜SÑ!Ô!Ð!Ý˜œ 3¤9Ñ-Ô-Ð-Ð-Ð-r+   r  r  s       r)   Útest_power_is_onez!TestMatrixPower.test_power_is_oneþ  sr   € ð	.ð 	.ð 	.ð
 ”>ð 	,ð 	,ˆCØˆBˆs�zŠz˜"‰~Œ~ÑÔÐØ•VŠ|ˆ|Ø��4”<×&Ò& rÑ*Ô*Ñ+Ô+Ð+øð	,ð 	,r+   c                 ó¸   — d„ }| j         D ]N} ||                     |¦  «        ¦  «         |t          k    r# || j                             |¦  «        ¦  «         ŒOd S )Nc                 óÊ   — t          | d¦  «        }| j        t          k    rt          nt          }t          | || | ¦  «        ¦  «         t          |j        | j        ¦  «         d S )Nrr   )r   r0   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_two	  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   r0   r  r
   r   r   r  )r€  Úinvmatr  s      r)   r
  z3TestMatrixPower.test_power_is_minus_one.<locals>.tz  sa   € Ý! # rÑ*Ô*ˆFØ œY­&Ò0Ð0•6�6µcˆDÝØ��V˜SÑ!Ô!Õ#<¸SÑ#AÔ#AñCô Cð Cð Cð Cr+   )r  ÚdtnoinvrÇ  r  s       r)   Útest_power_is_minus_onez'TestMatrixPower.test_power_is_minus_one  sY   € ð	Cð 	Cð 	Cð ”>ð 	#ð 	#ˆCØ˜œÐ%Ð%Ø��3—:’:˜b‘>”>Ñ"Ô"Ð"øð	#ð 	#r+   c                 ó¬   — | j                              |¦  «        }t          t          t          |d¦  «         t          t          t          |dg¦  «         d S )Ng      ø?rp   )r  rÇ  r   Ú	TypeErrorr   ©rK   r÷  r€  s      r)   Útest_exceptions_bad_powerz)TestMatrixPower.test_exceptions_bad_power   sG   € ØŒl×!Ò! "Ñ%Ô%ˆÝ•i¥¨s°CÑ8Ô8Ð8Ý•i¥¨s°Q°CÑ8Ô8Ð8Ð8Ð8r+   c                 ó*  — t          t          t          t          j        dg|¦  «        d¦  «         t          t          t          t          j        dgdgg|¦  «        d¦  «         t          t          t          t          j        d|¦  «        d¦  «         d S )Nrp   rr   )rt   rs   rr   )r   r   r   r%   r   rš  )rK   r÷  s     r)   Útest_exceptions_non_squarez*TestMatrixPower.test_exceptions_non_square%  sr   € Ý•k¥<µ´¸1¸#¸rÑ1BÔ1BÀAÑFÔFÐFÝ•k¥<µ´¸A¸3ÀÀ¸*ÀbÑ1IÔ1IÈ1ÑMÔMÐMÝ•k¥<µ´¸ÀBÑ1GÔ1GÈÑKÔKÐKÐKÐKr+   úfp errors don't work in wasm©r¡  c                 óˆ   — || j         v rd S | j                             |¦  «        }t          t          t
          |d¦  «         d S r  )r  ÚnoninvrÇ  r   r   r   r   s      r)   Útest_exceptions_not_invertiblez.TestMatrixPower.test_exceptions_not_invertible*  sC   € à�”ÐÐØˆFØŒk× Ò  Ñ$Ô$ˆÝ•k¥<°°bÑ9Ô9Ð9Ð9Ð9r+   N)rU   rV   rW   r%   ru  r  r   r  r  r  r   r'  Úblockr  r  r0   r  r  r  r  r  r  r!  r#  rû   rü   Úskipifr    r(  rY   r+   r)   rú  rú  Û  sb  € € € € € ð ˆbŒf�Q‰iŒi€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ�l�l�lÔ#€GØ˜' 7¨GÐ4€IØˆU�Q˜�F˜Q ˜FÐ#Ñ$Ô$€FØˆbŒh˜'˜˜�} Q‘Ñ'Ô'€Gà�x�r”x ‘}”} h b¤h¨s¡m¤m°X°R´X¸c±]´]ÐC€Gð	Jð 	Jð 	Jð	,ð 	,ð 	,ð	,ð 	,ð 	,ð
,ð 
,ð 
,ð	#ð 	#ð 	#ð9ð 9ð 9ð
Lð Lð Lð
 „[×Ò˜Ð(FÐÑGÔGð:ð :ñ HÔGð:ð :ð :r+   rú  c                   ó   — e Zd Zd„ ZdS )ÚTestEigvalshCasesc                 óD  — t          j        |d¦  «        }t          j        |¦  «        \  }}|                     d¬¦  «         t	          ||t          |j        ¦  «        ¬¦  «         t          j        |d¦  «        }t	          ||t          |j        ¦  «        ¬¦  «         d S )NÚLr¡   rÃ  rX  ÚU)r   ÚeigvalshrI  r‚  r   r=   r0   )rK   r2   r3   rJ   rJ  rK  rL  Úev2s           r)   rO   zTestEigvalshCases.do4  s�   € õ Œ_˜Q Ñ$Ô$ˆÝ"œJ q™MœMÑˆ�Ø�Š˜"ˆÑÔÐÝ˜˜G­(°2´8Ñ*<Ô*<Ð=Ñ=Ô=Ð=åŒo˜a Ñ%Ô%ˆÝ˜˜W­8°B´HÑ+=Ô+=Ð>Ñ>Ô>Ð>Ð>Ð>r+   Nr  rY   r+   r)   r,  r,  2  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 )ÚTestEigvalshr0   c                 óÀ   — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        }t	          |j        t          |¦  «        ¦  «         d S r  )r%   r   r   r0  r   r0   r9   )rK   r0   rÄ   r^  s       r)   r!  zTestEigvalsh.test_typesA  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 ©Nrp   r  r8   Úlrong©ÚUPLOÚlowerÚupper)r%   r   r×  r   r  r   r0  ©rK   rÄ   s     r)   Útest_invalidzTestEigvalsh.test_invalidG  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   rp   r8   r¡   rX  r.  r8  Úlr/  rk  )r%   r   r   r=   r   r0  r   )rK   ÚKloÚKupÚtgtrY  r^  s         r)   Ú	test_UPLOzTestEigvalsh.test_UPLOM  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%  rY   r+   r)   r&  rG  e  r'  r+   r&  r=  r8   rT  rk   rl   )r%   r&   r>  r?  rº   r   r0  r   r0   r#   r@  r   r™   r$   rA  r×  rB  s       r)   r,  zTestEigvalsh.test_0_sizec  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©rU   rV   rW   rû   rü   r1  r   r   r   r   r!  r=  rD  r,  rY   r+   r)   r3  r3  @  sz   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð5ð 5ñ JÔIð5ð
Bð Bð Bð+ð +ð +ð,-ð -ð -ð -ð -r+   r3  c                   ó   — e Zd Zd„ ZdS )ÚTestEighCasesc                 óª  — t          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Ã  .rX  r/  )rY  Úerr_msg)r   ÚeighrI  r‚  r   r   r  r%   r   r=   r0   Úrepr)
rK   r2   r3   rJ   rJ  ÚevcrK  rL  r1  Úevc2s
             r)   rO   zTestEighCases.dox  s:  € õ ”+˜a‘.”.‰ˆˆCÝ"œJ q™MœMÑˆ�Ø�Š˜"ˆÑÔÐÝ˜B Ñ(Ô(Ð(å�¨¨3Ñ/Ô/Ýœ
 2™œ s¨D°!°!°! |Ô4µr´zÀ#±´ÑFÝ% b¤hÑ/Ô/ð	1ñ 	1ô 	1ð 	1õ ”K  3Ñ'Ô'‰	ˆˆTÝ˜C Ñ)Ô)Ð)å�¨¨4Ñ0Ô0Ýœ
 3™œ¨¨T°1°1°1¨Ô5½¼
À4Ñ8HÔ8HÑHÝ% b¤hÑ/Ô/½¸a¹¼ð	Bñ 	Bô 	Bð 	Bð 	Bð 	Br+   Nr  rY   r+   r)   rJ  rJ  v  s(   € € € € € ðBð Bð Bð Bð Br+   rJ  c                   óp   — e Zd Zej                             deeee	g¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ ZdS )ÚTestEighr0   c                 óð   — t          j        ddgddgg|¬¦  «        }t           j                             |¦  «        \  }}t	          |j        t          |¦  «        ¦  «         t	          |j        |¦  «         d S r  )r%   r   r   rM  r   r0   r9   r]  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 r6  )r%   r   r×  r   r  r   rM  r<  s     r)   r=  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 r?  )r%   r   r   r=   r   rM  r   )rK   rA  rB  rC  rY  r^  r_  s          r)   rD  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%  rY   r+   r)   r&  rX  ²  r'  r+   r&  r=  r8   rT  rk   rl   )r%   r&   r>  r?  rº   r   rM  r   r0   r#   r@  r   r™   r$   rA  r×  rc  s        r)   r,  zTestEigh.test_0_size°  s„  € ð	ð 	ð 	ð 	ð 	�BœJñ 	ô 	ð 	åŒH�Y¥b¤gÐ.Ñ.Ô.×3Ò3°MÑBÔBˆÝ”[ ‘^”^‰
ˆˆUÝ�”Ô ¥B¤JÐ.Ñ/Ô/Ð/Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�V˜SœYÑ'Ô'Ð'å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*åŒH�V¥2¤<Ð0Ñ0Ô0×5Ò5°mÑDÔDˆÝ”[ ‘^”^‰
ˆˆUÝ�”Ô ¥B¤LÐ0Ñ1Ô1Ð1Ý�”	”¥"¤*Ð,Ñ-Ô-Ð-Ý�Q”W˜eœkÑ*Ô*Ð*Ý�T˜3œ9Ñ%Ô%Ð%å•
˜1�bœjÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r+   NrH  rY   r+   r)   rR  rR  Œ  sw   € € € € € Ø„[×Ò˜W v¨v°wÀÐ&HÑIÔIð%ð %ñ JÔIð%ð>ð >ð >ð+ð +ð +ð,+ð +ð +ð +ð +r+   rR  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"   )	Ú
issubclassr0   r#   r%   Úinexactr   Úrealr   rà  )rÄ   rC  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+   )rU   rV   rW   r÷  ÚdecÚstaticmethodr_  rY   r+   r)   rZ  rZ  Ç  s7   € € € € € Ø	€BØ
€Càð=ð =ñ „\ð=ð =ð =r+   rZ  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Ò  r8   )r   r   r   r÷  r   rS   s    r)   Ú
test_emptyz_TestNormGeneral.test_emptyÖ  st   € Ý•T˜"‘X”X˜sÑ#Ô#Ð#Ý•T�% ¨$¬'Ð2Ñ2Ô2Ñ3Ô3°SÑ9Ô9Ð9Ý•T�*¥U¨2°T´WÐ%=Ñ%=Ô%=Ñ>Ô>Ñ?Ô?ÀÑEÔEÐEÐEÐEr+   c                 ó(  — t          j        g d¢¦  «        }t           j        d         }t           j        d         }||z   }|D �]N}|                     |¦  «        }t	          |t           j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          ¦   «         5 }| 	                    t          d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d	¦  «        }|                      ||¦  «         t          |d
¦  «         t	          |d¦  «        }|                      ||¦  «         t          ||j                             d
¦  «        |j                             d¦  «        z  ¦  «         t	          |d¦  «        }|                      ||¦  «         t          ||j                             d
¦  «        |j                             d¦  «        z  ¦  «         t	          |t           j        ¦  «        }|                      ||¦  «         t          |d¦  «         �ŒPd S )Nr£  Ú
AllIntegerÚAllFloatrÒ  údivide by zero encounteredr¡   r   rr   rp   rb   r  rt   g      Ð?ra   )r%   r   Ú	typecodesrÇ  r   r   r_  r   r   ÚfilterÚRuntimeWarningr0   r#   ©	rK   r2   Úexact_typesÚinexact_typesÚ	all_typesÚ	each_typeÚatÚanrî  s	            r)   Útest_vector_return_typez(_TestNormGeneral.test_vector_return_typeÛ  sŠ  € ÝŒH�Y�Y�YÑÔˆå”l <Ô0ˆÝœ ZÔ0ˆà -Ñ/ˆ	à"ð 	)ñ 	)ˆIØ—’˜)Ñ$Ô$ˆBå�b�2œ6˜'Ñ"Ô"ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å"Ñ$Ô$ð -¨Ø—
’
�>Ð+GÑHÔHÐHÝ˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð	-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  AÑ&Ô&Ð&å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀgÑ8NÔ8NÑ$NÑOÔOÐOå�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  B¤H§M¢M°#Ñ$6Ô$6¸¼¿ºÀgÑ8NÔ8NÑ$NÑOÔOÐOå�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(Ñ(ð?	)ð 	)s   Â)ADÄD	ÄD	c                 óî   ‡ — g d¢}g d¢}g d¢}ˆ fd„}|||fD ]} ||¦  «         Œt          |‰ j        ¬¦  «        t          |‰ j        ¬¦  «        t          |‰ j        ¬¦  «        fD ]} ||¦  «         Œd S )N)rp   rr   rs   rt   )r¡   r¢   r£   r    )r¡   rr   r£   rt   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Ò­è@©r/   rd   ra   rp   ç      $@r¡   g¸…ëQ¸Þ?rr   r¢   gÊsÔcÙÑê?r   rt   )r%   Útestingr   r   r`  r   )r_  rK   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+   r8   )r   r÷  )rK   r2   r3   r  rz  r_  s   `     r)   Útest_vectorz_TestNormGeneral.test_vector  s¾   ø€ ØˆLˆLˆØÐÐˆØˆNˆNˆð	=ð 	=ð 	=ð 	=ð 	=ð$ �Q˜�ð 	ð 	ˆAØˆE�!‰HŒHˆHˆHå˜ ¤Ð)Ñ)Ô)­5°¸$¼'Ð+BÑ+BÔ+BÝ˜ ¤Ð)Ñ)Ô)ð+ð 	ð 	ˆAàˆE�!‰HŒHˆHˆHð	ð 	r+   c           	      ó*  ‡	‡
‡‡— t          g d¢g d¢g| j        ¬¦  «        Š	d dddddt          j        t          j         fD ]�Šˆ	ˆfd	„t	          ‰	j        d         ¦  «        D ¦   «         }t          t          ‰	‰d¬
¦  «        |¦  «         ˆ	ˆfd„t	          ‰	j        d         ¦  «        D ¦   «         }t          t          ‰	‰d¬
¦  «        |¦  «         Œ‘t          j        dd| j        ¬¦  «         	                    ddd¦  «        Š
‰
j
        }d ddddt          j        t          j         dfD ]êŠt          j        t	          | |¦  «        d¦  «        D ]Ã}|\  }}|dk     r||z  }|dk     r||z  }||k    rt          t          t          ‰
‰|¬
¦  «         ŒBt          ‰
‰|¬
¦  «        }|||z   z
  Š||k     r)ˆ
ˆˆfd„t	          ‰
j        ‰         ¦  «        D ¦   «         }n(ˆ
ˆˆfd„t	          ‰
j        ‰         ¦  «        D ¦   «         }t          ||¦  «         ŒÄŒëd S )N©rp   rr   rs   ©rt   r…   r,   r8   r¡   r   rp   rr   rs   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+   é   rt   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>C  sW   ø€ ð $Fð $Fð $FØ()õ %)¨¨1¨1¨1¬¯ª°1¸7¨Ñ)CÔ)CÔ)EÈ5Ð$QÑ$QÔ$Qð $Fð $Fð $Fr+   )r   r÷  r%   ÚInfr  r™   r   r   r(  r˜   r´   rµ   Úcombinationsr   r  )rK   Ú	expected0Ú	expected1ÚndrÄ  Úrow_axisÚcol_axisrâ  r*  r”  rŽ  r�  r†  s            @@@@r)   Ú	test_axisz_TestNormGeneral.test_axis"  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 )Nrp   r‰  r8   rr   rs   rt   zorder {0}, axis = {1}z;Shape mismatch found {0}, expected {1}, order={2}, axis={3}r‡  T)r‚  rÄ  Úkeepdims)rL  )rp   rp   rp   r¡   r   r¢   r‰  Únuc)r%   r(  r÷  r˜   r   r   ÚsqueezeÚformatr   r™   r‘  r  r´   rÀ   r·   rµ   Úpermutations)	rK   r”  Úallclose_errÚ	shape_errr*  ÚfoundÚexpected_shaper†  r…  s	            r)   Útest_keepdimsz_TestNormGeneral.test_keepdimsG  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)rU   rV   rW   re  rt  r{  r˜  r£  rY   r+   r)   rc  rc  Ô  si   € € € € € ðFð Fð Fð
')ð ')ð ')ðRð ð ð<#5ð #5ð #5ðJ(Qð (Qð (Qð (Qð (Qr+   rc  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 )Nr8   rÒ  )r   r   r   r÷  rS   s    r)   Útest_matrix_emptyz_TestNorm2D.test_matrix_emptyw  s4   € Ý•T˜$Ÿ*š* b T°´˜*Ñ9Ô9Ñ:Ô:¸CÑ@Ô@Ð@Ð@Ð@r+   c                 óÖ  — |                       g d¢g d¢g¦  «        }t          j        d         }d}||z   }|D �]0}|                     |¦  «        }t	          |t          j         ¦  «        }|                      ||¦  «         t          |d¦  «         t          ¦   «         5 }| 	                    t          d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d	¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d
¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |t          j        ¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          |d¦  «         t	          |d¦  «        }|                      ||¦  «         t          j                             |dd¬¦  «         �Œ2d S )Nr£  r=  rg  ÚfdFDrb   ri  r¡   ra   rp   rr   gªLXèz¶û?r¢   r‰  r›  gU&,t=Û@r,   rw  )r   r%   rj  rÇ  r   r   r_  r   r   rk  rl  ry  rm  s	            r)   Útest_matrix_return_typez#_TestNorm2D.test_matrix_return_typez  s–  € Ø�JŠJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆå”l <Ô0ˆð
 ˆà -Ñ/ˆ	à"ð %	Nñ %	NˆIØ—’˜)Ñ$Ô$ˆBå�b�2œ6˜'Ñ"Ô"ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å"Ñ$Ô$ð -¨Ø—
’
�>Ð+GÑHÔHÐHÝ˜"˜b‘\”\�Ø× Ò   RÑ(Ô(Ð(Ý# B¨Ñ,Ô,Ð,ð	-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ �b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜!‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  NÑ3Ô3Ð3å�b˜"‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b�"œ&Ñ!Ô!ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$Ý  CÑ(Ô(Ð(å�b˜%‘”ˆBØ×Ò˜R Ñ$Ô$Ð$õ ŒJ×*Ò*¨2Ð/AÈ1Ð*ÑMÔMÐMÑMðK%	Nð %	Ns   ÂAC<Ã<D 	ÄD 	c                 ó"  — |                       ddgddgg| j        ¬¦  «        }t          t          |¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d	¦  «         t          t          |t          ¦  «        d
¦  «         t          t          |t           ¦  «        d¦  «         t          t          |d¦  «        d	¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          |d¦  «        d¦  «         t          t          t          |d¦  «         t          t          t          |d¦  «         t          t          t          |d¦  «         d S )Nrp   rs   r…   r’   r8   g…¹ŽT"@r‰  r›  rx  g      (@rd   r¡   rf   rr   g„öW³?"@r¢   gÑ—€Ê„ì?Únofror£   r   )r   r÷  r   r   r   r   r  r“  s     r)   Útest_matrix_2x2z_TestNorm2D.test_matrix_2x2­  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…   )rs   rr   rp   r8   grj=Q0î?r‰  r›  gþB+pcõ?gš™™™™™ñ?g333333ã?rp   ra   r¡   gš™™™™™Ù?rr   gû&Þê.dì?r¢   gÜ¸Õ ˆçÈ?)r   r÷  r   r   r   r“  s     r)   Útest_matrix_3x3z_TestNorm2D.test_matrix_3x3½  s  € ð
 Ø�JŠJ˜	˜	˜	 9 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                 óT  — |                       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          j        t          |d d¦  «         t          t          j        t          |d d¦  «         t          t          t          |d d¦  «         d S )Nr}  r~  r8   rp   r‰  rr   rs   rt   r‰  r   r›  Útest©r   rs   rT  )rp   rr   ©rr   rs   )r   rp   rr   )	r   r÷  r%   r(  r˜   r   r  r   Ú	AxisError)rK   r”  rŽ  r†  s       r)   Útest_bad_argsz_TestNorm2D.test_bad_argsÎ  sr  € ð �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Ñ=Ô=Ð=Ð=õ 	•b”l¥D¨!¨T°1Ñ5Ô5Ð5Ý•b”l¥D¨!¨T°6Ñ:Ô:Ð:Ý•j¥$¨¨4°Ñ;Ô;Ð;Ð;Ð;r+   N)
rU   rV   rW   r%   r   r§  rª  r­  r¯  rµ  rY   r+   r)   r¥  r¥  r  so   € € € € € ð ŒH€EðAð Að Að1Nð 1Nð 1Nðf.ð .ð .ð >ð >ð >ð"<ð <ð <ð <ð <r+   r¥  c                   ó   — e Zd ZdS )Ú	_TestNormNr%  rY   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é
   r8   rs   r�  gÍÌÌÌÌL)@rr   rw  )r%   r(  Ú
longdoubler1   r   r<  s     r)   Útest_longdouble_normz+TestNorm_NonSystematic.test_longdouble_normð  s?   € õ ŒI�b¥¤Ð.Ñ.Ô.ˆÝ¥ Q¨A ¡¤°¸qÐAÑAÔAÐAÐAÐAr+   c                 óŠ   — t          j        dgt           j        ¬¦  «        }t          t	          |d¬¦  «        dd¬¦  «         d S )Ni   €r8   rs   r�  l        r…   rw  )r%   r   Úint32r1   r   r<  s     r)   Útest_intminz"TestNorm_NonSystematic.test_intminö  sA   € õ ŒH�h�Z¥r¤xÐ0Ñ0Ô0ˆÝ¥ Q¨A ¡¤°ÀÐCÑCÔCÐCÐCÐCr+   c                 ó   — t          j        dt           j        ¬¦  «        }d|d<   d|d<   d}t          t           j                             |d¬	¦  «        |d
¬¦  «         |                     t           j        ¦  «        }t          t           j                             |d¬	¦  «        |d¬¦  «         |                     t           j        ¦  «        }t          t           j                             |d¬	¦  «        |d¬¦  «         d S )N©rr   r8   y      @      @r   y      À      @rp   g¨ËþÿV;'@rs   r�  r»  rw  é	   r…   )	r%   r¹   Úclongdoubler1   r   r   rÇ  Ú
complex128rA  )rK   rË  rC  s      r)   Útest_complex_high_ordz,TestNorm_NonSystematic.test_complex_high_ordü  sÐ   € åŒH�T¥¤Ð0Ñ0Ô0ˆØˆˆ!‰Øˆˆ!‰ØˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀrÐJÑJÔJÐJØ�HŠH•R”]Ñ#Ô#ˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀqÐIÑIÔIÐIØ�HŠH•R”\Ñ"Ô"ˆÝ¥¤	§¢¨q°a Ñ 8Ô 8¸#ÀqÐIÑIÔIÐIÐIÐIr+   N)rU   rV   rW   r½  rÀ  rÆ  rY   r+   r)   r¹  r¹  î  sL   € € € € € ðBð Bð BðDð Dð Dð
Jð 
Jð 
Jð 
Jð 
Jr+   r¹  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormDoubleBaser-   N)rU   rV   rW   r%   r   r÷  r`  rY   r+   r)   rÈ  rÈ  
  s   € € € € € Ø	Œ€BØ
€C€C€Cr+   rÈ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormSingleBaser,   N)rU   rV   rW   r%   r×  r÷  r`  rY   r+   r)   rÊ  rÊ    s   € € € € € Ø	Œ€BØ
€C€C€Cr+   rÊ  c                   ó    — e Zd Zej        ZdZdS )Ú_TestNormInt64Baser-   N)rU   rV   rW   r%   Úint64r÷  r`  rY   r+   r)   rÌ  rÌ    s   € € € € € Ø	Œ€BØ
€C€C€Cr+   rÌ  c                   ó   — e Zd ZdS )ÚTestNormDoubleNr%  rY   r+   r)   rÏ  rÏ    rº  r+   rÏ  c                   ó   — e Zd ZdS )ÚTestNormSingleNr%  rY   r+   r)   rÑ  rÑ    rº  r+   rÑ  c                   ó   — e Zd ZdS )ÚTestNormInt64Nr%  rY   r+   r)   rÓ  rÓ  !  rº  r+   rÓ  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestMatrixRankc                 ó  — t          dt          t          j        d¦  «        ¦  «        ¦  «         t          j        d¦  «        }d|d<   t          t          |¦  «        d¦  «         t          t          t          j        d¦  «        ¦  «        d¦  «         t          t          g d¢¦  «        d¦  «         t          t          t          j        d	¦  «        ¦  «        d¦  «         t          t          dg¦  «        d¦  «         t          j        |t          j        d¦  «        t          j        d¦  «        g¦  «        }t          t          |¦  «        t          j        g d
¢¦  «        ¦  «         t          t          d¦  «        d¦  «         d S )Nrt   rÒ  ©r¡   r¡   rs   rt  r   )rp   r   r   r   rp   )rt   )rs   rt   r   )r   r   r%   ru  r>  r   )rK   Ú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¨e¡_¤_Ð5Ñ6Ô6ˆÝ•[ ‘_”_¥b¤h¨y¨y¨yÑ&9Ô&9Ñ:Ô:Ð:å•[ ‘^”^ QÑ'Ô'Ð'Ð'Ð'r+   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 )Nrt   Trz  rp   rt  r   rÒ  r×  rs   g:Œ0âŽyE>g¾Ü|"•BE>)r@   Útolgµ;ä¡ˆ°E>)r   r   r%   ru  rš  r>  )rK   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)rU   rV   rW   rÚ  rÝ  rY   r+   r)   rÕ  rÕ  %  s7   € € € € € ð(ð (ð (ð(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»  ©Úsizerp   rr   r   rÃ  rt   r…   rs   rn   )r%   r«  ÚRandomStater  Únormalr   r   )ÚrngÚiÚXs      r)   Útest_reduced_rankrç  I  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¬¦  «        \  }}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#   r0   r™   r�  r   Úqrr   r$   r   r   rê  r~  r%   ru  Útriu)rK   r2   Úa_typeÚa_dtyperÎ  râ  r…  Úqr  Úq1Úr1Úr2s               r)   Úcheck_qrzTestQR.check_qrZ  s‹  € õ �a‘”ˆØ”'ˆØŒw‰ˆˆ1Ý��1‰IŒIˆõ Œy˜ Ð,Ñ,Ô,‰ˆˆ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â  )©rs   r   r²  rk   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   r0   r   r™   )rK   rÎ  râ  r…  r2   Ú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 )Nrp   rr   rs   rt   r…   r,   r8   rú  rì  r³  rÂ  r”   )	r   r%   r   r   rï  r   r0   r™   rê  )rK   r2   rû  rü  s       r)   Útest_mode_rawzTestQR.test_mode_raw’  s  € ð �JŠJ˜˜A˜  A ¨¨A¨Ð/µr´yˆ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 )	Nrp   rr   rs   rt   r…   r,   Úfdù              ð?)r   rÇ  r÷  rê  )rK   r2   r3   r÷  Úm1Úm2s         r)   Útest_mode_all_but_economicz!TestQR.test_mode_all_but_economic¨  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¡   rr   .rî  r  )r#   r0   r™   r�  r   rï  r   r$   r   r
   r%   r	   r�  r   r~  rð  )rK   r2   rñ  rò  rÎ  râ  r…  ró  r  ÚI_matÚstack_I_matrô  rõ  rö  s                 r)   Úcheck_qr_stackedzTestQR.check_qr_stacked¹  s|  € õ �a‘”ˆØ”'ˆØŒw�r�s�sŒ|‰ˆˆ1Ý��1‰IŒIˆõ Œy˜ Ð,Ñ,Ô,‰ˆˆ1Ý�”˜7Ò"Ñ#Ô#Ð#Ý�”˜7Ò"Ñ#Ô#Ð#Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý•
˜1˜fÑ%Ô%Ñ&Ô&Ð&Ý�”˜˜˜”  A Ò&Ñ'Ô'Ð'Ý�”˜˜˜”  A Ò&Ñ'Ô'Ð'Ý�F 1 a™LœL¨!Ñ,Ô,Ð,Ý”˜AœG BœKÑ(Ô(ˆÝ”o eØœ   œ¨¬°¬ ~°aÑ'7Ñ7ñ9ô 9ˆå�F¥8¨A¨r°2Ñ#6Ô#6×#;Ò#;Ñ#=Ô#=¸qÑAÔAÀ;ÑOÔOÐOÝ�BœG A c¨1¨1¨1¨a¨a¨a i¤LÑ1Ô1°1Ñ5Ô5Ð5õ ”˜1 9Ð-Ñ-Ô-‰ˆˆBÝ�”˜GÒ#Ñ$Ô$Ð$Ý�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�”˜˜˜” ! Q Ò'Ñ(Ô(Ð(Ý�F 2 r™NœN¨AÑ.Ô.Ð.Ý”˜BœH RœLÑ)Ô)ˆÝ”o eØœ  " œ¨¬°"¬¨¸Ñ(9Ñ9ñ;ô ;ˆå�F¥8¨B°°BÑ#7Ô#7×#<Ò#<Ñ#>Ô#>ÀÑCÔCØ'ñ	)ô 	)ð 	)å�BœG B s¨A¨A¨A¨q¨q¨q y¤MÑ2Ô2°BÑ7Ô7Ð7õ ŒY�q˜sÐ#Ñ#Ô#ˆÝ�”˜GÒ#Ñ$Ô$Ð$Ý•
˜2˜vÑ&Ô&Ñ'Ô'Ð'Ý˜B Ñ#Ô#Ð#Ð#Ð#r+   rá  ))rs   rt   )rt   rs   rt  rø  r²  Ú
outer_size)r—  rÂ  )rr   rs   rt   r÷  c                 ó>  — t           j                             ||z   ¬¦  «                             |¦  «        }t           j                             ||z   ¬¦  «                             |¦  «        }|                      |¦  «         |                      |d|z  z   ¦  «         d S )Nrà  r  )r%   r«  rã  rÇ  r	  )rK   r
  rá  r÷  r”  rŽ  s         r)   Útest_stacked_inputszTestQR.test_stacked_inputsæ  s�   € õ ŒI×Ò *¨tÑ"3ÐÑ4Ô4×;Ò;¸BÑ?Ô?ˆÝŒI×Ò *¨tÑ"3ÐÑ4Ô4×;Ò;¸BÑ?Ô?ˆØ×Ò˜aÑ Ô Ð Ø×Ò˜a # a¡%™iÑ(Ô(Ð(Ð(Ð(r+   N)rU   rV   rW   r%   r   r÷  rû   rü   r1  rý  rÿ  r  r	  r   r   r   r   r  rY   r+   r)   ré  ré  V  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¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚTestCholeskyr™   )r²   r—  ©rs   rs   )é2   r  )rs   r»  r»  r0   c                 ór  — 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                             |¦  «        }t          j	        || 
                    |¦  «                             ¦   «         ¦  «        }t          j        ¦   «         5  d|j        d         z  t          j        |¦  «        j        z  }d d d ¦  «         n# 1 swxY w Y   t'          ||||› d|› d	|› d	|› �¬
¦  «         d S )Nrp   r  )r¡   r¢   r¢   r8   iô  r   ú ú
)ÚatolrL  )r%   r«  r¬  Úrandnrß  ÚcomplexfloatingrÀ   r  rí  r
   r  r~  r   r   ÚcholeskyÚ_no_nep50_warningr™   ÚfinfoÚepsr   )rK   r™   r0   r2   Útr  r3   r  s           r)   Útest_basic_propertyz TestCholesky.test_basic_propertyù  s³  € õ 	Œ	�Š�qÑÔÐÝŒIŒO˜UÐ#ˆÝŒ=˜¥Ô 2Ñ3Ô3ð 	/Ø�B•r”y”¨Ð.Ñ.Ñ.ˆAå••s˜5‘z”zÑ"Ô"Ñ#Ô#ˆØˆˆ"ˆ#ˆ#‰åŒI�a—k’k !‘n”n×)Ò)Ñ+Ô+¨QÑ/Ô/ˆÝŒJ�q Ð&Ñ&Ô&ˆåŒI×Ò˜qÑ!Ô!ˆåŒI�a˜Ÿš Q™œ×,Ò,Ñ.Ô.Ñ/Ô/ˆÝÔ!Ñ#Ô#ð 	:ð 	:Ø˜œ œÑ#¥b¤h¨u¡o¤oÔ&9Ñ9ˆDð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:å˜˜1 4°EÐ1MÐ1M¸EÐ1MÐ1MÀQÐ1MÐ1MÈ!Ð1MÐ1MÐNÑNÔNÐNÐNÐNs   Å+FÆFÆF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%  rY   r+   r)   r&  r    r'  r+   r&  r=  r8   )rp   r   r   )r%   r&   r>  r?  rº   r   r  r   r™   r   r0   r#   r@  r$   rA  rB  s       r)   r,  zTestCholesky.test_0_size  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+   N)rU   rV   rW   rû   rü   r1  r%   r×  r@  rA  rÅ  r  r,  rY   r+   r)   r  r  ö  s™   € € € € € ð „[×ÒØÐ@Ð@Ð@ñô ð „[×ÒØ�"”*˜bœj¨"¬,¸¼ÐFñô ðOð Oñô ñô ðOð(-ð -ð -ð -ð -r+   r  c                  ó  — t           j        dk    rd} nd} t          j        t          j        fD ]Ñ}t          j        d|¬¦  «        }|                     | ¦  «        }|                     d¦  «                             ¦   «         }t          |j	        j        d¦  «         t          j        t          j        t          j        fD ]?} ||¦  «        }t          | ||¦  «        ¦  «         t          | ||¦  «        ¦  «         Œ@ŒÒd S )NÚlittleú<rR   rt   r8   ÚSú=)ÚsysÚ	byteorderr%   r×  r@  ru  ÚnewbyteorderÚbyteswapr   r0   r   r5  rÅ  rµ  r   )ÚnativeÚdttrá  Ún_arrÚsw_arrÚroutinerC  s          r)   Útest_byteorder_checkr.  $  sù   € å
„}˜Ò Ð Øˆˆàˆå”
�BœJÐ'ð 5ð 5ˆÝŒf�Q˜cÐ"Ñ"Ô"ˆØ× Ò  Ñ(Ô(ˆØ×!Ò! #Ñ&Ô&×/Ò/Ñ1Ô1ˆÝ�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 )Nrp   rr   rs   rt   )rt   rt   rr   rr   .rk   )r%   r   r>  r   r   r   r5  )Ú
invertibleÚnon_invertiblerÄ   s      r)   Ú test_generalized_raise_multiloopr2  9  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+   c                  óª  — 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   rp   rk   ra   zDORGQR parameter number 5zNumpy xerbla not linked in.)ÚosÚforkÚOSErrorÚAttributeErrorrû   ÚskipÚcloseÚresourceÚ	setrlimitÚRLIMIT_COREr%   r   Úlapack_liteÚxerblar  rÔ   Ú_exitÚ	EX_CONFIGr   ÚdorgqrrG   ÚwaitÚWEXITSTATUS)Ú	XERBLA_OKÚpidr;  r2   rÚ   Ústatuss         r)   Útest_xerbla_overriderH  H  sù  € ð
 €Ið1ÝŒg‰iŒiˆˆøÝ•^Ð$ð 1ð 1ð 1åŒÐ/Ñ0Ô0Ð0Ð0Ð0ð1øøøð ˆa‚x�xå
Œ�‰ŒˆÝ
Œ�‰ŒˆàˆˆˆØ×Ò˜8Ô/°Ñ8Ô8Ð8ð	#ÝŒIÔ!×(Ò(Ñ*Ô*Ð*Ð*øÝð 	ð 	ð 	ØˆDÝð 	#ð 	#ð 	#ÝŒH•R”\Ñ"Ô"Ð"Ð"Ð"ð	#øøøð
	$Ý”˜2˜$˜Ñ Ô ˆAÝŒIÔ!×(Ò(Ø�1�a˜ØØ�1�a˜ñô ð ð øõ ð 	$ð 	$ð 	$Ø*­c°!©f¬fÐ4Ð4õ ”˜Ñ#Ô#Ð#øøøøøøøøøð		$øøøõ 	Œ•”ÑÔÐÐÐõ ”g‘i”i‰ˆˆVÝŒ>˜&Ñ!Ô! YÒ.Ð.ÝŒKÐ5Ñ6Ô6Ð6Ð6Ð6ð /Ð.s?   „ ˜%A ¿A Â#B6 Â6
C,Ã'C,Ã+C,Ã0AD3 Ä3
E,Ä=%E'Å'E,zCannot start subprocessc                  ó$  — ddg} t          j        d¦  «        }| D ]t}|                     dd|¬¦  «        }t          j        t
          j        d|g¦  «         |                     dd|¬¦  «        }t          j        t
          j        d|g¦  «         Œud S )	NzPyQt5.QtWidgetsÚIPythonzÕ
    import sys
    {before}
    try:
        import {bad_lib}
    except ImportError:
        sys.exit(0)
    {after}
    x = np.ones(2, dtype=np.float32)
    sys.exit(0 if np.allclose(x.dot(x), 2.0) else 1)
    zimport numpy as npÚ )ÚbeforeÚafterÚbad_libz-c)rM  rL  rN  )ÚtextwrapÚdedentr�  Ú
subprocessÚ
check_callr%  Ú
executable)Úbad_libsÚtemplaterN  Úcodes       r)   Útest_sdot_bug_8577rW  y  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,   rr   ©rr   r,   ©r%   r«  r   r   r   )rK   r”  rŽ  ÚCs       r)   Ú(test_basic_function_with_three_argumentsz5TestMultiDot.test_basic_function_with_three_argumentsŸ  s¯   € õ ŒI×Ò˜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^  )rK   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]  ©rr   rp   r^  )rK   r”  rŽ  r_  ÚDs        r)   Ú9test_basic_function_with_dynamic_programming_optimizationzFTestMultiDot.test_basic_function_with_dynamic_programming_optimization±  s    € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝ�I q¨!¨Q° lÑ3Ô3°Q·U²U¸1±X´X·\²\À!±_´_×5HÒ5HÈÑ5KÔ5KÑLÔLÐLÐLÐLr+   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        j        d¦  «         d S )Nrr   r]  r\  r—  rÂ  ©r%   r«  r   r   r™   )rK   ÚA1drŽ  r_  re  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]  rr   )r,   rh  )rK   r”  rŽ  r_  ÚD1ds        r)   Útest_vector_as_last_argumentz)TestMultiDot.test_vector_as_last_argumentÄ  s�   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒi×Ò˜qÑ!Ô!ˆõ 	•Y  1 a¨˜~Ñ.Ô.Ô4°dÑ;Ô;Ð;Ð;Ð;r+   c                 óJ  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          t          ||||g¦  «        j        d¦  «         d S )Nrr   r]  r\  rY   rh  )rK   ri  rŽ  r_  rl  s        r)   Ú&test_vector_as_first_and_last_argumentz3TestMultiDot.test_vector_as_first_and_last_argumentÎ  s‚   € åŒi×Ò˜qÑ!Ô!ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒi×Ò˜qÑ!Ô!ˆõ 	•Y  Q¨¨3Ð/Ñ0Ô0Ô6¸Ñ;Ô;Ð;Ð;Ð;r+   c           
      óô  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          |||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «        ¦  «         t	          |t          j        |t          j        ||¦  «        ¦  «        ¦  «         d S )Nr\  r]  ©r'   ©r%   r«  r>  r   r   r   )rK   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,   rq  rr  )rK   r”  rŽ  r'   rs  s        r)   Útest_two_arguments_and_outz'TestMultiDot.test_two_arguments_and_outå  s˜   € åŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒh�vÑÔˆÝ˜˜A˜ CÐ(Ñ(Ô(ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤Ñ*Ô*Ð*Ý˜C¥¤¨¨1¡¤Ñ.Ô.Ð.Ð.Ð.r+   c                 óî  — t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t           j                             d¦  «        }t          j        d¦  «        }t          ||||g|¬¦  «        }||u sJ ‚t	          ||                     |¦  «                             |¦  «                             |¦  «        ¦  «         d S )Nr\  r]  rd  )r,   rp   rq  rr  )rK   r”  rŽ  r_  re  r'   rs  s          r)   Ú-test_dynamic_programming_optimization_and_outz:TestMultiDot.test_dynamic_programming_optimization_and_outï  sÆ   € õ ŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒI×Ò˜VÑ$Ô$ˆÝŒh�vÑÔˆÝ˜˜A˜q !˜¨#Ð.Ñ.Ô.ˆØ�cˆzˆzˆzˆzÝ˜C §¢ q¡¤§¢¨a¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ð8Ð8r+   c           	      óJ  — t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        t           j                             d¦  «        g}t          j        g d¢g d¢g d	¢g d
¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g d¢gt          ¬¦  «        }|dz  }t	          |d¬¦  «        \  }}t          t          j        |d d…dd …f         ¦  «        t          j        |d d…dd …f         ¦  «        ¦  «         t          t          j        |¦  «        t          j        |¦  «        ¦  «         d S )N)é   é#   )r{  é   )r|  r…   )r…   r»  )r»  é   )r}  r‰  )rÒ  g     ÃÎ@g     Ã¾@g    €OÂ@g    €1Ç@g    €ŠÍ@)rÒ  rÒ  g     ‚¤@g     ±@g     Õ»@g     ‚Ä@)rÒ  rÒ  rÒ  g     p‡@g     ˆ£@g     ÿ´@)rÒ  rÒ  rÒ  rÒ  g     @�@g     X«@)rÒ  rÒ  rÒ  rÒ  rÒ  g     ˆ³@)rÒ  rÒ  rÒ  rÒ  rÒ  rÒ  )r   rp   rp   rs   rs   rs   )r   r   rr   rs   rs   rs   )r   r   r   rs   rs   rs   )r   r   r   r   rt   r…   )r   r   r   r   r   r…   )r   r   r   r   r   r   r8   rp   T)Úreturn_costsr¡   )r%   r«  r   Úintr   r   rð  )rK   ÚarraysÚ
m_expectedÚ
s_expectedrÊ   rÎ  s         r)   Útest_dynamic_programming_logicz+TestMultiDot.test_dynamic_programming_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«  rS   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)rU   rV   rW   r`  rb  rf  rj  rm  ro  rt  rv  rx  rƒ  r…  rY   r+   r)   rY  rY  �  sÄ   € € € € € ðKð Kð Kð=ð =ð =ðMð Mð Mð<ð <ð <ð<ð <ð <ð<ð <ð <ð:ð :ð :ð/ð /ð /ð
9ð 
9ð 
9ð=ð =ð =ð<Ið Ið Ið Ið Ir+   rY  c                   ó8  — e Zd Zej                             d ej        d¦  «        df ej        d¦  «        dfg¦  «        d„ ¦   «         Zej                             ddd	g¦  «        d
„ ¦   «         Z	ej                             dddg¦  «        d„ ¦   «         Z
d„ ZdS )ÚTestTensorinvzarr, ind©rt   r,   rn   rr   rr   ©rs   rs   rr   rp   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)rK   rá  rŒ  s      r)   Útest_non_square_handlingz&TestTensorinv.test_non_square_handling   sŒ   € õ
 �;Ñ'Ô'ð 	+ð 	+ÝÔ˜S cÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   •9¹=Á =z
shape, ind)©rt   r,   rn   rs   rr   )©é   rn   rs   rp   c                 óÔ   — t          j        d¦  «        }||_        t          j        ||¬¦  «        }|j        |d …         |j        d |…         z   }|j        }t          ||¦  «         d S )Nr‘  ©r2   rŒ  )r%   ru  r™   r   r�  r   )rK   r™   rŒ  r2   Úainvr*  Úactuals          r)   Útest_tensorinv_shapez"TestTensorinv.test_tensorinv_shape(  sh   € õ ŒF�2‰JŒJˆØˆŒÝÔ !¨Ð-Ñ-Ô-ˆØ”7˜3˜4˜4”= 1¤7¨4¨C¨4¤=Ñ0ˆØ”ˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r+   rŒ  r   r¢   c                 óÂ   — t          j        d¦  «        }d|_        t          t          ¦  «        5  t          j        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‘  r�  r“  )r%   ru  r™   r   r  r   r�  )rK   rŒ  r2   s      r)   Útest_tensorinv_ind_limitz&TestTensorinv.test_tensorinv_ind_limit5  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�  rp   r‹  )	r%   ru  r™   r   r�  rš  r   Ú	tensordotÚtensorsolve)rK   r2   r”  r3   s       r)   Útest_tensorinv_resultz#TestTensorinv.test_tensorinv_result>  sn   € åŒF�2‰JŒJˆØˆŒÝÔ  qÐ)Ñ)Ô)ˆÝŒG�B‰KŒKˆÝ�œ T¨1¨aÑ0Ô0µ"´)×2GÒ2GÈÈ1Ñ2MÔ2MÑNÔNÐNÐNÐNr+   N)rU   rV   rW   rû   rü   r1  r%   rš  rŽ  r–  r˜  rœ  rY   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   rr   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 ©Nrr   r|  )r   r   r%   rš  r™   r   r›  )rK   r2   r}  r3   s       r)   rŽ  z(TestTensorsolve.test_non_square_handlingI  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™   ))rr   rs   r,   )rs   rt   rt   rs   )r   rs   rs   r   c           	      ó  — t          j        j        |Ž }t          j        |j        d d…         ¦  «        }t           j                             ||¦  «        }t          t          j        ||t          |j        ¦  «        ¬¦  «        |¦  «         d S r   )
r%   r«  r  rš  r™   r   r›  r   rš  rí  )rK   r™   r2   r3   rÄ   s        r)   Útest_tensorsolve_resultz'TestTensorsolve.test_tensorsolve_resultR  sq   € õ ŒIŒO˜UÐ#ˆÝŒG�A”G˜B˜Q˜B”KÑ Ô ˆÝŒI×!Ò! ! QÑ'Ô'ˆÝ�œ Q¨µ°A´G±´Ð=Ñ=Ô=¸qÑAÔAÐAÐAÐAr+   )
rU   rV   rW   rû   rü   r1  r%   rš  rŽ  r¢  rY   r+   r)   rž  rž  G  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 )Nrp   r¢   rr   r…   Úfloat16r8   zunsupported in linalg)r%   r   r   r  r   r  )rá  s    r)   Útest_unsupported_commontyper¥  \  s¨   € å
Œ(�Q˜�G˜a ˜VÐ$¨IÐ
6Ñ
6Ô
6€CÝ	�YÐ(?Ñ	@Ô	@ð ð ÝŒ˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ²AÁAÁAz,Bad memory reports lead to OOM in ci testingc                  óò   — d} t          j        d| gt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }d|d<   t          j        ||¦  «        }t          |d         d¦  «         d S )Nì        rp   r8   )r   r¡   )r%   r>  r×  rš  r   r   )râ  r2   r3   r  s       r)   Útest_blas64_dotr¨  g  sm   € à€AÝ
Œ�!�Q��rœzÐ*Ñ*Ô*€AÝ
Œ��A��bœjÐ)Ñ)Ô)€AØ€A€d�GÝ
Œˆq�!‰Œ€AÝ��4”˜!ÑÔÐÐÐr+   z*Numpy not compiled with 64-bit BLAS/LAPACKc            
      ó  — t           j        } t           j        j        j        }d}d}|}t          j        ddg| ¬¦  «        }t          j        dg| ¬¦  «        }t          j        dg| ¬¦  «        } |||||||dd¦  «        }t          |d         d¦  «         t          |d         |¦  «         t          |d         |¦  «         t          |                     ¦   «         ¦  «        }	t          d	|	cxk     od
k     nc ¦  «         d S )Nl       rp   r8   r¡   r   ÚinforÎ  râ  r§  l        )
r%   r@  r   r>  Údgeqrfr>  r   r  Úitemr   )
r0   Úlapack_routinerÎ  râ  Úldar2   Úworkrü  ÚresultsÚlworks
             r)   Ú!test_blas64_geqrf_lwork_smoketestr²  q  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+   )r,   r-   )€Ú__doc__r5  r%  rµ   rÕ   rO  rQ  rû   Únumpyr%   r   r   r   r   r   r   r	   r
   Ú
numpy.corer   r   r   r   r   r   Únumpy.linalgr   r   r   r   r   Únumpy.linalg.linalgr   Únumpy.testingr   r   r   r   r   r   r   r   r   r    r*   r1   r9   r;   r=   r[   rE   r_   r«  r¬  r–   r¹   r­  rœ   rË   rÏ   rÑ   rÞ   rç   rï   rõ   rÿ   r  r  r  r  r  r3  r8  rF  rN  rV  r[  rf  rn  rr  rx  r„  r†  r‘  r²  r¹  r¼  r¿  rÁ  rÐ  rÙ  rè  rü   r1  rú  r,  r3  rJ  rR  rZ  rc  r¥  r·  r¹  rÈ  rÊ  rÌ  rÏ  rÑ  rÓ  rÕ  rç  ré  r  r.  r*  r2  rH  rý   rW  rY  r‡  rž  r¥  r9  r¨  r°  r²  rY   r+   r)   ú<module>r¹     sª  ððð ð 
€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€à Ð Ð Ð Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð*ð *ð *ð .Ð ð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 Ñ#Ô#Øñô ð/!ñ 
ô 
ñ €ð@ð ð ð8 Ð	 Ð	 Ñ	"Ô	"Ñ "€ð-'ð -'ð -'ð`ð ð ð Ð	Ð	Ñ	Ô	Ñ €ð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ñ +ô +ð +ð73ð 73ð 73ð 73ð 73�
ñ 73ô 73ð 73ðt/ð /ð /ð /ð /Ð#Ð%Dñ /ô /ð /ð0ð 0ð 0ð 0ð 0ˆhñ 0ô 0ð 0ð.)ð )ð )ð )ð )Ð'Ð)Hñ )ô )ð )ð-ð -ð -ð -ð -�,ñ -ô -ð -ð62ð 2ð 2ð 2ð 2Ð#Ð%Dñ 2ô 2ð 2ð!+ð !+ð !+ð !+ð !+ˆhñ !+ô !+ð !+ðH5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ð,ð ,ð ,ð ,ð ,Ð#Ð%Dñ ,ô ,ð ,ð$ð $ð $ð $ð $ˆh˜ñ $ô $ð $ð ,ð ,ð ,ð ,ð ,Ð)Ð+Gñ ,ô ,ð ,ð&ð ð ð ð Ð(¨,ñ ô ð ð+1ð +1ð +1ð +1ð +1Ð$Ð&Eñ +1ô +1ð +1ð\@)ð @)ð @)ð @)ð @)ˆyñ @)ô @)ð @)ðF
0ð 
0ð 
0ð 
0ð 
0Ð$Ø'Ø/Ø2ñ
0ô 
0ð 
0ð	ð 	ð 	ð 	ð 	ˆyñ 	ô 	ð 	ð0ð 0ð 0ð 0ð 0Ð*Ð,Hñ 0ô 0ð 0ð	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð#ð #ð #ð #ð #Ð#Ð%Dñ #ô #ð #ð('1ð '1ð '1ð '1ð '1ˆhñ '1ô '1ð '1ðT3ð 3ð 3ð 3ð 3Ð%Ð'>ñ 3ô 3ð 3ð<1+ð 1+ð 1+ð 1+ð 1+�
ñ 1+ô 1+ð 1+ðh „×Ò˜ÐIÐIÐ5HÐIÑIÔIÑJÔJðS:ð S:ð S:ð S:ð S:ñ S:ô S:ñ KÔJðS:ðl?ð ?ð ?ð ?ð ?Ð)Ð+Gñ ?ô ?ð ?ð3-ð 3-ð 3-ð 3-ð 3-ñ 3-ô 3-ð 3-ðlBð Bð Bð Bð BÐ%Ð'Cñ Bô Bð Bð,8+ð 8+ð 8+ð 8+ð 8+ñ 8+ô 8+ð 8+ðv
=ð 
=ð 
=ð 
=ð 
=ñ 
=ô 
=ð 
=ð[Qð [Qð [Qð [Qð [Q�}ñ [Qô [Qð [Qð|u<ð u<ð u<ð u<ð u<�-ñ u<ô u<ð u<ðp	ð 	ð 	ð 	ð 	�Ð-ñ 	ô 	ð 	ðJð Jð Jð Jð Jñ Jô Jð Jð8ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜-ñ ô ð ð
ð ð ð ð ˜ñ ô ð ð
	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�YÐ 3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�IÐ1ñ 	ô 	ð 	ð!Eð !Eð !Eð !Eð !Eñ !Eô !Eð !EðH
(ð 
(ð 
(ð])ð ])ð ])ð ])ð ])ñ ])ô ])ð ])ð@+-ð +-ð +-ð +-ð +-ñ +-ô +-ð +-ð\5ð 5ð 5ð* „×Ò�GÐ$BÐÑCÔCð;ð ;ñ DÔCð;ð.7ð .7ð .7ðb „×Ò�GÐ$=ÐÑ>Ô>Ø„Ôð<ð <ñ Ôñ ?Ô>ð<ðD~Ið ~Ið ~Ið ~Ið ~Iñ ~Iô ~Ið ~IðB&Oð &Oð &Oð &Oð &Oñ &Oô &Oð &OðRBð Bð Bð Bð Bñ Bô Bð Bð*ð ð ð „×ÒÐGÐÑHÔHðð ñ IÔHðð „×Ò�|Ð#ØFð ñ Hô Hð#ð #ñHô Hð#ð #ð #r+   