Ë
    âQ(h#4 ã                   ó6  — d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZmZmZ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 ej                  ejb                  ejd                  fZ3ejh                  ejj                  ejl                  fZ7e3e7z   Z8d
„ Z9 G d„ d«      Z: G d„ d«      Z; G d„ d«      Z< G d„ d«      Z= G d„ d«      Z> G d„ d«      Z?d,d„Z@ G d„ d«      ZA G d„ d«      ZB G d„ d«      ZCejˆ                  j‹                  dd«      ejˆ                  j‹                  d eef«      d!„ «       «       ZF G d"„ d#«      ZG G d$„ d%«      ZH G d&„ d'«      ZI G d(„ d)«      ZJ G d*„ d+«      ZKy)-é    N)ÚarangeÚarrayÚdotÚzerosÚidentityÚ	conjugateÚ	transposeÚfloat32)Úrandom)Úassert_equalÚassert_almost_equalÚassert_Úassert_array_almost_equalÚassert_allcloseÚassert_array_equalÚsuppress_warnings)Ú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_ILP64c                 óÒ   — | }|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     ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_basic.pyÚ	_eps_castr5      sE   € à	€BØ	ŒR�]‰]ÒÜ�Z‰Z‰Ø	Œr�~‰~Ò	Ü�]‰]ˆÜ�8‰8�B‹<×ÑÐó    c            
       óT  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  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   ©é   é   r<   rB   ©r   éÿÿÿÿé   é   ©ç        r<   r@   rB   ©rC   r?   r<   rG   ©r>   rC   rF   r   ©rB   rE   r   r   ©rB   rC   ©ç      $@rI   ç       @g      ,@rE   rC   rB   r>   r?   é   ©rC   r   r   r   ©r   r   r   rC   ©r   rC   r   r   ©r   Úreshaper   r   r   ©ÚselfÚaÚabÚlÚuÚb4Úb4by1Úb4by2Úb4by4ÚbÚxs              r4   Ú	test_realzTestSolveBanded.test_real(   sà   € Ü’?Ú!Ú Ú!ð#ó $ˆô ’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ)Ó*ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú#Ú#Ú#ð%ó &ˆð �e˜U EÐ*ò 	4ˆAÜ˜a ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )Nr:   r=   )ù               @rC   r<   re   rD   ©rI   r<   r@   re   rJ   rK   )re   rE   r   r   rM   ©rO   rI   rP   y              ,@rE   rC   rB   r>   r?   rQ   rR   )r   r   r   ù              ð?rT   rU   rW   s              r4   Útest_complexzTestSolveBanded.test_complex@   sá   € Ü’?Ú!Ú"Ú!ð#ó $ˆô Ò$Ú"Ú"Ú"ð$ó %ˆð ‰ˆˆ1ÜÒ*Ó+ˆØ—
‘
˜2˜qÓ!ˆÜ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðó  ˆô ’|Ú$Ú#Ú#ð%ó &ˆð �e˜U EÐ*ò 	4ˆAÜ˜a ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )NrH   rJ   rK   r   rC   rB   rE   rN   r>   r?   rQ   rR   rS   rT   ©rC   rC   ©r   r+   ÚdiagrV   r   r   r   ©	rX   rZ   rY   r]   r^   r_   r`   ra   rb   s	            r4   Útest_tridiag_realz!TestSolveBanded.test_tridiag_realX   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Ð*ò 	4ˆAÜ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )Nrf   rJ   rK   r   rC   rB   rE   rg   r>   r?   rQ   rR   rS   rT   rk   rl   rn   s	            r4   Útest_tridiag_complexz$TestSolveBanded.test_tridiag_complexl   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Ð*ò 	4ˆAÜ˜V R¨Ó+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )Nr:   r=   rA   rD   rH   rJ   rK   rL   rM   rN   F©Úcheck_finite)r   r   r   r   )rX   rY   rZ   r[   r\   r]   rb   s          r4   Útest_check_finitez!TestSolveBanded.test_check_finite€   sr   € Ü’?Ú!Ú Ú!ð#ó $ˆô ’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ)Ó*ˆÜ˜!˜Q˜  R°eÔ<ˆÜ!¤# a¨£)¨RÕ0r6   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 )NrH   rJ   rK   rL   rM   )r;   rP   ç      @ç      @rE   r?   r;   rP   rk   )r   rV   Úassert_raisesÚ
ValueErrorr   )rX   rZ   r[   r\   Úbads        r4   Ú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ÕGr6   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©r;   rP   rw   )ç      à?r;   g      ø?©r   r   rB   çVçž¯Ò<©Úrtolrk   r   Úf8)r   r   r   r   Údtyper+   r   )rX   ra   Úrefrb   s       r4   Ú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šÐ/Õ0r6   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 )Nr:   r=   rA   rD   rH   rJ   rK   rL   rM   rN   )r   r   r   )rX   rY   rZ   r[   r\   ra   rb   s          r4   Útest_native_list_argumentsz*TestSolveBanded.test_native_list_arguments¬   s\   € ÚÚÚÚðˆò ÚÚÚðˆð ‰ˆˆ1Ú"ˆÜ˜!˜Q˜  QÓ'ˆÜ!¤# a¨£)¨QÕ/r6   Ú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   rC   )	r+   r   r   Úshaper…   r   ÚeyeÚonesÚempty©rX   rŠ   r‹   rZ   ra   rb   s         r4   Ú
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ÑUr6   N)Ú__name__Ú
__module__Ú__qualname__rc   ri   ro   rq   ru   r|   r‡   r‰   ÚpytestÚmarkÚthread_unsafeÚparametrizeÚintÚfloatr+   r
   ÚcomplexÚ	complex64r”   © r6   r4   r8   r8   &   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r6   r8   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©rI   rI   rP   rP   ©é�ÿÿÿr;   r;   r;   ©rx   rx   rx   rx   ©r;   rx   r;   rP   ©rI   r;   rI   rI   ©r   r   r   ©rX   rZ   ra   rb   s       r4   Útest_01_upperzTestSolveHBanded.test_01_upperÏ   s@   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r6   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;   ç      @rx   rP   rI   r«   ©rX   rZ   ra   rb   Úexpecteds        r4   Útest_02_upperzTestSolveHBanded.test_02_upperÝ   sŒ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   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©   rE   rC   rª   ©r   rV   r   r   r¬   s       r4   Útest_03_upperzTestSolveHBanded.test_03_upperò   s_   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'×/Ñ/°°AÓ6ˆÜ˜"˜aÓ ˆÜ! !¤UÒ+;Ó%<×%DÑ%DÀRÈÓ%KÕLr6   c                 ó~   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )Nr¨   ©r;   r;   r;   r§   ©rP   rP   rI   rI   r©   T©Úlowerrª   r«   r¬   s       r4   Útest_01_lowerzTestSolveHBanded.test_01_lower   sB   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜a tÔ,ˆÜ! !Ò%9Õ:r6   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¸   r;   r¯   rx   rP   Tr¹   rI   r«   r°   s        r4   Útest_02_lowerzTestSolveHBanded.test_02_lower  sŽ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   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       r4   Útest_01_float32z TestSolveHBanded.test_01_float32#  sE   € ô Ò(Ú(Ú(ð*ä18ô:ˆô Ò&¬gÔ6ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r6   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�   r;   r¯   rx   rP   rI   r¿   r°   s        r4   Útest_02_float32z TestSolveHBanded.test_02_float321  s”   € ô Ò(Ú(Ú(ð*ä18ô:ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðô '.ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   c                 óz   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )Nr¥   ©r§   ù       €      ð¿rÅ   rÅ   r¨   )ù       @      ð¿ù      @      ð¿ù      @      ð?ù       @      ð?)rI   r;   r;   rI   r«   r¬   s       r4   Útest_01_complexz TestSolveHBanded.test_01_complexF  s@   € ô Ò(Ú.Ú(ð*ó +ˆô Ò.Ó/ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r6   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É   rh   rI   r;   r«   r°   s        r4   Útest_02_complexz TestSolveHBanded.test_02_complexT  sŒ   € ô Ò(Ú.Ú(ð*ó +ˆô �D˜$�<Ø˜E�?Ø˜D�>Ø˜"�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r§   r;   r;   ©rx   rx   rx   ©r;   rx   r;   ©rI   r;   rI   r«   r¬   s       r4   Útest_tridiag_01_upperz&TestSolveHBanded.test_tridiag_01_upperi  s3   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r6   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;   rx   rP   rI   r«   r°   s        r4   Útest_tridiag_02_upperz&TestSolveHBanded.test_tridiag_02_uppert  sx   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   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Ò   rE   rC   rÓ   r´   r¬   s       r4   Útest_tridiag_03_upperz&TestSolveHBanded.test_tridiag_03_upper…  sR   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"×*Ñ*¨2¨qÓ1ˆÜ˜"˜aÓ ˆÜ! !¤Uª?Ó%;×%CÑ%CÀBÈÓ%JÕKr6   c                 óx   — t        g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )NrÑ   ©r;   r;   r§   rÒ   Tr¹   rÓ   r«   r¬   s       r4   Útest_tridiag_01_lowerz&TestSolveHBanded.test_tridiag_01_lower�  s:   € ô ’OÚ#ð%ó &ˆä’/Ó"ˆÜ˜"˜a tÔ,ˆÜ! !¢_Õ5r6   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Ú   r;   rx   rP   Tr¹   rI   r«   r°   s        r4   Útest_tridiag_02_lowerz&TestSolveHBanded.test_tridiag_02_lowerœ  sz   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   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       r4   Útest_tridiag_01_float32z(TestSolveHBanded.test_tridiag_01_float32­  s7   € ô ’O¢_Ð5¼WÔEˆÜ’/¬Ô1ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r6   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�   r;   rx   rP   rI   r¿   r°   s        r4   Útest_tridiag_02_float32z(TestSolveHBanded.test_tridiag_02_float32¸  s~   € ô ’OÚ#ð%Ü,3ô5ˆä�C˜�:Ø˜�:Ø˜�:ðä&-ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r§   rÅ   rÅ   rÑ   )rÅ   rÇ   rÈ   )rI   r;   r;   r«   r¬   s       r4   Útest_tridiag_01_complexz(TestSolveHBanded.test_tridiag_01_complexÉ  s5   € ô Ò'ªÐ9Ó:ˆÜÒ'Ó(ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r6   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È   rx   rI   rh   r;   r«   r°   s        r4   Útest_tridiag_02_complexz(TestSolveHBanded.test_tridiag_02_complexÔ  sz   € ô Ò'Ú#ð%ó &ˆä�C˜�;Ø˜GÐ$Ø˜C�=ð"ó #ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r6   c                 óx   — t        g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )NrÐ   rÑ   rÒ   Frs   rÓ   r«   r¬   s       r4   ru   z"TestSolveHBanded.test_check_finiteå  s5   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜a¨eÔ4ˆÜ! !¢_Õ5r6   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Ñ   r;   rx   rP   )r   ry   rz   r   )rX   rZ   ra   s      r4   Útest_bad_shapesz TestSolveHBanded.test_bad_shapesð  sb   € Ü’OÚ#ð%ó &ˆä�C˜�:Ø˜�:ðó  ˆä”j¤-°°QÔ7Ü”j¤-°°c¸3°ZÔ@Ü”j¤-°°c°UÕ;r6   c                 ó–   — t        dggg d¢g«      }t        |g d¢g«       t        |j                  t	        j                  d«      «       y )NrC   ©rC   rB   rQ   r~   r„   )r   r   r   r…   r+   )rX   rb   s     r4   r‡   zTestSolveHBanded.test_1x1ù  s7   € Ü˜A˜3˜%¢) Ó-ˆÜ˜1šÐ/Ô0Ü�Q—W‘WœbŸh™h t›nÕ-r6   c                 óV   — g d¢g d¢g d¢g}g d¢}t        ||«      }t        |g d¢«       y r¤   )r   r   r¬   s       r4   r‰   z+TestSolveHBanded.test_native_list_argumentsþ  s0   € â"Ú"Ú"ð$ˆò !ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r6   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Ž   rC   r€   )	r+   r   r   r�   r…   r   r�   r‘   r’   r“   s         r4   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ÑUr6   N)#r•   r–   r—   r­   r²   rµ   r»   r½   rÀ   rÂ   rÊ   rÎ   rÔ   rÖ   rØ   rÛ   rÝ   rß   rá   rä   rç   ru   rê   r‡   r‰   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   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r6   r¢   c            
       ó~  — e Zd Zd„ Zej
                  j                  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j
                  j                  ej
                  j;                  dd«      d„ «       «       Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d „ Z$ej
                  jK                  d!¬"«      d#„ «       Z&ej
                  j                  ej
                  j;                  d$e'e(e)jT                  e+e)jX                  g«      ej
                  j;                  d%e'e(e)jT                  e+e)jX                  g«      d&„ «       «       «       Z-d'„ Z.ej
                  j;                  d(e)j^                  e)j`                  g«      ej
                  j;                  d)g d*¢«      ej
                  j;                  d+d,d-g«      ej
                  j;                  d.d/d0g«      ej
                  j;                  d1d/d0g«      ej
                  j;                  d2d/d0g«      d3„ «       «       «       «       «       «       Z1y4)5Ú	TestSolvec                 óB   — t         j                  j                  d«       y ©NéÒ  ©r+   r   Úseed©rX   s    r4   Úsetup_methodzTestSolve.setup_method  ó   € Ü
�	‰	�‰�tÕr6   c                 óÀ   — 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 )NrC   r;   r   ù                ç333333ó?©r   r   r   )rX   rY   Úx0ra   s       r4   Ú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Õ5r6   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 )NrC   r<   r>   r?   r   rB   rü   ©rX   rY   ra   rb   s       r4   Útest_simplezTestSolve.test_simple)  si   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð"Ø�a�&Ø�q�6˜C ˜8Ð$ðò 	4ˆAô �a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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é   rB   re   r?   ÚDrh   r   rC   rú   )r   r   r   r   r   s       r4   Útest_simple_complexzTestSolve.test_simple_complex2  su   € Ü�A�q�6˜B ˜7Ð# SÓ)ˆØ�q�'Ø˜�8˜a ˜VÐ$Ø�b�'Ü˜˜A˜ Ó$ðò 	4ˆAô
 �a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )	NrB   rQ   r  ©r   rC   rC   r   Úpos©Úassume_arº   rü   ©rX   rY   rº   ra   rb   s        r4   Útest_simple_poszTestSolve.test_simple_pos<  sm   € Ø�ˆV�a˜�VÐˆØò 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fðò 8�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ	8ñ	8r6   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  rB   r?   rh   r   r  ©r
  rü   r   s       r4   Útest_simple_pos_complexbz"TestSolve.test_simple_pos_complexbE  s\   € Ø�ˆV�a˜�VÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðò 	4ˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ		4r6   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 )	NrB   rQ   éûÿÿÿr  rC   r   Úsymr	  rü   r  s        r4   Útest_simple_symzTestSolve.test_simple_symM  sm   € Ø�ˆV�a˜�WÐˆØò 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fðò 8�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ	8ñ	8r6   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  rB   éüÿÿÿrh   r   r  r  rü   r   s       r4   Útest_simple_sym_complexbz"TestSolve.test_simple_sym_complexbV  s\   € Ø�ˆV�a˜�WÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðò 	4ˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ		4r6   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  rh   r   rC   rB   r  r  rü   r   s       r4   Útest_simple_sym_complexz!TestSolve.test_simple_sym_complex^  óc   € Ø�ˆY˜˜r˜
Ð#ˆØ�q�'Ø�a�&Ø˜�8˜a ˜VÐ$ðò 	4ˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )
NrB   rQ   r  r  rC   r   rh   Úherr	  rü   r  s        r4   Útest_simple_her_actuallysymz%TestSolve.test_simple_her_actuallysymg  st   € Ø�ˆV�a˜�WÐˆØò 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fØ˜1�gðò 8�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ8ñ	8r6   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  rh   r   rC   rB   r  r  rü   r   s       r4   Útest_simple_herzTestSolve.test_simple_herq  r  r6   c                 ó  — d}t        ||g«      t        ||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 )NrB   rh   r  rú   r   )r   r   r   r   r   r   r   )rX   ÚnÚAÚXÚAinvÚRÚiÚrs           r4   Útest_nils_20Feb04zTestSolve.test_nils_20Feb04z  s–   € ØˆÜ�A�q�6‹Nœ6 1 a &›>¨"Ñ,Ñ,ˆÜ�1�a�&˜#ÓˆÜ�1‹vˆÜ�Q‹Kœ › B™Ñ&ˆÜ˜˜1“ò 	"ˆAØ’!�Q�$‘ˆAÜ˜A˜q“kˆAŠa�ˆdŠGð	"ô 	" ! TÕ*r6   c                 óä   — d}t        ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]1  }t        |dg«      }t        ||«      }t        t	        ||«      |«       Œ3 y )Nr<   çš™™™™™¹?r?   rQ   ©r   Úranger   r   r   ©rX   r   rY   r%  ra   rb   s         r4   Útest_randomzTestSolve.test_random…  s   € àˆÜ�A�q�6‹NˆÜ�q“ò 	&ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð	&ä�q“ò 	4ˆAÜ˜˜1�v“ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   c                 ó  — d}t        ||g«      dt        ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]1  }t        |dg«      }t        ||«      }t        t	        ||«      |«       Œ3 y )Nr<   rh   r)  rB   rQ   r*  r,  s         r4   Útest_random_complexzTestSolve.test_random_complex�  s‘   € ØˆÜ�A�q�6‹N˜R¤&¨!¨Q¨£.Ñ0Ñ0ˆÜ�q“ò 	&ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð	&ä�q“ò 	4ˆAÜ˜˜1�v“ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   c                 ó0  — d}t        ||g«      }t        |«      D ]9  }t        dd|||f   z   z  «      |||f<   t        |«      D ]  }|||f   |||f<   Œ Œ; t        d«      D ]2  }t        |g«      }t        ||d¬«      }t	        t        ||«      |«       Œ4 y )Nr<   r)  r?   r  r  )r   r+  Úabsr   r   r   ©rX   r   rY   r%  Újra   rb   s          r4   Útest_random_symzTestSolve.test_random_symš  s¯   € ØˆÜ�A�q�6‹NˆÜ�q“ò 	"ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1“Xò "�Ø˜A˜q˜D™'��!�Q�$’ñ"ð	"ô �q“ò 	4ˆAÜ˜�s“ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   c                 óˆ  — d}t        ||g«      }|dt        ||g«      z  z   }t        |«      D ]B  }t        dd|||f   z   z  «      |||f<   t        |«      D ]  }t        |||f   «      |||f<   Œ ŒD t        |g«      dt        |g«      z  z   }t        d«      D ]&  }t	        ||d¬«      }t        t        ||«      |«       Œ( y )Nr<   rh   r)  re   rB   r  r  )r   r+  r1  r   r   r   r   r2  s          r4   Útest_random_sym_complexz!TestSolve.test_random_sym_complex¦  sÚ   € ØˆÜ�A�q�6‹NˆØ�”6˜1˜a˜&“>Ñ!Ñ!ˆÜ�q“ò 	-ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1“Xò -�Ü# A a¨ d¡GÓ,��!�Q�$’ñ-ð	-ô �A�3‹K˜œ6 1 #›;™Ñ&ˆÜ�q“ò 	4ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   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 )	NrC   r<   r>   r?   r   rB   Frs   rü   r   s       r4   ru   zTestSolve.test_check_finite³  si   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð" Q¨ FØ�q�6˜C ˜8Ð$ð&ò 	4ˆAä�a˜¨Ô/ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r6   c                 óŽ   — d}g d¢}t        ||«      }t        |j                  «       |«       t        |j                  dk(  d«       y )NrC   rì   ©rQ   z'Scalar_a_1D_b test returned wrong shape)r   r   Úravelr   r�   r   s       r4   Útest_scalar_a_and_1D_bz TestSolve.test_scalar_a_and_1D_bº  s:   € ØˆÚˆÜ�!�Q‹KˆÜ! !§'¡'£)¨QÔ/Ü�—‘˜4‘Ð!JÕKr6   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=
×À)r;   rE   rQ   r  )rQ   rB   r?   rC   )r+   r   r   r   ÚTr   s       r4   Ú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r6   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              @)r+   r   r   r   r   s       r4   Ú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>ó &?õ 	@r6   c                 ód  — 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        j                  ddgddgddgddgg«      }t        ||d¬«      }t        ||«       t        |j	                  «       j
                  |d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É   y       À      @y      @       Ày      @       Ày      ð¿       @y      ð¿      @ù      ð?      ð¿y      @      Àr  r  Tr	  )r+   r   r   r   Úconjr>  )rX   rY   ra   Úresrb   s        r4   Útest_hermitianzTestSolve.test_hermitianá  sÃ   € ä�H‰HÒBÚ9Ú/Ú&ð(ó )ˆô �H‰H�{ LÐ1Ø" LÐ1Ø# [Ð1Ø! =Ð1ð3ó 4ˆô �h‰h˜ ˜Ø ˜Ø ˜Ø ˜ð'ó (ˆô �!�Q Ô'ˆÜ! ! SÔ)ä�!—&‘&“(—*‘*˜a¨%°tÔ<ˆÜ! ! SÕ)r6   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 )	NrC   é
   rQ   é	   r  r  )ç      "@r=  r;   r  ©r+   r   rV   r   Útrilr‘   r   ©rX   r!  rb   s      r4   Útest_pos_and_symzTestSolve.test_pos_and_symõ  sw   € Ü�I‰I�a˜Ó×$Ñ$ Q¨Ó*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Õ3r6   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)	rC   r   r   r   r   r   rC   r   rC   )	rC   rC   rC   r   r   r   rC   r   rC   )	r   rC   rC   r   r   r   rC   r   rC   )	rC   r   rC   rC   rC   rC   r   r   r   )	rC   rC   rC   rC   rC   rC   rC   rC   rC   rJ  )r+   r   r   ry   r    r   ©rX   rY   ra   s      r4   Ú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Õ/r6   Ú	structure)	ÚdiagonalÚtridiagonalúlower triangularúupper triangularÚ	symmetricÚ	hermitianúpositive definiteÚgeneralNc                 ó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]Ú rI  r   é2   ©ÚsizezIll-conditioned matrix...©Úmatchr  )	r+   r   Údefault_rngÚlogspacerm   r˜   Úwarnsr$   r   )rX   rS  Úrngr   Údr!  ra   Úmessages           r4   Útest_ill_condition_warningz$TestSolve.test_ill_condition_warning	  s€   € ô �i‰i×#Ñ# LÓ1ˆØˆÜ�K‰K˜˜2˜qÓ!ˆÜ�G‰G�A‹JˆØ�J‰J˜AˆJÓˆØ-ˆÜ�\‰\œ-¨wÔ7ñ 	,Ü�!�Q Õ+÷	,÷ 	,ñ 	,ús   Á=BÂBc                 ó    — t        j                  d«      }t         j                  j                  ddd«      }t	        ||«      }t        ||«       y )NrB   rQ   r?   )r+   r�   r   Úrandr   r   r   s       r4   Útest_multiple_rhszTestSolve.test_multiple_rhs  s:   € Ü�F‰F�1‹IˆÜ�I‰I�N‰N˜1˜a Ó#ˆÜ�!�Q‹KˆÜ! ! QÕ'r6   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 )	NrJ  rQ   rC   T©Ú
transposed)rû   gš™™™™™É?rC   F)rJ  gš™™™™™Àg333333ó¿rL  rN  s      r4   Útest_transposed_keywordz!TestSolve.test_transposed_keyword  sy   € Ü�I‰I�a‹L× Ñ   AÓ&¨Ñ*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°tÔ<ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°uÔ=ˆÜ! !¢_Õ5r6   c                 ó¸   — t        j                  d«      j                  t        «      }t	        t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)NrQ   Trm  )r+   r�   Úastyperž   ry   ÚNotImplementedErrorr   ©rX   rY   s     r4   Útest_transposed_notimplementedz(TestSolve.test_transposed_notimplemented%  sD   € Ü�F‰F�1‹I×ÑœWÓ%ˆÜÔ.Ó/ñ 	)Ü�!�Q 4Õ(÷	)÷ 	)ñ 	)ús   ¸AÁAc                 ó4   — t        t        t        ddgd«       y )NrC   rB   ©ry   rz   r   rö   s    r4   Útest_nonsquare_azTestSolve.test_nonsquare_a*  s   € Ü”j¤%¨!¨Q¨°Õ3r6   c                 ó  — t        t        t        j                  d«      t        j                  d«      «      t        j                  d«      «       t        t        t        t        j                  d«      t        j                  d«      «       y )NrQ   r?   )r   r   r+   r�   r‘   ry   rz   rö   s    r4   Útest_size_mismatch_with_1D_bz&TestSolve.test_size_mismatch_with_1D_b-  sI   € Ü!¤%¬¯©¨q«	´2·7±7¸1³:Ó">ÄÇÁÈÃ
ÔKÜ”j¤%¬¯©°«´B·G±G¸A³JÕ?r6   c                 ó4   — t        t        t        ddd¬«       y )NrC   Úzxcvr  rv  rö   s    r4   Útest_assume_a_keywordzTestSolve.test_assume_a_keyword1  s   € Ü”j¤%¨¨A¸Ö?r6   z5Failure on OS X (gh-7500), crash on Windows (gh-8064)©Úreasonc                 ó*  — ddg}g d¢}t         j                  t         j                  t         j                  t         j                  g}t        j                  |||«      D �]2  \  }}}|t         j                  t         j                  fv }|dk(  r|sŒ2d|› d|› d|› �}t         j                  j                  ||«      j                  |«      }	t         j                  j                  |«      j                  |«      }
|r5|	dt         j                  j                  ||«      z  j                  |«      z   }	|d	k(  r|	|	j                  z   }	nj|dk(  r|	|	j                  j                  «       z   }	nG|d
k(  rB|	j                  «       j                  j                  |	«      dt        j                  |«      z  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        |	j                  |«      |
||z  ||z  |¬«       |d	k(  s�ŒÛ|t         j                  t         j                  fvs�Œÿt        |	|
|d¬«      }t        |	j                  |«      |
||z  ||z  |¬«       �Œ5 y )NrI  éd   )Úgenr  r  r  r  zFailed for size: z, assume_a: z,dtype: rh   r  r  r)  çê-�™—q=g�íµ ÷Æ°>)r�  r  r  r  ©Úatolrƒ   Úerr_msgT)r
  rn  )r+   r
   r-   rŸ   r/   Ú	itertoolsÚproductr   Úrandnrq  r>  rE  r   r�   r   r   )rX   ÚsizesÚ	assume_asÚdtypesr_  r
  r…   Ú
is_complexr…  rY   ra   Útolrb   s                r4   Ú'test_all_type_size_routine_combinationsz1TestSolve.test_all_type_size_routine_combinations4  s9  € ð �S�	ˆÚ0ˆ	Ü—*‘*œbŸj™j¬"¯,©,¼¿¹ÐFˆÜ%.×%6Ñ%6°u¸iØ7=ó&?ó )	1Ñ!ˆD�(˜Eà¤2§<¡<´·±Ð"?Ð?ˆJØ˜5Ò ©Øà*¨4¨&°¸X¸Jð G!Ø!& ð)ˆGô —	‘	—‘  dÓ+×2Ñ2°5Ó9ˆAÜ—	‘	—‘ Ó%×,Ñ,¨UÓ3ˆAÙØ˜œBŸI™IŸO™O¨D°$Ó7Ñ7×?Ñ?ÀÓFÑF�à˜5Ò Ø˜Ÿ™‘G‘Ø˜UÒ"Ø˜Ÿ™Ÿ™›
‘N‘Ø˜UÒ"Ø—F‘F“H—J‘J—N‘N 1Ó%¨¬B¯F©F°4«LÑ(8Ñ8�à ¤R§Z¡Z´·±Ð$?Ñ?‘%ÀTˆCàÐ0Ñ0ð œRŸZ™Z¬¯©Ð6Ñ6Ø˜2‘I�Cä�a˜ XÔ.ˆAÜ˜AŸE™E !›H aØ!$ t¡Ø!$ t¡Ø$+õ-ð
 ˜5Ô  U´2·<±<Ü35·=±=ð3Bó &Bä˜!˜Q¨¸dÔC�Ü §¡ a£¨!Ø%(¨4¡ZØ%(¨4¡ZØ(/÷1ñM)	1r6   Údt_ar‹   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   rB   )r+   r’   r   r_  r�   r‘   r…   ©rX   r�  r‹   rY   ra   rb   Údt_nonemptys          r4   r”   zTestSolve.test_emptye  sy   € ô �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˜+Ò%Ð%Ñ%r6   c                 ó²   — t        j                  d«      }g g g}t        ||«      }t        |j                  dk(  d«       t        |j
                  dk(  d«       y ©NrB   r   zReturned array is not empty)rB   r   z#Returned empty array shape is wrong)r+   r�   r   r   r_  r�   r   s       r4   Útest_empty_rhszTestSolve.test_empty_rhsq  sJ   € Ü�F‰F�1‹IˆØ�ˆHˆÜ�!�Q‹KˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr6   r…   r
  )rT  rU  ÚbandedrV  rW  rX  rY  r[  r  r  r�  Únrhsr    )r  rn  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
                  |
«      «      }
�n]|dk(  rt        j                  |
«      }
�nA|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«      }
nq|dv r|
|
j                  z   }
n]|dv r|
|
j                  «       j                  z   }
n;|dv r7|
|
j                  z   }
|
t        j
                  |
j                  d¬«      «      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!        |||¬«      |«       |st'        |
|«       t'        |	|«       y y # 1 sw Y   y xY w)Nl   ’q¨~Àu r—  r  r<   r^  rh   rT  rV  rW  rU  rE   rC   rB   >   r  rX  >   r  rY  >   r  rZ  ©Úaxisr!  )Úorderz#scipy.linalg.solve can currently...r`  )Úoverwrite_aÚoverwrite_brn  )rŸ  r   rn  r
  rm  )r+   r   rb  Ú
issubdtypeÚcomplexfloatingrm   rM  Útriur>  rE  ÚsumÚasfortranarrayÚcopyr˜   r   rr  r   Úlinalgr   r   )rX   r…   r
  r˜  rn  r™  rš  re  r   ra   r!  ÚA_copyÚb_copyrg  rF  r†   s                   r4   Útest_structure_detectionz"TestSolve.test_structure_detectionx  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‘ˆAØ”—‘˜Ÿ™ A˜›Ó'Ñ'ˆAáÜ×!Ñ! !Ó$ˆAà—‘˜c�Ó"ˆØ—‘“ˆä�=‰=˜¤× 2Ñ 2Ô3¹
Ø;ˆGÜ—‘Ô2¸'ÔBñ -Ü�a˜¨	¸yØ!+õ-÷-ð ä�A�q i¸YØ)°Hô>ˆô �i‰i�o‰o©*˜fŸhšh¸&À&ÓIˆÜ˜˜SÔ!ð �xÒÜœ˜v v¸*ÔEÀsÔKñ Ü˜˜FÔ#Ü˜˜FÕ#ð ÷%-ð ús   Ê5MÍMN)2r•   r–   r—   r÷   r˜   r™   rš   rþ   r  r  r  r  r  r  r  r  r  r'  r-  r/  r4  r6  ru   r;  r?  rB  rG  rO  rR  r›   rh  rk  ro  rt  rw  ry  r|  ÚskiprŽ  rœ   r�   r+   r
   rž   rŸ   r”   r–  r-   r/   rª  r    r6   r4   rð   rð     sd  „ òð ‡[�[×Ññ	6ó ð	6ò4ò4ò8ò4ò8ò4ò4ò8ò4ò	+ò	4ò4ò
4ò4ò4òLòAò@ò"*ò(4ò0ð ‡[�[×ÑØ‡[�[×Ñ˜[ðDóEñ,ó	Eó ð
,ò(ò6ò)ò
4ò@ò@ð ‡[�[×Ñð :Ðó ;ñ-1ó;ð-1ð^ ‡[�[×ÑØ‡[�[×Ñ˜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ñ;$r6   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.
        rC   r   rB   Tr¹   Fr   ©rº   Útransr;   ç      à¿N)r   r   r   r>  r   ©rX   r!  ra   Úsols       r4   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Ð'<Õ=r6   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
        rA  r   rh   rB   TrC   r°  y      à?      à¿y      Ð¿      Ð¿r   ù      ð?       @y       €      à¿y      à?      ð?y      Ð?      è¿y      è¿      Ð¿Fr²  N)r   r   r   r   r+   rm   r>  r³  s       r4   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¨°$¸°Ð'@ÕAr6   c                 óh   — t        ddgddgg«      }ddg}t        ||dd¬«      }t        |ddg«       y)r¯  rC   r   rB   TF)rº   rt   N)r   r   r   r³  s       r4   ru   z%TestSolveTriangular.test_check_finiteô  sB   € ô �A�q�6˜A˜q˜6Ð"Ó#ˆØ�ˆFˆÜ˜q !¨4¸eÔDˆÜ! #¨¨1 vÕ.r6   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 r‘  )r+   r’   r   r_  r�   r‘   r…   r’  s          r4   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˜+Ò%Ð%Ñ%r6   c                 ó²   — t        j                  d«      }g g g}t        ||«      }t        |j                  dk(  d«       t        |j
                  dk(  d«       y r•  )r+   r�   r   r   r_  r�   r   s       r4   r–  z"TestSolveTriangular.test_empty_rhs
  sK   € Ü�F‰F�1‹IˆØ�ˆHˆÜ˜Q Ó"ˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr6   N)r•   r–   r—   r  r  ru   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r–  r    r6   r4   r­  r­  À  s~   „ ò>ò*Bò:/ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ	&ó Vó Vð	&óJr6   r­  c                   ó¦   — e 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«      d„ «       Zy	)
ÚTestInvc                 óB   — t         j                  j                  d«       y rò   rô   rö   s    r4   r÷   zTestInv.setup_method  rø   r6   c                 óú   — 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 )NrC   rB   rQ   r?   rì   ©r?   r  r@   ©rF   é   rI  )r   r   r   r+   r�   ©rX   rY   Úa_invs      r4   r  zTestInv.test_simple  sb   € Ø�ˆV�a˜�VÐˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Ô;Úš	¢:Ð.ˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Õ;r6   c                 óÚ   — d}t        d«      D ][  }t        ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        |«      }t        t	        ||«      t        |«      «       Œ] y )Nr<   r?   r)  ©r+  r   r   r   r   r   ©rX   r   r%  rY   rÂ  s        r4   r-  zTestInv.test_random  sw   € ØˆÜ�q“ò 	3ˆAÜ˜˜1�v“ˆAÜ˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ	3r6   c                 ób   — ddgddgg}t        |«      }t        t        ||«      ddgddgg«       y )NrC   rB   rQ   ræ   r   ©r   r   r   rÁ  s      r4   r  zTestInv.test_simple_complex(  s:   € Ø�ˆV�a˜�WÐˆÜ�A“ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr6   c                 óü   — d}t        d«      D ]l  }t        ||g«      dt        ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        |«      }t        t	        ||«      t        |«      «       Œn y )Nr<   r?   re   r)  rÄ  rÅ  s        r4   r/  zTestInv.test_random_complex-  s‰   € ØˆÜ�q“ò 	3ˆAÜ˜˜1�v“˜r¤&¨!¨Q¨£.Ñ0Ñ0ˆAÜ˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ	3r6   c                 óf   — ddgddgg}t        |d¬«      }t        t        ||«      ddgddgg«       y )NrC   rB   rQ   r?   Frs   r   rÇ  rÁ  s      r4   ru   zTestInv.test_check_finite7  s=   € Ø�ˆV�a˜�VÐˆÜ�A EÔ*ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr6   r3   c                 óÜ   — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚y r‘  )r+   r’   r   r_  r…   r�   )rX   r3   rY   rÂ  s       r4   r”   zTestInv.test_empty<  sS   € ä�H‰H�V 2Ô&ˆÜ�A“ˆØ�z‰z˜QŠÐˆØ�{‰{œc¤"§&¡&¨°"Ô"5Ó6×<Ñ<Ò<Ð<Ñ<r6   N)r•   r–   r—   r÷   r  r-  r  r/  ru   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r»  r»    s[   „ òò<ò3òCò
3òCð
 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ=ó Tñ=r6   r»  c            	       ó¦  — e Zd 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                 óL   — t         j                  j                  d«      | _        y )Nl   ¯*ƒnê`/ )r+   r   rb  re  rö   s    r4   r÷   zTestDet.setup_methodE  s   € Ü—9‘9×(Ñ(Ð)9Ó:ˆ�r6   c                 ó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 )
NrC   rf  r;   Úfr�   rk   y      ð?      @r  )rC   )	r+   r   r   r…   ÚcharÚisscalarr�   r   rŸ   ©rX   rY   Údetas      r4   Útest_1x1_all_singleton_dimsz#TestDet.test_1x1_all_singleton_dimsH  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Õ$r6   c                 ó<  — | j                   j                  g d¢t        j                  ¬«      }t	        |«      }|j
                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |t        j                  |«      «       | 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)r?   r  rC   rC   r�   rf  ©r?   r  rh   r  )re  r   r+   r
   r   r…   rÐ  r�   r   ÚsqueezerŸ   rÒ  s      r4   Útest_1by1_stacked_input_outputz&TestDet.test_1by1_stacked_input_outputY  sÊ   € Ø�H‰H�O‰OšL´·
±
ˆOÓ;ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÔ,à�H‰H�O‰OšL´·
±
ˆOÓ;¼B¿L¹LÈÓ<MÑMˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÕ,r6   r�   rB   r<   )rQ   rB   r<   r<   c                 óœ  — | j                   j                  dd|¬«      }t        |«      t        j                  j                  |«      }}t        ||«       | j                   j                  dd|¬«      dz  }|| j                   j                  dd|¬«      z  }t        |«      t        j                  j                  |«      }}t        ||«       y )Nç      ð¿r;   r^  rh   r²  r   )re  Úuniformr   r+   r§  r   )rX   r�   rY   Úd1Úd2ra   Úd3Úd4s           r4   Ú#test_simple_det_shapes_real_complexz+TestDet.test_simple_det_shapes_real_complexf  s¥   € à�H‰H×Ñ˜S "¨5ÐÓ1ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÔà�H‰H×Ñ˜S "¨5ÐÓ1°"Ñ4ˆØ	ˆT�X‰X×Ñ˜d C¨eÐÓ4Ñ4ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÕr6   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)rC   rC   rC   rC   rC   rC   rC   rC   )rC   rE   rC   rE   rC   rE   rC   rE   )rC   rC   rE   rE   rC   rC   rE   rE   )rC   rE   rE   rC   rC   rE   rE   rC   )rC   rC   rC   rC   rE   rE   rE   rE   )rC   rE   rC   rE   rE   rC   rE   rC   )rC   rC   rE   rE   rE   rE   rC   rC   )rC   rE   rE   rC   rE   rC   rC   rE   g      °@é   r  rI   )rú   rú   ù              ð¿rD  )rú   rú   ù      ð?        rã  )rh   rA  rú   rú   )rä  rh   rú   rú   r�   y      @        )g       Àç      Àr;   rI   rI   rI   rI   rI   )r;   rI   rI   rI   rI   rI   rI   rI   )rI   g      ÀrI   g      Àr;   rI   rI   rI   )rI   r;   rI   rI   rI   rI   rI   rI   )rI   rI   rI   g      ÀrI   g      Àr;   rI   )rI   rI   rI   r;   rI   rI   rI   rI   )rI   rI   rI   rI   rI   g       ÀrI   g      "À)rI   rI   rI   rI   rI   r;   rI   rI   rh   rK  )r+   r   r   r   r   rV   rŸ   rs  s     r4   Útest_for_known_det_valuesz!TestDet.test_for_known_det_valuesq  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› Õ#r6   ÚtypÚAllNÚgGc                 óÌ   — d}| j                   j                  ||g«      j                  |«      }t        t	        |«      t
        j                  t
        j                  z  «      sJ ‚y )Nr?   )re  r   rq  Ú
isinstancer   r+   r-   r/   )rX   rç  r   rY   s       r4   Ú"test_sample_compatible_dtype_inputz*TestDet.test_sample_compatible_dtype_input–  sK   € ð ˆØ�H‰H�O‰O˜Q ˜FÓ#×*Ñ*¨3Ó/ˆÜœ#˜a›&¤2§:¡:´·±Ñ#=Ô?Ð?Ñ?r6   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Úobjectr`  rY   ra   rB   r�   ó   aó   bÚVr€  éÈ   zdatetime64[s]ztimedelta64[s])Úzipry   Ú	TypeErrorr   r+   r   )rX   ÚmsgÚcÚts       r4   Útest_incompatible_dtype_inputz%TestDet.test_incompatible_dtype_input�  s)  € à3ˆä˜Ò<Ó=ò 	7‰DˆAˆqÜœy°Ô4ñ 7Ü”B—H‘H˜s C˜j˜\¨!™^°1Ô5Ô6÷7ð 7ð	7ô œ9¨CÔ0ñ 	7Ü”—‘˜4 ˜,˜¨Ñ)°Ô5Ô6÷	7äœ9¨CÔ0ñ 	AÜ”—‘˜3 ˜*˜ a™¨Ô?Ô@÷	Aäœ9¨CÔ0ñ 	BÜ”—‘˜3 ˜*˜ a™Ð/?Ô@ÔA÷	Bð 	B÷7ñ 7ú÷	7ð 	7ú÷	Að 	Aú÷	Bð 	Bú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   r;   )r   r   r   ©rQ   r   r   ©r;   r;   r;   zLast 2 dimensionsr`  )r   r   rQ   zat least two-dimensional)r   r   r+   r’   r   ry   rz   rö   s    r4   Ú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ñ 	%Ü”—‘šÓ#Ô$÷	%äœ:Ð-GÔHñ 	Ü”—‘˜“Ô÷	äœ:Ð-@ÔAñ 	 Ü”—‘˜"˜“Ô÷	 äœ:Ð-@ÔAñ 	"Ü”—‘˜2˜$˜Ó Ô!÷	"ð 	"÷	%ð 	%ú÷	ð 	ú÷	 ð 	 ú÷	"ð 	"ús0   Â8!FÃ2FÄ* F%Å#!F1ÆFÆF"Æ%F.Æ1F:r3   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    rB   rý  r9  )rQ   rC   rC   )r+   r’   r   r�   r…   r�   r   )rX   r3   rY   rf  s       r4   Útest_empty_dtypezTestDet.test_empty_dtype¸  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ÑBr6   c                 ó  — t        j                  d«      j                  dd«      j                  t         j                  «      }|j                  «       }t        |d¬«      }t        |d«       ||k(  j                  «       rJ ‚y )NrJ  rQ   T©rŸ  rI   )	r+   r   rV   rq  r
   r¦  r   r   Úall)rX   rY   ÚacrÓ  s       r4   Útest_overwrite_azTestDet.test_overwrite_aÄ  sc   € ô
 �I‰I�a‹L× Ñ   AÓ&×-Ñ-¬b¯j©jÓ9ˆØ�V‰V‹XˆÜ�2 4Ô(ˆÜ˜˜bÔ!Ø˜‘G—=‘=”?Ð"Ð"�?r6   c                 ó’   — t        j                  g d¢g d¢g d¢g«      }|j                  d¬«       t        t	        |d¬«      d«       y )	N)rP   rI   r;   )ç      @rw   rÚ  rþ  F)ÚwriteTr  rO   )r+   r   Úsetflagsr   r   rs  s     r4   Útest_readonly_arrayzTestDet.test_readonly_arrayÏ  s6   € Ü�H‰H’l¢M²<Ð@ÓAˆØ	�
‰
˜ˆ
Ôäœ˜A¨4Ô0°#Õ6r6   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)NrC   rB   rQ   zarray must not containr`  )r+   Úinfry   rz   r   rs  s     r4   Útest_simple_check_finitez TestDet.test_simple_check_finiteÕ  s?   € Ø�ˆV�aœŸ™�[Ð!ˆÜœ:Ð-EÔFñ 	Ü�ŒF÷	÷ 	ñ 	ús	   ¨=½A)r•   r–   r—   r÷   rÔ  rØ  r˜   r™   r›   rà  ræ  r+   Ú	typecodesrì  rû  rÿ  rœ   r�   r
   rž   rŸ   r  r  r  r  )Ú.0rb   s   00r4   rÌ  rÌ  D  sù   „ ò;ò%ò"-ð ‡[�[×Ñ˜W¨¨1 v°°B¨xºÐ&HÓIñ ó Jð ò"$ðJ ‡[�[×Ñ˜U°·±¸UÑ0CÀCÀRÐ0H÷ %7¨1Ø()°©ò &'ó %7ó 8ñ@ó8ð@ò
Bò"ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ	Có Tð	Cò	#ò7óùó%7s   Á'CrÌ  c                 óz   — t        | «      }|rt        |«      }t        || «      }t        ||«      }t        ||«      S )N)r	   r   r   r   )rY   ra   ÚcmplxÚatÚa1Úb1s         r4   Údirect_lstsqr  Û  s9   € Ü	�1‹€BÙÜ�r‹]ˆÜ	ˆR�‹€BÜ	ˆR�‹€BÜ��R‹=Ðr6   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 )NrC   r<   r>   r?   r�   ©TF©)©rC   r   r  r  )rM   ©r>   r?   ©Úlapack_driverrŸ  r   r   rB   úexpected efficient rank 2, got râ  údriver: rƒ  )ÚREAL_DTYPESr+   r   r  Úlapack_driversr¦  r   r   r   r   r5   r…   )rX   r…   rY   r"  r™  Úbtr  ra   r  Úoutrb   r&  s               r4   Útest_simple_exactzTestLstsq.test_simple_exactç  s  € Ü ò 	LˆEÜ—‘˜1˜b˜' C¨ 8Ð,°EÔ:ˆAÜ!*×!9Ñ!9ò L�Ø!.ò L�Ið3ò L˜ð Ÿ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ñLñLñLñ	Lr6   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 )NrC   rB   r?   r  rQ   r�   rì   r  r!  r   r  r#  rœ  râ  r$  ©rƒ   r„  r…  )gã¶mÛ¶mÛ¿g›¶mÛ¶më?)r%  r+   r   r  r&  r¦  r   r¤  r   r   r   r1  r5   r…   )rX   r…   rY   ra   r"  r™  r  r  r(  rb   Ú	residualsr&  s               r4   Útest_simple_overdetzTestLstsq.test_simple_overdet   sŒ  € Ü ó 	HˆEÜ—‘˜1˜a˜& 1 a &¨1¨a¨&Ð1¸Ô?ˆAÜ—‘š¨%Ô0ˆAÜ!*×!9Ñ!9ó H�Ø!.ó H�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ò'HòHñ	Hr6   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¶  rB   r?   r  rQ   r�   )rC   rÌ   rQ   r  r!  r   r  rC   r#  rœ  râ  r$  r+  )yîu¯{ÝëÞ¿E(BŠÐ?yÓ½îu¯{í?(YÉJV²Ò?)ÚCOMPLEX_DTYPESr+   r   r  r&  r¦  r   r   r¤  rE  r   r   r1  r5   r…   )rX   r…   rY   ra   r"  r™  r  r  r(  rb   rF  r,  r&  s                r4   Útest_simple_overdet_complexz%TestLstsq.test_simple_overdet_complex  s›  € Ü#ó 	DˆEÜ—‘˜4 ˜) a¨ V¨a°¨VÐ4¸EÔBˆAÜ—‘š¨UÔ3ˆAÜ!*×!9Ñ!9ó D�Ø!.ó D�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ò+DòDñ	Dr6   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�   rC   rB   r  r!  r   r#  )gÌÆqÇq¬¿gÇqÇq¼?gdÇqÇÑ?râ  r$  r+  )r%  r+   r   r  r&  r¦  r   r   r   r5   r…   )rX   r…   rY   ra   r"  r™  r  r  r(  rb   r&  s              r4   Útest_simple_underdetzTestLstsq.test_simple_underdet>  sö   € Ü ò 	HˆEÜ—‘š)¢YÐ/°uÔ=ˆAÜ—‘˜!˜Q˜ uÔ-ˆAÜ!*×!9Ñ!9ò H�Ø!.ò H�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ñHñHñ	Hr6   r…   r   )r<   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�   r<   r)  r?   rQ   r!  r   rB   úexpected efficient rank ú, got iô  r$  r+  éè  )r+   r   ÚRandomStateÚasarrayr+  r¦  r   r   r
   r   r   r5   r…   ©rX   r…   r   r"  r™  re  rY   r%  ra   r  r  r(  rb   r&  s                 r4   Útest_random_exactzTestLstsq.test_random_exactT  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Ð"<÷	>ñ)	>r6   z$may segfault on Alpine, see gh-17630r}  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ó   rh   r�   r<   r)  rB   rQ   r!  r   r4  r5  i�  r$  r+  r6  )r+   r   r7  r8  r+  r¦  r   r   rŸ   r   r   r5   r…   r9  s                 r4   Útest_random_complex_exactz#TestLstsq.test_random_complex_exactx  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Ð"<÷	>ñ'	>r6   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ó   ©)r<   é   )rõ  rB   r  r�   r<   r)  r?   rQ   r!  r   rB   r4  r5  ©r  râ  r$  r+  )r+   r   r7  r%  r  r&  r8  r+  r¦  r   r   r   r  r5   r…   ©rX   re  r…   r   Úmr"  r™  rY   r%  ra   r  r  r(  rb   r&  s                  r4   Útest_random_overdetzTestLstsq.test_random_overdet�  s�  € Ü�i‰i×#Ñ# DÓ)ˆÜ ó 	NˆEØ.ó N‘��AÜ%.×%=Ñ%=ó N�MØ%2ó N˜	ÜŸJ™J s§z¡z°1°a°&Ó'9ÀÔG˜Ü!& q£ò ;˜AØ&(¨C°!°A°q°D±'©MÑ&:˜A˜a ˜dšGð;ä!& q£ò N˜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òNò	NòNòNñ	Nr6   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  rh   r�   r<   r)  rB   rQ   r!  r   r4  r5  rC   r@  râ  r$  r+  )r+   r   r7  r/  r  r&  r8  r+  r¦  r   r   r   r  r5   r…   rA  s                  r4   Útest_random_complex_overdetz%TestLstsq.test_random_complex_overdet¹  s©  € Ü�i‰i×#Ñ# DÓ)ˆÜ#ó 	JˆEØ.ó J‘��AÜ%.×%=Ñ%=ó J�MØ%2ó J˜	ÜŸ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£ò J˜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òJòJòJòJñ	Jr6   c           
      ó‚  — t        «       5 }|j                  t        d«       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)NzIinternal gelsd driver lwork query error,.*Falling back to 'gelss' driver.))rC   r<   r   r  r  r�   )r"  rt   rŸ  r   r   rB   r#  râ  r$  r+  )r   ÚfilterÚRuntimeWarningr+   r   r†  r‡  r%  r  r&  rq  r¦  r   r   r   r   r5   r…   )rX   Úsupr  r…   r'  r"  r™  rt   rY   ra   r  r  r(  rb   r&  s                  r4   ru   zTestLstsq.test_check_finite×  s7  € ÜÓ ð 	: Cà�J‰J”~ð9ô:÷	:ô �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   ‹D4Ä4D>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   rB   rŽ   ))r   r?   rK  )©r?   r   )r?   )rL  )r?   rB   rC   rŽ   r   rœ  rB   zexpected rank 0)	r+   r‘   r   r   r   r’   r§  r   r   )	rX   Úa_shapeÚb_shapera   rb   ÚresiduesÚrankÚsÚresidues_should_bes	            r4   r”   zTestLstsq.test_empty÷  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Õ+ñ	,r6   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‘  )r+   r’   r   r_  r�   r‘   r…   )
rX   r�  r‹   rY   ra   rb   rO  rP  rQ  r“  s
             r4   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˜+Ò%Ð%Ñ%r6   N)r•   r–   r—   r&  r)  r-  r0  r2  r˜   r™   r›   r%  r:  Úskipifr(   r/  r<  rC  rE  ru   r”   rœ   r�   r+   r
   rž   rŸ   r  r    r6   r4   r  r  ä  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ñ&r6   r  c                   ó¶   — e Zd 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                 óB   — t         j                  j                  d«       y rò   rô   rö   s    r4   r÷   zTestPinv.setup_method  rø   r6   c                 ó    — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        t	        ||«      t        j                  d«      «       y ©Nrì   r¾  r¿  r�   rQ   ©r   r�   r   r   r   r+   r�   ©rX   rY   Úa_pinvs      r4   Útest_simple_realzTestPinv.test_simple_real  s6   € Ü’9šiªÐ4¼EÔBˆÜ�a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r6   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�   rh   )rI  rÀ  rF   )r@   r  r?   )rQ   rB   rC   rQ   rZ  r[  s      r4   r  zTestPinv.test_simple_complex  s[   € Ü’Išyª*Ð5ÜôØ¤ª
²IºyÐ'IÜ-2ô"4ñ 4ñ4ˆô �a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r6   c                 óŽ   — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrì   r¾  ©rF   rÀ  rJ  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   ©rX   rY   r\  r±   s       r4   Útest_simple_singularzTestPinv.test_simple_singular!  sD   € Ü’9šiªÐ3¼5ÔAˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r6   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Ì¿re  rf  s       r4   Útest_simple_colszTestPinv.test_simple_cols)  sN   € Ü’9šiÐ(´Ô6ˆÜ�a“ˆÜ˜;¨
Ð3Ø&¨
Ð3Ø% {Ð3ð5ó 6ˆô 	" &¨(Õ3r6   c                 óˆ   — t        ddgddgddggt        ¬«      }t        |«      }t        g d¢g d	¢g«      }t        ||«       y )
NrC   rB   rQ   r?   r  r@   r�   )g·DpTUUõ¿gÚÁQUUÕ¿g“vWUUå?)g·DpTUUñ?gÚÁQUUÕ?g&í>®ªªÚ¿re  rf  s       r4   Útest_simple_rowszTestPinv.test_simple_rows1  sK   € Ü�A�q�6˜A˜q˜6 A q 6Ð*´%Ô8ˆÜ�a“ˆÜÒ@Ú?ðAó Bˆä! &¨(Õ3r6   c                 ó˜   — t        g d¢g d¢g d¢g«      }t        |d¬«      }t        t        ||«      t	        j
                  d«      «       y )Nrì   )r?   r  r¯   r¿  Frs   rQ   )r   r   r   r   r+   r�   r[  s      r4   ru   zTestPinv.test_check_finite8  s7   € Ü’9šjª*Ð5Ó6ˆÜ�a eÔ,ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r6   c                 óp   — g d¢g d¢g d¢g}t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrì   r¾  ra  rb  rc  rd  )r   r   r   rf  s       r4   Útest_native_list_argumentz"TestPinv.test_native_list_argument=  s=   € Úš	¢9Ð-ˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r6   c                 óÄ  — d}t        t        j                  j                  ||«      «      \  }}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 )Né   g     €A@rF   r  gü©ñÒMbP?r€   çñhãˆµøä>gš™™™™™©?rI   ©r„  rƒ   gü©ñÒMb@?©r„  g‚vIhÂ%,=g;ßO�—î@ç{®Gáz„?r‚   )r#   r+   r   rj  r   rV   r¦  r   r   r§  r   )rX   r   ÚqÚ_Úa_mrY   r„  rƒ   Úa_pÚadiff1Úadiff2s              r4   Útest_atol_rtolzTestPinv.test_atol_rtolE  s(  € Øˆä”"—)‘)—.‘.  AÓ&Ó'‰ˆˆ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ÖAr6   r3   c                 óÜ   — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚y r‘  )r+   r’   r   r_  r…   r�   ©rX   r3   rY   r\  s       r4   r”   zTestPinv.test_empty`  sU   € ä�H‰H�V 2Ô&ˆÜ�a“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r6   N)r•   r–   r—   r÷   r]  r  rg  ri  rk  ru   rn  r{  r˜   r™   r›   r�   r+   r
   rž   rŸ   r”   r    r6   r4   rV  rV    sg   „ òò=ò
=ò4ò4ò4ò=ò
4òBð6 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r6   rV  c                   óª   — e 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
)ÚTestPinvSymmetricc                 óB   — t         j                  j                  d«       y rò   rô   rö   s    r4   r÷   zTestPinvSymmetric.setup_methodj  rø   r6   c                 óô   — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |«      }t        t        j                  ||«      t        j                  d«      «       y rY  )r   r�   r+   r   r>  r   r   r�   r[  s      r4   r]  z"TestPinvSymmetric.test_simple_realm  sN   € Ü’9šiªÐ4¼EÔBˆÜ�F‰F�1�a—c‘c‹NˆÜ�q“ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r6   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¾  ra  r�   r   rE   )
r   r�   r+   r   r>  r§  Úsvdr   r   r   )rX   rY   r\   rQ  Úvtr\  Úa_pinvhs          r4   Útest_nonpositivez"TestPinvSymmetric.test_nonpositives  s}   € Ü’9šiªÐ3¼5ÔAˆÜ�F‰F�1�a—c‘c‹NˆÜ—9‘9—=‘= Ó#‰ˆˆ1ˆbØ	ˆ!‹�‰
‹Ü�F‰F�1�q‘5˜"ÓˆÜ�a“ˆÜ˜“(ˆÜ! &¨'Õ2r6   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�   r+   r   rE  r>  r   r   r�   r[  s      r4   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Õ?r6   c                 ó  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |j                  «       «      }t        t        j                  ||«      t        j                  d«      «       y rY  )	r   r�   r+   r   r>  r   Útolistr   r�   r[  s      r4   rn  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Õ?r6   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      }t        ||z  |z  |d¬«       t        ||z  |z  |d¬«       y )N)rC   rE   r   )rE   rB   rE   )r   rE   rC   r�   rs  )r+   r   r   r   )rX   rY   Úps      r4   Útest_zero_eigenvaluez&TestPinvSymmetric.test_zero_eigenvalue‹  sJ   € ô �H‰H’j¢+ªzÐ:Ó;ˆÜ�!‹HˆÜ˜˜A™ ™	 1¨5Õ1Ü˜˜A™ ™	 1¨5Ö1r6   c                 ó|  — d}t        t        j                  j                  ||«      «      \  }}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 )Nrp  )r?   rQ   rB   rC   çvk™Çó?g’ï­£Ãä>guŒñ‚œ°>r@   )r?   rQ   rB   rC   rŽ  rI   rI   rq  gü‹ 1“¨?rr  r)  r‚   r‚  g•dyáý¥=rs  ç-Cëâ6?)	r#   r+   r   rj  rm   r>  r   r   r   )rX   r   ru  rv  rY   rw  r„  rƒ   rx  ry  rz  s              r4   r{  z TestPinvSymmetric.test_atol_rtol“  s2  € Øˆä”"—)‘)—.‘.  AÓ&Ó'‰ˆˆ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°Ö5r6   r3   c                 óÜ   — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j                  d|¬«      «      j                  k(  sJ ‚y r‘  )r+   r’   r   r_  r…   r   r�   r}  s       r4   r”   zTestPinvSymmetric.test_empty®  sU   € ä�H‰H�V 2Ô&ˆÜ�q“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r6   N)r•   r–   r—   r÷   r]  r†  r  rn  rŒ  r{  r˜   r™   r›   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r  r  h  s_   „ òò@ò3ò@ò@ò2ò6ð6 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r6   r  Úscale)g#B’¡œÇ;r;   ç@Œµx¯DÚpinv_c                 ó¾   — t        j                  ddgddgg«      | z  }t        j                  dt        j                  |«      z  «      } ||«      }t        ||«       y )NrC   r   g»½×Ùß|Û=r;   )r+   r   rm   r   )r‘  r“  rb   r±   Úx_invs        r4   Útest_auto_rcondr–  ¶  sQ   € ô 	�‰�1�a�&˜1˜e˜*Ð%Ó&¨Ñ.€AÜ�w‰w�rœBŸG™G A›J‘Ó'€HÙ�!‹H€EÜ�E˜8Õ$r6   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�   r<   rG   r‚   rB   ÚComplex)rh   re   y              @)
r+   r  r   Úmaxr0   r1   Úrealr   r   Úsqrt)rX   r…   rb   r�  s       r4   Ú
test_typeszTestVectorNorms.test_typesÁ  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¬¯©°«¸#Ö>ñ		?r6   c                 óR   — t        dgt        ¬«      }t        t        |«      |«       y )Nr’  r�   )r   r
   r   r   rs  s     r4   Útest_overflowzTestVectorNorms.test_overflowÎ  s    € ô �4�&¤Ô(ˆÜœD ›G QÕ'r6   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ç     ˆÃ@rC   i'  r�   r   rt  rs  zO: Result should equal either 0.0 or 0.5 (depending on implementation of snrm2).rI   )r…  )r   r
   r   r   ÚAssertionErrorr   )rX   rY   rø  s      r4   Útest_stablezTestVectorNorms.test_stableÔ  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)rC   r   rQ   r   rB   rì   rQ   )r   r   rö   s    r4   Útest_zero_normzTestVectorNorms.test_zero_normá  s$   € Ü”Tš) QÓ'¨Ô+Ü”Tš) QÓ'¨Õ+r6   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 )
NrB   rC   rQ   r?   rf  rœ  ç5ýD+Ø@çÃ6ûf~@r  )r+   r   r   r   rs  s     r4   Ú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Õ;r6   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 )NrB   rC   rQ   r?   rf  T)r�  Úkeepdimsr©  rª  )rB   rC   rB   rw   g      @)r+   r   r   r   r   r�   rQ  s      r4   Útest_keepdims_kwdz!TestVectorNorms.test_keepdims_kwdê  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ÕNr6   z64-bit BLAS requiredr}  c                 ó¢   — t        d¬«       t        j                  dgt        j                  ¬«      }d|d<   t	        |«      }~t        |d«       y )NihB  )Úfree_mbl        r�   rC   rE   r;   )r'   r+   r   r-   r   r   )rX   rb   rF  s      r4   Útest_large_vectorz!TestVectorNorms.test_large_vectorñ  s?   € ä %Õ(Ü�H‰H�e�W¤B§J¡JÔ/ˆØˆˆ"‰Ü�1‹gˆØÜ˜˜SÕ!r6   N)r•   r–   r—   rŸ  r¡  r¥  r§  r«  r®  r˜   r™   rT  r)   r±  r    r6   r4   r˜  r˜  ¿  sN   „ ò?ò(òAò,ò<ò
Oð ‡[�[×Ñ˜I˜Ð.DÐÓEñ"ó Fñ"r6   r˜  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMatrixNormsc           
      óÈ  — t         j                  j                  d«       dD �]½  \  }}t         j                  t         j                  t         j
                  t         j                  t         j                  fD �]f  }dt         j                  j                  ||«      j                  |«      z  }t        j                  |j                  t         j                  «      rF|dt         j                  j                  ||«      z  z   j                  |«      }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#        ||«       Œ… �Œi �ŒÀ y )Nró   )rk   )rC   rQ   )rQ   rC   )r?   r?   rÖ  )r  r?   rI  y              $@ÚfrorC   rE   rB   éþÿÿÿ)Úord)r+   r   rõ   r
   r-   rŸ   r/   Úint64rˆ  rq  r¡  r…   r¢  r  r   r§  Úallcloser   )	rX   r   rB  rú  r!  Út_highrž  ÚactualÚdesireds	            r4   Útest_matrix_normsz!TestMatrixNorms.test_matrix_normsý  sO  € ä
�	‰	�‰�tÔØBó 	9‰DˆAˆqÜ—Z‘Z¤§¡¬R¯\©\¼2¿=¹=Ì"Ï(É(ÐRó 9�ØœŸ™Ÿ™¨¨AÓ.×5Ñ5°aÓ8Ñ8�Ü—=‘= §¡¬"×*<Ñ*<Ô=Ø˜S¤2§9¡9§?¡?°1°aÓ#8Ñ8Ñ8×@Ñ@ÀÓC�AÜŸ]™]‘FäŸZ™Z�FØ" E¨1¨b°!°R¼¿¹Ä"Ç&Á&ÀÐIò 9�EÜ! !¨Ô/�FÜ Ÿi™iŸn™n¨Q°E˜nÓ:�Gô Ÿ;™; v¨wÕ7Ü"$§)¡)§.¡.°·±¸&Ó1AÀu .Ó"M˜Ü'¨°Õ8ò9ò9ñ	9r6   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 )
NrB   rC   rQ   r?   rf  r  )r·  r�  r   r  )r+   r   r   r  Úswapaxesr   r   r�   )rX   rY   ra   rù  rf  s        r4   r«  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Ñ-Õ.Ñ-Õ.r6   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   rf  r�   rB   rQ   r?   r  r  T)r·  r�  r­  rC   r  )r+   r   rV   r   r  r   r   r�   )rX   rY   ra   rù  s       r4   r®  z!TestMatrixNorms.test_keepdims_kwd"  sf   € Ü�I‰I�c Ô%×-Ñ-¨a°°A°qÓ9ˆÜ�œŸ™ V°dÔ;ˆÜ�˜ °Ô6ˆÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r6   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€   rI   r   rœ  rŽ   T)r­  rk   )r   rQ   r9  )r+   r’   r   r   r   rs  s     r4   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@ÕAr6   N)r•   r–   r—   r½  r«  r®  r”   r    r6   r4   r³  r³  û  s   „ ò9ò(/ò"$ó	Br6   r³  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 ©N©rQ   rQ   r9  )r&   r   rö   s    r4   Ú
test_solvezTestOverwrite.test_solve6  ó   € ÜœE F¨D >Õ2r6   c                 ó(   — t        t        ddg«       y rÆ  )r&   r   rö   s    r4   Útest_solve_triangularz#TestOverwrite.test_solve_triangular9  s   € ÜÔ,¨v°t¨nÕ=r6   c                 ó"   — t        d„ ddg«       y )Nc                 ó   — t        d| |«      S )NrM   )r   )rZ   ra   s     r4   ú<lambda>z1TestOverwrite.test_solve_banded.<locals>.<lambda>=  s   € ¬,°v¸rÀ1Ó*E€ r6   )r?   r@   ©r@   r%   rö   s    r4   Útest_solve_bandedzTestOverwrite.test_solve_banded<  s   € ÜÑEØ# T˜Nõ	,r6   c                 ó(   — t        t        ddg«       y )N)rB   r@   rÏ  )r&   r   rö   s    r4   Útest_solveh_bandedz TestOverwrite.test_solveh_banded@  s   € ÜœM¨F°D¨>Õ:r6   c                 ó&   — t        t        dg«       y ©NrÇ  )r&   r   rö   s    r4   Útest_invzTestOverwrite.test_invC  ó   € ÜœC & Õ*r6   c                 ó&   — t        t        dg«       y rÔ  )r&   r   rö   s    r4   Útest_detzTestOverwrite.test_detF  rÖ  r6   c                 ó(   — t        t        ddg«       y )N)rQ   rB   r9  )r&   r   rö   s    r4   Ú
test_lstsqzTestOverwrite.test_lstsqI  rÉ  r6   c                 ó&   — t        t        dg«       y rÔ  )r&   r   rö   s    r4   Ú	test_pinvzTestOverwrite.test_pinvL  s   € ÜœD 6 (Õ+r6   c                 ó&   — t        t        dg«       y rÔ  )r&   r   rö   s    r4   Ú
test_pinvhzTestOverwrite.test_pinvhO  s   € ÜœE F 8Õ,r6   N)r•   r–   r—   rÈ  rË  rÐ  rÒ  rÕ  rØ  rÚ  rÜ  rÞ  r    r6   r4   rÄ  rÄ  5  s/   „ ò3ò>ò,ò;ò+ò+ò3ò,ó-r6   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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)rC   rB   rQ   r  )rC   rE   rC   r   )r+   r   r   r   r   r   ©rX   rù  ra   rb   Úys        r4   Útest_basic1zTestSolveCirculant.test_basic1U  sD   € Ü�H‰H’\Ó"ˆÜ�H‰H’]Ó#ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   c                 óÖ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )N©rC   rB   éýÿÿÿr  rp  r?   rQ   ©r+   r   r   rV   r   r   r   r   rã  s        r4   Útest_basic2zTestSolveCirculant.test_basic2\  sP   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! QÓ'ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   c                 óØ   — t        j                  g d¢«      }t        j                  d«      j                  ddd«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )Nrç  é   r?   rQ   rB   ré  rã  s        r4   Útest_basic3zTestSolveCirculant.test_basic3d  sR   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! Q¨Ó*ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   c                 óÜ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      dz   }t	        ||«      }t        t        |«      |«      }t        ||«       y )N)r¶  rè  ræ   r  rÀ  r?   rB   y              à?ré  rã  s        r4   ri   zTestSolveCirculant.test_complexl  sV   € ä�H‰HÒ&Ó'ˆÜ�I‰I�a‹L× Ñ   AÓ&¨Ñ-ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   c                 óà   — t         j                  j                  d«      }|j                  d«      }|j                  d«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )Ni1Ô  r]  )r+   r   r7  rˆ  r   r   r   r   )rX   re  rù  ra   rb   rä  s         r4   Útest_random_b_and_cz&TestSolveCirculant.test_random_b_and_ct  sV   € ä�i‰i×#Ñ# EÓ*ˆØ�I‰I�b‹MˆØ�I‰I�b‹MˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   c                 óô   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }t        t	        |«      |«      \  }}}}t        ||«       t        t        t        ||«       y )N©rC   rC   r   r   )rC   rB   rQ   r?   r   )Úsingular)r+   r   r   r   r   r   ry   r    )rX   rù  ra   rb   rä  rF  ÚrnkrQ  s           r4   Útest_singularz TestSolveCirculant.test_singular}  s\   € ä�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆÜ˜A˜q¨7Ô3ˆÜœy¨›|¨QÓ/‰ˆˆ3��QÜ˜˜1ÔÜ”k¤?°A°qÕ9r6   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)rE   g      @rQ   g      @)rC   r@   r@   g      @)r   r   rC   rC   rò  )rC   rE   r   r   rC   )Úbaxis)r?   rB   rQ   r   rE   )r÷  Úoutaxis)rB   rQ   r?   rB   )Úcaxis)r+   r   r   r   r�   Ú
empty_liker   r   r:  r>  r   Úmoveaxisr¿  )rX   rù  ra   rb   r±   s        r4   Ú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Õ$r6   c                 ón   — g d¢}g d¢}t        ||«      }t        t        |«      |«      }t        ||«       y râ  )r   r   r   r   rã  s        r4   r‰   z-TestSolveCirculant.test_native_list_argumentsŸ  s2   € âˆÚˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr6   Ú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Ž   rQ   r€   )r+   r   r   r�   r…   r   r‘   r’   )rX   rþ  r‹   rù  ra   rb   Úx1s          r4   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Ò"Ð"Ñ"r6   N)r•   r–   r—   rå  rê  rí  ri   rð  rõ  rü  r‰   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   rà  rà  S  s�   „ òòòòòò:ò%ò2ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ#ó Vó Vñ#r6   rà  c                   ó¬   — e 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«      d	„ «       Zy
)ÚTestMatrix_Balancec                 ó.   — t        t        t        d«       y )NzSome string for fail)ry   rz   r"   rö   s    r4   Útest_string_argz"TestMatrix_Balance.test_string_arg¹  s   € Ü”j¤.Ð2HÕIr6   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 )NrC   rB   rQ   )ry   rz   r"   r+   r   r  Únanrö   s    r4   Útest_infnan_argz"TestMatrix_Balance.test_infnan_arg¼  sT   € Ü”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5ô	7ä”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5õ	7r6   c           	      óÞ   — t        t        j                  ddgddgg«      «      \  }}t        t        j                  t        j
                  t        j                  |«      «      «      dg«       y )Nr6  rC   r   r  )r"   r+   r   r   ÚdiffÚlog2rm   )rX   rv  rä  s      r4   Útest_scalingzTestMatrix_Balance.test_scalingÂ  sN   € ÜœbŸh™h¨¨q¨	°D¸!°9Ð'=Ó>Ó?‰ˆˆ1ô 	œŸ™¤§¡¬¯©°«
Ó 3Ó4°q°cÕ:r6   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}t        t	        ||«      j                  |«      |«       y )N)rC   r   r�  )rC   rC   rt  )r£  g      Y@rC   )r+   r   r"   r   r   r   )rX   r!  rb   rä  s       r4   Útest_scaling_orderz%TestMatrix_Balance.test_scaling_orderÉ  s>   € Ü�H‰H’l¢L²-Ð@ÓAˆÜ˜aÓ ‰ˆˆ1Üœ˜a ›Ÿ™¨Ó*¨AÕ.r6   c                 ó   — t        t        j                  ddgddgg«      d¬«      \  }\  }}t        t        j                  t        j
                  |«      «      dg«       t        |t        j                  d«      «       y )Nr6  rC   r   ©Úseparater  rB   )r"   r+   r   r   r	  r
  r   r   )rX   rv  rä  Úzs       r4   Útest_separatez TestMatrix_Balance.test_separateÎ  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›<Õ(r6   c                 ó\  — t        t        j                  d«      t        j                  t        j                  d«      «      t        j                  d«      «      }t	        |d¬«      \  }\  }}t        |t        j                  |«      «       t        |t        j                  g d¢«      «       y )N)rB   rB   rÇ  rC   r  )r   rC   r@   r  r?   rQ   rB   )r!   r+   r‘   rM  r"   r   Ú	ones_liker   )rX   r!  rb   rä  r  s        r4   Útest_permutationz#TestMatrix_Balance.test_permutationÔ  sn   € Ü”r—w‘w˜v“¬¯©´·±¸³Ó(@Ü—w‘w˜v“ó(ˆä" 1¨qÔ1‰	ˆ‰6ˆAˆqÜ˜œ2Ÿ<™<¨›?Ô+Ü˜œ2Ÿ8™8Ò$9Ó:Õ;r6   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)rI   rI   rI   rI   ç�íµ ÷ÆÀ>)rI   rI   rI   rI   rI   )rP   rP   rI   rI   rI   )rI   rI   r  rI   rI   )r²  rI   rI   rI   )rI   rÚ  rI   rI   )r;   rI   r²  rI   )rI   r;   rI   rÚ  )rå  rI   r;   rI   )rÚ  rÚ  ç       €r;   )rå  r  r  rI   )rÚ  r  r;   rÚ  rC   r  r   )
r+   r   r"   rú  r   r�   r   rm   r   r   )rX   Úcasesr!  rb   rä  rQ  r‹  Úips           r4   Útest_perm_and_scalingz(TestMatrix_Balance.test_perm_and_scalingÛ  sø   € ô —‘Ò5Ú/Ú/Ú/Ú5ð	7ó 8ô —‘Ò-Ú,Ú-Ú,ð.ó /ô
 —‘Ò,Ú.Ú.Ú.ð0ó 1ðˆð$ ò 	3ˆ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ñ	3r6   r3   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   rB   Tr  )r+   r’   r"   r_  r�   r…   )rX   r3   rY   ra   rú  Úb_nÚt_nr‘  ÚpermÚscale_nÚperm_ns              r4   r”   zTestMatrix_Balance.test_empty÷  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Ÿ\™\Ò)Ð)Ñ)r6   N)r•   r–   r—   r  r  r  r  r  r  r  r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r  r  ·  s_   „ òJò7ò;ò/ò
)ò<ò3ð8 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ*ó Tñ*r6   r  rŽ   )Lr†  Únumpyr+   r   r   r   r   r   r   r	   r
   Únumpy.randomr   Únumpy.testingr   r   r   r   r   r   r   r˜   r   ry   Ú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)   r-   r,   r%  rŸ   r/   r.   r/  ÚDTYPESr5   r8   r¢   rð   r­  r»  rÌ  r  r  rV  r  r™   r›   r–  r˜  r³  rÄ  rà  r  r    r6   r4   ú<module>r*     s–  ðÛ ã ÷÷ ó å ÷B÷ Bñ Bó Ý *÷=÷ =÷ =÷ =õ =õ
 8ß <Ý 'à�z‰z˜2Ÿ:™: r§}¡}Ð5€Ø—,‘, §¡¨r¯~©~Ð>€Ø	�~Ñ	%€ò÷dVñ dV÷NIVñ IV÷X
d$ñ d$÷NOJñ OJ÷d/=ñ /=÷dTñ Tón÷j&ñ j&÷Z	T?ñ T?÷nK?ñ K?ð\ ‡�×Ñ˜Ð"3Ó4Ø‡�×Ñ˜ 4¨ -Ó0ñ%ó 1ó 5ð%÷9"ñ 9"÷x7Bñ 7B÷t-ñ -÷<a#ñ a#÷HT*ò T*r6   