Ë
    qwj×› ã                   óú  — 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mZmZmZmZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z-m.Z. d dl/m0Z0 d d	l1m2Z2 ej                  ejf                  ejh                  fZ5ejl                  ejn                  ejp                  fZ9e5e9z   Z:ejv                  jy                  d
ddiddii gg d¢¬«      Z=ejv                  jy                  dddiddii gg d¢¬«      Z>d„ Z? G d„ d«      Z@ G d„ d«      ZA G d„ d«      ZB G d„ d«      ZC G d„ d«      ZD G d„ d«      ZEd6d„ZF G d „ d!«      ZG G d"„ d#«      ZH G d$„ d%«      ZIejv                  jy                  d&d'«      ejv                  jy                  d(eef«      d)„ «       «       ZJ G d*„ d+«      ZK G d,„ d-«      ZL G d.„ d/«      ZM G d0„ d1«      ZN G d2„ d3«      ZO G d4„ d5«      ZPy)7é    N)ÚarangeÚarrayÚdotÚzerosÚidentityÚ	conjugateÚ	transposeÚfloat32)Úassert_equalÚassert_almost_equalÚassert_Úassert_array_almost_equalÚassert_allcloseÚassert_array_equal)Úraises)ÚsolveÚinvÚdetÚlstsqÚpinvÚpinvhÚnormÚsolve_bandedÚsolveh_bandedÚsolve_triangularÚsolve_circulantÚ	circulantÚLinAlgErrorÚ
block_diagÚmatrix_balanceÚqrÚLinAlgWarning©Úassert_no_overwrite)Úcheck_free_memoryÚIS_MUSL)Ú	HAS_ILP64)Úskip_xp_invalid_argÚoverwrite_kwÚoverwrite_aTF)ÚTrueÚFalseÚNone)ÚidsÚoverwrite_b_kwÚoverwrite_bc                 óÒ   — | }|t         j                  k(  rt         j                  }n#|t         j                  k(  rt         j                  }t        j
                  |«      j                  S )z;Get the epsilon for dtype, possibly downcast to BLAS types.)ÚnpÚ
longdoubleÚfloat64ÚclongdoubleÚ
complex128ÚfinfoÚeps)ÚdtypÚdts     úb/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_basic.pyÚ	_eps_castr<   +   sE   € à	€BØ	ŒR�]‰]ÒÜ�Z‰Z‰Ø	Œr�~‰~Ò	Ü�]‰]ˆÜ�8‰8�B‹<×ÑÐó    c            	       ó"  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eeej"                  eej&                  g«      ej                  j                  d
eeej"                  eej&                  g«      d„ «       «       Zy)ÚTestSolveBandedc                 ód  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g«      }d	\  }}t        g d
¢«      }|j                  dd«      }t        ddgddgddgddgg«      }t        g d¢g d¢g d¢g d¢g«      }||||fD ]'  }	t        ||f||	«      }
t        t	        ||
«      |	«       Œ) y )N©ç      ð?é   r   r   ©éâÿÿÿé   é   r   ©é   é   rC   rI   ©r   éÿÿÿÿé   é   ©ç        rC   rG   rI   ©rJ   rF   rC   rN   ©rE   rJ   rM   r   ©rI   rL   r   r   ©rI   rJ   ©ç      $@rP   ç       @g      ,@rL   rJ   rI   rE   rF   é   ©rJ   r   r   r   ©r   r   r   rJ   ©r   rJ   r   r   ©r   Úreshaper   r   r   ©ÚselfÚaÚabÚlÚuÚb4Úb4by1Úb4by2Úb4by4ÚbÚxs              r;   Ú	test_realzTestSolveBanded.test_real7   sÛ   € Ü’?Ú!Ú Ú!ð#ó $ˆô ’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ)Ó*ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú#Ú#Ú#ð%ó &ˆð �e˜U EÓ*ˆAÜ˜a ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ +r=   c                 ód  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g«      }d	\  }}t        g d
¢«      }|j                  dd«      }t        ddgddgddgddgg«      }t        g d¢g d¢g d¢g d¢g«      }||||fD ]'  }	t        ||f||	«      }
t        t	        ||
«      |	«       Œ) y )NrA   rD   )ù               @rJ   rC   rl   rK   ©rP   rC   rG   rl   rQ   rR   )rl   rL   r   r   rT   ©rV   rP   rW   y              ,@rL   rJ   rI   rE   rF   rX   rY   )r   r   r   ù              ð?r[   r\   r^   s              r;   Útest_complexzTestSolveBanded.test_complexO   sÜ   € Ü’?Ú!Ú"Ú!ð#ó $ˆô Ò$Ú"Ú"Ú"ð$ó %ˆð ‰ˆˆ1ÜÒ*Ó+ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú$Ú#Ú#ð%ó &ˆð �e˜U EÓ*ˆAÜ˜a ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ +r=   c                 óÔ  — t        g d¢g d¢g d¢g«      }t        j                  |ddd …f   d«      t        j                  |dd d …f   d«      z   t        j                  |dd d…f   d«      z   }t        g d¢«      }|j                  dd«      }t        ddgd	d
gddgddgg«      }t        g d¢g d¢g d¢g d¢g«      }||||fD ]%  }t	        d||«      }t        t        ||«      |«       Œ' y )NrO   rQ   rR   r   rJ   rI   rL   rU   rE   rF   rX   rY   rZ   r[   ©rJ   rJ   ©r   r2   Údiagr]   r   r   r   ©	r_   ra   r`   rd   re   rf   rg   rh   ri   s	            r;   Útest_tridiag_realz!TestSolveBanded.test_tridiag_realg   s  € Ü’OÚ!Ú!ð#ó $ˆô �G‰G�B�q˜!™"�u‘I˜qÓ!¤B§G¡G¨B¨q²!¨t©H°aÓ$8Ñ8¼2¿7¹7Ø@BÀ1ÀcÀrÀcÀ6Á
ÈBó<Pñ PˆäÒ)Ó*ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú#Ú#Ú#ð%ó &ˆð �e˜U EÓ*ˆAÜ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ +r=   c                 óÔ  — t        g d¢g d¢g d¢g«      }t        j                  |ddd …f   d«      t        j                  |dd d …f   d«      z   t        j                  |dd d…f   d«      z   }t        g d¢«      }|j                  dd«      }t        ddgd	d
gddgddgg«      }t        g d¢g d¢g d¢g d¢g«      }||||fD ]%  }t	        d||«      }t        t        ||«      |«       Œ' y )Nrm   rQ   rR   r   rJ   rI   rL   rn   rE   rF   rX   rY   rZ   r[   rr   rs   ru   s	            r;   Útest_tridiag_complexz$TestSolveBanded.test_tridiag_complex{   s  € ÜÒ$Ú!Ú!ð#ó $ˆô �G‰G�B�q˜!™"�u‘I˜qÓ!¤B§G¡G¨B¨q²!¨t©H°aÓ$8Ñ8¼2¿7¹7Ø?AÀ!ÀSÀbÀSÀ&¹zÈ2ó<Oñ OˆäÒ*Ó+ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú#Ú#Ú#ð%ó &ˆð �e˜U EÓ*ˆAÜ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ +r=   c                 óÒ   — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g«      }d	\  }}t        g d
¢«      }t        ||f||d¬«      }t        t        ||«      |«       y )NrA   rD   rH   rK   rO   rQ   rR   rS   rT   rU   F©Úcheck_finite)r   r   r   r   )r_   r`   ra   rb   rc   rd   ri   s          r;   Útest_check_finitez!TestSolveBanded.test_check_finite�   sr   € Ü’?Ú!Ú Ú!ð#ó $ˆô ’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ)Ó*ˆÜ˜!˜Q˜  R°eÔ<ˆÜ!¤# a¨£)¨RÕ0r=   c                 ó  — t        g d¢g d¢g d¢g d¢g«      }d\  }}t        g d¢«      j                  dd«      }t        t        t        ||f||«       t        t        t        ||f|d	d
g«       t        t        t        d|d	d
g«       y )NrO   rQ   rR   rS   rT   )rB   rW   ç      @ç      @rL   rF   rB   rW   rr   )r   r]   Úassert_raisesÚ
ValueErrorr   )r_   ra   rb   rc   Úbads        r;   Útest_bad_shapezTestSolveBanded.test_bad_shape�   s�   € Ü’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ(Ó)×1Ñ1°"°aÓ8ˆÜ”j¤,°°A°¸¸CÔ@Ü”j¤,°°A°¸¸SÀ#¸JÔGô 	”j¤,°¸¸SÀ#¸JÕGr=   c                 ó(  — t        g d¢g«      }t        g d¢g«      }t        ddgg|«      }t        ||d¬«       t        ddgdgdgg|«      }t        ||d¬«       t        |j                  t        j                  d	«      «       t        |g d¢g«       y )
N©rB   rW   r~   )ç      à?rB   g      ø?©r   r   rI   çVçž¯Ò<©Úrtolrr   r   Úf8)r   r   r   r   Údtyper2   r   )r_   rh   Úrefri   s       r;   Útest_1x1zTestSolveBanded.test_1x1ª   s†   € ô
 ’<�.Ó!ˆÜ’_Ð%Ó&ˆÜ˜ 1 # ¨Ó*ˆÜ˜˜3 UÕ+ô ˜ 1 #¨ s¨Q¨C °!Ó4ˆÜ˜˜3 UÕ+Ü�Q—W‘WœbŸh™h t›nÔ-Ü˜1šÐ/Õ0r=   c                 ó˜   — g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g}d	\  }}g d
¢}t        ||f||«      }t        t        ||«      |«       y )NrA   rD   rH   rK   rO   rQ   rR   rS   rT   rU   )r   r   r   )r_   r`   ra   rb   rc   rh   ri   s          r;   Útest_native_list_argumentsz*TestSolveBanded.test_native_list_arguments»   s\   € ÚÚÚÚðˆò ÚÚÚðˆð ‰ˆˆ1Ú"ˆÜ˜!˜Q˜  QÓ'ˆÜ!¤# a¨£)¨QÕ/r=   Údt_abÚdt_bc                 óD  — t        j                  g g|¬«      }t        j                  g |¬«      }t        d||«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      t        j                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        d||«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      t        j                  d|¬«      «      j                  k(  sJ ‚y )N©rŒ   r‡   ©r   rJ   )	r2   r   r   ÚshaperŒ   r   ÚeyeÚonesÚempty©r_   r‘   r’   ra   rh   ri   s         r;   Ú
test_emptyzTestSolveBanded.test_emptyÉ   sÞ   € ô �X‰X�r�d %Ô(ˆÜ�H‰H�R˜tÔ$ˆÜ˜  QÓ'ˆà�w‰w˜$ŠÐˆØ�w‰wœ%¤§¡ q°Ô 6¼¿¹ÀÈÔ8NÓO×UÑUÒUÐUÐUä�H‰H�V 4Ô(ˆÜ˜  QÓ'ˆà�w‰w˜&Ò Ð Ð Ø�w‰wœ%¤§¡ q°Ô 6¼¿¹ÀÈÔ8NÓO×UÑUÒUÐUÑUr=   N)Ú__name__Ú
__module__Ú__qualname__rj   rp   rv   rx   r|   rƒ   rŽ   r�   ÚpytestÚmarkÚparametrizeÚintÚfloatr2   r
   ÚcomplexÚ	complex64r›   © r=   r;   r?   r?   5   s“   „ ò4ò04ò04ò(4ò(1òHò1ò"0ð ‡[�[×Ñ˜W s¨E°2·:±:¸wÈÏÉÐ&UÓVØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñVó Vó WñVr=   r?   c            	       óv  — 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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej4                  j7                  deeej>                  e ejB                  g«      ej4                  j7                  deeej>                  e ejB                  g«      d„ «       «       Z"y)ÚTestSolveHBandedc                 óz   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y ©N©rP   rP   rW   rW   ©é�ÿÿÿrB   rB   rB   ©r   r   r   r   ©rB   r   rB   rW   ©rP   rB   rP   rP   ©r   r   r   ©r_   ra   rh   ri   s       r;   Útest_01_upperzTestSolveHBanded.test_01_upperÝ   s@   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r=   c                 ó¸   — t        g d¢g d¢g d¢g«      }t        ddgddgddgddgg«      }t        ||«      }t        ddgddgddgddgg«      }t        ||«       y )	Nr«   r¬   r®   rB   ç      @r   rW   rP   r±   ©r_   ra   rh   ri   Úexpecteds        r;   Útest_02_upperzTestSolveHBanded.test_02_upperë   sŒ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 óÌ   — t        g d¢g d¢g d¢g«      }t        g d¢«      j                  dd«      }t        ||«      }t        |t        g d¢«      j                  dd«      «       y )Nr«   r¬   r®   r¯   rL   rJ   r°   ©r   r]   r   r   r²   s       r;   Útest_03_upperzTestSolveHBanded.test_03_upper   s_   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'×/Ñ/°°AÓ6ˆÜ˜"˜aÓ ˆÜ! !¤UÒ+;Ó%<×%DÑ%DÀRÈÓ%KÕLr=   c                 ó~   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )Nr®   ©rB   rB   rB   r­   ©rW   rW   rP   rP   r¯   T©Úlowerr°   r±   r²   s       r;   Útest_01_lowerzTestSolveHBanded.test_01_lower  sB   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜a tÔ,ˆÜ! !Ò%9Õ:r=   c                 ó¼   — t        g d¢g d¢g d¢g«      }t        ddgddgddgddgg«      }t        ||d¬	«      }t        d
dgdd
gd
dgd
d
gg«      }t        ||«       y )Nr®   r½   r¾   rB   rµ   r   rW   Tr¿   rP   r±   r¶   s        r;   Útest_02_lowerzTestSolveHBanded.test_02_lower  sŽ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 ó’   — t        g d¢g d¢g d¢gt        ¬«      }t        g d¢t        ¬«      }t        ||«      }t        |g d¢«       y )Nr«   r¬   r®   r”   r¯   r°   ©r   r
   r   r   r²   s       r;   Útest_01_float32z TestSolveHBanded.test_01_float321  sE   € ô Ò(Ú(Ú(ð*ä18ô:ˆô Ò&¬gÔ6ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r=   c                 óÐ   — t        g d¢g d¢g d¢gt        ¬«      }t        ddgddgddgddggt        ¬«      }t        ||«      }t        d	dgdd	gd	dgd	d	gg«      }t        ||«       y )
Nr«   r¬   r®   r”   rB   rµ   r   rW   rP   rÅ   r¶   s        r;   Útest_02_float32z TestSolveHBanded.test_02_float32?  s”   € ô Ò(Ú(Ú(ð*ä18ô:ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðô '.ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 óz   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )Nr«   ©r­   ù       €      ð¿rË   rË   r®   )ù       @      ð¿ù      @      ð¿ù      @      ð?ù       @      ð?)rP   rB   rB   rP   r±   r²   s       r;   Útest_01_complexz TestSolveHBanded.test_01_complexT  s@   € ô Ò(Ú.Ú(ð*ó +ˆô Ò.Ó/ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r=   c                 ó¸   — t        g d¢g d¢g d¢g«      }t        ddgddgdd	gd
dgg«      }t        ||«      }t        ddgddgddgddgg«      }t        ||«       y )Nr«   rÊ   r®   rÌ   ù       @      @rÍ   ù      ð¿      ð¿rÎ   y      @       @rÏ   ro   rP   rB   r±   r¶   s        r;   Útest_02_complexz TestSolveHBanded.test_02_complexb  sŒ   € ô Ò(Ú.Ú(ð*ó +ˆô �D˜$�<Ø˜E�?Ø˜D�>Ø˜"�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r­   rB   rB   ©r   r   r   ©rB   r   rB   ©rP   rB   rP   r±   r²   s       r;   Útest_tridiag_01_upperz&TestSolveHBanded.test_tridiag_01_upperw  s3   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r=   c                 ó¦   — t        g d¢g d¢g«      }t        ddgddgddgg«      }t        ||«      }t        ddgddgddgg«      }t        ||«       y )NrÖ   r×   rB   r   rW   rP   r±   r¶   s        r;   Útest_tridiag_02_upperz&TestSolveHBanded.test_tridiag_02_upper‚  sx   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 óÆ   — t        g d¢g d¢g«      }t        g d¢«      j                  dd«      }t        ||«      }t        |t        g d¢«      j                  dd«      «       y )NrÖ   r×   rØ   rL   rJ   rÙ   rº   r²   s       r;   Útest_tridiag_03_upperz&TestSolveHBanded.test_tridiag_03_upper“  sR   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"×*Ñ*¨2¨qÓ1ˆÜ˜"˜aÓ ˆÜ! !¤Uª?Ó%;×%CÑ%CÀBÈÓ%JÕKr=   c                 óx   — t        g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )Nr×   ©rB   rB   r­   rØ   Tr¿   rÙ   r±   r²   s       r;   Útest_tridiag_01_lowerz&TestSolveHBanded.test_tridiag_01_lowerž  s:   € ô ’OÚ#ð%ó &ˆä’/Ó"ˆÜ˜"˜a tÔ,ˆÜ! !¢_Õ5r=   c                 óª   — t        g d¢g d¢g«      }t        ddgddgddgg«      }t        ||d¬«      }t        ddgddgddgg«      }t        ||«       y )	Nr×   rà   rB   r   rW   Tr¿   rP   r±   r¶   s        r;   Útest_tridiag_02_lowerz&TestSolveHBanded.test_tridiag_02_lowerª  sz   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 óŒ   — t        g d¢g d¢gt        ¬«      }t        g d¢t        ¬«      }t        ||«      }t        |g d¢«       y )NrÖ   r×   r”   rØ   rÙ   rÅ   r²   s       r;   Útest_tridiag_01_float32z(TestSolveHBanded.test_tridiag_01_float32»  s7   € ô ’O¢_Ð5¼WÔEˆÜ’/¬Ô1ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r=   c                 ó¾   — t        g d¢g d¢gt        ¬«      }t        ddgddgddggt        ¬«      }t        ||«      }t        ddgddgddgg«      }t        ||«       y )NrÖ   r×   r”   rB   r   rW   rP   rÅ   r¶   s        r;   Útest_tridiag_02_float32z(TestSolveHBanded.test_tridiag_02_float32Æ  s~   € ô ’OÚ#ð%Ü,3ô5ˆä�C˜�:Ø˜�:Ø˜�:ðä&-ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r­   rË   rË   r×   )rË   rÍ   rÎ   )rP   rB   rB   r±   r²   s       r;   Útest_tridiag_01_complexz(TestSolveHBanded.test_tridiag_01_complex×  s5   € ô Ò'ªÐ9Ó:ˆÜÒ'Ó(ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r=   c                 ó¦   — t        g d¢g d¢g«      }t        ddgddgddgg«      }t        ||«      }t        d	d
gdd	gddgg«      }t        ||«       y )Nré   r×   rË   ù              @rÍ   rÓ   rÎ   r   rP   ro   rB   r±   r¶   s        r;   Útest_tridiag_02_complexz(TestSolveHBanded.test_tridiag_02_complexâ  sz   € ô Ò'Ú#ð%ó &ˆä�C˜�;Ø˜GÐ$Ø˜C�=ð"ó #ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r=   c                 óx   — t        g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )NrÖ   r×   rØ   Frz   rÙ   r±   r²   s       r;   r|   z"TestSolveHBanded.test_check_finiteó  s5   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜a¨eÔ4ˆÜ! !¢_Õ5r=   c                 óÒ   — t        g d¢g d¢g«      }t        ddgddgg«      }t        t        t        ||«       t        t        t        |ddg«       t        t        t        |dg«       y )NrÖ   r×   rB   r   rW   )r   r€   r�   r   )r_   ra   rh   s      r;   Útest_bad_shapesz TestSolveHBanded.test_bad_shapesþ  sb   € Ü’OÚ#ð%ó &ˆä�C˜�:Ø˜�:ðó  ˆä”j¤-°°QÔ7Ü”j¤-°°c¸3°ZÔ@Ü”j¤-°°c°UÕ;r=   c                 ó–   — t        dggg d¢g«      }t        |g d¢g«       t        |j                  t	        j                  d«      «       y )NrJ   ©rJ   rI   rX   r…   r‹   )r   r   r   rŒ   r2   )r_   ri   s     r;   rŽ   zTestSolveHBanded.test_1x1  s7   € Ü˜A˜3˜%¢) Ó-ˆÜ˜1šÐ/Ô0Ü�Q—W‘WœbŸh™h t›nÕ-r=   c                 óV   — g d¢g d¢g d¢g}g d¢}t        ||«      }t        |g d¢«       y rª   )r   r   r²   s       r;   r�   z+TestSolveHBanded.test_native_list_arguments  s0   € â"Ú"Ú"ð$ˆò !ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r=   r‘   r’   c                 ó@  — t        j                  g g|¬«      }t        j                  g |¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      t        j                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      t        j                  d|¬«      «      j                  k(  sJ ‚y )Nr”   r•   rJ   r‡   )	r2   r   r   r–   rŒ   r   r—   r˜   r™   rš   s         r;   r›   zTestSolveHBanded.test_empty  sÚ   € ô �X‰X�r�d %Ô(ˆÜ�H‰H�R˜tÔ$ˆÜ˜"˜aÓ ˆà�w‰w˜$ŠÐˆØ�w‰wœ%¤§¡ q°Ô 6¼¿¹ÀÈÔ8NÓO×UÑUÒUÐUÐUä�H‰H�V 4Ô(ˆÜ˜"˜aÓ ˆà�w‰w˜&Ò Ð Ð Ø�w‰wœ%¤§¡ q°Ô 6¼¿¹ÀÈÔ8NÓO×UÑUÒUÐUÑUr=   N)#rœ   r�   rž   r³   r¸   r»   rÁ   rÃ   rÆ   rÈ   rÐ   rÔ   rÚ   rÜ   rÞ   rá   rã   rå   rç   rê   rí   r|   rð   rŽ   r�   rŸ   r    r¡   r¢   r£   r2   r
   r¤   r¥   r›   r¦   r=   r;   r¨   r¨   Û   sÚ   „ ò;ò/ò*Mò;ò/ò*;ò/ò*;ò/ò*	6ò/ò"	Lò
6ò/ò"	6ò/ò"	6ò/ò"	6ò<ò.ò
;ð ‡[�[×Ñ˜W s¨E°2·:±:¸wÈÏÉÐ&UÓVØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñVó Vó WñVr=   r¨   c                   óŒ  — 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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej.                  j1                  dddg«      d„ «       Zd„ Zd„ Zej.                  j1                  dd«      d„ «       Zej.                  j1                  dd«      d„ «       Zej.                  j1                  dd d!d d!gg«      d"„ «       Zd#„ Zd$„ Z ej.                  jC                  d%¬&«      d'„ «       Z"d(„ Z#d)„ Z$d*„ Z%ej.                  j1                  d+d,d-g«      ej.                  j1                  dg d.¢«      ej.                  j1                  d/e&jN                  e&jP                  e&jR                  e&jT                  g«      d0„ «       «       «       Z+ej.                  j1                  d1e,e-e&jN                  e.e&jR                  g«      ej.                  j1                  d2e,e-e&jN                  e.e&jR                  g«      d3„ «       «       Z/d4„ Z0ej.                  j1                  d/e&jP                  e&jT                  g«      ej.                  j1                  dg d5¢«      ej.                  j1                  d6d7d8g«      ej.                  j1                  d9d:d;g«      ej.                  j1                  d<d:d;g«      ej.                  j1                  d=d:d;g«      d>„ «       «       «       «       «       «       Z1ej.                  je                  e&jf                  d?k  d@¬&«      ej.                  j1                  dg dA¢«      dB„ «       «       Z4dC„ Z5dD„ Z6dE„ Z7e8dF„ «       Z9e8dG„ «       Z:e8dH„ «       Z;e8dI„ «       Z<e8dJ„ «       Z=e8e>ej.                  j1                  dKe,e-g«      ej.                  j1                  dLdMdNg«      ej.                  j1                  dOe,e-g«      ej.                  j1                  dPdMdNg«      ej.                  j1                  dQd!dRg«      ej.                  j1                  d9d:d;g«      dS„ «       «       «       «       «       «       «       «       Z?dT„ Z@dU„ ZAdV„ ZByW)XÚ	TestSolvec                 óÀ   — ddgddgg}t        |ddg«      }t        t        ||«      ddg«       ddgddgg}ddg}t        ||«      }t        t        ||«      ddg«       y )NrJ   rB   r   ù                ç333333ó?©r   r   r   )r_   r`   Úx0rh   s       r;   Útest_20Feb04_bugzTestSolve.test_20Feb04_bug(  st   € Ø�ˆV�c˜1�XÐˆÜ�1�q˜"�gÓˆÜ!¤# a¨£*¨q°!¨fÔ5ð �ˆV�c˜1�XÐˆØ�ˆGˆÜ�1�a‹[ˆÜ!¤# a¨£*¨q°!¨fÕ5r=   c                 óˆ   — ddgddgg}ddgddggddgddgddggfD ]$  }t        ||«      }t        t        ||«      |«       Œ& y )NrJ   rC   rE   rF   r   rI   rú   ©r_   r`   rh   ri   s       r;   Útest_simplezTestSolve.test_simple3  sd   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð"Ø�a�&Ø�q�6˜C ˜8Ð$óˆAô �a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñr=   c                 ó®   — t        ddgddggd«      }ddgddgddggdd	gt        ddgd«      fD ]$  }t        ||«      }t        t        ||«      |«       Œ& y )
Né   rI   rl   rF   ÚDro   r   rJ   rø   )r   r   r   r   rþ   s       r;   Útest_simple_complexzTestSolve.test_simple_complex<  sp   € Ü�A�q�6˜B ˜7Ð# SÓ)ˆØ�q�'Ø˜�8˜a ˜VÐ$Ø�b�'Ü˜˜A˜ Ó$óˆAô
 �a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñr=   c                 óŽ   — ddgddgg}dD ]8  }ddgddggddgfD ]'  }t        ||d|¬«      }t        t        ||«      |«       Œ) Œ: y )	NrI   rX   r  ©r   rJ   rJ   r   Úpos©Úassume_arÀ   rú   ©r_   r`   rÀ   rh   ri   s        r;   Útest_simple_poszTestSolve.test_simple_posF  sc   € Ø�ˆV�a˜�VÐˆÛˆEØ˜1�v  1˜vÐ&Ø˜!�fó�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ	ñ r=   c                 ó~   — ddgddgg}ddgddgddggfD ]&  }t        ||d¬«      }t        t        ||«      |«       Œ( y )Nr  rI   rF   ro   r   r  ©r  rú   rþ   s       r;   Útest_simple_pos_complexbz"TestSolve.test_simple_pos_complexbO  sW   € Ø�ˆV�a˜�VÐˆØ�q�'Ø˜�8˜a ˜VÐ$óˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	r=   c                 óŽ   — ddgddgg}dD ]8  }ddgddggddgfD ]'  }t        ||d|¬«      }t        t        ||«      |«       Œ) Œ: y )	NrI   rX   éûÿÿÿr  rJ   r   Úsymr  rú   r	  s        r;   Útest_simple_symzTestSolve.test_simple_symW  sc   € Ø�ˆV�a˜�WÐˆÛˆEØ˜1�v  1˜vÐ&Ø˜!�fó�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ	ñ r=   c                 ó~   — ddgddgg}ddgddgddggfD ]&  }t        ||d¬«      }t        t        ||«      |«       Œ( y )Nr  rI   éüÿÿÿro   r   r  r  rú   rþ   s       r;   Útest_simple_sym_complexbz"TestSolve.test_simple_sym_complexb`  sW   € Ø�ˆV�a˜�WÐˆØ�q�'Ø˜�8˜a ˜VÐ$óˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	r=   c                 ó„   — ddgddgg}ddgddgddgddggfD ]&  }t        ||d¬	«      }t        t        ||«      |«       Œ( y )
Nr  rÏ   r  ro   r   rJ   rI   r  r  rú   rþ   s       r;   Útest_simple_sym_complexz!TestSolve.test_simple_sym_complexh  ó^   € Ø�ˆY˜˜r˜
Ð#ˆØ�q�'Ø�a�&Ø˜�8˜a ˜VÐ$óˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñr=   c                 ó”   — ddgddgg}dD ];  }ddgddggddgddgfD ]'  }t        ||d|¬	«      }t        t        ||«      |«       Œ) Œ= y )
NrI   rX   r  r  rJ   r   ro   Úherr  rú   r	  s        r;   Útest_simple_her_actuallysymz%TestSolve.test_simple_her_actuallysymq  sj   € Ø�ˆV�a˜�WÐˆÛˆEØ˜1�v  1˜vÐ&Ø˜!�fØ˜1�gó�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ññ r=   c                 ó„   — ddgddgg}ddgddgddgddggfD ]&  }t        ||d	¬
«      }t        t        ||«      |«       Œ( y )Nr  rÏ   rÌ   r  ro   r   rJ   rI   r  r  rú   rþ   s       r;   Útest_simple_herzTestSolve.test_simple_her{  r  r=   c                 ór  — t         j                  j                  d«      }d}|j                  ||g«      |j                  ||g«      dz  z   }t        ||fd«      }t	        |«      }t        |«      t        |«      dz  z   }t        d|«      D ]  }|d d …|f   }t        ||«      |d d …|f<   Œ  t        ||«       y )NéÒ  rI   ro   r  rø   r   )	r2   ÚrandomÚdefault_rngr   r   r   r   r   r   )	r_   ÚrngÚnÚAÚXÚAinvÚRÚiÚrs	            r;   Útest_nils_20Feb04zTestSolve.test_nils_20Feb04„  s¯   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ˜sŸz™z¨1¨a¨&Ó1°"Ñ4Ñ4ˆÜ�1�a�&˜#ÓˆÜ�1‹vˆÜ�Q‹Kœ › B™Ñ&ˆÜ˜˜1–ˆAØ’!�Q�$‘ˆAÜ˜A˜q“kˆAŠa�ˆdŠGð ô 	" ! TÕ*r=   c                 ó:  — t         j                  j                  d«      }d}|j                  ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]7  }|j                  |dg«      }t	        ||«      }t        t        ||«      |«       Œ9 y )Nr  rC   çš™™™™™¹?rF   rX   ©r2   r  r   Úranger   r   r   ©r_   r!  r"  r`   r'  rh   ri   s          r;   Útest_randomzTestSolve.test_random�  s“   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆÜ�q–ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð ä�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ r=   c                 óh  — t         j                  j                  d«      }d}|j                  ||g«      d|j                  ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]7  }|j                  |dg«      }t	        ||«      }t        t        ||«      |«       Œ9 y )Nr  rC   ro   r+  rI   rX   r,  r.  s          r;   Útest_random_complexzTestSolve.test_random_complex›  sª   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ  c§j¡j°!°Q°Ó&8Ñ!8Ñ8ˆÜ�q–ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð ä�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ r=   c                 ó†  — t         j                  j                  d«      }d}|j                  ||g«      }t        |«      D ]9  }t	        dd|||f   z   z  «      |||f<   t        |«      D ]  }|||f   |||f<   Œ Œ; t        d«      D ]8  }|j                  |g«      }t        ||d¬«      }t        t        ||«      |«       Œ: y )Nr  rC   r+  rF   r  r  )r2   r  r   r-  Úabsr   r   r   ©r_   r!  r"  r`   r'  Újrh   ri   s           r;   Útest_random_symzTestSolve.test_random_sym¦  s½   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆÜ�q–ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1–X�Ø˜A˜q˜D™'��!�Q�$’ñ ð ô �q–ˆAØ—
‘
˜A˜3“ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ r=   c                 óö  — t         j                  j                  d«      }d}|j                  ||g«      }|d|j                  ||g«      z  z   }t        |«      D ]B  }t	        dd|||f   z   z  «      |||f<   t        |«      D ]  }t        |||f   «      |||f<   Œ ŒD |j                  |g«      d|j                  |g«      z  z   }t        d«      D ]&  }t        ||d¬«      }t        t        ||«      |«       Œ( y )	Nr  rC   ro   r+  rl   rI   r  r  )	r2   r  r   r-  r3  r   r   r   r   r4  s           r;   Útest_random_sym_complexz!TestSolve.test_random_sym_complex³  sò   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆØ��3—:‘:˜q !˜fÓ%Ñ%Ñ%ˆÜ�q–ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1–X�Ü# A a¨ d¡GÓ,��!�Q�$’ñ ð ð �J‰J˜�s‹O˜B˜sŸz™z¨1¨#›Ñ.Ñ.ˆÜ�q–ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ r=   c                 óŒ   — ddgddgg}ddgddggddgddgddggfD ]&  }t        ||d¬«      }t        t        ||«      |«       Œ( y )	NrJ   rC   rE   rF   r   rI   Frz   rú   rþ   s       r;   r|   zTestSolve.test_check_finiteÁ  sd   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð" Q¨ FØ�q�6˜C ˜8Ð$ó&ˆAä�a˜¨Ô/ˆAÜ%¤c¨!¨Q£i°Õ3ñ&r=   c                 óŽ   — d}g d¢}t        ||«      }t        |j                  «       |«       t        |j                  dk(  d«       y )NrJ   rò   ©rX   z'Scalar_a_1D_b test returned wrong shape)r   r   Úravelr   r–   rþ   s       r;   Útest_scalar_a_and_1D_bz TestSolve.test_scalar_a_and_1D_bÈ  s:   € ØˆÚˆÜ�!�Q‹KˆÜ! !§'¡'£)¨QÔ/Ü�—‘˜4‘Ð!JÕKr=   c                 óþ   — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  ddgddgd	d
gddgg«      }t        ||«      }t        |t        j                  g d¢g d¢g«      j                  «       y )N)çÍÌÌÌÌÌü?g
×£p=
@gffffff @g{®Gázì¿)g     h€@g     prÀg     ÀWÀg     ÀwÀ)gHáz®Gù?g…ëQ¸…Àg333333Àg¤p=
×£ð¿)gÃõ(\�Âñ¿g…ëQ¸å¿gáz®Gáâ¿gš™™™™™é?g
×£p=
#@g¸…ëQx2@g     £@g      l@g¤p=
×£è?g�Âõ(\�*Àgáz®GáÀg×£p=
×À)rB   rL   rX   r  )rX   rI   rF   rJ   )r2   r   r   r   ÚTrþ   s       r;   Útest_simple2zTestSolve.test_simple2Ï  s„   € Ü�H‰HÒ/Ú8Ú1Ú1ð3ó 4ˆô
 �H‰H�t˜U�mØ Ð'Ø˜V�nØ˜e�nð&ó 'ˆô
 �!�Q‹KˆÜ! !¤R§X¡XªÚ/;ð/=ó &>ß>?¹aõ	Ar=   c           
      óö   — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  ddgddgd	d
gddgg«      }t        ||«      }t        |t        j                  ddgddgddgddgg«      «       y )N)yq=
×£põ¿ffffff@yìQ¸…ëÑ?\�Âõ(\	@y�Âõ(\�Àš™™™™™Ày
×£p=
ç?q=
×£pí¿)y333333û¿333333,ÀyÍÌÌÌÌŒ@@      ø¿y      ø¿ÍÌÌÌÌÌ*@yÍÌÌÌÌÌ)@š™™™™™+@)yR¸…ëQ
À…ëQ¸Ày�Âõ(\�þ¿®Gáz®@yìQ¸…ëÁ¿š™™™™™õ¿y…ëQ¸…û?š™™™™™õ?)yHáz®G@ö(\�ÂõØ?yìQ¸…ëá¿…ëQ¸…÷?y�Âõ(\�ê¿®Gázæ¿y\�Âõ(\ÿ¿q=
×£på?yÃõ(\�B:@¤p=
×ãI@yR¸…ëQ?@ÍÌÌÌÌÌÀy33333P@33333³UÀy33333Óc@ffffff,Ày      À�Âõ(\O9@y333333Àq=
×£0>@y�Âõ(\�ò?�Âõ(\�@y{®GázÀ333333@ù      ð?      ð?y      ð¿       Ày       @      Ày      @      ð?y      À      Ày      À      @y              @)r2   r   r   r   rþ   s       r;   Útest_simple_complex2zTestSolve.test_simple_complex2Þ  s›   € Ü�H‰HÒHÚMÚIÚIðKó Lˆô
 �H‰H�| [Ð1Ø# ]Ð3Ø# \Ð2Ø! ;Ð/ð1ó 2ˆô
 �!�Q‹KˆÜ! !¤R§Y¡Y°¸°Ø16¸°Ø17¸Ð0@Ø14°e°ð0>ó &?õ 	@r=   r  r  r  c                 óî  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  ddgddgd	d
gddgg«      }|dk(  r|j                  n|j                  «       j                  }||z   }t        j                  |«      |t        j
                  d«      t        j
                  d«      f<   t        ||d¬«      }t        |||¬«      }t        ||«       t        |||d¬«      }t        ||«       y )N)gq=
×£pý¿y)\�Âõ(¼?)\�Âõ(¼¿y{®Gázü¿áz®Gáò¿yHáz®G@      ø¿)r   g…ëQ¸…Àyq=
×£pý¿¸…ëQ¸ž?y®Gáz®@áz®GáÊ?)r   r   g=
×£p½!ÀyHáz®Gù?ÍÌÌÌÌÌì¿)r   r   r   gÃõ(\�Âõ¿y×£p=
×@\�Âõ(\$Ày®Gáz®<@R¸…ëñCÀy)\�Âõ(#À
×£p=
@y
×£p=Ê8ÀÍÌÌÌÌÌ Ày¤p=
×£è¿ÍÌÌÌÌ0ÀyìQ¸…ë@áz®G�QÀy)\�Âõ(@ìQ¸…ë@yR¸…ë±AÀÃõ(\�2@r  rF   Úgeneralr  Tr  )r2   r   r@  Úconjrt   r   r   r   )r_   r  r`   rh   Úa2Úa3r�   ri   s           r;   Útest_symmetric_hermitianz"TestSolve.test_symmetric_hermitianï  sç   € ô �H‰HÒBÚ9Ú/Ú&ð(ó )ˆô �H‰H�{ LÐ1Ø" LÐ1Ø# [Ð1Ø! =Ð1ð3ó 4ˆð
  Ò%ˆQ�SŠS¨1¯6©6«8¯:©:ˆØ�‰VˆÜ)+¯©°«ˆŒ2�9‰9�Q‹<œŸ™ 1›Ð%Ñ&Ü�B˜ IÔ.ˆä�!�Q Ô*ˆÜ! ! SÔ)ô �"�a (°$Ô7ˆÜ! ! SÕ)r=   c                 ód  — t        j                  dd«      j                  dd«      }t        t        j                  |«      dz  t        j
                  d«      d¬«      }t        |g d¢«       t        t        j                  |«      dz  t        j
                  d«      d¬«      }t        |g d¢«       y )	NrJ   é
   rX   é	   r  r  )ç      "@r?  rB   r  ©r2   r   r]   r   Útrilr˜   r   ©r_   r#  ri   s      r;   Útest_pos_and_symzTestSolve.test_pos_and_sym  sw   € Ü�I‰I�a˜Ó×$Ñ$ Q¨Ó*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Õ3r=   c                 óÈ   — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	«      }t        j                  d«      d d …d f   }t        t        t
        ||«       y )N)	rJ   r   r   r   r   r   rJ   r   rJ   )	rJ   rJ   rJ   r   r   r   rJ   r   rJ   )	r   rJ   rJ   r   r   r   rJ   r   rJ   )	rJ   r   rJ   rJ   rJ   rJ   r   r   r   )	rJ   rJ   rJ   rJ   rJ   rJ   rJ   rJ   rJ   rM  )r2   r   r   r€   r   r   ©r_   r`   rh   s      r;   Útest_singularityzTestSolve.test_singularity  sV   € Ü�H‰HÒ1Ú1Ú1Ú1Ú1Ú1Ú1Ú1Ú1ð3ó 4ˆô �I‰I�a‹Lš˜D˜Ñ!ˆÜ”k¤5¨!¨QÕ/r=   Ú	structure)
ÚdiagonalÚtridiagonalúlower triangularúupper triangularÚ	symmetricÚ	hermitianúpositive definiterF  ÚbandedNc                 óB  — t         j                  j                  d«      }d}t        j                  dd|«      }t        j                  |«      }|j                  |¬«      }d}t        j                  t        |¬«      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)	Nl   ÌEj]Ú rL  r   é2   ©Úsizez2(Ill-conditioned matrix|An ill-conditioned matrix)©Úmatchr  )	r2   r  r   Úlogspacert   rŸ   Úwarnsr"   r   )r_   rV  r!  r"  Údr#  rh   Úmessages           r;   Útest_ill_condition_warningz$TestSolve.test_ill_condition_warning  sw   € ô
 �i‰i×#Ñ# LÓ1ˆØˆÜ�K‰K˜˜2˜qÓ!ˆÜ�G‰G�A‹JˆØ�J‰J˜AˆJÓˆØFˆÜ�\‰\œ-¨wÖ7Ü�!�Q Õ+÷ 8×7Ñ7ús   Á=BÂB)	rW  rX  rY  rZ  r[  r\  r]  rF  Nc                 ó2  — d}t        j                  ||f«      }t        j                  |«      }t        j                  t
        d¬«      5  t        j                  d¬«      5  t        |||¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrL  Úsingularrc  Úignore)Úallr  )r2   r   r˜   rŸ   r   r   Úerrstater   )r_   rV  r"  r#  rh   s        r;   Útest_exactly_singular_gh22263z'TestSolve.test_exactly_singular_gh22263)  sg   € ð
 ˆÜ�H‰H�a˜�VÓˆÜ�G‰G�A‹JˆÜ�m‰mœK¨zÖ:¼B¿K¹KÈHÖ<UÜ�!�Q Õ+÷ =V×:Ð:×<UÐ<Uú×:Ð:ús$   Á
BÁ!BÁ0BÂB
	ÂBÂBrh   r   rJ   c                 óŽ  — t        j                  t        «      5  t        j                  d«      }t        ||«       d d d «       t        j                  t        «      5  t        d|«       d d d «       t        j                  t        «      5  t        dgg|«       d d d «       y # 1 sw Y   ŒhxY w# 1 sw Y   ŒFxY w# 1 sw Y   y xY w)Nrr   r   )rŸ   r   r   r2   r   r   )r_   rh   r`   s      r;   Útest_singular_scalarzTestSolve.test_singular_scalar4  s†   € ô
 �]‰]œ;Õ'Ü—‘˜Ó ˆAÜ�!�QŒK÷ (ô �]‰]œ;Õ'Ü�!�QŒK÷ (ô �]‰]œ;Õ'Ü�A�3�%˜ŒO÷ (Ð'÷ (Ð'ú÷ (Ð'ú÷ (Ð'ús#   š"B#ÁB/ÂB;Â#B,Â/B8Â;Cc                 ó¾   — t        j                  d«      }t         j                  j                  d«      }|j                  d«      }t	        ||«      }t        ||«       y )NrI   r  )rI   é   )r2   r—   r  r   r   r   )r_   r`   r!  rh   ri   s        r;   Útest_multiple_rhszTestSolve.test_multiple_rhsC  sF   € Ü�F‰F�1‹IˆÜ�i‰i×#Ñ# DÓ)ˆØ�J‰J�wÓˆÜ�!�Q‹KˆÜ! ! QÕ'r=   c                 óh  — t        j                  d«      j                  dd«      dz   }t        t        j                  |«      dz  t        j
                  d«      d¬«      }t        |g d¢«       t        t        j                  |«      dz  t        j
                  d«      d¬«      }t        |g d¢«       y )	NrM  rX   rJ   T©Ú
transposed)rù   gš™™™™™É?rJ   F)rM  gš™™™™™Àg333333ó¿rO  rQ  s      r;   Útest_transposed_keywordz!TestSolve.test_transposed_keywordJ  sy   € Ü�I‰I�a‹L× Ñ   AÓ&¨Ñ*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°tÔ<ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°uÔ=ˆÜ! !¢_Õ5r=   z*1. why? 2. deprecate the kwarg altogether?©Úreasonc                 ó¸   — t        j                  d«      j                  t        «      }t	        t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)NrX   Trv  )r2   r—   Úastyper¤   r€   ÚNotImplementedErrorr   ©r_   r`   s     r;   Útest_transposed_notimplementedz(TestSolve.test_transposed_notimplementedQ  s;   € ä�F‰F�1‹I×ÑœWÓ%ˆÜÔ.Õ/Ü�!�Q 4Õ(÷ 0×/Ñ/ús   ¸AÁAc                 ó4   — t        t        t        ddgd«       y )NrJ   rI   ©r€   r�   r   ©r_   s    r;   Útest_nonsquare_azTestSolve.test_nonsquare_aW  s   € Ü”j¤%¨!¨Q¨°Õ3r=   c                 ó  — t        t        t        j                  d«      t        j                  d«      «      t        j                  d«      «       t        t        t        t        j                  d«      t        j                  d«      «       y )NrX   rF   )r   r   r2   r—   r˜   r€   r�   r‚  s    r;   Útest_size_mismatch_with_1D_bz&TestSolve.test_size_mismatch_with_1D_bZ  sI   € Ü!¤%¬¯©¨q«	´2·7±7¸1³:Ó">ÄÇÁÈÃ
ÔKÜ”j¤%¬¯©°«´B·G±G¸A³JÕ?r=   c                 ó4   — t        t        t        ddd¬«       y )NrJ   Úzxcvr  r�  r‚  s    r;   Útest_assume_a_keywordzTestSolve.test_assume_a_keyword^  s   € Ü”j¤%¨¨A¸Ö?r=   rb  rL  éd   )Úgenr  r  r  rX  rŒ   c                 óš  — t         j                  j                  d«      }|t         j                  t         j                  fv }|j                  ||f«      j                  |«      }|j                  |«      j                  |«      }|r(|d|j                  ||f«      z  j                  |«      z  }|dk(  r||j                  z   }nâ|dk(  r||j                  j                  «       z   }n¿|dk(  r7|j                  j                  «       |z  dt        j                  |«      z  z   }nƒ|dk(  r~t        j                  t        j                  |«      «      t        j                  t        j                  |d«      d«      z   t        j                  t        j                  |d	«      d	«      z   }|t         j                  t         j                  fv rd
nd}|dv r'|t         j                  t         j                  fv r|dz  }t        |||¬«      }	t        ||	z  |||z  ||z  ¬«       |dk(  r+|s(t        |||d¬«      }	t        ||	z  |||z  ||z  ¬«       y y y )Nr  ro   r  r  r  r+  rX  rJ   rL   çê-�™—q=g�íµ ÷Æ°>)rŠ  r  r  rL  r  ©ÚatolrŠ   T)r  rw  )r2   r  r   r¥   r6   Ústandard_normalr|  r@  rG  r—   rt   r4   r
   r   r   )
r_   rb  rŒ   r  r!  Ú
is_complexr`   rh   Útolri   s
             r;   Ú'test_all_type_size_routine_combinationsz1TestSolve.test_all_type_size_routine_combinationsa  sô  € ô �i‰i×#Ñ# DÓ)ˆØœrŸ|™|¬R¯]©]Ð;Ð;ˆ
à×Ñ  t Ó-×4Ñ4°UÓ;ˆØ×Ñ Ó%×,Ñ,¨UÓ3ˆÙØ�"�S×(Ñ(¨$°¨Ó6Ñ6×>Ñ>¸uÓEÑEˆAà�uÒØ�A—C‘C‘‰AØ˜ÒØ�A—C‘C—H‘H“J‘‰AØ˜ÒØ—‘—‘“
˜Q‘ ¤R§V¡V¨D£\Ñ!1Ñ1‰AØ˜Ò&Ü—‘œŸ™ ›Ó$Ü—‘œŸ™  A›¨Ó*ñ+ä—‘œŸ™  B›¨Ó,ñ-ˆAð
 ¤§¡¬R¯]©]Ð ;Ñ;‰eÀˆàÐ,Ñ,ð œŸ™¤R§\¡\Ð2Ñ2Ø�r‘	�ä�!�Q Ô*ˆÜ˜˜A™˜q s¨T¡z¸¸d¹
ÕCà�uÒ¡ZÜ�a˜ X¸$Ô?ˆAÜ˜A ™E 1¨3°©:¸CÀ$¹JÖGð &0Ðr=   Údt_ar’   c                 óf  — t        j                  d|¬«      }t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚t        t        j                  d|¬«      t        j
                  d|¬«      «      j                  }|j                  |k(  sJ ‚|j                  t         j                  j                  ||«      j                  k(  sJ ‚t        j
                  d|¬«      }t        j
                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  |k(  sJ ‚y )Nr‡   r”   r   rI   ©rX   r   rI   rI   ©rI   rF   )rX   r   rI   rF   )	r2   r™   r   rb  r—   r˜   rŒ   r–   Úlinalg©r_   r“  r’   r`   rh   ri   Údt_nonemptys          r;   r›   zTestSolve.test_emptyŠ  sï   € ô �H‰H�V 4Ô(ˆÜ�H‰H�Q˜dÔ#ˆÜ�!�Q‹Kˆà�v‰v˜Š{Ðˆ{ÜœBŸF™F 1¨DÔ1´2·7±7¸1ÀDÔ3IÓJ×PÑPˆØ�w‰w˜+Ò%Ð%Ð%Ø�w‰wœ"Ÿ)™)Ÿ/™/¨!¨QÓ/×5Ñ5Ò5Ð5Ð5ä�G‰G�L¨Ô-ˆÜ�G‰G�F $Ô'ˆÜ�!�Q‹KˆØ�w‰w˜,Ò&Ð&Ð&Ø�w‰w˜+Ò%Ð%Ñ%r=   c                 ó²   — t        j                  d«      }g g g}t        ||«      }t        |j                  dk(  d«       t        |j
                  dk(  d«       y ©NrI   r   zReturned array is not empty)rI   r   z#Returned empty array shape is wrong)r2   r—   r   r   rb  r–   rþ   s       r;   Útest_empty_rhszTestSolve.test_empty_rhsœ  sJ   € Ü�F‰F�1‹IˆØ�ˆHˆÜ�!�Q‹KˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr=   )rW  rX  r^  rY  rZ  r  r]  r[  r\  r^  rF  r  r  rŠ  Únrhsr¦   )r  rw  TFÚ	overwriteÚfortranc                 óŽ  — t         j                  j                  d«      }|dk(  sdnd}|j                  |f|z   ¬«      }	|j                  ||f¬«      }
t        j                  |t         j                  «      r6|	|j                  |f|z   ¬«      dz  z   }	|
|j                  ||f¬«      dz  z   }
|dk(  r*t        j
                  t        j
                  |
«      «      }
�nC|dk(  rt        j                  |
«      }
�n'|d	k(  rt        j                  |
«      }
�n|d
k(  rt        j
                  t        j
                  |
«      «      t        j
                  t        j
                  |
d«      d«      z   t        j
                  t        j
                  |
d«      d«      z   }
n‡|dk(  r+t        j                  t        j                  |
d«      d«      }
nW|dv r|
|
j                  z   }
nC|dv r|
|
j                  «       j                  z   }
n!|dv r|
|
j                  j                  «       z  }
|rt        j                  |
«      }
|
j                  d¬«      }|	j                  «       }t        j                  |t         j                  «      r9|r7d}t        j                  t        |¬«      5  t        |
|	|||¬«       d d d «       y t        |
|	||||¬«      }t         j                   j                  |r|j                  n||«      }t#        ||«       |dk7  rt#        t        |||¬«      |d¬«       |st%        |
|«       t%        |	|«       y y # 1 sw Y   y xY w)Nl   ’q¨~Àu r^  r  rC   ra  ro   rW  rY  rZ  rX  rL   rJ   rI   >   r  r[  >   r  r\  >   r  r]  r#  ©Úorderz#scipy.linalg.solve can currently...rc  )r*   r0   rw  )r*   r0   rw  r  rv  rˆ   ©rŽ  )r2   r  r   Ú
issubdtypeÚcomplexfloatingrt   rP  Útriur@  rG  ÚasfortranarrayÚcopyrŸ   r   r}  r   r—  r   r   )r_   rŒ   r  r�  rw  rž  rŸ  r!  r"  rh   r#  ÚA_copyÚb_copyrh  Úresr�   s                   r;   Útest_structure_detectionz"TestSolve.test_structure_detection£  s·  € ô �i‰i×#Ñ# OÓ4ˆØ Ò)‰A¨rˆØ�J‰J˜Q˜D 4™KˆJÓ(ˆØ�J‰J˜Q ˜FˆJÓ#ˆä�=‰=˜¤× 2Ñ 2Ô3Ø�C—J‘J Q D¨4¡K�JÓ0°2Ñ5Ñ5ˆAØ�C—J‘J Q¨ F�JÓ+¨bÑ0Ñ0ˆAà�zÒ!Ü—‘œŸ™ ›
Ó#ŠAØÐ+Ò+Ü—‘˜“
ŠAØÐ+Ò+Ü—‘˜“
ŠAØ˜Ò&Ü—‘œŸ™ ›Ó$Ü—7‘7œ2Ÿ7™7 1 b›>¨2Ó.ñ/ä—7‘7œ2Ÿ7™7 1 a›=¨!Ó,ñ-‰Að ˜Ò!Ü—‘œŸ™  1› rÓ*‰AØÐ-Ñ-Ø�A—C‘C‘‰AØÐ-Ñ-Ø�A—F‘F“H—J‘J‘‰AØÐ5Ñ5Ø�A—C‘C—H‘H“J‘ˆAáÜ×!Ñ! !Ó$ˆAà—‘˜c�Ó"ˆØ—‘“ˆä�=‰=˜¤× 2Ñ 2Ô3¹
Ø;ˆGÜ—‘Ô2¸'ÖBÜ�a˜¨	¸yØ!+õ-÷ Cð ä�A�q i¸YØ)°Hô>ˆô �i‰i�o‰o©*˜fŸhšh¸&À&ÓIˆÜ˜˜SÔ!ð �xÒÜÜ�f˜f°Ô<¸cÈõñ
 Ü˜˜FÔ#Ü˜˜FÕ#ð ÷) Cð ús   ÊL;Ì;MÚ2z(solve chokes on b.ndim == 1 in numpy < 2)NrW  rF  rZ  rY  r  c                 óJ  — t        j                  d«      }t        j                  dd«      j                  d«      |z  }t        j                  d«      }t        t        |||¬«      t         j                  j                  ||«      «       t        j                  d«      }t        t        |||¬«      t         j                  j                  ||«      «       t        j                  d«      ddgz  }t        t        |||¬«      t         j                  j                  ||«      «       y )NrI   rJ   é   )rF   rX   rI   rJ   rJ   r  rT   ©rI   rI   )r2   r—   r   r]   r˜   r   r   r—  )r_   r  Úer`   rh   s        r;   Útest_vs_np_solvezTestSolve.test_vs_np_solveë  sÇ   € ô �F‰F�1‹IˆÜ�I‰I�a˜Ó#×+Ñ+¨OÓ<¸qÑ@ˆä�G‰G�A‹JˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÔNä�G‰G�F‹OˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÔNä�G‰G�F‹O˜q !˜fÑ$ˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÕNr=   c                 óN  — t         j                  j                  d«      }|j                  d¬«      }t        j                  t        j
                  |t        j                  |j                  «      «      «      }|j                  d¬«      }t        ||dd¬«      }||j                  z   t        j                  t        j                  |«      «      z
  }t         j                  j                  ||«      }t        ||d¬	«       t        |j                  |dd
¬«      }t        ||d¬	«       y )Nr   ©rF   rF   ra  ©rF   rI   r  Tr  rˆ   r£  F)r2   r  r   ÚnormalrP  ÚmatmulrG  r@  r   rt   r—  r   )r_   r!  r`   rh   ÚoutÚaaÚ	result_nps          r;   Útest_pos_lowerzTestSolve.test_pos_lower  sÒ   € ô �i‰i×#Ñ# AÓ&ˆØ�J‰J˜FˆJÓ#ˆÜ�G‰G”B—I‘I˜a¤§¡¨¯©£Ó.Ó/ˆØ�J‰J˜FˆJÓ#ˆÜ�A�q 5°Ô5ˆà�—‘‰W”r—w‘wœrŸw™w q›zÓ*Ñ*ˆÜ—I‘I—O‘O B¨Ó*ˆ	Ü˜˜Y¨UÕ3ô �A—C‘C˜ U°%Ô8ˆÜ˜˜Y¨UÖ3r=   c                 ó‚  — t        j                  ddgddgg«      }t        j                  d«      }t        ||«      }t	        ||z  t        j                  d«      d¬«       t        ||d¬«      }t	        ||d¬«       t        ||d	¬«      }t        j
                  ||d¬«      rJ ‚t        |d	¬«      }t	        ||d¬«       y )
Nù	I<<Òf@B)sVxPÀù�õ'ö'fÀ‚é(ö'&@ù�õ'ö'f@‚é(ö'&ÀrI   ç›+¡†›„=r£  r  r  r  )r2   Úasarrayr—   r   r   Úallcloser   )r_   r`   rh   ÚainvÚainv_symÚ	ainv_cholÚainv_invs          r;   Útest_pos_fails_sym_complexz$TestSolve.test_pos_fails_sym_complex  sµ   € ô �J‰JÐ3Ð5NÐPØ2Ð6NÐPðRó Sˆä�F‰F�1‹Iˆä�Q˜‹{ˆÜ˜˜q™¤"§&¡&¨£)°%Õ8ä˜˜A¨Ô.ˆÜ˜ $¨UÕ3ô
 ˜!˜Q¨Ô/ˆ	Ü—;‘;˜t Y°UÕ;Ð;Ð;ô �q 5Ô)ˆÜ˜	 8°%Ö8r=   c                 ó®   — t        j                  d«      }d|j                  _        t        j                  d«      }t        ||«      }t        ||d¬«       y ©NrX   FrÀ  r£  )r2   r—   ÚflagsÚ	writeabler˜   r   r   rþ   s       r;   Útest_readonlyzTestSolve.test_readonly*  s?   € Ü�F‰F�1‹IˆØ!ˆ�‰ÔÜ�G‰G�A‹JˆÜ�!�Q‹KˆÜ˜˜1 5Ö)r=   c                 ó  — t        j                  d«      j                  dddd«      }|d d …d d d…d d …d d …f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬«       t        j                  d	«      d d …d d d…f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬«       y ©
Né   rI   rX   rL   ©.Nr   rÀ  r£  r–  ©r2   r   r]   r˜   r   r–   r   ©r_   r)   r`   rh   ri   s        r;   Útest_batch_negative_stridez$TestSolve.test_batch_negative_stride1  sö   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa‘�2�’qš!ˆmÑˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹OšA™t ˜t˜GÑ$ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r=   c                 ó  — t        j                  d«      j                  dddd«      }|d d …d d …d d d…d d …f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬«       t        j                  d	«      d d d…d d …f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬«       y rÎ  rÑ  rÒ  s        r;   Útest_core_negative_stridez#TestSolve.test_core_negative_stride@  sö   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa’‘D�b�Dš!ˆmÑˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆà�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹O™D˜b˜D¢!˜GÑ$ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r=   c                 óÎ  — t        j                  d«      j                  dddd«      }|dd d d…f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       t        j                  d«      d d d…   }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       y )Né0   rI   rX   rF   .rL   rÐ  r   rÀ  r£  rÑ  rÒ  s        r;   Útest_core_non_contiguousz"TestSolve.test_core_non_contiguousP  sä   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØˆc‘3�Q�3ˆh‰KˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�A‹J‘s˜�s‰OˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÖ<r=   c                 óø  — t        j                  d«      j                  dddd«      }|d d …d d d…df   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬	«       t        j                  d
«      d d …d d d…f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬	«       y )Nr×  rI   rG   .rL   rÐ  r   rÀ  r£  ©rI   rG   rÑ  rÒ  s        r;   Útest_batch_non_contiguousz#TestSolve.test_batch_non_contiguous_  sô   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØŠa‘�1��cˆk‰NˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹OšA™s ˜s˜FÑ#ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r=   c                 ó,  — t        j                  d«      j                  ddddd«      }|j                  ddddd«      }t        j                  d«      }t        ||fi |¤Ž}|j                  |j                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       y )Nr×  rI   rX   rJ   rF   r   rL   rÐ  rÀ  r£  )r2   r   r]   r	   r˜   r   r–   r   rÒ  s        r;   Útest_batch_weird_stridesz"TestSolve.test_batch_weird_stridesn  s�   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨a°Ó3ˆØ�K‰K˜˜1˜a  AÓ&ˆä�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÖ<r=   Úa_dtypeÚa_orderÚCÚFÚb_dtypeÚb_orderÚb_ndimrI   c	                 ó®  — d}	t        j                  d|	dz  dz   «      j                  |	|	«      t        j                  |	«      z   }
|
j	                  ||¬«      }
t        j                  |	«      }|dkD  r9t        j
                  t        |«      D �cg c]  }||z  ‘Œ	 c}«      j                  }|j	                  ||¬«      }|
j                  «       }|j                  «       }t        |
|fi |¤|¤d|i¤Ž}|r|j                  n|}t        ||z  |d¬«       |j                  dd	«      }|xr$ |
j                  t        k7  xr |
j                  d
   }|j                  dd	«      }|xr$ |j                  t        k7  xr |j                  d
   }t        j                  ||«      |k(  sJ ‚||k(  j!                  «       |k7  sJ ‚|
|k(  j!                  «       |k7  sJ ‚y c c}w )NrX   rJ   rI   r¡  rw  rÀ  r£  r*   FÚF_CONTIGUOUSr0   )r2   r   r]   r—   r|  Ústackr-  r@  r¨  r   r   ÚgetrŒ   r¢   rÊ  Úshares_memoryrm  )r_   r)   r/   rÞ  rß  râ  rã  rä  rw  r"  r`   rh   r5  Úa_refÚb_refri   Úa_or_aTr*   Ú	a_inplacer0   Ú	b_inplaces                        r;   Útest_overwrite_argszTestSolve.test_overwrite_argsx  sª  € ð ˆÜ�I‰I�a˜˜A™ ™Ó"×*Ñ*¨1¨aÓ0´2·6±6¸!³9Ñ<ˆØ�H‰H�W GˆHÓ,ˆä�I‰I�a‹LˆØ�AŠ:Ü—‘¤u¨V¤}Ó5¡} !˜!˜A›# }Ñ5Ó6×8Ñ8ˆAØ�H‰H�W GˆHÓ,ˆà—‘“ˆØ—‘“ˆô �!�QÑP˜,ÐP¨.ÑPÀZÒPˆÙ'�%—'’'¨UˆÜ˜ !™ U°Õ7ð #×&Ñ& }°eÓ<ˆØÒP Q§W¡W´¡^ÒP¸¿¹ÀÑ9Pˆ	à$×(Ñ(¨¸Ó>ˆØÒP Q§W¡W´¡^ÒP¸¿¹ÀÑ9Pˆ	ä×Ñ  1Ó%¨Ò2Ð2Ð2à�U‘
×ÑÓ! YÒ.Ð.Ð.Ø�U‘
×ÑÓ! YÒ.Ð.Ñ.ùò+ 6s   ÂGc                 ó`  — t        j                  d«      j                  dd«      }||j                  z   t        j                  d«      z   }t        j
                  d«      }t        ||«      }t        ||z  |d¬«       t        t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)NrM  rX   rÀ  r£  r  r  )
r2   r   r]   r@  r—   r˜   r   r   r€   r   )r_   r`   r#  rh   rû   s        r;   Útest_posdef_not_posdefz TestSolve.test_posdef_not_posdef¡  s‚   € ä�I‰I�a‹L× Ñ   AÓ&ˆØ�—‘‰G”b—f‘f˜Q“iÑˆÜ�G‰G�A‹Jˆô �1�a‹[ˆÜ˜˜B™ ¨Õ.ô œ;Õ'Ü�!�Q Õ'÷ (×'Ñ'ús   ÂB$Â$B-c           	      ó  — t        j                  t        j                  t        j                  d«      «      t        j                  t        j
                  dd«      «      g«      }t        j                  d«      }t        ||«      }t        |d   dt        j
                  dd«      z  d¬«       t        j                  dd	gd	dgg«      }t        j                  d
«      }t        j                  t        «      5  t        ||d¬«       d d d «       t        j                  d	d	gd	dgg«      }t        j                  d
«      }t        j                  t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒjxY w# 1 sw Y   y xY w)N©rX   rX   rJ   rF   rX   ©rJ   .rÀ  r£  çêŒ 9Y>)Fr   rI   rW  r  )r2   rç  r¦  r˜   rt   r   r   r   rÁ  rŸ   rf  r"   r   r   rþ   s       r;   Útest_diagonalzTestSolve.test_diagonal¯  s  € Ü�H‰H”b—g‘gœbŸg™g f›oÓ.´·±¼¿	¹	À!ÀQ»Ó0HÐIÓJˆÜ�G‰G�A‹JˆÜ�!�Q‹Kˆô 	˜˜&™	 1¤r§y¡y°°A£Ñ#6¸UÕCô �J‰J˜˜q˜	 A q 6Ð*Ó+ˆÜ�G‰G�A‹JˆÜ�\‰\œ-Õ(Ü�!�Q Õ,÷ )ô �J‰J˜˜A˜  A Ð'Ó(ˆÜ�G‰G�A‹JˆÜ�]‰]œ;Õ'Ü�!�Q Õ,÷ (Ð'÷ )Ð(ú÷ (Ð'ús   Ã7E/ÅE;Å/E8Å;Fc                 ó   — d}dt        j                  t        j                  |«      «      z  t        j                  t        j                  d«      d«      z   t        j                  t        j                  d«      d«      z   }t        j                  t        j                  t        j                  ||f«      «      |g«      }t        j                  d«      }t        ||«      }t        |d   t        j                  g d¢«      d¬	«       d
|d<   t        j                  t        «      5  t        ||d¬«       d d d «       dx|d<   |d<   t        j                  t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w)NrF   éþÿÿÿrX   rJ   rL   rô  )ç       Àç      Àrú  rù  rˆ   r£  ç@Œµx¯D)rJ   r   r   rX  r  r   )rJ   r   rJ   )r2   rt   r˜   rç  r¦  r   r   rÁ  rŸ   rf  r"   r   r   )r_   r"  r`   rh   ri   s        r;   Útest_tridiagonalzTestSolve.test_tridiagonalÃ  s  € ØˆØŒr�w‰w”r—w‘w˜q“zÓ"Ñ"¤R§W¡W¬R¯W©W°Q«Z¸Ó%;Ñ;¼b¿g¹gÄbÇgÁgÈaÃjÐRTÓ>UÑUˆÜ�H‰H”b—g‘gœbŸg™g q¨! f›oÓ.°Ð2Ó3ˆÜ�G‰G�A‹JˆÜ�!�Q‹Kˆô 	˜˜&™	¤2§:¡:Ò.BÓ#CÈ%ÕPð ˆˆ'‰
Ü�\‰\œ-Õ(Ü�!�Q Õ/÷ )ð #$Ð#ˆˆ'‰
�Q�w‘ZÜ�]‰]œ;Õ'Ü�!�Q Õ/÷ (Ð'÷ )Ð(ú÷
 (Ð'ús   Ä&E8Å FÅ8FÆFN)Crœ   r�   rž   rü   rÿ   r  r
  r  r  r  r  r  r  r)  r/  r1  r6  r8  r|   r=  rA  rD  rŸ   r    r¡   rJ  rR  rU  ri  ro  rq  rt  rx  Úskipr  rƒ  r…  rˆ  r2   r
   r4   r¥   r6   r’  r¢   r£   r¤   r›   rœ  r¬  ÚskipifÚ__version__r²  r»  rÇ  rÌ  Úparametrize_overwrite_argrÓ  rÕ  rØ  rÛ  rÝ  Úparametrize_overwrite_b_argrï  rñ  rö  rü  r¦   r=   r;   rö   rö   '  s½  „ ò	6ò4ò4ò8ò4ò8ò4ò4ò8ò4ò
+ò	4ò	4ò4ò4ò4òLòAò@ð" ‡[�[×Ñ˜Z¨%°¨Ó8ñ*ó 9ð*ò.4ò0ð ‡[�[×Ñ˜[ðNóOñ,ó	Oð,ð ‡[�[×Ñ˜[ðDóEñ,ó	Eð,ð ‡[�[×Ñ˜S 1 a¨!¨Q¨ .Ó1ñó 2ðò(ò6ð ‡[�[×ÑÐIÐÓJñ)ó Kð)ò
4ò@ò@ð ‡[�[×Ñ˜V b¨# YÓ/Ø‡[�[×Ñ˜ZÒ)TÓUØ‡[�[×ÑØ�"—*‘*˜bŸj™j¨"¯,©,¸¿¹ÐFóñ"Hóó Vó 0ð
"HðH ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ&ó Vó Vð&ò Jð ‡[�[×Ñ˜W r§z¡z°2·=±=Ð&AÓBØ‡[�[×Ñ˜Zò *Jó Kð
 ‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜\¨D°%¨=Ó9Ø‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜Y¨¨u¨Ó6ñ<$ó 7ó 9ó :ó 1óKó Cð<$ð| ‡[�[×ÑØ
�‰˜ÑÐ%Oð ó ð ‡[�[×ÑØò	
óñOóóðOò4ò"9ò0*ð ñ2ó ð2ð ñ2ó ð2ð ñ=ó ð=ð ñ2ó ð2ð ñ=ó ð=ð Ø Ø‡[�[×Ñ˜Y¨¨e¨Ó5Ø‡[�[×Ñ˜Y¨¨c¨
Ó3Ø‡[�[×Ñ˜Y¨¨e¨Ó5Ø‡[�[×Ñ˜Y¨¨c¨
Ó3Ø‡[�[×Ñ˜X¨¨1 vÓ.Ø‡[�[×Ñ˜\¨D°%¨=Ó9ñ/ó :ó /ó 4ó 6ó 4ó 6ó !ó ð/òB(ò-ó(0r=   rö   c            	       ó
  — e Zd Zd„ Zd„ Zd„ Zej                  j                  de	e
ej                  eej                  g«      ej                  j                  de	e
ej                  eej                  g«      d„ «       «       Zd„ Zy)	ÚTestSolveTriangularc                 óD  — t        ddgddgg«      }ddg}t        ||d¬«      }t        |ddg«       t        |j                  |d¬«      }t        |ddg«       t        ||dd¬«      }t        |ddg«       t	        d«      }t        ||dd¬«      }t        |d	d
gddgg«       y)ú:
        solve_triangular on a simple 2x2 matrix.
        rJ   r   rI   Tr¿   Fr†   ©rÀ   ÚtransrB   ç      à¿N)r   r   r   r@  r   ©r_   r#  rh   Úsols       r;   rÿ   zTestSolveTriangular.test_simpleÚ  s²   € ô �A�q�6˜A˜q˜6Ð"Ó#ˆØ�ˆFˆÜ˜q !¨4Ô0ˆÜ! #¨¨1 vÔ.ô ˜qŸs™s A¨UÔ3ˆÜ! #¨¨B xÔ0ô ˜q !¨4°qÔ9ˆÜ! #¨¨B xÔ0ä�Q‹KˆÜ˜q !¨4°qÔ9ˆÜ! #¨¨S¨	°A°s°8Ð'<Õ=r=   c                 ót  — t        ddgddgg«      }t        d«      }t        ||dd¬«      }t        |dd	gdd
gg«       t	        j
                  ddg«      }t        ||dd¬«      }t        |ddgddgg«       t        ||dd¬«      }t        |ddgddgg«       t        ||dd¬«      }t        |ddgddgg«       t        |j                  |dd¬«      }t        |ddgddgg«       t        |j                  |dd¬«      }t        |ddgddgg«       t        |j                  |dd¬«      }t        |ddgddgg«       y)zA
        solve_triangular on a simple 2x2 complex matrix
        rC  r   ro   rI   TrJ   r  y      à?      à¿y      Ð¿      Ð¿r†   ù      ð?       @y       €      à¿y      à?      ð?y      Ð?      è¿y      è¿      Ð¿Fr  N)r   r   r   r   r2   rt   r@  r	  s       r;   r  z'TestSolveTriangular.test_simple_complexï  sW  € ô �D˜!�9˜r 1˜gÐ&Ó'ˆÜ�Q‹KˆÜ˜q !¨4°qÔ9ˆÜ! #¨°Ð(;¸aÀ¸XÐ'FÔGô �G‰G�T˜4�LÓ!ˆÜ˜q !¨4°qÔ9ˆÜ! #¨¨A¨°¸°Ð'@ÔAä˜q !¨4°qÔ9ˆÜ! #¨¨J¨¸!¸V¸Ð'EÔFä˜q !¨4°qÔ9ˆÜ! #¨¨[Ð(9¸A¸v¸;Ð'GÔHä˜qŸs™s A¨U¸!Ô<ˆÜ! #¨¨J¨¸!¸V¸Ð'EÔFä˜qŸs™s A¨U¸!Ô<ˆÜ! #¨¨A¨°¸°Ð'@ÔAä˜qŸs™s A¨U¸!Ô<ˆÜ! #¨¨Q¨°$¸°Ð'@ÕAr=   c                 óh   — t        ddgddgg«      }ddg}t        ||dd¬«      }t        |ddg«       y)r  rJ   r   rI   TF)rÀ   r{   N)r   r   r   r	  s       r;   r|   z%TestSolveTriangular.test_check_finite  sB   € ô �A�q�6˜A˜q˜6Ð"Ó#ˆØ�ˆFˆÜ˜q !¨4¸eÔDˆÜ! #¨¨1 vÕ.r=   r“  r’   c                 ó<  — t        j                  d|¬«      }t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚t        t        j                  d|¬«      t        j
                  d|¬«      «      j                  }|j                  |k(  sJ ‚y ©Nr‡   r”   r   rI   )r2   r™   r   rb  r—   r˜   rŒ   r˜  s          r;   r›   zTestSolveTriangular.test_empty  s�   € ô �H‰H�V 4Ô(ˆÜ�H‰H�Q˜dÔ#ˆÜ˜Q Ó"ˆà�v‰v˜Š{Ðˆ{Ü&Ü�F‰F�1˜DÔ!¤2§7¡7¨1°DÔ#9ó
ç
‰%ð 	ð �w‰w˜+Ò%Ð%Ñ%r=   c                 ó²   — t        j                  d«      }g g g}t        ||«      }t        |j                  dk(  d«       t        |j
                  dk(  d«       y r›  )r2   r—   r   r   rb  r–   rþ   s       r;   rœ  z"TestSolveTriangular.test_empty_rhs"  sK   € Ü�F‰F�1‹IˆØ�ˆHˆÜ˜Q Ó"ˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr=   N)rœ   r�   rž   rÿ   r  r|   rŸ   r    r¡   r¢   r£   r2   r
   r¤   r¥   r›   rœ  r¦   r=   r;   r  r  Ø  s~   „ ò>ò*Bò:/ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ	&ó Vó Vð	&óJr=   r  c                   ó$  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  deeej                  eej                   g«      d„ «       Zed„ «       Zej                  j                  d	ej(                  ej                  ej*                  ej,                  g«      d
„ «       Zd„ Zej                  j                  deeej                  eej                   g«      d„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Z d„ Z!d„ Z"ej                  j                  dddg«      d„ «       Z#d„ Z$ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       Z%d„ Z&d „ Z'd!„ Z(y")#ÚTestInvc                 óú   — ddgddgg}t        |«      }t        t        ||«      t        j                  d«      «       g d¢g d¢g d¢g}t        |«      }t        t        ||«      t        j                  d«      «       y )NrJ   rI   rX   rF   rò   ©rF   r  rG   ©rM   é   rL  )r   r   r   r2   r—   ©r_   r`   Úa_invs      r;   rÿ   zTestInv.test_simple+  sb   € Ø�ˆV�a˜�VÐˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Ô;Úš	¢:Ð.ˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Õ;r=   c                 ó$  — t         j                  j                  d«      }d}t        d«      D ]a  }|j                  ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        |«      }t        t        ||«      t        |«      «       Œc y )Nr  rC   rF   r+  ©r2   r  r   r-  r   r   r   r   ©r_   r!  r"  r'  r`   r  s         r;   r/  zTestInv.test_random3  s†   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜1–X�Ø˜b  1 a 4¡™j™/��!�Q�$’ð ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ r=   c                 ób   — ddgddgg}t        |«      }t        t        ||«      ddgddgg«       y )NrJ   rI   rX   rì   r   ©r   r   r   r  s      r;   r  zTestInv.test_simple_complex>  s:   € Ø�ˆV�a˜�WÐˆÜ�A“ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr=   c                 óR  — t         j                  j                  d«      }d}t        d«      D ]x  }|j                  ||g«      d|j                  ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        |«      }t        t        ||«      t        |«      «       Œz y )Nr  rC   rF   rl   r+  r  r  s         r;   r1  zTestInv.test_random_complexC  s�   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" 2 c§j¡j°!°Q°Ó&8Ñ#8Ñ8ˆAÜ˜1–X�Ø˜b  1 a 4¡™j™/��!�Q�$’ð ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ r=   c                 óf   — ddgddgg}t        |d¬«      }t        t        ||«      ddgddgg«       y )NrJ   rI   rX   rF   Frz   r   r  r  s      r;   r|   zTestInv.test_check_finiteN  s=   € Ø�ˆV�a˜�VÐˆÜ�A EÔ*ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr=   r:   c                 ó¨  — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚y )Nr‡   r”   r   rI   r•  )rX   rJ   r   r   )r2   r™   r   rb  rŒ   r—   r˜   r–   ©r_   r:   r`   r  s       r;   r›   zTestInv.test_emptyS  s©   € ä�H‰H�V 2Ô&ˆÜ�A“ˆØ�z‰z˜QŠÐˆØ�{‰{œc¤"§&¡&¨°"Ô"5Ó6×<Ñ<Ò<Ð<Ð<ä�G‰G�L¨Ô+ˆÜ�A“ˆØ�{‰{˜lÒ*Ð*Ð*ä�G‰G�L¨Ô+ˆÜ�A“ˆØ�{‰{˜lÒ*Ð*Ñ*r=   c                 óv  — d}t        j                  d|dz  dz   «      j                  ||«      t        j                  |«      z   }|j	                  «       }t        |fi |¤Ž}t        ||z  t        j                  |«      d¬«       t        ||«       t        j                  ||«      rJ ‚|j	                  «       j                  t        «      }t        |fi |¤Ž}t        ||z  t        j                  |«      d¬«       t        ||«       t        j                  ||«      rJ ‚|j                  t        «      j	                  d¬«      }t        |fi |¤Ž}t        ||z  t        j                  |«      d¬«       |j                  dd	«      }||k(  j                  «       |k7  sJ ‚t        j                  ||«      |k(  sJ ‚y )
NrX   rJ   rI   rÀ  r£  rá  r¡  r*   F)r2   r   r]   r—   r¨  r   r   r   ré  r|  r£   rè  rm  )r_   r)   r"  Úa0r`   r  r*   s          r;   Útest_overwrite_azTestInv.test_overwrite_ab  sv  € àˆÜ�Y‰Y�q˜!˜Q™$ ™(Ó#×+Ñ+¨A¨qÓ1´B·F±F¸1³IÑ=ˆð �G‰G‹IˆÜ�AÑ&˜Ñ&ˆÜ˜ ™	¤2§6¡6¨!£9°5Õ9Ü�Q˜ÔÜ×#Ñ# A uÔ-Ð-Ð-ð �G‰G‹I×ÑœUÓ#ˆÜ�AÑ&˜Ñ&ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:Ü�Q˜ÔÜ×#Ñ# A uÔ-Ð-Ð-ð
 �I‰I”eÓ×!Ñ!¨Ð!Ó,ˆÜ�AÑ&˜Ñ&ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:à"×&Ñ& }°eÓ<ˆØ�R‘�}‰}‹ +Ò-Ð-Ð-Ü×Ñ  5Ó)¨[Ò8Ð8Ñ8r=   r9   c                 óª  — t        j                  d«      j                  dd«      j                  |«      }t	        |«      }t        ||z  t        j                  |j                  d   «      dt        j                  |j                  «      j                  z  ¬«       ddddd	œ}|j                  j                  ||j                  j                     k(  sJ ‚y )
NrF   rI   r   r‰  r£  Úfrg  r  )r±  r&  ÚgÚG)r2   r   r]   r|  r   r   r—   r–   r7   rŒ   r8   Úchar)r_   r9   r`   r  Údt_maps        r;   Útest_dtypeszTestInv.test_dtypes€  s§   € ô
 �I‰I�a‹L× Ñ   AÓ&×-Ñ-¨dÓ3ˆä�A“ˆÜ˜˜E™	¤2§6¡6¨!¯'©'°!©*Ó#5¸CÄÇÁÈÏÉÓ@Q×@UÑ@UÑ<UÕVð ØØØñ	
ˆð �{‰{×Ñ 6¨!¯'©'¯,©,Ñ#7Ò7Ð7Ñ7r=   c                 ó‚   — t        j                  d«      }d|j                  _        t	        |«      }t        ||d¬«       y rÉ  )r2   r—   rÊ  rË  r   r   r  s      r;   rÌ  zTestInv.test_readonly’  s0   € Ü�F‰F�1‹IˆØ!ˆ�‰Ôä�A“ˆÜ˜˜q uÖ-r=   c                 óÆ   — t        j                  d|¬«      j                  dddd«      dz   }t        |«      }|j                  |j                  k(  sJ ‚t        ||z  d«       y )NrG   r”   rX   rI   rJ   rB   )r2   r   r]   r   r–   r   r!  s       r;   Útest_batch_core_1x1zTestInv.test_batch_core_1x1™  sU   € ä�I‰I�c Ô$×,Ñ,¨Q°°1°aÓ8¸1Ñ<ˆÜ�A“ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	 2Õ&r=   c                 ó  — t        j                  dt        ¬«      j                  ddd«      }|d   }t	        |fi |¤Ž}|j
                  |j
                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j
                  «      d¬«       |d d …d df   }t	        |fi |¤Ž}|j
                  |j
                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j
                  «      d¬«       y )	Nrs  r”   rX   rI   )N.g›+¡†›„=r£  .)	r2   r   r£   r]   r   r–   r   Úbroadcast_tor—   )r_   r)   r`   r¹  r  s        r;   Útest_batch_zero_stridezTestInv.test_batch_zero_stride   sÑ   € ä�I‰I�e¤5Ô)×1Ñ1°!°Q¸Ó:ˆØˆy‰\ˆÜ�BÑ'˜,Ñ'ˆØ�{‰{˜bŸh™hÒ&Ð&Ð&Ü˜˜U™
¤B§O¡O´B·F±F¸1³I¸r¿x¹xÓ$HÈuÕUàŠq�$˜ˆ|‰_ˆÜ�BÑ'˜,Ñ'ˆØ�{‰{˜bŸh™hÒ&Ð&Ð&Ü˜˜U™
¤B§O¡O´B·F±F¸1³I¸r¿x¹xÓ$HÈuÖUr=   c                 óH  — t        j                  d«      j                  dddd«      }|d d …d d d…d d …d d …f   }t        |fi |¤Ž}|j                  |j                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y ©NrÏ  rI   rX   rL   ç‚vIhÂ%,=r£  ©r2   r   r]   r   r–   r   r0  r—   ©r_   r)   r`   r  s       r;   rÓ  z"TestInv.test_batch_negative_stride­  s‚   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa‘�2�’qš!ˆmÑˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr=   c                 óH  — t        j                  d«      j                  dddd«      }|d d …d d …d d d…d d …f   }t        |fi |¤Ž}|j                  |j                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y r3  r5  r6  s       r;   rÕ  z!TestInv.test_core_negative_strideµ  s‚   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa’‘D�b�Dš!ˆmÑˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr=   c                 ó$  — t        j                  d«      j                  dddd«      }|dd d d…f   }t        |fi |¤Ž}|j                  dk(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y )	Nr×  rI   rX   rF   .©rI   rX   rI   rI   r4  r£  r5  r6  s       r;   rØ  z TestInv.test_core_non_contiguous½  sz   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØˆc‘3�Q�3ˆh‰KˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜lÒ*Ð*Ð*Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr=   c                 ó*  — t        j                  d«      j                  dddd«      }|d d …d d d…df   }t        |fi |¤Ž}|j                  dk(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y )Nr×  rI   rG   .r9  g‚vIhÂ%L=r£  r5  r6  s       r;   rÛ  z!TestInv.test_batch_non_contiguousÅ  s|   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØŠa‘�1��cˆk‰NˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜lÒ*Ð*Ð*Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr=   c                 ó  — t        t        «      5  t        t        j                  d«      «       d d d «       t        t        «      5  t        t        j                  d«      «       d d d «       t        j
                  t        j                  dt        ¬«      t        j                  d«      j                  dd«      f«      }t        t        «      5  t        |«       d d d «       y # 1 sw Y   Œ¶xY w# 1 sw Y   ŒŒxY w# 1 sw Y   y xY w)Nr°  )rX   rI   rI   r”   rF   rI   )	r€   r   r   r2   r˜   rç  r¤   r   r]   )r_   r)   r`   s      r;   Útest_singularzTestInv.test_singularÍ  s¨   € ô œ;Õ'Ü”—‘˜“Ô ÷ (ô œ;Õ'Ü”—‘˜	Ó"Ô#÷ (ô �H‰H”b—g‘g˜f¬GÔ4´b·i±iÀ³l×6JÑ6JÈ1ÈaÓ6PÐQÓRˆÜœ;Õ'Ü�ŒF÷ (Ð'÷ (Ð'ú÷ (Ð'ú÷ (Ð'ús#   �C$ÁC0ÃC<Ã$C-Ã0C9Ã<Dc                 óÄ  — t        j                  ddg«      }t        j                  t        «      5  t        |«       d d d «       t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      g«      }t        j                  t        «      5  t        |«       d d d «       y # 1 sw Y   ŒŽxY w# 1 sw Y   y xY w)NrB   ç#B’¡œÇ;rJ   )r2   rt   rŸ   rf  r"   r   rç  )r_   r`   rH  s      r;   Útest_ill_condzTestInv.test_ill_condæ  s–   € Ü�G‰G�R˜�KÓ ˆÜ�\‰\œ-Õ(Ü�ŒF÷ )ô �X‰X”r—w‘w  E˜{Ó+¬R¯W©W°a¸°V«_¼b¿g¹gÀqÈ%ÀjÓ>QÐRÓSˆÜ�\‰\œ-Õ(Ü�ŒG÷ )Ð(÷	 )Ð(ú÷ )Ð(ús   ±C
Â5CÃ
CÃCc                 óŒ   — t        t        «      5  t        t        j                  d«      d¬«       d d d «       y # 1 sw Y   y xY w)NrI   Úkaboomr  )r€   ÚKeyErrorr   r2   r—   r‚  s    r;   Útest_wrong_assume_azTestInv.test_wrong_assume_aï  s(   € Üœ8Õ$Ü”—‘�q“	 HÕ-÷ %×$Ñ$ús	   �!:ºAc                 ó"  — t        j                  dt        ¬«      j                  dd«      }||j                  z   }|dt        j
                  d«      z  z  }t        |«      }t        |d¬«      }t        ||d¬«       t        j                  d	t        j                  g |j                  ¢d
‘­Ž z
  dk(  t         j                  d	«      }t        ||z  ddd¬«      }t        ||d¬«       t        ||j                  z  ddd¬«      }t        ||d¬«       y )Nr¯  r”   r  é   r  r  rˆ   r£  rJ   rL   r   F©r{   r  rÀ   T)r2   r   r£   r]   r@  r—   r   r   ÚwhereÚtrir–   Únan)r_   ri   ÚyÚy_inv0Úy_inv1ÚmaskÚy_inv2Úy_inv3s           r;   Útest_posdefzTestInv.test_posdefó  sà   € Ü�I‰I�b¤Ô&×.Ñ.¨q°!Ó4ˆØ�—‘‰GˆØ	ˆR”—‘�q“	‰\Ñˆä�Q“ˆÜ�Q Ô'ˆä˜ ¨UÕ3ô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ�Q�t‘V¨%¸%ÀuÔMˆÜ˜ ¨UÕ3ô �Q�t—v‘v‘X¨E¸EÈÔNˆÜ˜ ¨UÖ3r=   Úcomplex_FTc                 óŒ  — t        j                  d«      j                  dd«      }||j                  z   t        j                  d«      z   }|r|d|z  z   }t        |«      }t        ||z  t        j                  d«      d¬«       t        t        «      5  t        |d¬«       d d d «       |rŽt        j                  d«      j                  dd«      }|d|z  z   }||j                  j                  «       z   t        j                  d«      z   }t        t        |«      |z  t        j                  d«      d¬«       y y # 1 sw Y   ŒšxY w)NrM  rX   ro   g [n‡ë<r£  r  r  )
r2   r   r]   r@  r—   r   r   r€   r   rG  )r_   rQ  r`   rh   Úb_inv0s        r;   rñ  zTestInv.test_posdef_not_posdef  sú   € ô �I‰I�a‹L× Ñ   AÓ&ˆØ�—‘‰G”b—f‘f˜Q“iÑˆÙØ�B�q‘D‘ˆAô �Q“ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:ô œ;Õ'Ü�˜EÕ"÷ (ñ Ü—	‘	˜!“×$Ñ$ Q¨Ó*ˆAØ�B�q‘D‘ˆAØ�A—C‘C—H‘H“J‘¤§¡¨£Ñ*ˆAÜœC ›F Q™J¬¯©¨q«	¸Ö>ð	 ÷	 (Ð'ús   ÂD:Ä:Ec                 óØ  — t        j                  ddgddgg«      }t        |«      }t        ||z  t        j                  d«      d¬«       t        |d¬«      }t        ||d¬«       t        |d	¬«      }t        j
                  ||d¬«      rJ ‚t        |t        j                  d«      d	¬«      }t        ||d¬«       t        j                  d
«      t        j                  d
«      z   }t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«       t        j                  d
«      z   }t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«       t        j                  d
«      z   }d|d<   t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«      t        j                  d
«      z   j                  t         j                  «      }t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«      dz  t        j                  d
«      z   j                  t         j                  «      }t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«       t        j                  d
«      z   j                  t         j                  «      }t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  d
«       t        j                  d
«      z   j                  t         j                  «      }d|d<   t        |«      }t        ||z  t        j                  d
«      d¬«       t        j                  ddgddggt         j                  ¬«      }t        |«      }t        ||z  t        j                  d«      d¬«       t        j                  ddgddggt         j                  ¬«      }t        |«      }t        ||z  t        j                  d«      d¬«       y )Nr½  r¾  r¿  rI   rÀ  r£  r  r  r  rF   rW   )r   rL   ro   rC  ù      ð?      ð¿r”   rL   )r2   rÁ  r   r   r—   rÂ  r   r˜   r|  r6   r   )r_   r`   rÃ  rÄ  rÅ  Úainv_slvr«  s          r;   rÇ  z"TestInv.test_pos_fails_sym_complex  s;  € ô �J‰JÐ3Ð5NÐPØ2Ð6NÐPðRó Sˆô �1‹vˆÜ˜˜q™¤"§&¡&¨£)°%Õ8ä�q 5Ô)ˆÜ˜ $¨UÕ3ô
 ˜ EÔ*ˆ	Ü—;‘;˜t Y°UÕ;Ð;Ð;ô ˜œBŸF™F 1›I°Ô6ˆÜ˜	 8°%Õ8ô �F‰F�1‹IœŸ™ ›
Ñ"ˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �V‰V�A‹YˆJœŸ™ ›Ñ#ˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �V‰V�A‹YˆJœŸ™ ›Ñ#ˆØˆˆ%‰Ü�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �V‰V�A‹YœŸ™ ›Ñ#×+Ñ+¬B¯M©MÓ:ˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �V‰V�A‹Y�t‰^œbŸg™g a›jÑ(×0Ñ0´·±Ó?ˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �f‰f�Q‹iˆZœ"Ÿ'™' !›*Ñ$×,Ñ,¬R¯]©]Ó;ˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �f‰f�Q‹iˆZœ"Ÿ'™' !›*Ñ$×,Ñ,¬R¯]©]Ó;ˆØˆˆ%‰Ü�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �H‰H�q˜$�i $¨ Ð+´2·=±=ÔAˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Õ7ô �H‰H�r˜4�j 4¨ *Ð-´R·]±]ÔCˆÜ�!‹fˆÜ˜˜a™¤§¡¨£°Ö7r=   Úsym_hermr  r  c                 óÚ  — t        j                  d«      j                  dd«      }|r|d|z  z   }|dk(  r||j                  z   }n||j                  j	                  «       z   }|t        j
                  d«      z   }t         j                  j                  |«      }t        ||z  t        j
                  d«      d¬«       t        ||¬«      }t        ||d¬«       t        j                  d	t        j                  g |j                  ¢d
‘­Ž z
  dk(  t         j                  d	«      }t        ||z  d|d¬«      }t        ||d¬«       t        ||j                  z  d|d¬«      }	t        |	|d¬«       y )NrM  rX   ro   r  rÀ  r£  r  rˆ   rJ   rL   r   FrF  T)r2   r   r]   r@  rG  r—   r—  r   r   rG  rH  r–   rI  )
r_   rQ  rW  r`   rh   rS  Úb_inv1rM  Úb_inv2Úb_inv3s
             r;   Útest_sym_herzTestInv.test_sym_herm  s&  € ô �I‰I�a‹L× Ñ   AÓ&ˆÙØ�B�q‘D‘ˆAà�uÒØ�A—C‘C‘‰Aà�A—C‘C—H‘H“J‘ˆAà”—‘�q“	‰Mˆä—‘—‘˜qÓ!ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:ä�Q Ô*ˆÜ˜ ¨UÕ3ô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ�Q�t‘V¨%¸(È%ÔPˆÜ˜ ¨UÕ3ô �Q�t—v‘v‘X¨E¸HÈDÔQˆÜ˜ ¨UÖ3r=   c                 ó  — t        j                  dt        ¬«      j                  dd«      }||j                  z   }|dt        j
                  d«      z  z  }t        |d¬«      }t        |d¬«      }t        j                  ||«      rJ ‚y )Nr¯  r”   r  rE  rZ  r  r  )r2   r   r£   r]   r@  r—   r   rÂ  )r_   ri   rJ  rK  Úy_inv_posdefs        r;   Útest_triangular_1zTestInv.test_triangular_1‹  st   € Ü�I‰I�b¤Ô&×.Ñ.¨q°!Ó4ˆØ�—‘‰GˆØ	ˆR”—‘�q“	‰\ÑˆÜ�QÐ!3Ô4ˆô ˜1 uÔ-ˆÜ—;‘;˜v |Ô4Ð4Ð4Ð4r=   c                 ó  — t        j                  dt        ¬«      j                  dd«      }t	        t        j
                  |«      «      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t	        |d¬«      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t        j                  dt        j                  g |j                  ¢d	‘­Ž z
  d
k(  t         j                  d«      }t	        ||z  dd¬«      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t	        t        j                  |«      «      }t        |t        j                  |«      z  t        j                  d«      d¬«       t	        |d¬«      }t        |t        j                  |«      z  t        j                  d«      d¬«       t        j                  dt        j                  g |j                  ¢d	‘­Ž z
  d
k(  t         j                  d«      }t	        ||j                  z  dd¬«      }t        |t        j                  |«      z  t        j                  d«      d¬«       y )Nr¯  r”   r  rˆ   r£  rZ  r  rJ   rL   r   F)r{   r  rY  )r2   r˜   r£   r]   r   r¦  r   r—   rG  rH  r–   rI  rP  r@  )	r_   rJ  Ú	y_inv_0_uÚ	y_inv_1_urM  Ú	y_inv_2_uÚ	y_inv_0_lÚ	y_inv_1_lÚ	y_inv_2_ls	            r;   Útest_triangular_2zTestInv.test_triangular_2•  s»  € Ü�G‰G�BœeÔ$×,Ñ,¨Q°Ó2ˆäœŸ™ ›
“Oˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFä˜Ð$6Ô7ˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ˜˜$™¨UÐ=OÔPˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô œŸ™ ›
“Oˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFä˜Ð$6Ô7ˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ˜˜$Ÿ&™&™¨uÐ?QÔRˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÖFr=   c           
      ó°  — t        j                  t        j                  t        j                  d«      «      t        j                  t        j
                  dd«      «      g«      }t        |«      }t        |d   t        j                  dt        j
                  dd«      z  «      d¬«       t        j                  ddgddgg«      }t        j                  t        «      5  t        |d¬	«       d d d «       t        j                  ddgddgg«      }t        j                  t        «      5  t        |d¬	«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)
Nró  rJ   rF   rÀ  r£  rõ  r   rW  r  )r2   rç  r¦  r˜   rt   r   r   r   rÁ  rŸ   rf  r"   r   r   )r_   r`   Úinv_as      r;   rö  zTestInv.test_diagonal¯  sñ   € Ü�H‰H”b—g‘gœbŸg™g f›oÓ.´·±¼¿	¹	À!ÀQ»Ó0HÐIÓJˆÜ�A“ˆô 	˜˜a™¤"§'¡'¨!¬b¯i©i¸¸1«oÑ*=Ó">ÀUÕKô �J‰J˜˜q˜	 A q 6Ð*Ó+ˆÜ�\‰\œ-Õ(Ü�˜JÕ'÷ )ô �J‰J˜˜A˜  A Ð'Ó(ˆÜ�]‰]œ;Õ'Ü�˜JÕ'÷ (Ð'÷ )Ð(ú÷
 (Ð'ús   ÃE Ä)EÅ E	ÅEN))rœ   r�   rž   rÿ   r/  r  r1  r|   rŸ   r    r¡   r¢   r£   r2   r
   r¤   r¥   r›   r   r$  Úfloat16r3   r5   r+  rÌ  r.  r1  rÓ  rÕ  rØ  rÛ  r<  r?  rC  rP  rñ  rÇ  r\  r_  rg  rö  r¦   r=   r;   r  r  *  s   „ ò<ò	3òCò
	3òCð
 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ+ó Tð+ð ñ9ó ð9ð: ‡[�[×ÑØ�—‘˜RŸZ™Z¨¯©¸¿¹ÐGóñ8óð8ò.ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ'ó Tð'ð ñ
Vó ð
Vð ñTó ðTð ñTó ðTð ñTó ðTð ñTó ðTð ñó ðò0ò.ò4ð& ‡[�[×Ñ˜Z¨%°¨Ó7ñ?ó 8ð?ò,N8ð` ‡[�[×Ñ˜Z¨%°¨Ó7Ø‡[�[×Ñ˜Z¨%°¨Ó8ñ4ó 9ó 8ð4ò85òGó4(r=   r  c            	       ó   — e Zd Zd„ Zd„ Zej                  j                  dddgddgg d¢g«      d„ «       Zd„ Z	ej                  j                  d	e
j                  d
   dd D � �cg c]  }|dvr|‘Œ
 c}} «      d„ «       Zd„ Zd„ Zej                  j                  deee
j"                  ee
j&                  g«      d„ «       Zd„ Zd„ Zd„ Zyc c}} w )ÚTestDetc                 óR  — t        j                  dgg«      }t        |«      }|j                  j                  dk(  sJ ‚t        j
                  |«      sJ ‚|dk(  sJ ‚t        j                  dggggd¬«      }t        |«      }|j                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |dgg«       t        j                  dgggt         j                  ¬«      }t        |«      }|j                  j                  dk(  sJ ‚|j                  d	k(  sJ ‚t        |dg«       y )
NrJ   rg  rB   r&  r”   rr   y      ð?      @r  )rJ   )	r2   r   r   rŒ   r)  Úisscalarr–   r   r¥   )r_   r`   Údetas      r;   Útest_1x1_all_singleton_dimsz#TestDet.test_1x1_all_singleton_dimsÂ  sþ   € Ü�H‰H�q�c�U‹OˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ü�{‰{˜4Ô Ð Ð Ø�rŠzÐˆzÜ�H‰H˜˜�u�g�Y cÔ*ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü�T˜S˜E˜7Ô#Ü�H‰H˜�y�k�]¬"¯,©,Ô7ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜TÒ!Ð!Ð!Ü�T˜F˜8Õ$r=   c                 óR  — t         j                  j                  d«      }|j                  g d¢t         j                  ¬«      }t	        |«      }|j
                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |t        j                  |«      «       |j                  g d¢t         j                  ¬«      t        j                  d«      z  }t	        |«      }|j
                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |t        j                  |«      «       y )Nì   ¯*ƒnê`/ )rF   r  rJ   rJ   r”   rg  ©rF   r  ro   r  )r2   r  r   r
   r   rŒ   r)  r–   r   Úsqueezer¥   )r_   r!  r`   ro  s       r;   Útest_1by1_stacked_input_outputz&TestDet.test_1by1_stacked_input_outputÓ  s×   € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J’|¬2¯:©:ˆJÓ6ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÔ,à�J‰J’|¬2¯:©:ˆJÓ6´r·|±|ÀCÓ7HÑHˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÕ,r=   r–   rI   rC   )rX   rI   rC   rC   c                 óž  — t         j                  j                  d«      }|j                  dd|¬«      }t	        |«      t         j
                  j	                  |«      }}t        ||«       |j                  dd|¬«      dz  }||j                  dd|¬«      z  }t	        |«      t         j
                  j	                  |«      }}t        ||«       y )Nrr  ç      ð¿rB   ra  ro   r  r†   )r2   r  r   Úuniformr   r—  r   )	r_   r–   r!  r`   Úd1Úd2rh   Úd3Úd4s	            r;   Ú#test_simple_det_shapes_real_complexz+TestDet.test_simple_det_shapes_real_complexá  s¥   € ä�i‰i×#Ñ#Ð$4Ó5ˆØ�K‰K˜˜R eˆKÓ,ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÔà�K‰K˜˜R eˆKÓ,¨RÑ/ˆØ	ˆS�[‰[˜˜s¨ˆ[Ó/Ñ/ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÕr=   c                 ó  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        t        |«      d	«       t        t        t        j                  d
«      j                  dd«      «      d«       t        j                  g d¢g d¢g d¢g d¢gt         j                  ¬«      }t        t        |«      d«       t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      dz  }t        t        |«      d«       y )N)rJ   rJ   rJ   rJ   rJ   rJ   rJ   rJ   )rJ   rL   rJ   rL   rJ   rL   rJ   rL   )rJ   rJ   rL   rL   rJ   rJ   rL   rL   )rJ   rL   rL   rJ   rJ   rL   rL   rJ   )rJ   rJ   rJ   rJ   rL   rL   rL   rL   )rJ   rL   rJ   rL   rL   rJ   rL   rJ   )rJ   rJ   rL   rL   rL   rL   rJ   rJ   )rJ   rL   rL   rJ   rL   rJ   rJ   rL   g      °@r¯  r  rP   )rø   rø   ù              ð¿rU  )rø   rø   ù      ð?        r  )ro   rC  rø   rø   )r€  ro   rø   rø   r”   y      @        )rù  rú  rB   rP   rP   rP   rP   rP   )rB   rP   rP   rP   rP   rP   rP   rP   )rP   g      ÀrP   g      ÀrB   rP   rP   rP   )rP   rB   rP   rP   rP   rP   rP   rP   )rP   rP   rP   g      ÀrP   g      ÀrB   rP   )rP   rP   rP   rB   rP   rP   rP   rP   )rP   rP   rP   rP   rP   g       ÀrP   g      "À)rP   rP   rP   rP   rP   rB   rP   rP   ro   rN  )r2   r   r   r   r   r]   r¥   r~  s     r;   Útest_for_known_det_valuesz!TestDet.test_for_known_det_valuesí  sç   € ä�H‰HÒ.Ú2Ú2Ú2Ú2Ú2Ú2Ú2ð4ó 5ˆô 	œ˜A› Ô&ô 	œœBŸI™I b›M×1Ñ1°!°QÓ7Ó8¸"Ô=ô
 �H‰HÒ6Ú6Ú6Ú6ð8ô @B¿|¹|ôMˆô 	œ˜A› Ô'ô �H‰HÒ8Ú6Ú8Ú6Ú8Ú6Ú8Ú6ð8ó 9ð :=ñ=ˆô 	œ˜A› Õ#r=   ÚtypÚAllNÚgGc                 óö   — t         j                  j                  d«      }d}|j                  ||g«      j                  |«      }t	        t        |«      t         j                  t         j                  z  «      sJ ‚y )Nrr  rF   )r2   r  r   r|  Ú
isinstancer   r4   r6   )r_   r‚  r!  r"  r`   s        r;   Ú"test_sample_compatible_dtype_inputz*TestDet.test_sample_compatible_dtype_input  s\   € ô �i‰i×#Ñ#Ð$4Ó5ˆØˆØ�J‰J˜˜1�vÓ×%Ñ% cÓ*ˆÜœ#˜a›&¤2§:¡:´·±Ñ#=Ô?Ð?Ñ?r=   c                 ó–  — d}t        dg d¢«      D ]E  \  }}t        t        |¬«      5  t        t	        j
                  ddggdz  |¬«      «       d d d «       ŒG t        t        |¬«      5  t        t	        j
                  d	d
ggdz  d¬«      «       d d d «       t        t        |¬«      5  t        t	        j
                  ddggdz  d¬«      «       d d d «       t        t        |¬«      5  t        t	        j
                  ddggdz  d¬«      «       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   Œ—xY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nz!cannot be cast to float\(32, 64\)ÚSUO)Úbytes8Ústr32Úobjectrc  r`   rh   rI   r”   ó   aó   bÚVr‰  éÈ   zdatetime64[s]ztimedelta64[s])Úzipr€   Ú	TypeErrorr   r2   r   )r_   ÚmsgÚcÚts       r;   Útest_incompatible_dtype_inputz%TestDet.test_incompatible_dtype_input  sõ   € à3ˆä˜Ò<Ö=‰DˆAˆqÜœy°Ö4Ü”B—H‘H˜s C˜j˜\¨!™^°1Ô5Ô6÷ 5Ð4ð >ô œ9¨CÖ0Ü”—‘˜4 ˜,˜¨Ñ)°Ô5Ô6÷ 1äœ9¨CÖ0Ü”—‘˜3 ˜*˜ a™¨Ô?Ô@÷ 1äœ9¨CÖ0Ü”—‘˜3 ˜*˜ a™Ð/?Ô@ÔA÷ 1Ð0÷ 5Ñ4úç0Ð0úç0Ð0úç0Ð0ús/   ¨'DÁ*'D'Â*'D3Ã*'D?ÄD$	Ä'D0Ä3D<Ä?Ec                 óz  — t        t        t        j                  ddg«      «      d«       t        t        t        j                  g d¢«      «      t        j                  g «      «       t        t        t        j                  g d¢«      «      t        j                  g d¢«      «       t        t        d¬«      5  t        t        j                  g d¢«      «       d d d «       t        t        d	¬«      5  t        t        j                  g «      «       d d d «       t        t        d¬«      5  t        t        j                  g g«      «       d d d «       t        t        d¬«      5  t        t        j                  g gg«      «       d d d «       y # 1 sw Y   ŒµxY w# 1 sw Y   Œ‰xY w# 1 sw Y   Œ\xY w# 1 sw Y   y xY w)
Nr   rB   )r   r   r   ©rX   r   r   ©rB   rB   rB   zLast 2 dimensionsrc  )r   r   rX   zat least two-dimensional)r   r   r2   r™   r   r€   r�   r‚  s    r;   Útest_empty_edge_caseszTestDet.test_empty_edge_cases(  s  € ÜœœBŸH™H a¨ VÓ,Ó-¨rÔ2ÜœœBŸH™H¢YÓ/Ó0´"·(±(¸2³,Ô?ÜœœBŸH™H¢YÓ/Ó0´"·(±(º<Ó2HÔIÜœ:Ð-@ÖAÜ”—‘šÓ#Ô$÷ Bäœ:Ð-GÖHÜ”—‘˜“Ô÷ Iäœ:Ð-@ÖAÜ”—‘˜"˜“Ô÷ Bäœ:Ð-@ÖAÜ”—‘˜2˜$˜Ó Ô!÷ BÐA÷ BÐAúçHÐHúçAÐAúçAÐAús0   Â8!FÃ2FÄ* F%Å#!F1ÆFÆF"Æ%F.Æ1F:r:   c                 ó´  — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      «      j                  k(  sJ ‚y )Nr‡   r”   r¦   rI   r˜  r;  )rX   rJ   rJ   )r2   r™   r   r–   rŒ   r—   r   )r_   r:   r`   rg  s       r;   Útest_empty_dtypezTestDet.test_empty_dtype5  s¤   € ä�H‰H�V 2Ô&ˆÜ�‹FˆØ�w‰w˜"Š}Ðˆ}Ø�w‰wœ#œbŸf™f Q¨bÔ1Ó2×8Ñ8Ò8Ð8Ð8ä�H‰H�Y bÔ)ˆÜ�‹FˆØ�w‰w˜$ŠÐˆØ�w‰wœ#œbŸh™h y¸Ô;Ó<×BÑBÒBÐBÑBr=   c                 ó  — t        j                  d«      j                  dd«      j                  t         j                  «      }|j                  «       }t        |d¬«      }t        |d«       ||k(  j                  «       rJ ‚y )NrM  rX   T©r*   rP   )	r2   r   r]   r|  r
   r¨  r   r   rm  )r_   r`   Úacro  s       r;   r$  zTestDet.test_overwrite_aA  sc   € ô
 �I‰I�a‹L× Ñ   AÓ&×-Ñ-¬b¯j©jÓ9ˆØ�V‰V‹XˆÜ�2 4Ô(ˆÜ˜˜bÔ!Ø˜‘G—=‘=”?Ð"Ð"�?r=   c                 ó’   — t        j                  g d¢g d¢g d¢g«      }|j                  d¬«       t        t	        |d¬«      d«       y )	N)rW   rP   rB   )ç      @r~   rw  r™  F)ÚwriteTrž  rV   )r2   r   Úsetflagsr   r   r~  s     r;   Útest_readonly_arrayzTestDet.test_readonly_arrayL  s6   € Ü�H‰H’l¢M²<Ð@ÓAˆØ	�
‰
˜ˆ
Ôäœ˜A¨4Ô0°#Õ6r=   c                 ó’   — ddgdt         j                  gg}t        t        d¬«      5  t	        |«       d d d «       y # 1 sw Y   y xY w)NrJ   rI   rX   zarray must not containrc  )r2   Úinfr€   r�   r   r~  s     r;   Útest_simple_check_finitez TestDet.test_simple_check_finiteR  s7   € Ø�ˆV�aœŸ™�[Ð!ˆÜœ:Ð-EÖFÜ�ŒF÷ G×FÑFús	   ¨=½A)rœ   r�   rž   rp  ru  rŸ   r    r¡   r}  r�  r2   Ú	typecodesr‡  r–  rš  r¢   r£   r
   r¤   r¥   rœ  r$  r¤  r§  )Ú.0ri   s   00r;   rl  rl  Á  sú   „ ò%ò"-ð ‡[�[×Ñ˜W¨¨1 v°°B¨xºÐ&HÓIñ	 ó Jð	 ò"$ðJ ‡[�[×Ñ˜U°·±¸UÑ0CÀCÀRÑ0Hô %7Ñ0H¨1Ø()°©ò &'Ð0Hò %7ó 8ñ@ó8ð@òBò"ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ	Có Tð	Cò	#ò7óùóA%7s   Á$C
rl  c                 óz   — t        | «      }|rt        |«      }t        || «      }t        ||«      }t        ||«      S )N)r	   r   r   r   )r`   rh   ÚcmplxÚatÚa1Úb1s         r;   Údirect_lstsqr¯  X  s9   € Ü	�1‹€BÙÜ�r‹]ˆÜ	ˆR�‹€BÜ	ˆR�‹€BÜ��R‹=Ðr=   c            	       ób  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zej                  j                  de«      ej                  j                  dd«      ej                  j                  d	e«      ej                  j                  d
d«      d„ «       «       «       «       Zej                  j                  ed¬«      ej                  j                  de«      ej                  j                  dd«      ej                  j                  d	e«      ej                  j                  d
d«      d„ «       «       «       «       «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  deeej0                  eej4                  g«      ej                  j                  deeej0                  eej4                  g«      d„ «       «       Zy)Ú	TestLstsq)ÚgelsdÚgelssÚgelsyNc                 óò  — t         D ]î  }t        j                  ddgddgg|¬«      }t        j                  D ]¼  }dD ]µ  }dD ]®  }|j                  «       }t        j                  ||¬«      }|j                  «       }t        |||||¬«      }	|	d	   }
|	d
   }t        |d
k(  d|› �«       t        t        ||
«      |dt        |j                  «      z  dt        |j                  «      z  d|› �¬«       Œ° Œ· Œ¾ Œð y )NrJ   rC   rE   rF   r”   ©TF©)©rJ   r   r  r¸  )rT   ©rE   rF   ©Úlapack_driverr*   r0   r   rI   úexpected efficient rank 2, got r¯  údriver: )rŽ  rŠ   Úerr_msg)ÚREAL_DTYPESr2   r   r±  Úlapack_driversr¨  r   r   r   r   r<   rŒ   )r_   rŒ   r`   r»  rž  Úbtr­  rh   r®  r¸  ri   r(  s               r;   Útest_simple_exactzTestLstsq.test_simple_exactd  sú   € ß ˆEÜ—‘˜1˜b˜' C¨ 8Ð,°EÔ:ˆAÜ!*×!9Ô!9�Û!.�Ió3˜ð ŸV™V›X˜ÜŸH™H R¨uÔ5˜ØŸV™V›X˜Ü# B¨Ø2?Ø09Ø09ô;˜ð   ™F˜Ø ™F˜Ü  Q¡Ø"AÀ!ÀÐ EôGä'¬¨A¨q«	°1Ø-/´)¸B¿H¹HÓ2EÑ-EØ-/´)¸B¿H¹HÓ2EÑ-EØ2:¸=¸/Ð0JöLñ3ñ "/ñ ":ñ !r=   c                 ó   — t         D �]„  }t        j                  ddgddgddgg|¬«      }t        j                  g d¢|¬«      }t        j                  D �]4  }dD �]+  }|j                  «       }|j                  «       }t        |||||¬	«      }|d
   }	|dk(  r+t        j                  ||j                  |	«      z
  dz  «      }
n|d   }
|d   }t        |dk(  d|› �«       t        t        t        ||	«      |z
  dz  «      j                  d
¬«      |
dt        |j                  «      z  dt        |j                  «      z  d|› �¬«       t        |	ddt        |j                  «      z  dt        |j                  «      z  d|› �¬«       �Œ. �Œ7 �Œ‡ y )NrJ   rI   rF   r  rX   r”   rò   r¶  rº  r   r´  r¼  ©Úaxisr¯  r½  ©rŠ   rŽ  r¾  )gã¶mÛ¶mÛ¿g›¶mÛ¶më?)r¿  r2   r   r±  rÀ  r¨  r   Úsumr   r   r   r3  r<   rŒ   )r_   rŒ   r`   rh   r»  rž  r­  r®  r¸  ri   Ú	residualsr(  s               r;   Útest_simple_overdetzTestLstsq.test_simple_overdet}  sy  € ß �[ˆEÜ—‘˜1˜a˜& 1 a &¨1¨a¨&Ð1¸Ô?ˆAÜ—‘š¨%Ô0ˆAÜ!*×!9Õ!9�Ü!.�IàŸ™›�BØŸ™›�BÜ  B°mØ,5Ø,5ô7�Cð ˜A™�AØ$¨Ò/Ü$&§F¡F¨A°·±°a³©L¸1Ñ+<Ó$=™	à$'¨¡F˜	Ø˜A™�AÜ˜A ™FÐ&EÀaÀSÐ$IÔJÜ#¤C¬¨Q°«°Q©¸Ñ(:Ó$;×$?Ñ$?ÀQÐ$?Ó$GØ$-Ø)+¬i¸¿¹Ó.AÑ)AØ)+¬i¸¿¹Ó.AÑ)AØ.6°}°oÐ,Fõ	Hô
 $ AÐ'MØ)+¬i¸¿¹Ó.AÑ)AØ)+¬i¸¿¹Ó.AÑ)AØ.6°}°oÐ,F÷Hò' "/ò ":ñ !r=   c                 ó@  — t         D �]”  }t        j                  ddgddgddgg|¬«      }t        j                  g d¢|¬«      }t        j                  D �]D  }dD �];  }|j                  «       }|j                  «       }t        |||||¬	«      }|d
   }	|dk(  r;||j                  |	«      z
  }
t        j                  |
|
j                  «       z  «      }n|d   }|d   }t        |dk(  d|› �«       t        t        t        ||	«      |z
  dz  «      j                  d
¬«      |dt        |j                  «      z  dt        |j                  «      z  d|› �¬«       t        |	ddt        |j                  «      z  dt        |j                  «      z  d|› �¬«       �Œ> �ŒG �Œ— y )Nr  rI   rF   r  rX   r”   )rJ   rÒ   rX   r¶  rº  r   r´  rJ   r¼  rÄ  r¯  r½  rÆ  )yîu¯{ÝëÞ¿E(BŠÐ?yÓ½îu¯{í?(YÉJV²Ò?)ÚCOMPLEX_DTYPESr2   r   r±  rÀ  r¨  r   r   rÇ  rG  r   r   r3  r<   rŒ   )r_   rŒ   r`   rh   r»  rž  r­  r®  r¸  ri   r«  rÈ  r(  s                r;   Útest_simple_overdet_complexz%TestLstsq.test_simple_overdet_complexš  sˆ  € ß#�^ˆEÜ—‘˜4 ˜) a¨ V¨a°¨VÐ4¸EÔBˆAÜ—‘š¨UÔ3ˆAÜ!*×!9Õ!9�Ü!.�IàŸ™›�BØŸ™›�BÜ  B°mØ,5Ø,5ô7�Cð ˜A™�AØ$¨Ò/Ø !§%¡%¨£(™l˜Ü$&§F¡F¨3°·±³Ñ+;Ó$<™	à$'¨¡F˜	Ø˜A™�AÜ˜A ™FÐ&EÀaÀSÐ$IÔJÜ#¤C¬¨Q°«°Q©¸Ñ(:Ó$;×$?Ñ$?ÀQÐ$?Ó$GØ$-Ø)+¬i¸¿¹Ó.AÑ)AØ)+¬i¸¿¹Ó.AÑ)AØ.6°}°oÐ,Fõ	Hô
 $Ø !ð $Là%'¬)°B·H±HÓ*=Ñ%=Ø%'¬)°B·H±HÓ*=Ñ%=Ø*2°=°/Ð(B÷Dò+ "/ò ":ñ $r=   c                 óÔ  — t         D ]ß  }t        j                  g d¢g d¢g|¬«      }t        j                  ddg|¬«      }t        j                  D ]”  }dD ]�  }|j                  «       }|j                  «       }t        |||||¬«      }|d   }	|d   }
t        |
dk(  d	|
› �«       t        |	d
dt        |j                  «      z  dt        |j                  «      z  d|› �¬«       Œ� Œ– Œá y )Nrò   r  r”   rJ   rI   r¶  rº  r   r¼  )gÌÆqÇq¬¿gÇqÇq¼?gdÇqÇÑ?r¯  r½  rÆ  )r¿  r2   r   r±  rÀ  r¨  r   r   r   r<   rŒ   )r_   rŒ   r`   rh   r»  rž  r­  r®  r¸  ri   r(  s              r;   Útest_simple_underdetzTestLstsq.test_simple_underdet»  sá   € ß ˆEÜ—‘š)¢YÐ/°uÔ=ˆAÜ—‘˜!˜Q˜ uÔ-ˆAÜ!*×!9Ô!9�Û!.�IàŸ™›�BØŸ™›�BÜ  B°mØ,5Ø,5ô7�Cð ˜A™�AØ˜A™�AÜ˜A ™FÐ&EÀaÀSÐ$IÔJÜ# Að (;à)+¬i¸¿¹Ó.AÑ)AØ)+¬i¸¿¹Ó.AÑ)AØ.6°}°oÐ,Fö	Hñ "/ñ ":ñ !r=   rŒ   r"  )rC   r�  r»  rž  r¶  c           
      ó2  — t         j                  j                  d«      }t        j                  |j                  ||g«      |¬«      }t	        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        d«      D �]  }t        j                  |j                  |dg«      |¬«      }|j                  «       }	|j                  «       }
t        |	|
|||¬«      }|d   }|d	   }t        ||k(  d
|› d|› �«       |t         j                  u rJt        t        ||«      |dt        |	j                  «      z  dt        |	j                  «      z  d|› �¬«       Œ×t        t        ||«      |dt        |	j                  «      z  dt        |	j                  «      z  d|› �¬«       �Œ" y )Nr  r”   rC   r+  rF   rX   rº  r   rI   úexpected efficient rank ú, got iô  r½  rÆ  éè  )r2   r  ÚRandomStaterÁ  r-  r¨  r   r   r
   r   r   r<   rŒ   ©r_   rŒ   r"  r»  rž  r!  r`   r'  rh   r­  r®  r¸  ri   r(  s                 r;   Útest_random_exactzTestLstsq.test_random_exactÑ  s}  € ô
 �i‰i×#Ñ# DÓ)ˆä�J‰J�s—z‘z 1 a &Ó)°Ô7ˆÜ�q–ˆAØ˜C ! A q D¡'™MÑ*ˆAˆa�ˆdŠGð ä�q—ˆAÜ—
‘
˜3Ÿ:™: q¨! fÓ-°UÔ;ˆAà—‘“ˆBØ—‘“ˆBÜ˜˜BØ&3Ø$-Ø$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ6°q°cð :Ø˜#ðô  àœŸ
™
Ñ"ÜÜ˜a ›) QØ"¤Y¨r¯x©xÓ%8Ñ8Ø"¤Y¨r¯x©xÓ%8Ñ8Ø$,¨]¨OÐ"<ö	>ô  Ü˜a ›) QØ#¤i°·±Ó&9Ñ9Ø#¤i°·±Ó&9Ñ9Ø$,¨]¨OÐ"<÷	>ñ) r=   z$may segfault on Alpine, see gh-17630ry  c           
      ó`  — t         j                  j                  d«      }t        j                  |j                  ||g«      d|j                  ||g«      z  z   |¬«      }t	        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        d«      D �]  }t        j                  |j                  |dg«      |¬«      }|j                  «       }	|j                  «       }
t        |	|
|||¬«      }|d	   }|d   }t        ||k(  d
|› d|› �«       |t         j                  u rJt        t        ||«      |dt        |	j                  «      z  dt        |	j                  «      z  d|› �¬«       Œ×t        t        ||«      |dt        |	j                  «      z  dt        |	j                  «      z  d|› �¬«       �Œ" y )Nr  ro   r”   rC   r+  rI   rX   rº  r   rÐ  rÑ  i�  r½  rÆ  rÒ  )r2   r  rÓ  rÁ  r-  r¨  r   r   r¥   r   r   r<   rŒ   rÔ  s                 r;   Útest_random_complex_exactz#TestLstsq.test_random_complex_exactõ  s–  € ô �i‰i×#Ñ# DÓ)ˆä�J‰J�s—z‘z 1 a &Ó)¨B¨s¯z©z¸1¸a¸&Ó/AÑ,AÑAØ"ô$ˆä�q–ˆAØ˜C ! A q D¡'™MÑ*ˆAˆa�ˆdŠGð ä�q—ˆAÜ—
‘
˜3Ÿ:™: q¨! fÓ-°UÔ;ˆAà—‘“ˆBØ—‘“ˆBÜ˜˜B¨mØ$-Ø$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ6°q°cð :Ø˜#ðô  àœŸ™Ñ$ÜÜ˜a ›) QØ"¤Y¨r¯x©xÓ%8Ñ8Ø"¤Y¨r¯x©xÓ%8Ñ8Ø$,¨]¨OÐ"<ö	>ô  Ü˜a ›) QØ#¤i°·±Ó&9Ñ9Ø#¤i°·±Ó&9Ñ9Ø$,¨]¨OÐ"<÷	>ñ' r=   c                 óì  — t         j                  j                  d«      }t        D �]K  }dD �]B  \  }}t        j
                  D �](  }dD �]  }t        j                  |j                  ||g«      |¬«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]Ä  }t        j                  |j                  |dg«      |¬«      }	|j                  «       }
|	j                  «       }t        |
||||¬	«      }|d
   }|d   }t        ||k(  d|› d|› �«       t        |t        ||	d
¬«      dt        |
j                  «      z  dt        |
j                  «      z  d|› �¬«       ŒÆ �Œ" �Œ+ �ŒE �ŒN y )Nr  ©)rC   é   )r�  rI   r¶  r”   rC   r+  rF   rX   rº  r   rI   rÐ  rÑ  ©r«  r¯  r½  rÆ  )r2   r  rÓ  r¿  r±  rÀ  rÁ  r-  r¨  r   r   r   r¯  r<   rŒ   ©r_   r!  rŒ   r"  Úmr»  rž  r`   r'  rh   r­  r®  r¸  ri   r(  s                  r;   Útest_random_overdetzTestLstsq.test_random_overdet  sg  € Ü�i‰i×#Ñ# DÓ)ˆß �[ˆEÜ.‘��AÜ%.×%=Õ%=�MÜ%2˜	ÜŸJ™J s§z¡z°1°a°&Ó'9ÀÔG˜Ü!& q¦˜AØ&(¨C°!°A°q°D±'©MÑ&:˜A˜a ˜dšGð "*ä!& q¦˜AÜ "§
¡
¨3¯:©:°q¸!°fÓ+=ÀUÔ K˜Aà!"§¡£˜BØ!"§¡£˜BÜ"'¨¨BØ6CØ4=Ø4=ô#?˜Cð !$ A¡˜AØ # A¡˜AÜ# A¨¡FÐ.FÀqÀcð J+Ø+,¨#ð-/ô 0ä+Ø*+¬\¸!¸QÀaÔ-HØ/1´I¸b¿h¹hÓ4GÑ/GØ/1´I¸b¿h¹hÓ4GÑ/GØ4<¸]¸OÐ2Lö	Nò "*ò	 &3ò &>ò /ñ !r=   c                 ó  — t         j                  j                  d«      }t        D �]b  }dD �]Y  \  }}t        j
                  D �]?  }dD �]6  }t        j                  |j                  ||g«      d|j                  ||g«      z  z   |¬«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]Ä  }t        j                  |j                  |d	g«      |¬«      }	|j                  «       }
|	j                  «       }t        |
||||¬
«      }|d   }|d   }t        ||k(  d|› d|› �«       t        |t        ||	d¬«      dt        |
j                  «      z  dt        |
j                  «      z  d|› �¬«       ŒÆ �Œ9 �ŒB �Œ\ �Œe y )Nr  rÙ  r¶  ro   r”   rC   r+  rI   rX   rº  r   rÐ  rÑ  rJ   rÛ  r¯  r½  rÆ  )r2   r  rÓ  rË  r±  rÀ  rÁ  r-  r¨  r   r   r   r¯  r<   rŒ   rÜ  s                  r;   Útest_random_complex_overdetz%TestLstsq.test_random_complex_overdet6  sƒ  € Ü�i‰i×#Ñ# DÓ)ˆß#�^ˆEÜ.‘��AÜ%.×%=Õ%=�MÜ%2˜	ÜŸJ™J s§z¡z°1°a°&Ó'9¸B¸s¿z¹zÈ1ÈaÈ&Ó?QÑ<QÑ'QØ-2ô4˜ä!& q¦˜AØ&(¨C°!°A°q°D±'©MÑ&:˜A˜a ˜dšGð "*ä!& q¦˜AÜ "§
¡
¨3¯:©:°q¸!°fÓ+=ÀUÔ K˜Að "#§¡£˜BØ!"§¡£˜BÜ"'¨¨BØ6CØ4=Ø4=ô#?˜Cð !$ A¡˜AØ # A¡˜AÜ# A¨¡FÐ.FÀqÀcð J+Ø+,¨#ð-/ô 0ä+Ø&'¬°a¸À!Ô)DØ+-´	¸"¿(¹(Ó0CÑ+CØ+-´	¸"¿(¹(Ó0CÑ+CØ08¸¸Ð.Hö	Jò "*ò &3ò &>ò /ñ $r=   c           
      ó   — t        j                  «       5  t        j                  ddt        «       d d d «       t	        j
                  d«      }t        j                  t        dt        j                  dd«      D ]Æ  \  }}}}}|j                  |«      }t	        j
                  ||¬«      }|j                  «       }	|j                  «       }
t        |	|
||||¬«      }|d   }|d	   }t        |d	k(  d
|› �«       t        t!        ||«      |dt#        |j$                  «      z  dt#        |j$                  «      z  d|› �¬«       ŒÈ y # 1 sw Y   �ŒxY w)Nrl  zIinternal gelsd driver lwork query error,.*Falling back to 'gelss' driver.))rJ   rC   r¹  r·  r¶  r”   )r»  r{   r*   r0   r   rI   r¼  r¯  r½  rÆ  )ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr2   r   Ú	itertoolsÚproductr¿  r±  rÀ  r|  r¨  r   r   r   r   r<   rŒ   )r_   r¬  rŒ   rÁ  r»  rž  r{   r`   rh   r­  r®  r¸  ri   r(  s                 r;   r|   zTestLstsq.test_check_finiteT  s6  € Ü×$Ñ$Õ&ä×#Ñ# Hð%FÜGUôW÷ 'ô �X‰XÐ)Ó*ˆä×ÑœkØLÜ'×6Ñ6Ø+Ø+ö	-ñ >ˆE�2�} i°ð —	‘	˜%Ó ˆAÜ—‘˜ 5Ô)ˆAð —‘“ˆBØ—‘“ˆBÜ˜˜B¨mØ%1¸yØ$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ=¸a¸SÐAÔBÜœC  1›I qØ!#¤i°·±Ó&8Ñ!8Ø!#¤i°·±Ó&8Ñ!8Ø&.¨}¨oÐ$>ö@ñ%-÷ 'Ñ&ús   •EÅEc           
      óÌ  — dD ]ß  \  }}t        j                  |«      }t        t        j                  |«      |«      \  }}}}t	        |t        j                  |d   f|dd  z   «      «       |d   rt        j
                  d«      n#t         j                  j                  |d¬«      dz  }t	        ||«       t        |dk(  d«       t	        |t        j
                  d«      «       Œá y )N))©r   rI   r•   ))r   rF   ré  )©rF   r   )rF   )rê  rµ  rJ   r•   r   rÄ  rI   zexpected rank 0)	r2   r˜   r   r   r   r™   r—  r   r   )	r_   Úa_shapeÚb_shaperh   ri   ÚresiduesÚrankÚsÚresidues_should_bes	            r;   r›   zTestLstsq.test_emptyt  sÀ   € ó!3ÑˆG�Wô —‘˜Ó ˆAÜ#(¬¯©°'Ó):¸AÓ#>Ñ ˆAˆx˜˜qÜ˜œBŸH™H g¨a¡j ]°W¸Q¸R°[Ñ%@ÓAÔBØ4;¸A²J¤"§(¡(¨4¤.Ü')§y¡y§~¡~°a¸a ~Ó'@À!Ñ'Cð ä˜Ð#5Ô6Ü�D˜A‘IÐ0Ô1Ü˜œBŸH™H T›NÕ+ñ!3r=   r“  r’   c                 óL  — t        j                  d|¬«      }t        j                  d|¬«      }t        ||«      \  }}}}|j                  dk(  sJ ‚t        t        j                  d|¬«      t        j
                  d|¬«      «      d   j                  }	|j                  |	k(  sJ ‚y r  )r2   r™   r   rb  r—   r˜   rŒ   )
r_   r“  r’   r`   rh   ri   rí  rî  rï  r™  s
             r;   rœ  zTestLstsq.test_empty_dtype‚  s‡   € ô �H‰H�V 4Ô(ˆÜ�H‰H�Q˜dÔ#ˆÜ$ Q¨›{Ñˆˆ8�T˜1à�v‰v˜Š{Ðˆ{ÜœBŸF™F 1¨DÔ1´2·7±7¸1ÀDÔ3IÓJÈ1ÑM×SÑSˆØ�w‰w˜+Ò%Ð%Ñ%r=   N)rœ   r�   rž   rÀ  rÂ  rÉ  rÌ  rÎ  rŸ   r    r¡   r¿  rÕ  rþ  r&   rË  r×  rÞ  rà  r|   r›   r¢   r£   r2   r
   r¤   r¥   rœ  r¦   r=   r;   r±  r±  a  sž  „ Ø6€NòLò2Hò:DòBHð, ‡[�[×Ñ˜W kÓ2Ø‡[�[×Ñ˜S )Ó,Ø‡[�[×Ñ˜_¨nÓ=Ø‡[�[×Ñ˜[¨-Ó8ñ>ó 9ó >ó -ó 3ð>ð@ ‡[�[×Ñ˜Ð(NÐÓOØ‡[�[×Ñ˜W nÓ5Ø‡[�[×Ñ˜S )Ó,Ø‡[�[×Ñ˜_¨nÓ=Ø‡[�[×Ñ˜[¨-Ó8ñ>ó 9ó >ó -ó 6ó Pð
>ò@Nò8Jò<@ò@,ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ&ó Vó Vñ&r=   r±  c                   ó°   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eej                   eej$                  g«      d
„ «       Zy)ÚTestPinvc                 ó    — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        t	        ||«      t        j                  d«      «       y ©Nrò   r  r  r”   rX   ©r   r£   r   r   r   r2   r—   ©r_   r`   Úa_pinvs      r;   Útest_simple_realzTestPinv.test_simple_real�  s6   € Ü’9šiªÐ4¼EÔBˆÜ�a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r=   c                 óÜ   — t        g d¢g d¢g d¢gt        ¬«      dt        g d¢g d¢g d¢gt        ¬«      z  z   }t        |«      }t        t	        ||«      t        j                  d	«      «       y ©
Nrò   r  r  r”   ro   )rL  r  rM   )rG   r  rF   )rX   rI   rJ   rX   rö  r÷  s      r;   r  zTestPinv.test_simple_complex”  s[   € Ü’Išyª*Ð5ÜôØ¤ª
²IºyÐ'IÜ-2ô"4ñ 4ñ4ˆô �a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r=   c                 óŽ   — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrò   r  ©rM   r  rM  r”   ©g|�Çqä¿gÔ•VUUÅ¿gãcä8ŽÓ?©gƒÓÇq¬¿gù°^©0Á¢<gƒÓÇq¬?©gù9Žãà?gÔ•VUUÅ?g:8ï7ŽãÈ¿©r   r£   r   r   ©r_   r`   rø  r·   s       r;   Útest_simple_singularzTestPinv.test_simple_singular›  sD   € Ü’9šiªÐ3¼5ÔAˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r=   c                 óˆ   — t        g d¢g d¢gt        ¬«      }t        |«      }t        ddgddgdd	gg«      }t        ||«       y )
Nrò   r  r”   g’Ö‹ã8î¿g#¬ÇqÜ?g#¬Çq¼¿g#¬Çq¼?gIëÅqç?g#¬ÇqÌ¿r  r  s       r;   Útest_simple_colszTestPinv.test_simple_cols£  sN   € Ü’9šiÐ(´Ô6ˆÜ�a“ˆÜ˜;¨
Ð3Ø&¨
Ð3Ø% {Ð3ð5ó 6ˆô 	" &¨(Õ3r=   c                 óˆ   — t        ddgddgddggt        ¬«      }t        |«      }t        g d¢g d	¢g«      }t        ||«       y )
NrJ   rI   rX   rF   r  rG   r”   )g·DpTUUõ¿gÚÁQUUÕ¿g“vWUUå?)g·DpTUUñ?gÚÁQUUÕ?g&í>®ªªÚ¿r  r  s       r;   Útest_simple_rowszTestPinv.test_simple_rows«  sK   € Ü�A�q�6˜A˜q˜6 A q 6Ð*´%Ô8ˆÜ�a“ˆÜÒ@Ú?ðAó Bˆä! &¨(Õ3r=   c                 ó˜   — t        g d¢g d¢g d¢g«      }t        |d¬«      }t        t        ||«      t	        j
                  d«      «       y )Nrò   )rF   r  rµ   r  Frz   rX   )r   r   r   r   r2   r—   r÷  s      r;   r|   zTestPinv.test_check_finite²  s7   € Ü’9šjª*Ð5Ó6ˆÜ�a eÔ,ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r=   c                 óp   — g d¢g d¢g d¢g}t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrò   r  rý  rþ  rÿ  r   )r   r   r   r  s       r;   Útest_native_list_argumentz"TestPinv.test_native_list_argument·  s=   € Úš	¢9Ð-ˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r=   c                 óè  — t         j                  j                  d«      }d}t        |j                  ||f«      «      \  }}t        j                  d«      j                  dd«      }|j                  «       }d|d<   d}d	}t        ||d
¬«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t         j                  j                  |
«      dd¬«       t        t         j                  j                  |«      dd¬«       t        |||¬«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t         j                  j                  |
«      dd¬«       t        t         j                  j                  |«      dd¬«       y )Nr  rs  g     €A@rM   r  gü©ñÒMbP?r‡   çñhãˆµøä>gš™™™™™©?rP   r�  gü©ñÒMb@?r£  r4  g;ßO�—î@ç{®Gáz„?r‰   )r2   r  r   r!   r   r]   r¨  r   r   r—  r   )r_   r!  r"  ÚqÚ_Úa_mr`   rŽ  rŠ   Úa_pÚadiff1Úadiff2s               r;   Útest_atol_rtolzTestPinv.test_atol_rtol¿  s:  € Ü�i‰i×#Ñ# DÓ)ˆØˆä�#—*‘*˜a ˜VÓ$Ó%‰ˆˆ1Ü�i‰i˜‹o×%Ñ% a¨Ó+ˆØ�H‰H‹JˆØˆˆ$‰ØˆØˆô �3˜T¨Ô+ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆô 	œŸ	™	Ÿ™ vÓ.°¸5ÕAÜœŸ	™	Ÿ™ vÓ.°¸FÕCô �3˜T¨Ô-ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆÜœŸ	™	Ÿ™ vÓ.°¸DÕAÜœŸ	™	Ÿ™ vÓ.°¸DÖAr=   r:   c                 óÜ   — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚y r  )r2   r™   r   rb  rŒ   r—   ©r_   r:   r`   rø  s       r;   r›   zTestPinv.test_emptyÛ  sU   € ä�H‰H�V 2Ô&ˆÜ�a“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r=   N)rœ   r�   rž   rù  r  r  r  r  r|   r
  r  rŸ   r    r¡   r£   r2   r
   r¤   r¥   r›   r¦   r=   r;   ró  ró  Ž  sb   „ ò=ò
=ò4ò4ò4ò=ò
4òBð8 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r=   ró  c                   ó¤   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  deej                  eej                   g«      d„ «       Zy	)
ÚTestPinvSymmetricc                 óô   — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |«      }t        t        j                  ||«      t        j                  d«      «       y rõ  )r   r£   r2   r   r@  r   r   r—   r÷  s      r;   rù  z"TestPinvSymmetric.test_simple_realä  sN   € Ü’9šiªÐ4¼EÔBˆÜ�F‰F�1�a—c‘c‹NˆÜ�q“ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r=   c                 óN  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        j
                  j                  |«      \  }}}|dxx   dz  cc<   t        j                  ||z  |«      }t        |«      }t        |«      }t        ||«       y )Nrò   r  rý  r”   r   rL   )
r   r£   r2   r   r@  r—  Úsvdr   r   r   )r_   r`   rc   rï  Úvtrø  Úa_pinvhs          r;   Útest_nonpositivez"TestPinvSymmetric.test_nonpositiveê  s}   € Ü’9šiªÐ3¼5ÔAˆÜ�F‰F�1�a—c‘c‹NˆÜ—9‘9—=‘= Ó#‰ˆˆ1ˆbØ	ˆ!‹�‰
‹Ü�F‰F�1�q‘5˜"ÓˆÜ�a“ˆÜ˜“(ˆÜ! &¨'Õ2r=   c                 óL  — t        g d¢g d¢g d¢gt        ¬«      dt        g d¢g d¢g d¢gt        ¬«      z  z   }t        j                  ||j	                  «       j
                  «      }t        |«      }t        t        j                  ||«      t        j                  d	«      «       y rû  )	r   r£   r2   r   rG  r@  r   r   r—   r÷  s      r;   r  z%TestPinvSymmetric.test_simple_complexô  sz   € Ü’Išyª*Ð5ÜôØ¤ª
²IºyÐ'IÜ-2ô"4ñ 4ñ4ˆô �F‰F�1�a—f‘f“h—j‘jÓ!ˆÜ�q“ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r=   c                 ó  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |j                  «       «      }t        t        j                  ||«      t        j                  d«      «       y rõ  )	r   r£   r2   r   r@  r   Útolistr   r—   r÷  s      r;   r
  z+TestPinvSymmetric.test_native_list_argumentü  sU   € Ü’9šiªÐ4¼EÔBˆÜ�F‰F�1�a—c‘c‹NˆÜ�q—x‘x“zÓ"ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r=   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      }t        ||z  |z  |d¬«       t        ||z  |z  |d¬«       y )N)rJ   rL   r   )rL   rI   rL   )r   rL   rJ   rˆ   r£  )r2   r   r   r   )r_   r`   Úps      r;   Útest_zero_eigenvaluez&TestPinvSymmetric.test_zero_eigenvalue	  sJ   € ô �H‰H’j¢+ªzÐ:Ó;ˆÜ�!‹HˆÜ˜˜A™ ™	 1¨5Õ1Ü˜˜A™ ™	 1¨5Ö1r=   c                 ó   — t         j                  j                  d«      }d}t        |j                  ||f«      «      \  }}t        j                  g d¢dg|dz
  z  z   «      }|j
                  |z  |z  }t        j                  g d¢dg|dz
  z  z   «      }|j
                  |z  |z  }d}d	}t        ||d¬
«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t        |
«      |d¬«       t        t        |«      dd¬«       t        |||¬
«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t        |
«      dd¬«       t        t        |«      dd¬«       y )Nr  rs  )rF   rX   rI   rJ   çvk™Çó?g’ï­£Ãä>guŒñ‚œ°>rG   )rF   rX   rI   rJ   r&  rP   rP   r  gü‹ 1“¨?r�  r+  r‰   rŒ  g•dyáý¥=r£  ç-Cëâ6?)	r2   r  r   r!   rt   r@  r   r   r   )r_   r!  r"  r  r  r`   r  rŽ  rŠ   r  r  r  s               r;   r  z TestPinvSymmetric.test_atol_rtol
	  sD  € Ü�i‰i×#Ñ# DÓ)ˆØˆä�#—*‘*˜a ˜VÓ$Ó%‰ˆˆ1Ü�G‰GÒ2°g°YÀÀ!Á±_ÑDÓEˆØ�C‰C�!‰G�a‰KˆÜ�g‰gÒ/°2°$¸¸!¹±*Ñ<Ó=ˆØ�c‰c�C‰i˜!‰mˆØˆØ!ˆä�A˜D rÔ*ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆô 	œ˜V› d°Õ5Üœ˜V› e°%Õ8ô �A˜D tÔ,ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆäœ˜V› d°Õ5Üœ˜V› d°Ö5r=   r:   c                 óÜ   — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      «      j                  k(  sJ ‚y r  )r2   r™   r   rb  rŒ   r   r—   r  s       r;   r›   zTestPinvSymmetric.test_empty&	  sU   € ä�H‰H�V 2Ô&ˆÜ�q“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r=   N)rœ   r�   rž   rù  r  r  r
  r$  r  rŸ   r    r¡   r£   r2   r
   r¤   r¥   r›   r¦   r=   r;   r  r  ã  sZ   „ ò@ò3ò@ò@ò2ò6ð8 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r=   r  Úscale)r>  rB   rû  Úpinv_c                 ó¾   — t        j                  ddgddgg«      | z  }t        j                  dt        j                  |«      z  «      } ||«      }t        ||«       y )NrJ   r   g»½×Ùß|Û=rB   )r2   r   rt   r   )r)  r*  ri   r·   Úx_invs        r;   Útest_auto_rcondr-  .	  sQ   € ô 	�‰�1�a�&˜1˜e˜*Ð%Ó&¨Ñ.€AÜ�w‰w�rœBŸG™G A›J‘Ó'€HÙ�!‹H€EÜ�E˜8Õ$r=   c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  e d¬«      d	„ «       Zy
)ÚTestVectorNormsc                 óô  — t         j                  d   D ]¦  }t        j                  g d¢|¬«      }t        dt        j                  |«      j
                  j                  dz  «      }t        t        |«      t        j                  d«      |¬«       t        t        |d«      t        j                  d«      |¬«       Œ¨ t         j                  d	   D ]¦  }t        j                  g d
¢|¬«      }t        dt        j                  |«      j
                  j                  dz  «      }t        t        |«      t        j                  d«      |¬«       t        t        |d«      t        j                  d«      |¬«       Œ¨ y )NÚAllFloatrò   r”   rˆ   rC   rN   r‰   rI   ÚComplex)ro   rl   y              @)
r2   r¨  r   Úmaxr7   r8   Úrealr   r   Úsqrt)r_   rŒ   ri   r‘  s       r;   Ú
test_typeszTestVectorNorms.test_types9	  sø   € Ü—\‘\ *Ô-ˆEÜ—‘š¨%Ô0ˆAÜ�eœRŸX™X e›_×0Ñ0×5Ñ5¸Ñ:Ó;ˆCÜœD ›G¤R§W¡W¨R£[°sÕ;ÜœD  A›J¬¯©°«¸#Ö>ð	 .ô —\‘\ )Ô,ˆEÜ—‘š¨UÔ3ˆAÜ�eœRŸX™X e›_×0Ñ0×5Ñ5¸Ñ:Ó;ˆCÜœD ›G¤R§W¡W¨R£[°sÕ;ÜœD  A›J¬¯©°«¸#Ö>ñ	 -r=   c                 óR   — t        dgt        ¬«      }t        t        |«      |«       y )Nrû  r”   )r   r
   r   r   r~  s     r;   Útest_overflowzTestVectorNorms.test_overflowF	  s    € ô �4�&¤Ô(ˆÜœD ›G QÕ'r=   c                 óÂ   — t        dgdgdz  z   t        ¬«      }	 t        t        |«      dz
  dd¬«       y # t        $ r d}t        t        |«      dz
  d	|¬
«       Y y w xY w)Nç     ˆÃ@rJ   i'  r”   r†   r  r£  zO: Result should equal either 0.0 or 0.5 (depending on implementation of snrm2).rP   )r¾  )r   r
   r   r   ÚAssertionErrorr   )r_   r`   r“  s      r;   Útest_stablezTestVectorNorms.test_stableL	  sc   € ä�3�%˜1˜#˜e™)Ñ#¬7Ô3ˆð	Aô œD ›G c™M¨3°TÖ:øÜò 	Að.ˆCä¤ Q£¨#¡¨s¸C×@ð		Aús   ›6 ¶%AÁAc                 ód   — t        t        g d¢d«      d«       t        t        g d¢d«      d«       y )N)rJ   r   rX   r   rI   rò   rX   )r   r   r‚  s    r;   Útest_zero_normzTestVectorNorms.test_zero_normY	  s$   € Ü”Tš) QÓ'¨Ô+Ü”Tš) QÓ'¨Õ+r=   c                 ó¾   — t        j                  ddgddgggdz  d«      }t        t        |d¬«      ddggdz  «       t        t        |dd¬«      d	gdz  gdz  «       y )
NrI   rJ   rX   rF   rg  rÄ  ç5ýD+Ø@çÃ6ûf~@r¡  )r2   r   r   r   r~  s     r;   Útest_axis_kwdzTestVectorNorms.test_axis_kwd]	  sc   € Ü�H‰H˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÓ1ˆÜœ˜Q Qœ¨:°zÐ*BÐ)CÀaÑ)GÔHÜœ˜Q ¨Ô*¨b¨T°A©X¨J¸©NÕ;r=   c                 óø   — t        j                  ddgddgggdz  d«      }t        |dd¬«      }t        |dd	gggdz  «       t	        |j
                  d
k(  «       t        t        |ddd¬«      dgdgggdz  «       y )NrI   rJ   rX   rF   rg  T)rÅ  Úkeepdimsr@  rA  )rI   rJ   rI   r~   g      @)r2   r   r   r   r   r–   rT  s      r;   Útest_keepdims_kwdz!TestVectorNorms.test_keepdims_kwdb	  s„   € Ü�H‰H˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÓ1ˆÜ�˜ TÔ*ˆÜ˜˜j¨*Ð5Ð6Ð7¸!Ñ;Ô<Ü�—‘˜9Ñ$Ô%Üœ˜Q ¨°DÔ9¸b¸TÀBÀ4¸L¸>ÈAÑ;MÕNr=   z64-bit BLAS requiredry  c                 ó¢   — t        d¬«       t        j                  dgt        j                  ¬«      }d|d<   t	        |«      }~t        |d«       y )NihB  )Úfree_mbl        r”   rJ   rL   rB   )r%   r2   r   r4   r   r   )r_   ri   r«  s      r;   Útest_large_vectorz!TestVectorNorms.test_large_vectori	  s?   € ä %Õ(Ü�H‰H�e�W¤B§J¡JÔ/ˆØˆˆ"‰Ü�1‹gˆØÜ˜˜SÕ!r=   N)rœ   r�   rž   r6  r8  r<  r>  rB  rE  rŸ   r    rþ  r'   rH  r¦   r=   r;   r/  r/  7	  sN   „ ò?ò(òAò,ò<ò
Oð ‡[�[×Ñ˜I˜Ð.DÐÓEñ"ó Fñ"r=   r/  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMatrixNormsc           
      óv  — t         j                  j                  d«      }dD �]”  \  }}t         j                  t         j                  t         j
                  t         j                  t         j                  fD �]=  }d|j                  ||f«      j                  |«      z  }t        j                  |j                  t         j                  «      r*|d|j                  ||f«      z  z  }t         j                  }nt         j                  }d ddddd	t         j                  t         j                   fD ]ƒ  }t        ||¬
«      }t         j                  j                  ||¬
«      }	t        j                   ||	«      rŒHt         j                  j                  |j                  |«      |¬
«      }	t#        ||	«       Œ… �Œ@ �Œ— y )Nr  )rr   )rJ   rX   )rX   rJ   r´  rs  )r  rF   rL  y              $@ÚfrorJ   rL   rI   rø  )Úord)r2   r  r   r
   r4   r¥   r6   Úint64r�  r|  r¤  rŒ   r¥  r¦  r   r—  rÂ  r   )
r_   r!  r"  rÝ  r•  r#  Út_highr¢  ÚactualÚdesireds
             r;   Útest_matrix_normsz!TestMatrixNorms.test_matrix_normsu	  s<  € ä�i‰i×#Ñ# DÓ)ˆÜB‰DˆAˆqÜ—Z‘Z¤§¡¬R¯\©\¼2¿=¹=Ì"Ï(É(ÔR�Ø˜×,Ñ,¨a°¨VÓ4×;Ñ;¸AÓ>Ñ>�Ü—=‘= §¡¬"×*<Ñ*<Ô=Ø˜˜s×2Ñ2°A°q°6Ó:Ñ:Ñ:�AÜŸ]™]‘FäŸZ™Z�FØ" E¨1¨b°!°R¼¿¹Ä"Ç&Á&ÀÓI�EÜ! !¨Ô/�FÜ Ÿi™iŸn™n¨Q°E˜nÓ:�Gô Ÿ;™; v¨wÕ7Ü"$§)¡)§.¡.°·±¸&Ó1AÀu .Ó"M˜Ü'¨°Õ8ò Jò Sñ Cr=   c                 ó
  — t        j                  ddgddgggdz  d«      }t        |t         j                  d¬«      }t        t        j                  |dd«      t         j                  d	¬«      }t        |dd	¬«      }t        ||«       t        ||«       t        ||«       t        |j                  |j                  cxk(  xr |j                  k(  nc «       t        |dd¬«      }t        t        j                  |dd«      dd	¬«      }t        |t         j                  d	¬«      }t        ||«       t        ||«       t        ||«       t        |j                  |j                  cxk(  xr |j                  k(  «       y c «       y )
NrI   rJ   rX   rF   rg  r¸  )rM  rÅ  r   r  )r2   r   r   r¦  Úswapaxesr   r   r–   )r_   r`   rh   r”  rg  s        r;   rB  zTestMatrixNorms.test_axis_kwd‰	  s  € Ü�H‰H˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÓ1ˆÜ�œŸ™ VÔ,ˆÜ”—‘˜Q  1Ó%¬2¯6©6¸Ô?ˆÜ�˜ Ô'ˆÜ˜˜1ÔÜ˜˜1ÔÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ö- a§g¡gÔ-Ô.Ü�˜ Ô'ˆÜ”—‘˜Q  1Ó%¨1°6Ô:ˆÜ�œŸ™ VÔ,ˆÜ˜˜1ÔÜ˜˜1ÔÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ö- a§g¡gÑ-Õ.Ñ-Õ.r=   c                 ó
  — t        j                  dd¬«      j                  dddd«      }t        |t         j                  dd	¬
«      }t        |ddd	¬
«      }t        ||«       t        |j                  |j                  k(  «       y )Néx   rg  r”   rI   rX   rF   r  r¸  T)rM  rÅ  rD  rJ   r  )r2   r   r]   r   r¦  r   r   r–   )r_   r`   rh   r”  s       r;   rE  z!TestMatrixNorms.test_keepdims_kwdš	  sf   € Ü�I‰I�c Ô%×-Ñ-¨a°°A°qÓ9ˆÜ�œŸ™ V°dÔ;ˆÜ�˜ °Ô6ˆÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r=   c                 óü  — t        j                  d«      }t        t        |«      d«       t        t        |d¬«      t        j                  d«      «       t        t        |d¬«      t        j                  d«      «       t        j                  d	«      }t        t        |«      d«       t        t        |d¬«      t        j                  d
«      «       t        t        |d¬«      t        j                  d«      «       y )Nr‡   rP   r   rÄ  r•   T)rD  rr   )r   rX   r;  )r2   r™   r   r   r   r~  s     r;   r›   zTestMatrixNorms.test_empty¡	  sž   € Ü�H‰H�VÓˆÜœ˜Q› Ô$Üœ˜Q Qœ¬¯©°$«Ô8Üœ˜Q¨Ô.´·±¸Ó0@ÔAä�H‰H�VÓˆÜœ˜Q› Ô$Üœ˜Q Qœ¬¯©°$«Ô8Üœ˜Q¨Ô.´·±¸Ó0@ÕAr=   N)rœ   r�   rž   rR  rB  rE  r›   r¦   r=   r;   rJ  rJ  s	  s   „ ò9ò(/ò"$ó	Br=   rJ  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestOverwritec                 ó(   — t        t        ddg«       y ©Nró  r;  )r$   r   r‚  s    r;   Ú
test_solvezTestOverwrite.test_solve®	  ó   € ÜœE F¨D >Õ2r=   c                 ó(   — t        t        ddg«       y r[  )r$   r   r‚  s    r;   Útest_solve_triangularz#TestOverwrite.test_solve_triangular±	  s   € ÜÔ,¨v°t¨nÕ=r=   c                 ó"   — t        d„ ddg«       y )Nc                 ó   — t        d| |«      S )NrT   )r   )ra   rh   s     r;   Ú<lambda>z1TestOverwrite.test_solve_banded.<locals>.<lambda>µ	  s   € ¬,°v¸rÀ1Ô*Er=   )rF   rG   ©rG   r#   r‚  s    r;   Útest_solve_bandedzTestOverwrite.test_solve_banded´	  s   € ÜÑEØ# T˜Nõ	,r=   c                 ó(   — t        t        ddg«       y )NrÚ  rc  )r$   r   r‚  s    r;   Útest_solveh_bandedz TestOverwrite.test_solveh_banded¸	  s   € ÜœM¨F°D¨>Õ:r=   c                 ó&   — t        t        dg«       y ©Nró  )r$   r   r‚  s    r;   Útest_invzTestOverwrite.test_inv»	  ó   € ÜœC & Õ*r=   c                 ó&   — t        t        dg«       y rh  )r$   r   r‚  s    r;   Útest_detzTestOverwrite.test_det¾	  rj  r=   c                 ó(   — t        t        ddg«       y )N)rX   rI   r;  )r$   r   r‚  s    r;   Ú
test_lstsqzTestOverwrite.test_lstsqÁ	  r]  r=   c                 ó&   — t        t        dg«       y rh  )r$   r   r‚  s    r;   Ú	test_pinvzTestOverwrite.test_pinvÄ	  s   € ÜœD 6 (Õ+r=   c                 ó&   — t        t        dg«       y rh  )r$   r   r‚  s    r;   Ú
test_pinvhzTestOverwrite.test_pinvhÇ	  s   € ÜœE F 8Õ,r=   N)rœ   r�   rž   r\  r_  rd  rf  ri  rl  rn  rp  rr  r¦   r=   r;   rY  rY  ­	  s/   „ ò3ò>ò,ò;ò+ò+ò3ò,ó-r=   rY  c            	       ó"  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eeej"                  eej&                  g«      ej                  j                  d
eeej"                  eej&                  g«      d„ «       «       Zy)ÚTestSolveCirculantc                 óº   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||«      }t        t	        |«      |«      }t        ||«       y ©N)rJ   rI   rX   r  )rJ   rL   rJ   r   )r2   r   r   r   r   r   ©r_   r”  rh   ri   rJ  s        r;   Útest_basic1zTestSolveCirculant.test_basic1Í	  sD   € Ü�H‰H’\Ó"ˆÜ�H‰H’]Ó#ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr=   c                 óÖ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )N©rJ   rI   éýÿÿÿr  rs  rF   rX   ©r2   r   r   r]   r   r   r   r   rw  s        r;   Útest_basic2zTestSolveCirculant.test_basic2Ô	  sP   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! QÓ'ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr=   c                 ó*  — t        j                  g d¢«      }t        j                  d«      j                  ddd«      }t	        ||«      }t        t        |«      |j                  dd«      «      j                  |j                  «      }t        ||«       y )Nrz  rÏ  rF   rX   rI   rL   )	r2   r   r   r]   r   r   r   r–   r   rw  s        r;   Útest_basic3zTestSolveCirculant.test_basic3Ü	  sl   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! Q¨Ó*ˆÜ˜A˜qÓ!ˆÜ”)˜A“, §	¡	¨!¨RÓ 0Ó1×9Ñ9¸!¿'¹'ÓBˆÜ˜˜1Õr=   c                 óÜ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      dz   }t	        ||«      }t        t        |«      |«      }t        ||«       y )N)r  r{  rì   r  r  rF   rI   y              à?r|  rw  s        r;   rp   zTestSolveCirculant.test_complexä	  sV   € ä�H‰HÒ&Ó'ˆÜ�I‰I�a‹L× Ñ   AÓ&¨Ñ-ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr=   c                 óà   — t         j                  j                  d«      }|j                  d«      }|j                  d«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )Ni1Ô  r`  )r2   r  rÓ  r�  r   r   r   r   )r_   r!  r”  rh   ri   rJ  s         r;   Útest_random_b_and_cz&TestSolveCirculant.test_random_b_and_cì	  s\   € ä�i‰i×#Ñ# EÓ*ˆØ×Ñ Ó#ˆØ×Ñ Ó#ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr=   c                 óô   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }t        t	        |«      |«      \  }}}}t        ||«       t        t        t        ||«       y )N©rJ   rJ   r   r   )rJ   rI   rX   rF   r   )rk  )r2   r   r   r   r   r   r€   r   )r_   r”  rh   ri   rJ  r«  Úrnkrï  s           r;   r<  z TestSolveCirculant.test_singularõ	  s\   € ä�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆÜ˜A˜q¨7Ô3ˆÜœy¨›|¨QÓ/‰ˆˆ3��QÜ˜˜1ÔÜ”k¤?°A°qÕ9r=   c                 ó  — t        j                  g d¢gg d¢gg«      }t        j                  g d¢g d¢g d¢g«      }t        ||d¬«      }t        |j                  d«       t        j
                  |«      }t        t        |d	   j                  «       «      |j                  «      |d d …d	d d …f<   t        t        |d   j                  «       «      |j                  «      |d d …dd d …f<   t        ||«       t        ||dd
¬«      }t        |j                  d«       t        t        j                  |d
d	«      |«       t        t        j                  |dd«      |j                  d¬«      }t        |j                  d«       t        ||«       y )N)rL   g      @rX   g      @)rJ   rG   rG   g      @)r   r   rJ   rJ   r„  )rJ   rL   r   r   rJ   )Úbaxis)rF   rI   rX   r   rL   )r‡  Úoutaxis)rI   rX   rF   rI   )Úcaxis)r2   r   r   r   r–   Ú
empty_liker   r   r<  r@  r   ÚmoveaxisrT  )r_   r”  rh   ri   r·   s        r;   Útest_axis_argsz!TestSolveCirculant.test_axis_argsþ	  s+  € ô �H‰HÒ(Ð)ªNÐ+;Ð<Ó=ˆô �H‰H’l¢L²-Ð@ÓAˆä˜A˜q¨Ô*ˆÜ�Q—W‘W˜iÔ(Ü—=‘= Ó#ˆÜ!¤)¨A¨a©D¯J©J«LÓ"9¸1¿3¹3Ó?ˆ’�A’q�ÑÜ!¤)¨A¨a©D¯J©J«LÓ"9¸1¿3¹3Ó?ˆ’�A’q�ÑÜ˜˜8Ô$ä˜A˜q¨°2Ô6ˆÜ�Q—W‘W˜iÔ(ÜœŸ™ A r¨1Ó-¨xÔ8ô œBŸK™K¨¨1¨aÓ0°!·#±#¸QÔ?ˆÜ�Q—W‘W˜iÔ(Ü˜˜8Õ$r=   c                 ón   — g d¢}g d¢}t        ||«      }t        t        |«      |«      }t        ||«       y rv  )r   r   r   r   rw  s        r;   r�   z-TestSolveCirculant.test_native_list_arguments
  s2   € âˆÚˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr=   Údt_cr’   c                 óÖ  — t        j                  g |¬«      }t        j                  g |¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      t        j                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  |j                  k(  sJ ‚y )Nr”   r•   rX   r‡   )r2   r   r   r–   rŒ   r   r˜   r™   )r_   rŽ  r’   r”  rh   ri   Úx1s          r;   r›   zTestSolveCirculant.test_empty
  sÇ   € ô �H‰H�R˜tÔ$ˆÜ�H‰H�R˜tÔ$ˆÜ˜A˜qÓ!ˆØ�w‰w˜$ŠÐˆØ�w‰wœ/¬"¯)©)°A¸TÔ*BÜ*,¯'©'°!¸4Ô*@óBßBGÁ%òHð 	Hð Hô �H‰H�V 4Ô(ˆÜ˜Q Ó"ˆØ�x‰x˜6Ò!Ð!Ð!Ø�x‰x˜1Ÿ7™7Ò"Ð"Ñ"r=   N)rœ   r�   rž   rx  r}  r  rp   r‚  r<  rŒ  r�   rŸ   r    r¡   r¢   r£   r2   r
   r¤   r¥   r›   r¦   r=   r;   rt  rt  Ë	  s�   „ òòòòòò:ò%ò2ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ#ó Vó Vñ#r=   rt  c                   ó¶   — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  deeej"                  eej&                  g«      d	„ «       Zy
)ÚTestMatrix_Balancec                 ó.   — t        t        t        d«       y )NzSome string for fail)r€   r�   r    r‚  s    r;   Útest_string_argz"TestMatrix_Balance.test_string_arg0
  s   € ä”j¤.Ð2HÕIr=   c           	      óô   — t        t        t        t        j                  ddgdt        j
                  gg«      «       t        t        t        t        j                  ddgdt        j                  gg«      «       y )NrJ   rI   rX   )r€   r�   r    r2   r   r¦  rI  r‚  s    r;   Útest_infnan_argz"TestMatrix_Balance.test_infnan_arg4
  sT   € Ü”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5ô	7ä”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5õ	7r=   c           	      óÞ   — t        t        j                  ddgddgg«      «      \  }}t        t        j                  t        j
                  t        j                  |«      «      «      dg«       y )NrÒ  rJ   r   r  )r    r2   r   r   ÚdiffÚlog2rt   )r_   r  rJ  s      r;   Útest_scalingzTestMatrix_Balance.test_scaling:
  sN   € ÜœbŸh™h¨¨q¨	°D¸!°9Ð'=Ó>Ó?‰ˆˆ1ô 	œŸ™¤§¡¬¯©°«
Ó 3Ó4°q°cÕ:r=   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}t        t	        ||«      j                  |«      |«       y )N)rJ   r   r'  )rJ   rJ   r  )r:  g      Y@rJ   )r2   r   r    r   r   r   )r_   r#  ri   rJ  s       r;   Útest_scaling_orderz%TestMatrix_Balance.test_scaling_orderA
  s>   € Ü�H‰H’l¢L²-Ð@ÓAˆÜ˜aÓ ‰ˆˆ1Üœ˜a ›Ÿ™¨Ó*¨AÕ.r=   c                 ó   — t        t        j                  ddgddgg«      d¬«      \  }\  }}t        t        j                  t        j
                  |«      «      dg«       t        |t        j                  d«      «       y )NrÒ  rJ   r   ©Úseparater  rI   )r    r2   r   r   r˜  r™  r   r   )r_   r  rJ  Úzs       r;   Útest_separatez TestMatrix_Balance.test_separateF
  s^   € Ü"¤2§8¡8¨d°A¨Y¸¸q¸	Ð,BÓ#CØ,-ô/‰	ˆ‰6ˆAˆqä”R—W‘WœRŸW™W Q›ZÓ(¨1¨#Ô.Ü˜œ2Ÿ9™9 Q›<Õ(r=   c                 ó\  — t        t        j                  d«      t        j                  t        j                  d«      «      t        j                  d«      «      }t	        |d¬«      \  }\  }}t        |t        j                  |«      «       t        |t        j                  g d¢«      «       y )Nr°  ró  rJ   rž  )r   rJ   rG   r  rF   rX   rI   )r   r2   r˜   rP  r    r   Ú	ones_liker   )r_   r#  ri   rJ  r   s        r;   Útest_permutationz#TestMatrix_Balance.test_permutationL
  sn   € Ü”r—w‘w˜v“¬¯©´·±¸³Ó(@Ü—w‘w˜v“ó(ˆä" 1¨qÔ1‰	ˆ‰6ˆAˆqÜ˜œ2Ÿ<™<¨›?Ô+Ü˜œ2Ÿ8™8Ò$9Ó:Õ;r=   c           	      ó(  — t        j                  g d¢g d¢g d¢g d¢g d¢g«      t        j                  g d¢g d¢g d¢g d¢g«      t        j                  g d	¢g d
¢g d¢g d¢g«      f}|D ]¨  }t        |«      \  }}t        |d¬«      \  }\  }}t        j                  |«      }t        j                  |j
                  d   «      ||<   t        |t        j                  |«      |d d …f   «       t        t        ||«      j                  |«      |«       Œª y )N)rP   rP   rP   rP   ç�íµ ÷ÆÀ>)rP   rP   rP   rP   rP   )rW   rW   rP   rP   rP   )rP   rP   r¦  rP   rP   )r  rP   rP   rP   )rP   rw  rP   rP   )rB   rP   r  rP   )rP   rB   rP   rw  )rú  rP   rB   rP   )rw  rw  ç       €rB   )rú  r§  r§  rP   )rw  r§  rB   rw  rJ   rž  r   )
r2   r   r    rŠ  r   r–   r   rt   r   r   )r_   Úcasesr#  ri   rJ  rï  r#  Úips           r;   Útest_perm_and_scalingz(TestMatrix_Balance.test_perm_and_scalingS
  só   € ô —‘Ò5Ú/Ú/Ú/Ú5ð	7ó 8ô —‘Ò-Ú,Ú-Ú,ð.ó /ô
 —‘Ò,Ú.Ú.Ú.ð0ó 1ðˆó$ ˆAÜ! !Ó$‰DˆAˆqÜ& q°1Ô5‰IˆA‰v��1Ü—‘˜qÓ!ˆBÜ—I‘I˜aŸg™g a™jÓ)ˆBˆq‰EÜ˜AœrŸw™w q›z¨"ªa¨%Ñ0Ô1ÜœE ! Q›KŸO™O¨AÓ.°Õ2ñ r=   r:   c                 ó˜  — t        j                  d|¬«      }t        |«      \  }}|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        t        j                  d|¬«      «      \  }}|j
                  |j
                  k(  sJ ‚|j
                  |j
                  k(  sJ ‚t        |d¬«      \  }\  }}|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |d¬«      \  }\  }	}
|j
                  |j
                  k(  sJ ‚|j
                  |	j
                  k(  sJ ‚|j
                  |
j
                  k(  sJ ‚y )Nr‡   r”   r   rI   Trž  )r2   r™   r    rb  r—   rŒ   )r_   r:   r`   rh   r•  Úb_nÚt_nr)  ÚpermÚscale_nÚperm_ns              r;   r›   zTestMatrix_Balance.test_emptyo
  s"  € ä�H‰H�V 2Ô&ˆÜ˜aÓ ‰ˆˆ1à�v‰v˜Š{Ðˆ{Ø�v‰v˜Š{Ðˆ{ä!¤"§&¡&¨°"Ô"5Ó6‰ˆˆSØ�w‰w˜#Ÿ)™)Ò#Ð#Ð#Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#ä)¨!°dÔ;Ñˆ‰=ˆE�4Ø�v‰v˜Š{Ðˆ{Ø�z‰z˜QŠÐˆØ�y‰y˜AŠ~Ðˆ~ä!/°¸DÔ!AÑˆÑˆg�vØ�w‰w˜#Ÿ)™)Ò#Ð#Ð#Ø�{‰{˜gŸm™mÒ+Ð+Ð+Ø�z‰z˜VŸ\™\Ò)Ð)Ñ)r=   N)rœ   r�   rž   r(   r”  r–  rš  rœ  r¡  r¤  rª  rŸ   r    r¡   r¢   r£   r2   r
   r¤   r¥   r›   r¦   r=   r;   r’  r’  /
  sm   „ ØñJó ðJò7ò;ò/ò
)ò<ò3ð8 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ*ó Tñ*r=   r’  c                   óÊ  — e Zd ZdZd„ Zd„ Zej                  j                  de	j                  d   «      d„ «       Zej                  j                  de	j                  d   «      d„ «       Zej                  j                  d«      ej                  j                  d	e	j                  d   «      ej                  j                  d
e	j                  d   «      d„ «       «       «       Zy)Ú
TestDTypesz7Check backwards compatibility for dtypes vs scipy 1.16.c                 ó¬   — |dk(  rt        j                  dd¬«      S |dk(  rt        j                  ddgdd	ggd¬«      S t        j                  d|¬«      S )
NÚMrI   údatetime64[ms]r”   r�  r�  rŽ  ó   có   d)r2   r—   rÁ  ©r_   Útcodes     r;   Ú	get_arr2DzTestDTypes.get_arr2D‰
  sQ   € à�CŠ<Ü—6‘6˜!Ð#3Ô4Ð4Ø�cŠ\Ü—:‘:  d˜|¨d°D¨\Ð:À#ÔFÐFä—6‘6˜! 5Ô)Ð)r=   c                 ó¤   — |dk(  rt        j                  dd¬«      S |dk(  rt        j                  ddgd¬«      S t        j                  d|¬«      S )Nr´  rI   rµ  r”   r�  r�  rŽ  )r2   r˜   rÁ  r¸  s     r;   Ú	get_arr1DzTestDTypes.get_arr1D’
  sH   € à�CŠ<Ü—7‘7˜1Ð$4Ô5Ð5Ø�cŠ\Ü—:‘:˜t T˜l°#Ô6Ð6ä—7‘7˜1 EÔ*Ð*r=   r¹  rƒ  c                 ó¸   — | j                  |«      }|dv r.t        j                  t        «      5  t	        |«       d d d «       y t	        |«       y # 1 sw Y   y xY w)NÚSUVO)rº  rŸ   r   r�   r   )r_   r¹  r`   s      r;   ri  zTestDTypes.test_inv›
  sF   € ð �N‰N˜5Ó!ˆØ�F‰?ä—‘œzÕ*Ü�A”÷ +Ð*ô ��F÷	 +Ð*ús   ¯AÁAc                 ó"  — | j                  |«      }t        j                  «       dk(  }t        j                  dk(  }d}|s|s|dz  }||v r.t        j                  t        «      5  t        |«       d d d «       y t        |«       y # 1 sw Y   y xY w)NÚarm64ÚntÚSUVOmMr„  )	rº  ÚplatformÚmachineÚosÚnamerŸ   r   r’  r   )r_   r¹  r`   Úis_armÚ
is_windowsÚfailing_tcodess         r;   rl  zTestDTypes.test_det§
  sy   € à�N‰N˜5Ó!ˆä×!Ñ!Ó# wÑ.ˆÜ—W‘W ‘_ˆ
à!ˆÙ™*Ø˜dÑ"ˆNà�NÑ"ä—‘œyÕ)Ü�A”÷ *Ð)ô ��F÷	 *Ð)ús   Á$BÂBzignore:Casting complex valuesÚtcode_aÚtcode_bc                 ó´  — | j                  |«      }| j                  |«      }d}	 t        j                  ||«       |s/t        j                  t        «      5  t        ||«       d d d «       y |dv s|dv r/t        j                  t        «      5  t        ||«       d d d «       y t        ||«       y # t        $ r d}Y Œ‚w xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NTFr¾  ÚVO)	rº  r¼  r2   Úresult_typer’  rŸ   r   r   r�   )r_   rÊ  rË  r`   rh   Úcan_combines         r;   r\  zTestDTypes.test_solveº
  s¸   € ð �N‰N˜7Ó#ˆØ�N‰N˜7Ó#ˆàˆð	 Ü�N‰N˜7 GÔ,ñ ä—‘œyÕ)Ü�a˜”÷ *Ð)à˜Ñ '¨T¡/Ü—‘œzÕ*Ü�a˜”÷ +Ð*ô �!�Q�Køô ò 	 ØŠKð	 ú÷
 *Ð)ú÷ +Ð*ús)   ¦B1 ÁCÂCÂ1B?Â>B?ÃCÃCN)rœ   r�   rž   Ú__doc__rº  r¼  rŸ   r    r¡   r2   r¨  ri  rl  rä  r\  r¦   r=   r;   r²  r²  †
  sÔ   „ ÙAò*ò+ð ‡[�[×Ñ˜W b§l¡l°5Ñ&9Ó:ñ	ó ;ð	ð ‡[�[×Ñ˜W b§l¡l°5Ñ&9Ó:ñó ;ðð$ ‡[�[×ÑÐ ?Ó@Ø‡[�[×Ñ˜Y¨¯©°UÑ(;Ó<Ø‡[�[×Ñ˜Y¨¯©°UÑ(;Ó<ñó =ó =ó Añr=   r²  r•   )QrÅ  rÃ  ræ  râ  Únumpyr2   r   r   r   r   r   r   r	   r
   Únumpy.testingr   r   r   r   r   r   rŸ   r   r€   Úscipy.linalgr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Úscipy.linalg._testutilsr$   Úscipy._lib._testutilsr%   r&   Úscipy.linalg.blasr'   Úscipy.conftestr(   r4   r3   r¿  r¥   r6   r5   rË  ÚDTYPESr    r¡   r   r  r<   r?   r¨   rö   r  r  rl  r¯  r±  ró  r  r-  r/  rJ  rY  rt  r’  r²  r¦   r=   r;   Ú<module>rÙ     s  ðÛ 	Û Û Û ã ÷÷ ó ÷/÷ /ó Ý *÷=÷ =÷ =÷ =õ =õ
 8ß <Ý 'Ý .à�z‰z˜2Ÿ:™: r§}¡}Ð5€Ø—,‘, §¡¨r¯~©~Ð>€Ø	�~Ñ	%€ð #ŸK™K×3Ñ3Ø�m TÐ*¨]¸EÐ,BÀBÐGÚ!ð 4ó Ð ð %Ÿk™k×5Ñ5Ø˜ tÐ,¨}¸eÐ.DÀbÐIÚ!ð 6ó Ð ò÷cVñ cV÷LIVñ IV÷X
n
0ñ n
0÷bOJñ OJ÷dT(ñ T(÷nTñ Tón÷j&ñ j&÷Z	R?ñ R?÷jH?ñ H?ðV ‡�×Ñ˜Ð"3Ó4Ø‡�×Ñ˜ 4¨ -Ó0ñ%ó 1ó 5ð%÷9"ñ 9"÷x7Bñ 7B÷t-ñ -÷<a#ñ a#÷HT*ñ T*÷nIò Ir=   