Ë
    éì�iór ã                   ó€  — d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z, d dl-m.Z. d d	l/m0Z0 ej                  ejb                  ejd                  fZ3ejh                  ejj                  ejl                  fZ7e3e7z   Z8ejr                  ju                  d
ddiddii g«      Z;d„ Z< G d„ d«      Z= G d„ d«      Z> G d„ d«      Z? G d„ d«      Z@ G d„ d«      ZA G d„ d«      ZBd0d„ZC G d„ d«      ZD G d„ d«      ZE G d „ d!«      ZFejr                  ju                  d"d#«      ejr                  ju                  d$eef«      d%„ «       «       ZG G d&„ d'«      ZH G d(„ d)«      ZI G d*„ d+«      ZJ G d,„ d-«      ZK G d.„ d/«      ZLy)1é    N)ÚarangeÚarrayÚdotÚzerosÚidentityÚ	conjugateÚ	transposeÚfloat32)Úassert_equalÚassert_almost_equalÚassert_Úassert_array_almost_equalÚassert_allcloseÚassert_array_equal)Úraises)ÚsolveÚinvÚdetÚlstsqÚpinvÚpinvhÚnormÚsolve_bandedÚsolveh_bandedÚsolve_triangularÚsolve_circulantÚ	circulantÚLinAlgErrorÚ
block_diagÚmatrix_balanceÚqrÚLinAlgWarning©Úassert_no_overwrite)Úcheck_free_memoryÚIS_MUSL)Ú	HAS_ILP64)Úskip_xp_invalid_argÚoverwrite_kwÚoverwrite_aTFc                 óÒ   — | }|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/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/scipy/linalg/tests/test_basic.pyÚ	_eps_castr6   "   sE   € à	€BØ	ŒR�]‰]ÒÜ�Z‰Z‰Ø	Œr�~‰~Ò	Ü�]‰]ˆÜ�8‰8�B‹<×ÑÐó    c            	       ó"  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eeej"                  eej&                  g«      ej                  j                  d
eeej"                  eej&                  g«      d„ «       «       Zy)ÚTestSolveBandedc                 ód  — t        g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g«      }d	\  }}t        g d
¢«      }|j                  dd«      }t        ddgddgddgddgg«      }t        g d¢g d¢g d¢g d¢g«      }||||fD ]'  }	t        ||f||	«      }
t        t	        ||
«      |	«       Œ) y )N©ç      ð?é   r   r   ©éâÿÿÿé   é   r   ©é   é   r=   rC   ©r   éÿÿÿÿé   é   ©ç        r=   rA   rC   ©rD   r@   r=   rH   ©r?   rD   rG   r   ©rC   rF   r   r   ©rC   rD   ©ç      $@rJ   ç       @g      ,@rF   rD   rC   r?   r@   é   ©rD   r   r   r   ©r   r   r   rD   ©r   rD   r   r   ©r   Úreshaper   r   r   ©ÚselfÚaÚabÚlÚuÚb4Úb4by1Úb4by2Úb4by4ÚbÚxs              r5   Ú	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ñ	4r7   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>   )ù               @rD   r=   rf   rE   ©rJ   r=   rA   rf   rK   rL   )rf   rF   r   r   rN   ©rP   rJ   rQ   y              ,@rF   rD   rC   r?   r@   rR   rS   )r   r   r   ù              ð?rU   rV   rX   s              r5   Útest_complexzTestSolveBanded.test_complexF   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ñ	4r7   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 )NrI   rK   rL   r   rD   rC   rF   rO   r?   r@   rR   rS   rT   rU   ©rD   rD   ©r   r,   ÚdiagrW   r   r   r   ©	rY   r[   rZ   r^   r_   r`   ra   rb   rc   s	            r5   Útest_tridiag_realz!TestSolveBanded.test_tridiag_real^   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ñ	4r7   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 )Nrg   rK   rL   r   rD   rC   rF   rh   r?   r@   rR   rS   rT   rU   rl   rm   ro   s	            r5   Útest_tridiag_complexz$TestSolveBanded.test_tridiag_complexr   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ñ	4r7   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>   rB   rE   rI   rK   rL   rM   rN   rO   F©Úcheck_finite)r   r   r   r   )rY   rZ   r[   r\   r]   r^   rc   s          r5   Útest_check_finitez!TestSolveBanded.test_check_finite†   sr   € Ü’?Ú!Ú Ú!ð#ó $ˆô ’OÚ"Ú"Ú!ð#ó $ˆð ‰ˆˆ1ÜÒ)Ó*ˆÜ˜!˜Q˜  R°eÔ<ˆÜ!¤# a¨£)¨RÕ0r7   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 )NrI   rK   rL   rM   rN   )r<   rQ   ç      @ç      @rF   r@   r<   rQ   rl   )r   rW   Úassert_raisesÚ
ValueErrorr   )rY   r[   r\   r]   Úbads        r5   Ú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ÕGr7   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<   rQ   rx   )ç      à?r<   g      ø?©r   r   rC   çVçž¯Ò<©Úrtolrl   r   Úf8)r   r   r   r   Údtyper,   r   )rY   rb   Úrefrc   s       r5   Ú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šÐ/Õ0r7   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>   rB   rE   rI   rK   rL   rM   rN   rO   )r   r   r   )rY   rZ   r[   r\   r]   rb   rc   s          r5   Útest_native_list_argumentsz*TestSolveBanded.test_native_list_arguments²   s\   € ÚÚÚÚðˆò ÚÚÚðˆð ‰ˆˆ1Ú"ˆÜ˜!˜Q˜  QÓ'ˆÜ!¤# a¨£)¨QÕ/r7   Ú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   rD   )	r,   r   r   Úshaper†   r   ÚeyeÚonesÚempty©rY   r‹   rŒ   r[   rb   rc   s         r5   Ú
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ÑUr7   N)Ú__name__Ú
__module__Ú__qualname__rd   rj   rp   rr   rv   r}   rˆ   rŠ   ÚpytestÚmarkÚparametrizeÚintÚfloatr,   r
   ÚcomplexÚ	complex64r•   © r7   r5   r9   r9   ,   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r7   r9   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©rJ   rJ   rQ   rQ   ©é�ÿÿÿr<   r<   r<   ©ry   ry   ry   ry   ©r<   ry   r<   rQ   ©rJ   r<   rJ   rJ   ©r   r   r   ©rY   r[   rb   rc   s       r5   Útest_01_upperzTestSolveHBanded.test_01_upperÔ   s@   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r7   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<   ç      @ry   rQ   rJ   r«   ©rY   r[   rb   rc   Úexpecteds        r5   Útest_02_upperzTestSolveHBanded.test_02_upperâ   sŒ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   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©   rF   rD   rª   ©r   rW   r   r   r¬   s       r5   Útest_03_upperzTestSolveHBanded.test_03_upper÷   s_   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'×/Ñ/°°AÓ6ˆÜ˜"˜aÓ ˆÜ! !¤UÒ+;Ó%<×%DÑ%DÀRÈÓ%KÕLr7   c                 ó~   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )Nr¨   ©r<   r<   r<   r§   ©rQ   rQ   rJ   rJ   r©   T©Úlowerrª   r«   r¬   s       r5   Útest_01_lowerzTestSolveHBanded.test_01_lower  sB   € ô Ò(Ú(Ú(ð*ó +ˆô Ò&Ó'ˆÜ˜"˜a tÔ,ˆÜ! !Ò%9Õ:r7   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¯   ry   rQ   Tr¹   rJ   r«   r°   s        r5   Útest_02_lowerzTestSolveHBanded.test_02_lower  sŽ   € ô Ò(Ú(Ú(ð*ó +ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   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       r5   Útest_01_float32z TestSolveHBanded.test_01_float32(  sE   € ô Ò(Ú(Ú(ð*ä18ô:ˆô Ò&¬gÔ6ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r7   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¯   ry   rQ   rJ   r¿   r°   s        r5   Útest_02_float32z TestSolveHBanded.test_02_float326  s”   € ô Ò(Ú(Ú(ð*ä18ô:ˆô �C˜�:Ø˜�:Ø˜�:Ø˜�:ðô '.ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   c                 óz   — t        g d¢g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )Nr¥   ©r§   ù       €      ð¿rÅ   rÅ   r¨   )ù       @      ð¿ù      @      ð¿ù      @      ð?ù       @      ð?)rJ   r<   r<   rJ   r«   r¬   s       r5   Útest_01_complexz TestSolveHBanded.test_01_complexK  s@   € ô Ò(Ú.Ú(ð*ó +ˆô Ò.Ó/ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r7   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É   ri   rJ   r<   r«   r°   s        r5   Útest_02_complexz TestSolveHBanded.test_02_complexY  sŒ   € ô Ò(Ú.Ú(ð*ó +ˆô �D˜$�<Ø˜E�?Ø˜D�>Ø˜"�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r§   r<   r<   ©ry   ry   ry   ©r<   ry   r<   ©rJ   r<   rJ   r«   r¬   s       r5   Útest_tridiag_01_upperz&TestSolveHBanded.test_tridiag_01_uppern  s3   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r7   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<   ry   rQ   rJ   r«   r°   s        r5   Útest_tridiag_02_upperz&TestSolveHBanded.test_tridiag_02_uppery  sx   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   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Ò   rF   rD   rÓ   r´   r¬   s       r5   Útest_tridiag_03_upperz&TestSolveHBanded.test_tridiag_03_upperŠ  sR   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"×*Ñ*¨2¨qÓ1ˆÜ˜"˜aÓ ˆÜ! !¤Uª?Ó%;×%CÑ%CÀBÈÓ%JÕKr7   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       r5   Útest_tridiag_01_lowerz&TestSolveHBanded.test_tridiag_01_lower•  s:   € ô ’OÚ#ð%ó &ˆä’/Ó"ˆÜ˜"˜a tÔ,ˆÜ! !¢_Õ5r7   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<   ry   rQ   Tr¹   rJ   r«   r°   s        r5   Útest_tridiag_02_lowerz&TestSolveHBanded.test_tridiag_02_lower¡  sz   € ô ’OÚ#ð%ó &ˆä�C˜�:Ø˜�:Ø˜�:ðó  ˆô ˜"˜a tÔ,ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   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       r5   Útest_tridiag_01_float32z(TestSolveHBanded.test_tridiag_01_float32²  s7   € ô ’O¢_Ð5¼WÔEˆÜ’/¬Ô1ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r7   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<   ry   rQ   rJ   r¿   r°   s        r5   Útest_tridiag_02_float32z(TestSolveHBanded.test_tridiag_02_float32½  s~   € ô ’OÚ#ð%Ü,3ô5ˆä�C˜�:Ø˜�:Ø˜�:ðä&-ô/ˆô ˜"˜aÓ ˆÜ˜3 ˜*Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   c                 ót   — t        g d¢g d¢g«      }t        g d¢«      }t        ||«      }t        |g d¢«       y )N©r§   rÅ   rÅ   rÑ   )rÅ   rÇ   rÈ   )rJ   r<   r<   r«   r¬   s       r5   Útest_tridiag_01_complexz(TestSolveHBanded.test_tridiag_01_complexÎ  s5   € ô Ò'ªÐ9Ó:ˆÜÒ'Ó(ˆÜ˜"˜aÓ ˆÜ! !¢_Õ5r7   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È   ry   rJ   ri   r<   r«   r°   s        r5   Útest_tridiag_02_complexz(TestSolveHBanded.test_tridiag_02_complexÙ  sz   € ô Ò'Ú#ð%ó &ˆä�C˜�;Ø˜GÐ$Ø˜C�=ð"ó #ˆô ˜"˜aÓ ˆÜ˜3 ˜+Ø ˜*Ø ˜*ð&ó 'ˆô 	" ! XÕ.r7   c                 óx   — t        g d¢g d¢g«      }t        g d¢«      }t        ||d¬«      }t        |g d¢«       y )NrÐ   rÑ   rÒ   Frt   rÓ   r«   r¬   s       r5   rv   z"TestSolveHBanded.test_check_finiteê  s5   € ô ’O¢_Ð5Ó6ˆÜ’/Ó"ˆÜ˜"˜a¨eÔ4ˆÜ! !¢_Õ5r7   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<   ry   rQ   )r   rz   r{   r   )rY   r[   rb   s      r5   Útest_bad_shapesz TestSolveHBanded.test_bad_shapesõ  sb   € Ü’OÚ#ð%ó &ˆä�C˜�:Ø˜�:ðó  ˆä”j¤-°°QÔ7Ü”j¤-°°c¸3°ZÔ@Ü”j¤-°°c°UÕ;r7   c                 ó–   — t        dggg d¢g«      }t        |g d¢g«       t        |j                  t	        j                  d«      «       y )NrD   ©rD   rC   rR   r   r…   )r   r   r   r†   r,   )rY   rc   s     r5   rˆ   zTestSolveHBanded.test_1x1þ  s7   € Ü˜A˜3˜%¢) Ó-ˆÜ˜1šÐ/Ô0Ü�Q—W‘WœbŸh™h t›nÕ-r7   c                 óV   — g d¢g d¢g d¢g}g d¢}t        ||«      }t        |g d¢«       y r¤   )r   r   r¬   s       r5   rŠ   z+TestSolveHBanded.test_native_list_arguments  s0   € â"Ú"Ú"ð$ˆò !ˆÜ˜"˜aÓ ˆÜ! !Ò%9Õ:r7   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�   rD   r�   )	r,   r   r   r�   r†   r   r‘   r’   r“   r”   s         r5   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ÑUr7   N)#r–   r—   r˜   r­   r²   rµ   r»   r½   rÀ   rÂ   rÊ   rÎ   rÔ   rÖ   rØ   rÛ   rÝ   rß   rá   rä   rç   rv   rê   rˆ   rŠ   r™   rš   r›   rœ   r�   r,   r
   rž   rŸ   r•   r    r7   r5   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r7   r¢   c            
       ó’  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej.                  j1                  dddg«      d„ «       Zd„ Zd„ Zej.                  j1                  dd«      d„ «       Zej.                  j1                  dd«      d„ «       Zd„ Zd „ Zej.                  jA                  d!¬"«      d#„ «       Z!d$„ Z"d%„ Z#d&„ Z$ej.                  j1                  d'd(d)g«      ej.                  j1                  dg d*¢«      ej.                  j1                  d+e%jL                  e%jN                  e%jP                  e%jR                  g«      d,„ «       «       «       Z*ej.                  j1                  d-e+e,e%jL                  e-e%jP                  g«      ej.                  j1                  d.e+e,e%jL                  e-e%jP                  g«      d/„ «       «       Z.d0„ Z/ej.                  j1                  d+e%jN                  e%jR                  g«      ej.                  j1                  dg d1¢«      ej.                  j1                  d2d3d4g«      ej.                  j1                  d5d6d7g«      ej.                  j1                  d8d6d7g«      ej.                  j1                  d9d6d7g«      d:„ «       «       «       «       «       «       Z0ej.                  jc                  e%jd                  d;k  d<¬"«      ej.                  j1                  dg d=¢«      d>„ «       «       Z3d?„ Z4d@„ Z5e6dA„ «       Z7e6dB„ «       Z8e6dC„ «       Z9e6dD„ «       Z:e6dE„ «       Z;dF„ Z<dG„ Z=dH„ Z>yI)JÚ	TestSolvec                 óÀ   — ddgddgg}t        |ddg«      }t        t        ||«      ddg«       ddgddgg}ddg}t        ||«      }t        t        ||«      ddg«       y )NrD   r<   r   ù                ç333333ó?©r   r   r   )rY   rZ   Úx0rb   s       r5   Ú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Õ5r7   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 )NrD   r=   r?   r@   r   rC   rô   ©rY   rZ   rb   rc   s       r5   Ú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ñ	4r7   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é   rC   rf   r@   ÚDri   r   rD   rò   )r   r   r   r   rø   s       r5   Útest_simple_complexzTestSolve.test_simple_complex3  su   € Ü�A�q�6˜B ˜7Ð# SÓ)ˆØ�q�'Ø˜�8˜a ˜VÐ$Ø�b�'Ü˜˜A˜ Ó$ðò 	4ˆAô
 �a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r7   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 )	NrC   rR   rû   ©r   rD   rD   r   Úpos©Úassume_arº   rô   ©rY   rZ   rº   rb   rc   s        r5   Ú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ñ	8r7   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û   rC   r@   ri   r   r   ©r  rô   rø   s       r5   Útest_simple_pos_complexbz"TestSolve.test_simple_pos_complexbF  s\   € Ø�ˆV�a˜�VÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðò 	4ˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ		4r7   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 )	NrC   rR   éûÿÿÿrÿ   rD   r   Úsymr  rô   r  s        r5   Útest_simple_symzTestSolve.test_simple_symN  sm   € Ø�ˆV�a˜�WÐˆØò 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fðò 8�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ	8ñ	8r7   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û   rC   éüÿÿÿri   r   r
  r  rô   rø   s       r5   Útest_simple_sym_complexbz"TestSolve.test_simple_sym_complexbW  s\   € Ø�ˆV�a˜�WÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðò 	4ˆAô �a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ		4r7   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  ri   r   rD   rC   r
  r  rô   rø   s       r5   Ú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ñ	4r7   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 )
NrC   rR   r	  rÿ   rD   r   ri   Úherr  rô   r  s        r5   Útest_simple_her_actuallysymz%TestSolve.test_simple_her_actuallysymh  st   € Ø�ˆV�a˜�WÐˆØò 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fØ˜1�gðò 8�ô ˜!˜Q¨°eÔ<�Ü)¬#¨a°«)°QÕ7ñ8ñ	8r7   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  ri   r   rD   rC   r  r  rô   rø   s       r5   Útest_simple_herzTestSolve.test_simple_herr  r  r7   c                 ór  — t         j                  j                  d«      }d}|j                  ||g«      |j                  ||g«      dz  z   }t        ||fd«      }t	        |«      }t        |«      t        |«      dz  z   }t        d|«      D ]  }|d d …|f   }t        ||«      |d d …|f<   Œ  t        ||«       y )NéÒ  rC   ri   rü   rò   r   )	r,   ÚrandomÚdefault_rngr   r   r   r   r   r   )	rY   ÚrngÚnÚAÚXÚAinvÚRÚiÚrs	            r5   Útest_nils_20Feb04zTestSolve.test_nils_20Feb04{  s´   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ˜sŸz™z¨1¨a¨&Ó1°"Ñ4Ñ4ˆÜ�1�a�&˜#ÓˆÜ�1‹vˆÜ�Q‹Kœ › B™Ñ&ˆÜ˜˜1“ò 	"ˆAØ’!�Q�$‘ˆAÜ˜A˜q“kˆAŠa�ˆdŠGð	"ô 	" ! TÕ*r7   c                 ó:  — t         j                  j                  d«      }d}|j                  ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]7  }|j                  |dg«      }t	        ||«      }t        t        ||«      |«       Œ9 y )Nr  r=   çš™™™™™¹?r@   rR   ©r,   r  r  Úranger   r   r   ©rY   r  r  rZ   r!  rb   rc   s          r5   Útest_randomzTestSolve.test_random‡  s�   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆÜ�q“ò 	&ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð	&ä�q“ò 	4ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r7   c                 óh  — t         j                  j                  d«      }d}|j                  ||g«      d|j                  ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t        d«      D ]7  }|j                  |dg«      }t	        ||«      }t        t        ||«      |«       Œ9 y )Nr  r=   ri   r%  rC   rR   r&  r(  s          r5   Útest_random_complexzTestSolve.test_random_complex’  s´   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ  c§j¡j°!°Q°Ó&8Ñ!8Ñ8ˆÜ�q“ò 	&ˆAØ˜"˜Q˜q !˜t™W™*‘oˆAˆa�ˆdŠGð	&ä�q“ò 	4ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜“ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r7   c                 ó†  — t         j                  j                  d«      }d}|j                  ||g«      }t        |«      D ]9  }t	        dd|||f   z   z  «      |||f<   t        |«      D ]  }|||f   |||f<   Œ Œ; t        d«      D ]8  }|j                  |g«      }t        ||d¬«      }t        t        ||«      |«       Œ: y )Nr  r=   r%  r@   r   r  )r,   r  r  r'  Úabsr   r   r   ©rY   r  r  rZ   r!  Újrb   rc   s           r5   Útest_random_symzTestSolve.test_random_sym�  sÌ   € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆÜ�q“ò 	"ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1“Xò "�Ø˜A˜q˜D™'��!�Q�$’ñ"ð	"ô �q“ò 	4ˆAØ—
‘
˜A˜3“ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r7   c                 óö  — t         j                  j                  d«      }d}|j                  ||g«      }|d|j                  ||g«      z  z   }t        |«      D ]B  }t	        dd|||f   z   z  «      |||f<   t        |«      D ]  }t        |||f   «      |||f<   Œ ŒD |j                  |g«      d|j                  |g«      z  z   }t        d«      D ]&  }t        ||d¬«      }t        t        ||«      |«       Œ( y )	Nr  r=   ri   r%  rf   rC   r   r  )	r,   r  r  r'  r-  r   r   r   r   r.  s           r5   Útest_random_sym_complexz!TestSolve.test_random_sym_complexª  s  € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓˆØ��3—:‘:˜q !˜fÓ%Ñ%Ñ%ˆÜ�q“ò 	-ˆAÜ˜"˜b  1 a 4¡™j™/Ó*ˆAˆa�ˆd‰GÜ˜1“Xò -�Ü# A a¨ d¡GÓ,��!�Q�$’ñ-ð	-ð �J‰J˜�s‹O˜B˜sŸz™z¨1¨#›Ñ.Ñ.ˆÜ�q“ò 	4ˆAÜ�a˜ UÔ+ˆAÜ%¤c¨!¨Q£i°Õ3ñ	4r7   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 )	NrD   r=   r?   r@   r   rC   Frt   rô   rø   s       r5   rv   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ñ	4r7   c                 óŽ   — d}g d¢}t        ||«      }t        |j                  «       |«       t        |j                  dk(  d«       y )NrD   rì   ©rR   z'Scalar_a_1D_b test returned wrong shape)r   r   Úravelr   r�   rø   s       r5   Útest_scalar_a_and_1D_bz TestSolve.test_scalar_a_and_1D_b¿  s:   € ØˆÚˆÜ�!�Q‹KˆÜ! !§'¡'£)¨QÔ/Ü�—‘˜4‘Ð!JÕKr7   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<   rF   rR   r	  )rR   rC   r@   rD   )r,   r   r   r   ÚTrø   s       r5   Ú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r7   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       r5   Ú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>ó &?õ 	@r7   r  r  r
  c                 óî  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  ddgddgd	d
gddgg«      }|dk(  r|j                  n|j                  «       j                  }||z   }t        j                  |«      |t        j
                  d«      t        j
                  d«      f<   t        ||d¬«      }t        |||¬«      }t        ||«       t        |||d¬«      }t        ||«       y )N)gq=
×£pý¿y)\�Âõ(¼?)\�Âõ(¼¿y{®Gázü¿áz®Gáò¿yHáz®G@      ø¿)r   g…ëQ¸…Àyq=
×£pý¿¸…ëQ¸ž?y®Gáz®@áz®GáÊ?)r   r   g=
×£p½!ÀyHáz®Gù?ÍÌÌÌÌÌì¿)r   r   r   gÃõ(\�Âõ¿y×£p=
×@\�Âõ(\$Ày®Gáz®<@R¸…ëñCÀy)\�Âõ(#À
×£p=
@y
×£p=Ê8ÀÍÌÌÌÌÌ Ày¤p=
×£è¿ÍÌÌÌÌ0ÀyìQ¸…ë@áz®G�QÀy)\�Âõ(@ìQ¸…ë@yR¸…ë±AÀÃõ(\�2@r
  r@   Úgeneralr  Tr  )r,   r   r:  Úconjrn   r   r   r   )rY   r  rZ   rb   Úa2Úa3r‡   rc   s           r5   Útest_symmetric_hermitianz"TestSolve.test_symmetric_hermitianæ  sç   € ô �H‰HÒBÚ9Ú/Ú&ð(ó )ˆô �H‰H�{ LÐ1Ø" LÐ1Ø# [Ð1Ø! =Ð1ð3ó 4ˆð
  Ò%ˆQ�SŠS¨1¯6©6«8¯:©:ˆØ�‰VˆÜ)+¯©°«ˆŒ2�9‰9�Q‹<œŸ™ 1›Ð%Ñ&Ü�B˜ IÔ.ˆä�!�Q Ô*ˆÜ! ! SÔ)ô �"�a (°$Ô7ˆÜ! ! SÕ)r7   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 )	NrD   é
   rR   é	   r   r  )ç      "@r9  r<   r
  ©r,   r   rW   r   Útrilr’   r   ©rY   r  rc   s      r5   Útest_pos_and_symzTestSolve.test_pos_and_symþ  sw   € Ü�I‰I�a˜Ó×$Ñ$ Q¨Ó*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°UÔ;ˆÜ! !¢]Õ3r7   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)	rD   r   r   r   r   r   rD   r   rD   )	rD   rD   rD   r   r   r   rD   r   rD   )	r   rD   rD   r   r   r   rD   r   rD   )	rD   r   rD   rD   rD   rD   r   r   r   )	rD   rD   rD   rD   rD   rD   rD   rD   rD   rG  )r,   r   r   rz   r   r   ©rY   rZ   rb   s      r5   Ú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Õ/r7   Ú	structure)
ÚdiagonalÚtridiagonalúlower triangularúupper triangularÚ	symmetricÚ	hermitianúpositive definiter@  ÚbandedNc                 óB  — t         j                  j                  d«      }d}t        j                  dd|«      }t        j                  |«      }|j                  |¬«      }d}t        j                  t        |¬«      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)	Nl   ÌEj]Ú rF  r   é2   ©Úsizez2(Ill-conditioned matrix|An ill-conditioned matrix)©Úmatchr  )	r,   r  r  Úlogspacern   r™   Úwarnsr"   r   )rY   rP  r  r  Údr  rb   Úmessages           r5   Ú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ÓˆØFˆÜ�\‰\œ-¨wÔ7ñ 	,Ü�!�Q Õ+÷	,÷ 	,ñ 	,ús   Á=BÂB)	rQ  rR  rS  rT  rU  rV  rW  r@  Nc                 ó2  — d}t        j                  ||f«      }t        j                  |«      }t        j                  t
        d¬«      5  t        j                  d¬«      5  t        |||¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrF  Úsingularr]  Úignore)Úallr  )r,   r   r’   r™   r   r   Úerrstater   )rY   rP  r  r  rb   s        r5   Útest_exactly_singular_gh22263z'TestSolve.test_exactly_singular_gh22263   sw   € ð
 ˆÜ�H‰H�a˜�VÓˆÜ�G‰G�A‹JˆÜ�m‰mœK¨zÔ:ñ 	,¼B¿K¹KÈHÔ<Uñ 	,Ü�!�Q Õ+÷	,÷ 	,÷ 	,ñ 	,ú÷ 	,ð 	,ús$   Á
BÁ!BÁ0BÂB
	ÂBÂBc                 ó¾   — t        j                  d«      }t         j                  j                  d«      }|j                  d«      }t	        ||«      }t        ||«       y )NrC   r  )rC   é   )r,   r‘   r  r  r   r   )rY   rZ   r  rb   rc   s        r5   Útest_multiple_rhszTestSolve.test_multiple_rhs+  sF   € Ü�F‰F�1‹IˆÜ�i‰i×#Ñ# DÓ)ˆØ�J‰J�wÓˆÜ�!�Q‹KˆÜ! ! QÕ'r7   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 )	NrG  rR   rD   T©Ú
transposed)ró   gš™™™™™É?rD   F)rG  gš™™™™™Àg333333ó¿rI  rK  s      r5   Útest_transposed_keywordz!TestSolve.test_transposed_keyword2  sy   € Ü�I‰I�a‹L× Ñ   AÓ&¨Ñ*ˆÜ”"—'‘'˜!“*˜Q‘,¤§¡¨£
°tÔ<ˆÜ! !¢]Ô3Ü”"—'‘'˜!“*˜Q‘,¤§¡¨£
°uÔ=ˆÜ! !¢_Õ5r7   z*1. why? 2. deprecate the kwarg altogether?©Úreasonc                 ó¸   — t        j                  d«      j                  t        «      }t	        t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)NrR   Trn  )r,   r‘   Úastyperž   rz   ÚNotImplementedErrorr   ©rY   rZ   s     r5   Útest_transposed_notimplementedz(TestSolve.test_transposed_notimplemented9  sD   € ä�F‰F�1‹I×ÑœWÓ%ˆÜÔ.Ó/ñ 	)Ü�!�Q 4Õ(÷	)÷ 	)ñ 	)ús   ¸AÁAc                 ó4   — t        t        t        ddgd«       y )NrD   rC   ©rz   r{   r   ©rY   s    r5   Útest_nonsquare_azTestSolve.test_nonsquare_a?  s   € Ü”j¤%¨!¨Q¨°Õ3r7   c                 ó  — t        t        t        j                  d«      t        j                  d«      «      t        j                  d«      «       t        t        t        t        j                  d«      t        j                  d«      «       y )NrR   r@   )r   r   r,   r‘   r’   rz   r{   rz  s    r5   Útest_size_mismatch_with_1D_bz&TestSolve.test_size_mismatch_with_1D_bB  sI   € Ü!¤%¬¯©¨q«	´2·7±7¸1³:Ó">ÄÇÁÈÃ
ÔKÜ”j¤%¬¯©°«´B·G±G¸A³JÕ?r7   c                 ó4   — t        t        t        ddd¬«       y )NrD   Úzxcvr  ry  rz  s    r5   Útest_assume_a_keywordzTestSolve.test_assume_a_keywordF  s   € Ü”j¤%¨¨A¸Ö?r7   r\  rF  éd   )Úgenr
  r   r  rR  r†   c                 óš  — t         j                  j                  d«      }|t         j                  t         j                  fv }|j                  ||f«      j                  |«      }|j                  |«      j                  |«      }|r(|d|j                  ||f«      z  j                  |«      z  }|dk(  r||j                  z   }nâ|dk(  r||j                  j                  «       z   }n¿|dk(  r7|j                  j                  «       |z  dt        j                  |«      z  z   }nƒ|dk(  r~t        j                  t        j                  |«      «      t        j                  t        j                  |d«      d«      z   t        j                  t        j                  |d	«      d	«      z   }|t         j                  t         j                  fv rd
nd}|dv r'|t         j                  t         j                  fv r|dz  }t        |||¬«      }	t        ||	z  |||z  ||z  ¬«       |dk(  r+|s(t        |||d¬«      }	t        ||	z  |||z  ||z  ¬«       y y y )Nr  ri   r
  r  r   r%  rR  rD   rF   çê-�™—q=g�íµ ÷Æ°>)r‚  r
  r  rF  r  ©Úatolr„   T)r  ro  )r,   r  r  rŸ   r0   Ústandard_normalrt  r:  rA  r‘   rn   r.   r
   r   r   )
rY   r\  r†   r  r  Ú
is_complexrZ   rb   Útolrc   s
             r5   Ú'test_all_type_size_routine_combinationsz1TestSolve.test_all_type_size_routine_combinationsI  sô  € ô �i‰i×#Ñ# DÓ)ˆØœrŸ|™|¬R¯]©]Ð;Ð;ˆ
à×Ñ  t Ó-×4Ñ4°UÓ;ˆØ×Ñ Ó%×,Ñ,¨UÓ3ˆÙØ�"�S×(Ñ(¨$°¨Ó6Ñ6×>Ñ>¸uÓEÑEˆAà�uÒØ�A—C‘C‘‰AØ˜ÒØ�A—C‘C—H‘H“J‘‰AØ˜ÒØ—‘—‘“
˜Q‘ ¤R§V¡V¨D£\Ñ!1Ñ1‰AØ˜Ò&Ü—‘œŸ™ ›Ó$Ü—‘œŸ™  A›¨Ó*ñ+ä—‘œŸ™  B›¨Ó,ñ-ˆAð
 ¤§¡¬R¯]©]Ð ;Ñ;‰eÀˆàÐ,Ñ,ð œŸ™¤R§\¡\Ð2Ñ2Ø�r‘	�ä�!�Q Ô*ˆÜ˜˜A™˜q s¨T¡z¸¸d¹
ÕCà�uÒ¡ZÜ�a˜ X¸$Ô?ˆAÜ˜A ™E 1¨3°©:¸CÀ$¹JÖGð &0Ðr7   Údt_arŒ   c                 óf  — t        j                  d|¬«      }t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚t        t        j                  d|¬«      t        j
                  d|¬«      «      j                  }|j                  |k(  sJ ‚|j                  t         j                  j                  ||«      j                  k(  sJ ‚t        j
                  d|¬«      }t        j
                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  |k(  sJ ‚y )Nr�   rŽ   r   rC   ©rR   r   rC   rC   ©rC   r@   )rR   r   rC   r@   )	r,   r“   r   r\  r‘   r’   r†   r�   Úlinalg©rY   r‹  rŒ   rZ   rb   rc   Údt_nonemptys          r5   r•   zTestSolve.test_emptyr  sï   € ô �H‰H�V 4Ô(ˆÜ�H‰H�Q˜dÔ#ˆÜ�!�Q‹Kˆà�v‰v˜Š{Ðˆ{ÜœBŸF™F 1¨DÔ1´2·7±7¸1ÀDÔ3IÓJ×PÑPˆØ�w‰w˜+Ò%Ð%Ð%Ø�w‰wœ"Ÿ)™)Ÿ/™/¨!¨QÓ/×5Ñ5Ò5Ð5Ð5ä�G‰G�L¨Ô-ˆÜ�G‰G�F $Ô'ˆÜ�!�Q‹KˆØ�w‰w˜,Ò&Ð&Ð&Ø�w‰w˜+Ò%Ð%Ñ%r7   c                 ó²   — t        j                  d«      }g g g}t        ||«      }t        |j                  dk(  d«       t        |j
                  dk(  d«       y ©NrC   r   zReturned array is not empty)rC   r   z#Returned empty array shape is wrong)r,   r‘   r   r   r\  r�   rø   s       r5   Útest_empty_rhszTestSolve.test_empty_rhs„  sJ   € Ü�F‰F�1‹IˆØ�ˆHˆÜ�!�Q‹KˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr7   )rQ  rR  rX  rS  rT  r   rW  rU  rV  rX  r@  r
  r  r‚  Únrhsr    )rû   ro  TFÚ	overwriteÚfortranc                 óŽ  — t         j                  j                  d«      }|dk(  sdnd}|j                  |f|z   ¬«      }	|j                  ||f¬«      }
t        j                  |t         j                  «      r6|	|j                  |f|z   ¬«      dz  z   }	|
|j                  ||f¬«      dz  z   }
|dk(  r*t        j
                  t        j
                  |
«      «      }
�nC|dk(  rt        j                  |
«      }
�n'|d	k(  rt        j                  |
«      }
�n|d
k(  rt        j
                  t        j
                  |
«      «      t        j
                  t        j
                  |
d«      d«      z   t        j
                  t        j
                  |
d«      d«      z   }
n‡|dk(  r+t        j                  t        j                  |
d«      d«      }
nW|dv r|
|
j                  z   }
nC|dv r|
|
j                  «       j                  z   }
n!|dv r|
|
j                  j                  «       z  }
|rt        j                  |
«      }
|
j                  d¬«      }|	j                  «       }t        j                  |t         j                  «      r9|r7d}t        j                  t        |¬«      5  t        |
|	|||¬«       d d d «       y t        |
|	||||¬«      }t         j                   j                  |r|j                  n||«      }t#        ||«       |dk7  rt#        t        |||¬«      |d¬«       |st%        |
|«       t%        |	|«       y y # 1 sw Y   y xY w)Nl   ’q¨~Àu rX  rû   r=   r[  ri   rQ  rS  rT  rR  rF   rD   rC   >   r
  rU  >   r  rV  >   r   rW  r  ©Úorderz#scipy.linalg.solve can currently...r]  )r*   Úoverwrite_bro  )r*   r›  ro  r  rn  r‚   ©r†  )r,   r  r  Ú
issubdtypeÚcomplexfloatingrn   rJ  Útriur:  rA  ÚasfortranarrayÚcopyr™   r   ru  r   r�  r   r   )rY   r†   r  r•  ro  r–  r—  r  r  rb   r  ÚA_copyÚb_copyrb  Úresr‡   s                   r5   Útest_structure_detectionz"TestSolve.test_structure_detection‹  sº  € ô �i‰i×#Ñ# OÓ4ˆØ Ò)‰A¨rˆØ�J‰J˜Q˜D 4™KˆJÓ(ˆØ�J‰J˜Q ˜FˆJÓ#ˆä�=‰=˜¤× 2Ñ 2Ô3Ø�C—J‘J Q D¨4¡K�JÓ0°2Ñ5Ñ5ˆAØ�C—J‘J Q¨ F�JÓ+¨bÑ0Ñ0ˆAà�zÒ!Ü—‘œŸ™ ›
Ó#ŠAØÐ+Ò+Ü—‘˜“
ŠAØÐ+Ò+Ü—‘˜“
ŠAØ˜Ò&Ü—‘œŸ™ ›Ó$Ü—7‘7œ2Ÿ7™7 1 b›>¨2Ó.ñ/ä—7‘7œ2Ÿ7™7 1 a›=¨!Ó,ñ-‰Að ˜Ò!Ü—‘œŸ™  1› rÓ*‰AØÐ-Ñ-Ø�A—C‘C‘‰AØÐ-Ñ-Ø�A—F‘F“H—J‘J‘‰AØÐ5Ñ5Ø�A—C‘C—H‘H“J‘ˆAáÜ×!Ñ! !Ó$ˆAà—‘˜c�Ó"ˆØ—‘“ˆä�=‰=˜¤× 2Ñ 2Ô3¹
Ø;ˆGÜ—‘Ô2¸'ÔBñ -Ü�a˜¨	¸yØ!+õ-÷-ð ä�A�q i¸YØ)°Hô>ˆô �i‰i�o‰o©*˜fŸhšh¸&À&ÓIˆÜ˜˜SÔ!ð �xÒÜÜ�f˜f°Ô<¸cÈõñ
 Ü˜˜FÔ#Ü˜˜FÕ#ð ÷)-ð ús   ÊL;Ì;MÚ2z(solve chokes on b.ndim == 1 in numpy < 2)NrQ  r@  rT  rS  r   c                 óJ  — t        j                  d«      }t        j                  dd«      j                  d«      |z  }t        j                  d«      }t        t        |||¬«      t         j                  j                  ||«      «       t        j                  d«      }t        t        |||¬«      t         j                  j                  ||«      «       t        j                  d«      ddgz  }t        t        |||¬«      t         j                  j                  ||«      «       y )NrC   rD   é   )r@   rR   rC   rD   rD   r  rN   ©rC   rC   )r,   r‘   r   rW   r’   r   r   r�  )rY   r  ÚerZ   rb   s        r5   Útest_vs_np_solvezTestSolve.test_vs_np_solveÓ  sÇ   € ô �F‰F�1‹IˆÜ�I‰I�a˜Ó#×+Ñ+¨OÓ<¸qÑ@ˆä�G‰G�A‹JˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÔNä�G‰G�F‹OˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÔNä�G‰G�F‹O˜q !˜fÑ$ˆÜœ˜a ¨XÔ6¼¿	¹	¿¹ÈÈ1Ó8MÕNr7   c                 óN  — t         j                  j                  d«      }|j                  d¬«      }t        j                  t        j
                  |t        j                  |j                  «      «      «      }|j                  d¬«      }t        ||dd¬«      }||j                  z   t        j                  t        j                  |«      «      z
  }t         j                  j                  ||«      }t        ||d¬	«       t        |j                  |dd
¬«      }t        ||d¬	«       y )Nr   ©r@   r@   r[  ©r@   rC   r   Tr  r‚   rœ  F)r,   r  r  ÚnormalrJ  ÚmatmulrA  r:  r   rn   r�  r   )rY   r  rZ   rb   ÚoutÚaaÚ	result_nps          r5   Útest_pos_lowerzTestSolve.test_pos_loweré  sÒ   € ô �i‰i×#Ñ# AÓ&ˆØ�J‰J˜FˆJÓ#ˆÜ�G‰G”B—I‘I˜a¤§¡¨¯©£Ó.Ó/ˆØ�J‰J˜FˆJÓ#ˆÜ�A�q 5°Ô5ˆà�—‘‰W”r—w‘wœrŸw™w q›zÓ*Ñ*ˆÜ—I‘I—O‘O B¨Ó*ˆ	Ü˜˜Y¨UÕ3ô �A—C‘C˜ U°%Ô8ˆÜ˜˜Y¨UÖ3r7   c                 ó®   — t        j                  d«      }d|j                  _        t        j                  d«      }t        ||«      }t        ||d¬«       y ©NrR   Fç›+¡†›„=rœ  )r,   r‘   ÚflagsÚ	writeabler’   r   r   rø   s       r5   Útest_readonlyzTestSolve.test_readonlyú  s?   € Ü�F‰F�1‹IˆØ!ˆ�‰ÔÜ�G‰G�A‹JˆÜ�!�Q‹KˆÜ˜˜1 5Ö)r7   c                 ó  — t        j                  d«      j                  dddd«      }|d d …d d d…d d …d d …f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬«       t        j                  d	«      d d …d d d…f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬«       y ©
Né   rC   rR   rF   ©.Nr   r·  rœ  rŽ  ©r,   r   rW   r’   r   r�   r   ©rY   r)   rZ   rb   rc   s        r5   Útest_batch_negative_stridez$TestSolve.test_batch_negative_stride  sö   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa‘�2�’qš!ˆmÑˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹OšA™t ˜t˜GÑ$ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r7   c                 ó  — t        j                  d«      j                  dddd«      }|d d …d d …d d d…d d …f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬«       t        j                  d	«      d d d…d d …f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬«       y r¼  r¿  rÀ  s        r5   Útest_core_negative_stridez#TestSolve.test_core_negative_stride  sö   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa’‘D�b�Dš!ˆmÑˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆà�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹O™D˜b˜D¢!˜GÑ$ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r7   c                 óÎ  — t        j                  d«      j                  dddd«      }|dd d d…f   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       t        j                  d«      d d d…   }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       y )Né0   rC   rR   r@   .rF   r¾  r   r·  rœ  r¿  rÀ  s        r5   Útest_core_non_contiguousz"TestSolve.test_core_non_contiguous   sä   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØˆc‘3�Q�3ˆh‰KˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�A‹J‘s˜�s‰OˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÖ<r7   c                 óø  — t        j                  d«      j                  dddd«      }|d d …d d d…df   }t        j                  d«      }t	        ||fi |¤Ž}|j
                  |j
                  d d k(  sJ ‚t        ||d   z  |z
  dd¬	«       t        j                  d
«      d d …d d d…f   }t	        ||fi |¤Ž}|j
                  |j
                  d d |j
                  d   fz   k(  sJ ‚t        ||z  |z
  dd¬	«       y )NrÅ  rC   rA   .rF   r¾  r   r·  rœ  ©rC   rA   r¿  rÀ  s        r5   Útest_batch_non_contiguousz#TestSolve.test_batch_non_contiguous/  sô   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØŠa‘�1��cˆk‰NˆÜ�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÕ<ô �G‰G�F‹OšA™s ˜s˜FÑ#ˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,¨!¯'©'°"©+¨Ñ7Ò7Ð7Ð7Ü˜˜A™ ™	 1¨5Ö1r7   c                 ó,  — t        j                  d«      j                  ddddd«      }|j                  ddddd«      }t        j                  d«      }t        ||fi |¤Ž}|j                  |j                  d d k(  sJ ‚t        ||d   z  |z
  dd	¬
«       y )NrÅ  rC   rR   rD   r@   r   rF   r¾  r·  rœ  )r,   r   rW   r	   r’   r   r�   r   rÀ  s        r5   Útest_batch_weird_stridesz"TestSolve.test_batch_weird_strides>  s�   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨a°Ó3ˆØ�K‰K˜˜1˜a  AÓ&ˆä�G‰G�A‹JˆÜ�!�QÑ'˜,Ñ'ˆØ�w‰w˜!Ÿ'™' # 2˜,Ò&Ð&Ð&Ü˜˜A˜i™LÑ(¨1Ñ,¨a°eÖ<r7   c                 ó`  — t        j                  d«      j                  dd«      }||j                  z   t        j                  d«      z   }t        j
                  d«      }t        ||«      }t        ||z  |d¬«       t        t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)NrG  rR   r·  rœ  r   r  )
r,   r   rW   r:  r‘   r’   r   r   rz   r   )rY   rZ   r  rb   rõ   s        r5   Útest_posdef_not_posdefz TestSolve.test_posdef_not_posdefH  s‹   € ä�I‰I�a‹L× Ñ   AÓ&ˆØ�—‘‰G”b—f‘f˜Q“iÑˆÜ�G‰G�A‹Jˆô �1�a‹[ˆÜ˜˜B™ ¨Õ.ô œ;Ó'ñ 	(Ü�!�Q Õ'÷	(÷ 	(ñ 	(ús   ÂB$Â$B-c           	      ó  — t        j                  t        j                  t        j                  d«      «      t        j                  t        j
                  dd«      «      g«      }t        j                  d«      }t        ||«      }t        |d   dt        j
                  dd«      z  d¬«       t        j                  dd	gd	dgg«      }t        j                  d
«      }t        j                  t        «      5  t        ||d¬«       d d d «       t        j                  d	d	gd	dgg«      }t        j                  d
«      }t        j                  t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒjxY w# 1 sw Y   y xY w)N©rR   rR   rD   r@   rR   ©rD   .r·  rœ  çêŒ 9Y>)Fr   rC   rQ  r  )r,   ÚstackrŸ  r’   rn   r   r   r   Úasarrayr™   r`  r"   r   r   rø   s       r5   Útest_diagonalzTestSolve.test_diagonalV  s%  € Ü�H‰H”b—g‘gœbŸg™g f›oÓ.´·±¼¿	¹	À!ÀQ»Ó0HÐIÓJˆÜ�G‰G�A‹JˆÜ�!�Q‹Kˆô 	˜˜&™	 1¤r§y¡y°°A£Ñ#6¸UÕCô �J‰J˜˜q˜	 A q 6Ð*Ó+ˆÜ�G‰G�A‹JˆÜ�\‰\œ-Ó(ñ 	-Ü�!�Q Õ,÷	-ô �J‰J˜˜A˜  A Ð'Ó(ˆÜ�G‰G�A‹JˆÜ�]‰]œ;Ó'ñ 	-Ü�!�Q Õ,÷	-ð 	-÷	-ð 	-ú÷	-ð 	-ús   Ã7E/ÅE;Å/E8Å;Fc                 ó   — d}dt        j                  t        j                  |«      «      z  t        j                  t        j                  d«      d«      z   t        j                  t        j                  d«      d«      z   }t        j                  t        j                  t        j                  ||f«      «      |g«      }t        j                  d«      }t        ||«      }t        |d   t        j                  g d¢«      d¬	«       d
|d<   t        j                  t        «      5  t        ||d¬«       d d d «       dx|d<   |d<   t        j                  t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w)Nr@   éþÿÿÿrR   rD   rF   rÐ  )ç       Àç      ÀrØ  r×  r‚   rœ  ç@Œµx¯D)rD   r   r   rR  r  r   )rD   r   rD   )r,   rn   r’   rÒ  rŸ  r   r   rÓ  r™   r`  r"   r   r   )rY   r  rZ   rb   rc   s        r5   Útest_tridiagonalzTestSolve.test_tridiagonalj  s-  € ØˆØŒr�w‰w”r—w‘w˜q“zÓ"Ñ"¤R§W¡W¬R¯W©W°Q«Z¸Ó%;Ñ;¼b¿g¹gÄbÇgÁgÈaÃjÐRTÓ>UÑUˆÜ�H‰H”b—g‘gœbŸg™g q¨! f›oÓ.°Ð2Ó3ˆÜ�G‰G�A‹JˆÜ�!�Q‹Kˆô 	˜˜&™	¤2§:¡:Ò.BÓ#CÈ%ÕPð ˆˆ'‰
Ü�\‰\œ-Ó(ñ 	0Ü�!�Q Õ/÷	0ð #$Ð#ˆˆ'‰
�Q�w‘ZÜ�]‰]œ;Ó'ñ 	0Ü�!�Q Õ/÷	0ð 	0÷	0ð 	0ú÷
	0ð 	0ús   Ä&E8Å FÅ8FÆFN)?r–   r—   r˜   rö   rù   rý   r  r  r  r  r  r  r  r#  r)  r+  r0  r2  rv   r7  r;  r>  r™   rš   r›   rD  rL  rO  rc  ri  rl  rp  Úskiprw  r{  r}  r€  r,   r
   r.   rŸ   r0   rŠ  rœ   r�   rž   r•   r”  r¥  ÚskipifÚ__version__r«  r´  rº  Úparametrize_overwrite_argrÁ  rÃ  rÆ  rÉ  rË  rÍ  rÔ  rÚ  r    r7   r5   rð   rð     s¾  „ ò	6ò4ò4ò8ò4ò8ò4ò4ò8ò4ò
+ò	4ò	4ò4ò4ò4òLòAò@ð" ‡[�[×Ñ˜Z¨%°¨Ó8ñ*ó 9ð*ò.4ò0ð ‡[�[×Ñ˜[ðNóOñ,ó	Oð,ð ‡[�[×Ñ˜[ðDóEñ,ó	Eð,ò(ò6ð ‡[�[×ÑÐIÐÓJñ)ó Kð)ò
4ò@ò@ð ‡[�[×Ñ˜V b¨# YÓ/Ø‡[�[×Ñ˜ZÒ)TÓUØ‡[�[×ÑØ�"—*‘*˜bŸj™j¨"¯,©,¸¿¹ÐFóñ"Hóó Vó 0ð
"HðH ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ&ó Vó Vð&ò Jð ‡[�[×Ñ˜W r§z¡z°2·=±=Ð&AÓBØ‡[�[×Ñ˜Zò *Jó Kð
 ‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜\¨D°%¨=Ó9Ø‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜Y¨¨u¨Ó6ñ<$ó 7ó 9ó :ó 1óKó Cð<$ð| ‡[�[×ÑØ
�‰˜ÑÐ%Oð ó ð ‡[�[×ÑØò	
óñOóóðOò4ò"*ð ñ2ó ð2ð ñ2ó ð2ð ñ=ó ð=ð ñ2ó ð2ð ñ=ó ð=ò(ò-ó(0r7   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.
        rD   r   rC   Tr¹   Fr€   ©rº   Útransr<   ç      à¿N)r   r   r   r:  r   ©rY   r  rb   Úsols       r5   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Ð'<Õ=r7   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
        r=  r   ri   rC   TrD   rã  y      à?      à¿y      Ð¿      Ð¿r€   ù      ð?       @y       €      à¿y      à?      ð?y      Ð?      è¿y      è¿      Ð¿Frå  N)r   r   r   r   r,   rn   r:  ræ  s       r5   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¨°$¸°Ð'@ÕAr7   c                 óh   — t        ddgddgg«      }ddg}t        ||dd¬«      }t        |ddg«       y)râ  rD   r   rC   TF)rº   ru   N)r   r   r   ræ  s       r5   rv   z%TestSolveTriangular.test_check_finite³  sB   € ô �A�q�6˜A˜q˜6Ð"Ó#ˆØ�ˆFˆÜ˜q !¨4¸eÔDˆÜ! #¨¨1 vÕ.r7   r‹  rŒ   c                 ó<  — t        j                  d|¬«      }t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚t        t        j                  d|¬«      t        j
                  d|¬«      «      j                  }|j                  |k(  sJ ‚y ©Nr�   rŽ   r   rC   )r,   r“   r   r\  r‘   r’   r†   r�  s          r5   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˜+Ò%Ð%Ñ%r7   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       r5   r”  z"TestSolveTriangular.test_empty_rhsÉ  sK   € Ü�F‰F�1‹IˆØ�ˆHˆÜ˜Q Ó"ˆÜ�—‘˜!‘Ð:Ô;Ü�—‘˜6Ñ!Ð#HÕIr7   N)r–   r—   r˜   rù   rý   rv   r™   rš   r›   rœ   r�   r,   r
   rž   rŸ   r•   r”  r    r7   r5   rà  rà    s~   „ ò>ò*Bò:/ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ	&ó Vó Vð	&óJr7   rà  c                   ó¶  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  deeej                  eej                   g«      d„ «       Zej                  j%                  d¬	«      d
„ «       Zd„ Zej                  j                  deeej                  eej                   g«      d„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       Z!d„ Z"d„ Z#d „ Z$y!)"ÚTestInvc                 óú   — ddgddgg}t        |«      }t        t        ||«      t        j                  d«      «       g d¢g d¢g d¢g}t        |«      }t        t        ||«      t        j                  d«      «       y )NrD   rC   rR   r@   rì   ©r@   rû   rA   ©rG   é   rF  )r   r   r   r,   r‘   ©rY   rZ   Úa_invs      r5   rù   zTestInv.test_simpleÒ  sb   € Ø�ˆV�a˜�VÐˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Ô;Úš	¢:Ð.ˆÜ�A“ˆÜ!¤# a¨£-´·±¸³Õ;r7   c                 ó$  — t         j                  j                  d«      }d}t        d«      D ]a  }|j                  ||g«      }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        |«      }t        t        ||«      t        |«      «       Œc y )Nr  r=   r@   r%  ©r,   r  r  r'  r   r   r   r   ©rY   r  r  r!  rZ   rõ  s         r5   r)  zTestInv.test_randomÚ  s�   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q“ò 	3ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ	3r7   c                 ób   — ddgddgg}t        |«      }t        t        ||«      ddgddgg«       y )NrD   rC   rR   ræ   r   ©r   r   r   rô  s      r5   rý   zTestInv.test_simple_complexå  s:   € Ø�ˆV�a˜�WÐˆÜ�A“ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr7   c                 óR  — t         j                  j                  d«      }d}t        d«      D ]x  }|j                  ||g«      d|j                  ||g«      z  z   }t        |«      D ]  }dd|||f   z   z  |||f<   Œ t	        |«      }t        t        ||«      t        |«      «       Œz y )Nr  r=   r@   rf   r%  r÷  rø  s         r5   r+  zTestInv.test_random_complexê  s§   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q“ò 	3ˆAØ—
‘
˜A˜q˜6Ó" 2 c§j¡j°!°Q°Ó&8Ñ#8Ñ8ˆAÜ˜1“Xò *�Ø˜b  1 a 4¡™j™/��!�Q�$’ð*ä˜“FˆEÜ%¤c¨!¨U£mÜ&.¨q£kõ3ñ	3r7   c                 óf   — ddgddgg}t        |d¬«      }t        t        ||«      ddgddgg«       y )NrD   rC   rR   r@   Frt   r   rú  rô  s      r5   rv   zTestInv.test_check_finiteõ  s=   € Ø�ˆV�a˜�VÐˆÜ�A EÔ*ˆÜ!¤# a¨£-°1°a°&¸1¸a¸&Ð1AÕBr7   r4   c                 ó¨  — t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j                  t        t        j
                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚y )Nr�   rŽ   r   rC   r�  )rR   rD   r   r   )r,   r“   r   r\  r†   r‘   r’   r�   ©rY   r4   rZ   rõ  s       r5   r•   zTestInv.test_emptyú  s©   € ä�H‰H�V 2Ô&ˆÜ�A“ˆØ�z‰z˜QŠÐˆØ�{‰{œc¤"§&¡&¨°"Ô"5Ó6×<Ñ<Ò<Ð<Ð<ä�G‰G�L¨Ô+ˆÜ�A“ˆØ�{‰{˜lÒ*Ð*Ð*ä�G‰G�L¨Ô+ˆÜ�A“ˆØ�{‰{˜lÒ*Ð*Ñ*r7   zTODO: re-enable overwrite_arq  c                 óv  — t        j                  dd«      j                  dd«      }t        |d¬«      }t	        ||z  t        j
                  d«      d¬«       t        j                  ||«      rJ ‚|j                  t        «      j                  d¬	«      }t        |d¬«      }t        j                  ||«      sJ ‚y )
NrD   rû   rC   T©r*   r·  rœ  ÚFr™  )
r,   r   rW   r   r   r‘   Úshares_memoryrt  r�   r¡  rô  s      r5   Útest_overwrite_azTestInv.test_overwrite_a	  s—   € ä�I‰I�a˜‹O×#Ñ# A qÓ)ˆÜ�A 4Ô(ˆÜ˜ ™	¤2§6¡6¨!£9°5Õ9Ü×#Ñ# A uÔ-Ð-Ð-ð �H‰H”U‹O× Ñ  sÐ Ó+ˆÜ�A 4Ô(ˆÜ×Ñ  5Ô)Ð)Ñ)r7   c                 ó‚   — t        j                  d«      }d|j                  _        t	        |«      }t        ||d¬«       y r¶  )r,   r‘   r¸  r¹  r   r   rô  s      r5   rº  zTestInv.test_readonly  s0   € Ü�F‰F�1‹IˆØ!ˆ�‰Ôä�A“ˆÜ˜˜q uÖ-r7   c                 óÆ   — t        j                  d|¬«      j                  dddd«      dz   }t        |«      }|j                  |j                  k(  sJ ‚t        ||z  d«       y )NrA   rŽ   rR   rC   rD   r<   )r,   r   rW   r   r�   r   rþ  s       r5   Útest_batch_core_1x1zTestInv.test_batch_core_1x1  sU   € ä�I‰I�c Ô$×,Ñ,¨Q°°1°aÓ8¸1Ñ<ˆÜ�A“ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	 2Õ&r7   c                 ó  — t        j                  dt        ¬«      j                  ddd«      }|d   }t	        |fi |¤Ž}|j
                  |j
                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j
                  «      d¬«       |d d …d df   }t	        |fi |¤Ž}|j
                  |j
                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j
                  «      d¬«       y )	Nrk  rŽ   rR   rC   )N.g›+¡†›„=rœ  .)	r,   r   r�   rW   r   r�   r   Úbroadcast_tor‘   )rY   r)   rZ   r²  rõ  s        r5   Útest_batch_zero_stridezTestInv.test_batch_zero_stride#  sÑ   € ä�I‰I�e¤5Ô)×1Ñ1°!°Q¸Ó:ˆØˆy‰\ˆÜ�BÑ'˜,Ñ'ˆØ�{‰{˜bŸh™hÒ&Ð&Ð&Ü˜˜U™
¤B§O¡O´B·F±F¸1³I¸r¿x¹xÓ$HÈuÕUàŠq�$˜ˆ|‰_ˆÜ�BÑ'˜,Ñ'ˆØ�{‰{˜bŸh™hÒ&Ð&Ð&Ü˜˜U™
¤B§O¡O´B·F±F¸1³I¸r¿x¹xÓ$HÈuÖUr7   c                 óH  — t        j                  d«      j                  dddd«      }|d d …d d d…d d …d d …f   }t        |fi |¤Ž}|j                  |j                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y ©Nr½  rC   rR   rF   ç‚vIhÂ%,=rœ  ©r,   r   rW   r   r�   r   r  r‘   ©rY   r)   rZ   rõ  s       r5   rÁ  z"TestInv.test_batch_negative_stride0  s‚   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa‘�2�’qš!ˆmÑˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr7   c                 óH  — t        j                  d«      j                  dddd«      }|d d …d d …d d d…d d …f   }t        |fi |¤Ž}|j                  |j                  k(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y r  r  r  s       r5   rÃ  z!TestInv.test_core_negative_stride8  s‚   € ä�I‰I�c‹N×"Ñ" 1 a¨¨AÓ.ˆØŠa’‘D�b�Dš!ˆmÑˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜aŸg™gÒ%Ð%Ð%Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr7   c                 ó$  — t        j                  d«      j                  dddd«      }|dd d d…f   }t        |fi |¤Ž}|j                  dk(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y )	NrÅ  rC   rR   r@   .©rC   rR   rC   rC   r  rœ  r  r  s       r5   rÆ  z TestInv.test_core_non_contiguous@  sz   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØˆc‘3�Q�3ˆh‰KˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜lÒ*Ð*Ð*Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr7   c                 ó*  — t        j                  d«      j                  dddd«      }|d d …d d d…df   }t        |fi |¤Ž}|j                  dk(  sJ ‚t        ||z  t        j                  t        j                  d«      |j                  «      d¬«       y )NrÅ  rC   rA   .r  g‚vIhÂ%L=rœ  r  r  s       r5   rÉ  z!TestInv.test_batch_non_contiguousH  s|   € ä�I‰I�eÓ×$Ñ$ Q¨¨1¨aÓ0ˆØŠa‘�1��cˆk‰NˆÜ�AÑ&˜Ñ&ˆØ�{‰{˜lÒ*Ð*Ð*Ü˜˜E™	¤2§?¡?´2·6±6¸!³9¸a¿g¹gÓ#FÈUÖSr7   c                 ó  — t        t        «      5  t        t        j                  d«      «       d d d «       t        t        «      5  t        t        j                  d«      «       d d d «       t        j
                  t        j                  dt        ¬«      t        j                  d«      j                  dd«      f«      }t        t        «      5  t        |«       d d d «       y # 1 sw Y   Œ¶xY w# 1 sw Y   ŒŒxY w# 1 sw Y   y xY w)Nr©  )rR   rC   rC   rŽ   r@   rC   )	rz   r   r   r,   r’   rÒ  rž   r   rW   )rY   r)   rZ   s      r5   Útest_singularzTestInv.test_singularP  s¿   € ô œ;Ó'ñ 	!Ü”—‘˜“Ô ÷	!ô œ;Ó'ñ 	$Ü”—‘˜	Ó"Ô#÷	$ô �H‰H”b—g‘g˜f¬GÔ4´b·i±iÀ³l×6JÑ6JÈ1ÈaÓ6PÐQÓRˆÜœ;Ó'ñ 	Ü�ŒF÷	ð 	÷	!ð 	!ú÷	$ð 	$ú÷	ð 	ús#   �C$ÁC0ÃC<Ã$C-Ã0C9Ã<Dc                 óÄ  — t        j                  ddg«      }t        j                  t        «      5  t        |«       d d d «       t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      g«      }t        j                  t        «      5  t        |«       d d d «       y # 1 sw Y   ŒŽxY w# 1 sw Y   y xY w)Nr<   ç#B’¡œÇ;rD   )r,   rn   r™   r`  r"   r   rÒ  )rY   rZ   rB  s      r5   Útest_ill_condzTestInv.test_ill_condi  s¦   € Ü�G‰G�R˜�KÓ ˆÜ�\‰\œ-Ó(ñ 	Ü�ŒF÷	ô �X‰X”r—w‘w  E˜{Ó+¬R¯W©W°a¸°V«_¼b¿g¹gÀqÈ%ÀjÓ>QÐRÓSˆÜ�\‰\œ-Ó(ñ 	Ü�ŒG÷	ð 	÷		ð 	ú÷	ð 	ús   ±C
Â5CÃ
CÃCc                 óŒ   — t        t        «      5  t        t        j                  d«      d¬«       d d d «       y # 1 sw Y   y xY w)NrC   Úkaboomr  )rz   ÚKeyErrorr   r,   r‘   rz  s    r5   Útest_wrong_assume_azTestInv.test_wrong_assume_ar  s1   € Üœ8Ó$ñ 	.Ü”—‘�q“	 HÕ-÷	.÷ 	.ñ 	.ús	   �!:ºAc                 ó"  — t        j                  dt        ¬«      j                  dd«      }||j                  z   }|dt        j
                  d«      z  z  }t        |«      }t        |d¬«      }t        ||d¬«       t        j                  d	t        j                  g |j                  ¢d
‘­Ž z
  dk(  t         j                  d	«      }t        ||z  ddd¬«      }t        ||d¬«       t        ||j                  z  ddd¬«      }t        ||d¬«       y )Nr¨  rŽ   rû   é   r   r  r‚   rœ  rD   rF   r   F©ru   r  rº   T)r,   r   r�   rW   r:  r‘   r   r   ÚwhereÚtrir�   Únan)rY   rc   ÚyÚy_inv0Úy_inv1ÚmaskÚy_inv2Úy_inv3s           r5   Útest_posdefzTestInv.test_posdefv  sà   € Ü�I‰I�b¤Ô&×.Ñ.¨q°!Ó4ˆØ�—‘‰GˆØ	ˆR”—‘�q“	‰\Ñˆä�Q“ˆÜ�Q Ô'ˆä˜ ¨UÕ3ô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ�Q�t‘V¨%¸%ÀuÔMˆÜ˜ ¨UÕ3ô �Q�t—v‘v‘X¨E¸EÈÔNˆÜ˜ ¨UÖ3r7   Úcomplex_FTc                 óŒ  — t        j                  d«      j                  dd«      }||j                  z   t        j                  d«      z   }|r|d|z  z   }t        |«      }t        ||z  t        j                  d«      d¬«       t        t        «      5  t        |d¬«       d d d «       |rŽt        j                  d«      j                  dd«      }|d|z  z   }||j                  j                  «       z   t        j                  d«      z   }t        t        |«      |z  t        j                  d«      d¬«       y y # 1 sw Y   ŒšxY w)NrG  rR   ri   g [n‡ë<rœ  r   r  )
r,   r   rW   r:  r‘   r   r   rz   r   rA  )rY   r)  rZ   rb   Úb_inv0s        r5   rÍ  zTestInv.test_posdef_not_posdef‰  s  € ô �I‰I�a‹L× Ñ   AÓ&ˆØ�—‘‰G”b—f‘f˜Q“iÑˆÙØ�B�q‘D‘ˆAô �Q“ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:ô œ;Ó'ñ 	#Ü�˜EÕ"÷	#ñ Ü—	‘	˜!“×$Ñ$ Q¨Ó*ˆAØ�B�q‘D‘ˆAØ�A—C‘C—H‘H“J‘¤§¡¨£Ñ*ˆAÜœC ›F Q™J¬¯©¨q«	¸Ö>ð	 ÷		#ð 	#ús   ÂD:Ä:EÚsym_hermr
  r  c                 óÚ  — t        j                  d«      j                  dd«      }|r|d|z  z   }|dk(  r||j                  z   }n||j                  j	                  «       z   }|t        j
                  d«      z   }t         j                  j                  |«      }t        ||z  t        j
                  d«      d¬«       t        ||¬«      }t        ||d¬«       t        j                  d	t        j                  g |j                  ¢d
‘­Ž z
  dk(  t         j                  d	«      }t        ||z  d|d¬«      }t        ||d¬«       t        ||j                  z  d|d¬«      }	t        |	|d¬«       y )NrG  rR   ri   r
  r·  rœ  r  r‚   rD   rF   r   Fr  T)r,   r   rW   r:  rA  r‘   r�  r   r   r  r   r�   r!  )
rY   r)  r,  rZ   rb   r+  Úb_inv1r%  Úb_inv2Úb_inv3s
             r5   Útest_sym_herzTestInv.test_sym_her   s&  € ô �I‰I�a‹L× Ñ   AÓ&ˆÙØ�B�q‘D‘ˆAà�uÒØ�A—C‘C‘‰Aà�A—C‘C—H‘H“J‘ˆAà”—‘�q“	‰Mˆä—‘—‘˜qÓ!ˆÜ˜ ™
¤B§F¡F¨1£I°EÕ:ä�Q Ô*ˆÜ˜ ¨UÕ3ô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ�Q�t‘V¨%¸(È%ÔPˆÜ˜ ¨UÕ3ô �Q�t—v‘v‘X¨E¸HÈDÔQˆÜ˜ ¨UÖ3r7   c                 ó  — t        j                  dt        ¬«      j                  dd«      }||j                  z   }|dt        j
                  d«      z  z  }t        |d¬«      }t        |d¬«      }t        j                  ||«      rJ ‚y )Nr¨  rŽ   rû   r  rT  r  r   )r,   r   r�   rW   r:  r‘   r   Úallclose)rY   rc   r"  r#  Úy_inv_posdefs        r5   Útest_triangular_1zTestInv.test_triangular_1¾  st   € Ü�I‰I�b¤Ô&×.Ñ.¨q°!Ó4ˆØ�—‘‰GˆØ	ˆR”—‘�q“	‰\ÑˆÜ�QÐ!3Ô4ˆô ˜1 uÔ-ˆÜ—;‘;˜v |Ô4Ð4Ð4Ð4r7   c                 ó  — t        j                  dt        ¬«      j                  dd«      }t	        t        j
                  |«      «      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t	        |d¬«      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t        j                  dt        j                  g |j                  ¢d	‘­Ž z
  d
k(  t         j                  d«      }t	        ||z  dd¬«      }t        |t        j
                  |«      z  t        j                  d«      d¬«       t	        t        j                  |«      «      }t        |t        j                  |«      z  t        j                  d«      d¬«       t	        |d¬«      }t        |t        j                  |«      z  t        j                  d«      d¬«       t        j                  dt        j                  g |j                  ¢d	‘­Ž z
  d
k(  t         j                  d«      }t	        ||j                  z  dd¬«      }t        |t        j                  |«      z  t        j                  d«      d¬«       y )Nr¨  rŽ   rû   r‚   rœ  rT  r  rD   rF   r   F)ru   r  rS  )r,   r’   r�   rW   r   rŸ  r   r‘   r  r   r�   r!  rJ  r:  )	rY   r"  Ú	y_inv_0_uÚ	y_inv_1_ur%  Ú	y_inv_2_uÚ	y_inv_0_lÚ	y_inv_1_lÚ	y_inv_2_ls	            r5   Útest_triangular_2zTestInv.test_triangular_2È  s»  € Ü�G‰G�BœeÔ$×,Ñ,¨Q°Ó2ˆäœŸ™ ›
“Oˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFä˜Ð$6Ô7ˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ˜˜$™¨UÐ=OÔPˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô œŸ™ ›
“Oˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFä˜Ð$6Ô7ˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÕFô �x‰x˜œBŸF™FÐ0 A§G¡GÐ0¨RÒ0Ñ0°AÑ5´r·v±v¸qÓAˆÜ˜˜$Ÿ&™&™¨uÐ?QÔRˆ	Ü˜	¤B§G¡G¨A£JÑ.´·±°q³	ÀÖFr7   c           
      ó°  — t        j                  t        j                  t        j                  d«      «      t        j                  t        j
                  dd«      «      g«      }t        |«      }t        |d   t        j                  dt        j
                  dd«      z  «      d¬«       t        j                  ddgddgg«      }t        j                  t        «      5  t        |d¬	«       d d d «       t        j                  ddgddgg«      }t        j                  t        «      5  t        |d¬	«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)
NrÏ  rD   r@   r·  rœ  rÑ  r   rQ  r  )r,   rÒ  rŸ  r’   rn   r   r   r   rÓ  r™   r`  r"   r   r   )rY   rZ   Úinv_as      r5   rÔ  zTestInv.test_diagonalâ  s  € Ü�H‰H”b—g‘gœbŸg™g f›oÓ.´·±¼¿	¹	À!ÀQ»Ó0HÐIÓJˆÜ�A“ˆô 	˜˜a™¤"§'¡'¨!¬b¯i©i¸¸1«oÑ*=Ó">ÀUÕKô �J‰J˜˜q˜	 A q 6Ð*Ó+ˆÜ�\‰\œ-Ó(ñ 	(Ü�˜JÕ'÷	(ô �J‰J˜˜A˜  A Ð'Ó(ˆÜ�]‰]œ;Ó'ñ 	(Ü�˜JÕ'÷	(ð 	(÷	(ð 	(ú÷
	(ð 	(ús   ÃE Ä)EÅ E	ÅEN)%r–   r—   r˜   rù   r)  rý   r+  rv   r™   rš   r›   rœ   r�   r,   r
   rž   rŸ   r•   Úxfailr  rº  r  rÞ  r	  rÁ  rÃ  rÆ  rÉ  r  r  r  r(  rÍ  r1  r5  r=  rÔ  r    r7   r5   rï  rï  Ñ  sË  „ ò<ò	3òCò
	3òCð
 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ+ó Tð+ð ‡[�[×ÑÐ;ÐÓ<ñ	*ó =ð	*ò.ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ'ó Tð'ð ñ
Vó ð
Vð ñTó ðTð ñTó ðTð ñTó ðTð ñTó ðTð ñó ðò0ò.ò4ð& ‡[�[×Ñ˜Z¨%°¨Ó7ñ?ó 8ð?ð, ‡[�[×Ñ˜Z¨%°¨Ó7Ø‡[�[×Ñ˜Z¨%°¨Ó8ñ4ó 9ó 8ð4ò85òGó4(r7   rï  c            	       ó   — e Zd Zd„ Zd„ Zej                  j                  dddgddgg d¢g«      d„ «       Zd„ Z	ej                  j                  d	e
j                  d
   dd D � �cg c]  }|dvr|‘Œ
 c}} «      d„ «       Zd„ Zd„ Zej                  j                  deee
j"                  ee
j&                  g«      d„ «       Zd„ Zd„ Zd„ Zyc c}} w )ÚTestDetc                 óR  — t        j                  dgg«      }t        |«      }|j                  j                  dk(  sJ ‚t        j
                  |«      sJ ‚|dk(  sJ ‚t        j                  dggggd¬«      }t        |«      }|j                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |dgg«       t        j                  dgggt         j                  ¬«      }t        |«      }|j                  j                  dk(  sJ ‚|j                  d	k(  sJ ‚t        |dg«       y )
NrD   ra  r<   ÚfrŽ   rl   y      ð?      @rü   )rD   )	r,   r   r   r†   ÚcharÚisscalarr�   r   rŸ   )rY   rZ   Údetas      r5   Útest_1x1_all_singleton_dimsz#TestDet.test_1x1_all_singleton_dimsõ  sþ   € Ü�H‰H�q�c�U‹OˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ü�{‰{˜4Ô Ð Ð Ø�rŠzÐˆzÜ�H‰H˜˜�u�g�Y cÔ*ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü�T˜S˜E˜7Ô#Ü�H‰H˜�y�k�]¬"¯,©,Ô7ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜TÒ!Ð!Ð!Ü�T˜F˜8Õ$r7   c                 óR  — t         j                  j                  d«      }|j                  g d¢t         j                  ¬«      }t	        |«      }|j
                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |t        j                  |«      «       |j                  g d¢t         j                  ¬«      t        j                  d«      z  }t	        |«      }|j
                  j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |t        j                  |«      «       y )Nì   ¯*ƒnê`/ )r@   rû   rD   rD   rŽ   ra  ©r@   rû   ri   rü   )r,   r  r  r
   r   r†   rE  r�   r   ÚsqueezerŸ   )rY   r  rZ   rG  s       r5   Útest_1by1_stacked_input_outputz&TestDet.test_1by1_stacked_input_output  s×   € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J’|¬2¯:©:ˆJÓ6ˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÔ,à�J‰J’|¬2¯:©:ˆJÓ6´r·|±|ÀCÓ7HÑHˆÜ�1‹vˆØ�z‰z�‰ #Ò%Ð%Ð%Ø�z‰z˜VÒ#Ð#Ð#Ü˜œbŸj™j¨›mÕ,r7   r�   rC   r=   )rR   rC   r=   r=   c                 óž  — t         j                  j                  d«      }|j                  dd|¬«      }t	        |«      t         j
                  j	                  |«      }}t        ||«       |j                  dd|¬«      dz  }||j                  dd|¬«      z  }t	        |«      t         j
                  j	                  |«      }}t        ||«       y )NrJ  ç      ð¿r<   r[  ri   rå  r€   )r,   r  r  Úuniformr   r�  r   )	rY   r�   r  rZ   Úd1Úd2rb   Úd3Úd4s	            r5   Ú#test_simple_det_shapes_real_complexz+TestDet.test_simple_det_shapes_real_complex  s¥   € ä�i‰i×#Ñ#Ð$4Ó5ˆØ�K‰K˜˜R eˆKÓ,ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÔà�K‰K˜˜R eˆKÓ,¨RÑ/ˆØ	ˆS�[‰[˜˜s¨ˆ[Ó/Ñ/ˆÜ�Q“œŸ™Ÿ™ qÓ)ˆBˆÜ˜˜BÕr7   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)rD   rD   rD   rD   rD   rD   rD   rD   )rD   rF   rD   rF   rD   rF   rD   rF   )rD   rD   rF   rF   rD   rD   rF   rF   )rD   rF   rF   rD   rD   rF   rF   rD   )rD   rD   rD   rD   rF   rF   rF   rF   )rD   rF   rD   rF   rF   rD   rF   rD   )rD   rD   rF   rF   rF   rF   rD   rD   )rD   rF   rF   rD   rF   rD   rD   rF   g      °@r¨  rû   rJ   )rò   rò   ù              ð¿y      ð?      ð¿)rò   rò   ù      ð?        rW  )ri   r=  rò   rò   )rX  ri   rò   rò   rŽ   y      @        )r×  rØ  r<   rJ   rJ   rJ   rJ   rJ   )r<   rJ   rJ   rJ   rJ   rJ   rJ   rJ   )rJ   g      ÀrJ   g      Àr<   rJ   rJ   rJ   )rJ   r<   rJ   rJ   rJ   rJ   rJ   rJ   )rJ   rJ   rJ   g      ÀrJ   g      Àr<   rJ   )rJ   rJ   rJ   r<   rJ   rJ   rJ   rJ   )rJ   rJ   rJ   rJ   rJ   g       ÀrJ   g      "À)rJ   rJ   rJ   rJ   rJ   r<   rJ   rJ   ri   rH  )r,   r   r   r   r   rW   rŸ   rv  s     r5   Útest_for_known_det_valuesz!TestDet.test_for_known_det_values   sç   € ä�H‰HÒ.Ú2Ú2Ú2Ú2Ú2Ú2Ú2ð4ó 5ˆô 	œ˜A› Ô&ô 	œœBŸI™I b›M×1Ñ1°!°QÓ7Ó8¸"Ô=ô
 �H‰HÒ6Ú6Ú6Ú6ð8ô @B¿|¹|ôMˆô 	œ˜A› Ô'ô �H‰HÒ8Ú6Ú8Ú6Ú8Ú6Ú8Ú6ð8ó 9ð :=ñ=ˆô 	œ˜A› Õ#r7   ÚtypÚAllNÚgGc                 óö   — t         j                  j                  d«      }d}|j                  ||g«      j                  |«      }t	        t        |«      t         j                  t         j                  z  «      sJ ‚y )NrJ  r@   )r,   r  r  rt  Ú
isinstancer   r.   r0   )rY   rZ  r  r  rZ   s        r5   Ú"test_sample_compatible_dtype_inputz*TestDet.test_sample_compatible_dtype_inputE  s\   € ô �i‰i×#Ñ#Ð$4Ó5ˆØˆØ�J‰J˜˜1�vÓ×%Ñ% cÓ*ˆÜœ#˜a›&¤2§:¡:´·±Ñ#=Ô?Ð?Ñ?r7   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]  rZ   rb   rC   rŽ   ó   aó   bÚVr�  éÈ   zdatetime64[s]ztimedelta64[s])Úziprz   Ú	TypeErrorr   r,   r   )rY   ÚmsgÚcÚts       r5   Útest_incompatible_dtype_inputz%TestDet.test_incompatible_dtype_inputM  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   ©rR   r   r   ©r<   r<   r<   zLast 2 dimensionsr]  )r   r   rR   zat least two-dimensional)r   r   r,   r“   r   rz   r{   rz  s    r5   Ú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:r4   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    rC   rp  r5  )rR   rD   rD   )r,   r“   r   r�   r†   r‘   r   )rY   r4   rZ   ra  s       r5   Útest_empty_dtypezTestDet.test_empty_dtypeh  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ÑBr7   c                 ó  — t        j                  d«      j                  dd«      j                  t         j                  «      }|j                  «       }t        |d¬«      }t        |d«       ||k(  j                  «       rJ ‚y )NrG  rR   Tr   rJ   )	r,   r   rW   rt  r
   r¡  r   r   rg  )rY   rZ   ÚacrG  s       r5   r  zTestDet.test_overwrite_at  sc   € ô
 �I‰I�a‹L× Ñ   AÓ&×-Ñ-¬b¯j©jÓ9ˆØ�V‰V‹XˆÜ�2 4Ô(ˆÜ˜˜bÔ!Ø˜‘G—=‘=”?Ð"Ð"�?r7   c                 ó’   — t        j                  g d¢g d¢g d¢g«      }|j                  d¬«       t        t	        |d¬«      d«       y )	N)rQ   rJ   r<   )ç      @rx   rO  rq  F)ÚwriteTr   rP   )r,   r   Úsetflagsr   r   rv  s     r5   Útest_readonly_arrayzTestDet.test_readonly_array  s6   € Ü�H‰H’l¢M²<Ð@ÓAˆØ	�
‰
˜ˆ
Ôäœ˜A¨4Ô0°#Õ6r7   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)NrD   rC   rR   zarray must not containr]  )r,   Úinfrz   r{   r   rv  s     r5   Útest_simple_check_finitez TestDet.test_simple_check_finite…  s?   € Ø�ˆV�aœŸ™�[Ð!ˆÜœ:Ð-EÔFñ 	Ü�ŒF÷	÷ 	ñ 	ús	   ¨=½A)r–   r—   r˜   rH  rM  r™   rš   r›   rU  rY  r,   Ú	typecodesr_  rn  rr  rœ   r�   r
   rž   rŸ   rt  r  r{  r~  )Ú.0rc   s   00r5   rB  rB  ô  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óùóA%7s   Á$C
rB  c                 óz   — t        | «      }|rt        |«      }t        || «      }t        ||«      }t        ||«      S )N)r	   r   r   r   )rZ   rb   ÚcmplxÚatÚa1Úb1s         r5   Údirect_lstsqr†  ‹  s9   € Ü	�1‹€BÙÜ�r‹]ˆÜ	ˆR�‹€BÜ	ˆR�‹€BÜ��R‹=Ðr7   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 )NrD   r=   r?   r@   rŽ   ©TF©)©rD   r   rÿ   r�  )rN   ©r?   r@   ©Úlapack_driverr*   r›  r   rC   úexpected efficient rank 2, got r¨  údriver: )r†  r„   Úerr_msg)ÚREAL_DTYPESr,   r   rˆ  Úlapack_driversr¡  r   r   r   r   r6   r†   )rY   r†   rZ   r’  r–  Úbtr„  rb   r…  r±  rc   r"  s               r5   Ú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r7   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 )NrD   rC   r@   rû   rR   rŽ   rì   r�  r‘  r   r‹  r“  ©Úaxisr¨  r”  ©r„   r†  r•  )gã¶mÛ¶mÛ¿g›¶mÛ¶më?)r–  r,   r   rˆ  r—  r¡  r   Úsumr   r   r   r-  r6   r†   )rY   r†   rZ   rb   r’  r–  r„  r…  r±  rc   Ú	residualsr"  s               r5   Ú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r7   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é  rC   r@   rû   rR   rŽ   )rD   rÌ   rR   r�  r‘  r   r‹  rD   r“  r›  r¨  r”  r�  )yîu¯{ÝëÞ¿E(BŠÐ?yÓ½îu¯{í?(YÉJV²Ò?)ÚCOMPLEX_DTYPESr,   r   rˆ  r—  r¡  r   r   rž  rA  r   r   r-  r6   r†   )rY   r†   rZ   rb   r’  r–  r„  r…  r±  rc   r¤  rŸ  r"  s                r5   Ú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r7   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Ž   rD   rC   r�  r‘  r   r“  )gÌÆqÇq¬¿gÇqÇq¼?gdÇqÇÑ?r¨  r”  r�  )r–  r,   r   rˆ  r—  r¡  r   r   r   r6   r†   )rY   r†   rZ   rb   r’  r–  r„  r…  r±  rc   r"  s              r5   Ú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r7   r†   r  )r=   rh  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@   rR   r‘  r   rC   úexpected efficient rank ú, got iô  r”  r�  éè  )r,   r  ÚRandomStaterÓ  r'  r¡  r   r   r
   r   r   r6   r†   ©rY   r†   r  r’  r–  r  rZ   r!  rb   r„  r…  r±  rc   r"  s                 r5   Útest_random_exactzTestLstsq.test_random_exact  s‡  € ô
 �i‰i×#Ñ# DÓ)ˆä�J‰J�s—z‘z 1 a &Ó)°Ô7ˆÜ�q“ò 	+ˆAØ˜C ! A q D¡'™MÑ*ˆAˆa�ˆdŠGð	+ä�q“ó 	>ˆAÜ—
‘
˜3Ÿ:™: q¨! fÓ-°UÔ;ˆAà—‘“ˆBØ—‘“ˆBÜ˜˜BØ&3Ø$-Ø$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ6°q°cð :Ø˜#ðô  àœŸ
™
Ñ"ÜÜ˜a ›) QØ"¤Y¨r¯x©xÓ%8Ñ8Ø"¤Y¨r¯x©xÓ%8Ñ8Ø$,¨]¨OÐ"<ö	>ô  Ü˜a ›) QØ#¤i°·±Ó&9Ñ9Ø#¤i°·±Ó&9Ñ9Ø$,¨]¨OÐ"<÷	>ñ)	>r7   z$may segfault on Alpine, see gh-17630rq  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  ri   rŽ   r=   r%  rC   rR   r‘  r   r§  r¨  i�  r”  r�  r©  )r,   r  rª  rÓ  r'  r¡  r   r   rŸ   r   r   r6   r†   r«  s                 r5   Útest_random_complex_exactz#TestLstsq.test_random_complex_exact(  s   € ô �i‰i×#Ñ# DÓ)ˆä�J‰J�s—z‘z 1 a &Ó)¨B¨s¯z©z¸1¸a¸&Ó/AÑ,AÑAØ"ô$ˆä�q“ò 	+ˆAØ˜C ! A q D¡'™MÑ*ˆAˆa�ˆdŠGð	+ä�q“ó 	>ˆAÜ—
‘
˜3Ÿ:™: q¨! fÓ-°UÔ;ˆAà—‘“ˆBØ—‘“ˆBÜ˜˜B¨mØ$-Ø$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ6°q°cð :Ø˜#ðô  àœŸ™Ñ$ÜÜ˜a ›) QØ"¤Y¨r¯x©xÓ%8Ñ8Ø"¤Y¨r¯x©xÓ%8Ñ8Ø$,¨]¨OÐ"<ö	>ô  Ü˜a ›) QØ#¤i°·±Ó&9Ñ9Ø#¤i°·±Ó&9Ñ9Ø$,¨]¨OÐ"<÷	>ñ'	>r7   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=   é   )rh  rC   r�  rŽ   r=   r%  r@   rR   r‘  r   rC   r§  r¨  ©r‚  r¨  r”  r�  )r,   r  rª  r–  rˆ  r—  rÓ  r'  r¡  r   r   r   r†  r6   r†   ©rY   r  r†   r  Úmr’  r–  rZ   r!  rb   r„  r…  r±  rc   r"  s                  r5   Útest_random_overdetzTestLstsq.test_random_overdetM  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r7   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�  ri   rŽ   r=   r%  rC   rR   r‘  r   r§  r¨  rD   r²  r¨  r”  r�  )r,   r  rª  r¢  rˆ  r—  rÓ  r'  r¡  r   r   r   r†  r6   r†   r³  s                  r5   Útest_random_complex_overdetz%TestLstsq.test_random_complex_overdeti  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r7   c           
      ó   — t        j                  «       5  t        j                  ddt        «       d d d «       t	        j
                  d«      }t        j                  t        dt        j                  dd«      D ]Æ  \  }}}}}|j                  |«      }t	        j
                  ||¬«      }|j                  «       }	|j                  «       }
t        |	|
||||¬«      }|d   }|d	   }t        |d	k(  d
|› �«       t        t!        ||«      |dt#        |j$                  «      z  dt#        |j$                  «      z  d|› �¬«       ŒÈ y # 1 sw Y   �ŒxY w)Nrf  zIinternal gelsd driver lwork query error,.*Falling back to 'gelss' driver.))rD   r=   r�  rŽ  r�  rŽ   )r’  ru   r*   r›  r   rC   r“  r¨  r”  r�  )ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr,   r   Ú	itertoolsÚproductr–  rˆ  r—  rt  r¡  r   r   r   r   r6   r†   )rY   rƒ  r†   r˜  r’  r–  ru   rZ   rb   r„  r…  r±  rc   r"  s                 r5   rv   zTestLstsq.test_check_finite‡  sF  € Ü×$Ñ$Ó&ñ 	Wä×#Ñ# Hð%FÜGUôW÷	Wô �X‰XÐ)Ó*ˆä×ÑœkØLÜ'×6Ñ6Ø+Ø+ó	-ò	@Ñ=ˆE�2�} i°ð —	‘	˜%Ó ˆAÜ—‘˜ 5Ô)ˆAð —‘“ˆBØ—‘“ˆBÜ˜˜B¨mØ%1¸yØ$-ô/ˆCð �A‘ˆAØ�A‘ˆAÜ�A˜‘FÐ=¸a¸SÐAÔBÜœC  1›I qØ!#¤i°·±Ó&8Ñ!8Ø!#¤i°·±Ó&8Ñ!8Ø&.¨}¨oÐ$>ö@ñ'	@÷	Wñ 	Wús   •EÅEc           
      óÌ  — dD ]ß  \  }}t        j                  |«      }t        t        j                  |«      |«      \  }}}}t	        |t        j                  |d   f|dd  z   «      «       |d   rt        j
                  d«      n#t         j                  j                  |d¬«      dz  }t	        ||«       t        |dk(  d«       t	        |t        j
                  d«      «       Œá y )N))©r   rC   r�   ))r   r@   rÀ  )©r@   r   )r@   )rÁ  r®  rD   r�   r   r›  rC   zexpected rank 0)	r,   r’   r   r   r   r“   r�  r   r   )	rY   Úa_shapeÚb_shaperb   rc   ÚresiduesÚrankÚsÚresidues_should_bes	            r5   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Õ+ñ	,r7   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†   )
rY   r‹  rŒ   rZ   rb   rc   rÄ  rÅ  rÆ  r‘  s
             r5   rt  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˜+Ò%Ð%Ñ%r7   N)r–   r—   r˜   r—  r™  r   r£  r¥  r™   rš   r›   r–  r¬  rÜ  r&   r¢  r®  rµ  r·  rv   r•   rœ   r�   r,   r
   rž   rŸ   rt  r    r7   r5   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ñ&r7   rˆ  c                   ó°   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eej                   eej$                  g«      d
„ «       Zy)ÚTestPinvc                 ó    — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        t	        ||«      t        j                  d«      «       y ©Nrì   rñ  rò  rŽ   rR   ©r   r�   r   r   r   r,   r‘   ©rY   rZ   Úa_pinvs      r5   Útest_simple_realzTestPinv.test_simple_realÂ  s6   € Ü’9šiªÐ4¼EÔBˆÜ�a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r7   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Ž   ri   )rF  ró  rG   )rA   rû   r@   )rR   rC   rD   rR   rÍ  rÎ  s      r5   rý   zTestPinv.test_simple_complexÇ  s[   € Ü’Išyª*Ð5ÜôØ¤ª
²IºyÐ'IÜ-2ô"4ñ 4ñ4ˆô �a“ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r7   c                 óŽ   — t        g d¢g d¢g d¢gt        ¬«      }t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrì   rñ  ©rG   ró  rG  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   ©rY   rZ   rÏ  r±   s       r5   Útest_simple_singularzTestPinv.test_simple_singularÎ  sD   € Ü’9šiªÐ3¼5ÔAˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r7   c                 óˆ   — t        g d¢g d¢gt        ¬«      }t        |«      }t        ddgddgdd	gg«      }t        ||«       y )
Nrì   rñ  rŽ   g’Ö‹ã8î¿g#¬ÇqÜ?g#¬Çq¼¿g#¬Çq¼?gIëÅqç?g#¬ÇqÌ¿rØ  rÙ  s       r5   Útest_simple_colszTestPinv.test_simple_colsÖ  sN   € Ü’9šiÐ(´Ô6ˆÜ�a“ˆÜ˜;¨
Ð3Ø&¨
Ð3Ø% {Ð3ð5ó 6ˆô 	" &¨(Õ3r7   c                 óˆ   — t        ddgddgddggt        ¬«      }t        |«      }t        g d¢g d	¢g«      }t        ||«       y )
NrD   rC   rR   r@   rû   rA   rŽ   )g·DpTUUõ¿gÚÁQUUÕ¿g“vWUUå?)g·DpTUUñ?gÚÁQUUÕ?g&í>®ªªÚ¿rØ  rÙ  s       r5   Útest_simple_rowszTestPinv.test_simple_rowsÞ  sK   € Ü�A�q�6˜A˜q˜6 A q 6Ð*´%Ô8ˆÜ�a“ˆÜÒ@Ú?ðAó Bˆä! &¨(Õ3r7   c                 ó˜   — t        g d¢g d¢g d¢g«      }t        |d¬«      }t        t        ||«      t	        j
                  d«      «       y )Nrì   )r@   rû   r¯   rò  Frt   rR   )r   r   r   r   r,   r‘   rÎ  s      r5   rv   zTestPinv.test_check_finiteå  s7   € Ü’9šjª*Ð5Ó6ˆÜ�a eÔ,ˆÜ!¤# a¨£.´"·&±&¸³)Õ<r7   c                 óp   — g d¢g d¢g d¢g}t        |«      }t        g d¢g d¢g d¢g«      }t        ||«       y )Nrì   rñ  rÔ  rÕ  rÖ  r×  )r   r   r   rÙ  s       r5   Útest_native_list_argumentz"TestPinv.test_native_list_argumentê  s=   € Úš	¢9Ð-ˆÜ�a“ˆÜÒLÚKÚKðMó Nˆô 	" &¨(Õ3r7   c                 óè  — t         j                  j                  d«      }d}t        |j                  ||f«      «      \  }}t        j                  d«      j                  dd«      }|j                  «       }d|d<   d}d	}t        ||d
¬«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t         j                  j                  |
«      dd¬«       t        t         j                  j                  |«      dd¬«       t        |||¬«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t         j                  j                  |
«      dd¬«       t        t         j                  j                  |«      dd¬«       y )Nr  rk  g     €A@rG   rû   gü©ñÒMbP?r�   çñhãˆµøä>gš™™™™™©?rJ   r…  gü©ñÒMb@?rœ  r  g;ßO�—î@ç{®Gáz„?rƒ   )r,   r  r  r!   r   rW   r¡  r   r   r�  r   )rY   r  r  ÚqÚ_Úa_mrZ   r†  r„   Úa_pÚadiff1Úadiff2s               r5   Útest_atol_rtolzTestPinv.test_atol_rtolò  s:  € Ü�i‰i×#Ñ# DÓ)ˆØˆä�#—*‘*˜a ˜VÓ$Ó%‰ˆˆ1Ü�i‰i˜‹o×%Ñ% a¨Ó+ˆØ�H‰H‹JˆØˆˆ$‰ØˆØˆô �3˜T¨Ô+ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆô 	œŸ	™	Ÿ™ vÓ.°¸5ÕAÜœŸ	™	Ÿ™ vÓ.°¸FÕCô �3˜T¨Ô-ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆÜœŸ	™	Ÿ™ vÓ.°¸DÕAÜœŸ	™	Ÿ™ vÓ.°¸DÖAr7   r4   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‘   ©rY   r4   rZ   rÏ  s       r5   r•   zTestPinv.test_empty  sU   € ä�H‰H�V 2Ô&ˆÜ�a“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r7   N)r–   r—   r˜   rÐ  rý   rÚ  rÜ  rÞ  rv   rá  rë  r™   rš   r›   r�   r,   r
   rž   rŸ   r•   r    r7   r5   rÊ  rÊ  Á  sb   „ ò=ò
=ò4ò4ò4ò=ò
4òBð8 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r7   rÊ  c                   ó¤   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  deej                  eej                   g«      d„ «       Zy	)
ÚTestPinvSymmetricc                 óô   — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |«      }t        t        j                  ||«      t        j                  d«      «       y rÌ  )r   r�   r,   r   r:  r   r   r‘   rÎ  s      r5   rÐ  z"TestPinvSymmetric.test_simple_real  sN   € Ü’9šiªÐ4¼EÔBˆÜ�F‰F�1�a—c‘c‹NˆÜ�q“ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r7   c                 óN  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        j
                  j                  |«      \  }}}|dxx   dz  cc<   t        j                  ||z  |«      }t        |«      }t        |«      }t        ||«       y )Nrì   rñ  rÔ  rŽ   r   rF   )
r   r�   r,   r   r:  r�  Úsvdr   r   r   )rY   rZ   r]   rÆ  ÚvtrÏ  Úa_pinvhs          r5   Útest_nonpositivez"TestPinvSymmetric.test_nonpositive  s}   € Ü’9šiªÐ3¼5ÔAˆÜ�F‰F�1�a—c‘c‹NˆÜ—9‘9—=‘= Ó#‰ˆˆ1ˆbØ	ˆ!‹�‰
‹Ü�F‰F�1�q‘5˜"ÓˆÜ�a“ˆÜ˜“(ˆÜ! &¨'Õ2r7   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   rA  r:  r   r   r‘   rÎ  s      r5   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Õ?r7   c                 ó  — t        g d¢g d¢g d¢gt        ¬«      }t        j                  ||j                  «      }t        |j                  «       «      }t        t        j                  ||«      t        j                  d«      «       y rÌ  )	r   r�   r,   r   r:  r   Útolistr   r‘   rÎ  s      r5   rá  z+TestPinvSymmetric.test_native_list_argument/  sU   € Ü’9šiªÐ4¼EÔBˆÜ�F‰F�1�a—c‘c‹NˆÜ�q—x‘x“zÓ"ˆÜ!¤"§&¡&¨¨FÓ"3´R·V±V¸A³YÕ?r7   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      }t        ||z  |z  |d¬«       t        ||z  |z  |d¬«       y )N)rD   rF   r   )rF   rC   rF   )r   rF   rD   r‚   rœ  )r,   r   r   r   )rY   rZ   Úps      r5   Útest_zero_eigenvaluez&TestPinvSymmetric.test_zero_eigenvalue5  sJ   € ô �H‰H’j¢+ªzÐ:Ó;ˆÜ�!‹HˆÜ˜˜A™ ™	 1¨5Õ1Ü˜˜A™ ™	 1¨5Ö1r7   c                 ó   — t         j                  j                  d«      }d}t        |j                  ||f«      «      \  }}t        j                  g d¢dg|dz
  z  z   «      }|j
                  |z  |z  }t        j                  g d¢dg|dz
  z  z   «      }|j
                  |z  |z  }d}d	}t        ||d¬
«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t        |
«      |d¬«       t        t        |«      dd¬«       t        |||¬
«      }	||	z  |z  |z
  }
||	z  |z  |z
  }t        t        |
«      dd¬«       t        t        |«      dd¬«       y )Nr  rk  )r@   rR   rC   rD   çvk™Çó?g’ï­£Ãä>guŒñ‚œ°>rA   )r@   rR   rC   rD   rý  rJ   rJ   rã  gü‹ 1“¨?r…  r%  rƒ   r„  g•dyáý¥=rœ  ç-Cëâ6?)	r,   r  r  r!   rn   r:  r   r   r   )rY   r  r  rå  ræ  rZ   rç  r†  r„   rè  ré  rê  s               r5   rë  z TestPinvSymmetric.test_atol_rtol=  sD  € Ü�i‰i×#Ñ# DÓ)ˆØˆä�#—*‘*˜a ˜VÓ$Ó%‰ˆˆ1Ü�G‰GÒ2°g°YÀÀ!Á±_ÑDÓEˆØ�C‰C�!‰G�a‰KˆÜ�g‰gÒ/°2°$¸¸!¹±*Ñ<Ó=ˆØ�c‰c�C‰i˜!‰mˆØˆØ!ˆä�A˜D rÔ*ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆô 	œ˜V› d°Õ5Üœ˜V› e°%Õ8ô �A˜D tÔ,ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆäœ˜V› d°Õ5Üœ˜V› d°Ö5r7   r4   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       r5   r•   zTestPinvSymmetric.test_emptyY  sU   € ä�H‰H�V 2Ô&ˆÜ�q“ˆØ�{‰{˜aÒÐÐØ�|‰|œt¤B§F¡F¨1°BÔ$7Ó8×>Ñ>Ò>Ð>Ñ>r7   N)r–   r—   r˜   rÐ  rõ  rý   rá  rû  rë  r™   rš   r›   r�   r,   r
   rž   rŸ   r•   r    r7   r5   rï  rï    sZ   „ ò@ò3ò@ò@ò2ò6ð8 ‡[�[×Ñ˜T E¨2¯:©:°wÀÇÁÐ#MÓNñ?ó Oñ?r7   rï  Úscale)r  r<   rÙ  Úpinv_c                 ó¾   — t        j                  ddgddgg«      | z  }t        j                  dt        j                  |«      z  «      } ||«      }t        ||«       y )NrD   r   g»½×Ùß|Û=r<   )r,   r   rn   r   )r   r  rc   r±   Úx_invs        r5   Útest_auto_rcondr  a  sQ   € ô 	�‰�1�a�&˜1˜e˜*Ð%Ó&¨Ñ.€AÜ�w‰w�rœBŸG™G A›J‘Ó'€HÙ�!‹H€EÜ�E˜8Õ$r7   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=   rH   rƒ   rC   ÚComplex)ri   rf   y              @)
r,   r  r   Úmaxr1   r2   Úrealr   r   Úsqrt)rY   r†   rc   r‰  s       r5   Ú
test_typeszTestVectorNorms.test_typesl  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¬¯©°«¸#Ö>ñ		?r7   c                 óR   — t        dgt        ¬«      }t        t        |«      |«       y )NrÙ  rŽ   )r   r
   r   r   rv  s     r5   Útest_overflowzTestVectorNorms.test_overflowy  s    € ô �4�&¤Ô(ˆÜœD ›G QÕ'r7   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ç     ˆÃ@rD   i'  rŽ   r€   rä  rœ  zO: Result should equal either 0.0 or 0.5 (depending on implementation of snrm2).rJ   )r•  )r   r
   r   r   ÚAssertionErrorr   )rY   rZ   rk  s      r5   Ú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)rD   r   rR   r   rC   rì   rR   )r   r   rz  s    r5   Útest_zero_normzTestVectorNorms.test_zero_normŒ  s$   € Ü”Tš) QÓ'¨Ô+Ü”Tš) QÓ'¨Õ+r7   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 )
NrC   rD   rR   r@   ra  r›  ç5ýD+Ø@çÃ6ûf~@rx  )r,   r   r   r   rv  s     r5   Ú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Õ;r7   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 )NrC   rD   rR   r@   ra  T)rœ  Úkeepdimsr  r  )rC   rD   rC   rx   g      @)r,   r   r   r   r   r�   rN  s      r5   Ú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ÕNr7   z64-bit BLAS requiredrq  c                 ó¢   — t        d¬«       t        j                  dgt        j                  ¬«      }d|d<   t	        |«      }~t        |d«       y )NihB  )Úfree_mbl        rŽ   rD   rF   r<   )r%   r,   r   r.   r   r   )rY   rc   r¤  s      r5   Útest_large_vectorz!TestVectorNorms.test_large_vectorœ  s?   € ä %Õ(Ü�H‰H�e�W¤B§J¡JÔ/ˆØˆˆ"‰Ü�1‹gˆØÜ˜˜SÕ!r7   N)r–   r—   r˜   r  r  r  r  r  r  r™   rš   rÜ  r'   r  r    r7   r5   r  r  j  sN   „ ò?ò(òAò,ò<ò
Oð ‡[�[×Ñ˜I˜Ð.DÐÓEñ"ó Fñ"r7   r  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMatrixNormsc           
      óv  — t         j                  j                  d«      }dD �]”  \  }}t         j                  t         j                  t         j
                  t         j                  t         j                  fD �]=  }d|j                  ||f«      j                  |«      z  }t        j                  |j                  t         j                  «      r*|d|j                  ||f«      z  z  }t         j                  }nt         j                  }d ddddd	t         j                  t         j                   fD ]ƒ  }t        ||¬
«      }t         j                  j                  ||¬
«      }	t        j                   ||	«      rŒHt         j                  j                  |j                  |«      |¬
«      }	t#        ||	«       Œ… �Œ@ �Œ— y )Nr  )rl   )rD   rR   )rR   rD   r­  rK  )rû   r@   rF  y              $@ÚfrorD   rF   rC   rÖ  )Úord)r,   r  r  r
   r.   rŸ   r0   Úint64r‡  rt  r�  r†   rž  r}  r   r�  r3  r   )
rY   r  r  r´  rm  r  Út_highrš  ÚactualÚdesireds
             r5   Útest_matrix_normsz!TestMatrixNorms.test_matrix_norms¨  sH  € ä�i‰i×#Ñ# DÓ)ˆØBó 	9‰DˆAˆqÜ—Z‘Z¤§¡¬R¯\©\¼2¿=¹=Ì"Ï(É(ÐRó 9�Ø˜×,Ñ,¨a°¨VÓ4×;Ñ;¸AÓ>Ñ>�Ü—=‘= §¡¬"×*<Ñ*<Ô=Ø˜˜s×2Ñ2°A°q°6Ó:Ñ:Ñ:�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ñ	9r7   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 )
NrC   rD   rR   r@   ra  r�  )r$  rœ  r   rÿ   )r,   r   r   r}  Úswapaxesr   r   r�   )rY   rZ   rb   rl  ra  s        r5   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Ñ-Õ.Ñ-Õ.r7   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   ra  rŽ   rC   rR   r@   rû   r�  T)r$  rœ  r  rD   rÿ   )r,   r   rW   r   r}  r   r   r�   )rY   rZ   rb   rl  s       r5   r  z!TestMatrixNorms.test_keepdims_kwdÍ  sf   € Ü�I‰I�c Ô%×-Ñ-¨a°°A°qÓ9ˆÜ�œŸ™ V°dÔ;ˆÜ�˜ °Ô6ˆÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r7   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�   rJ   r   r›  r�   T)r  rl   )r   rR   r5  )r,   r“   r   r   r   rv  s     r5   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@ÕAr7   N)r–   r—   r˜   r)  r  r  r•   r    r7   r5   r!  r!  ¦  s   „ ò9ò(/ò"$ó	Br7   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 ©NrÏ  r5  )r$   r   rz  s    r5   Ú
test_solvezTestOverwrite.test_solveá  ó   € ÜœE F¨D >Õ2r7   c                 ó(   — t        t        ddg«       y r2  )r$   r   rz  s    r5   Útest_solve_triangularz#TestOverwrite.test_solve_triangularä  s   € ÜÔ,¨v°t¨nÕ=r7   c                 ó"   — t        d„ ddg«       y )Nc                 ó   — t        d| |«      S )NrN   )r   )r[   rb   s     r5   ú<lambda>z1TestOverwrite.test_solve_banded.<locals>.<lambda>è  s   € ¬,°v¸rÀ1Ó*E€ r7   )r@   rA   ©rA   r#   rz  s    r5   Útest_solve_bandedzTestOverwrite.test_solve_bandedç  s   € ÜÑEØ# T˜Nõ	,r7   c                 ó(   — t        t        ddg«       y )NrÈ  r:  )r$   r   rz  s    r5   Útest_solveh_bandedz TestOverwrite.test_solveh_bandedë  s   € ÜœM¨F°D¨>Õ:r7   c                 ó&   — t        t        dg«       y ©NrÏ  )r$   r   rz  s    r5   Útest_invzTestOverwrite.test_invî  ó   € ÜœC & Õ*r7   c                 ó&   — t        t        dg«       y r?  )r$   r   rz  s    r5   Útest_detzTestOverwrite.test_detñ  rA  r7   c                 ó(   — t        t        ddg«       y )N)rR   rC   r5  )r$   r   rz  s    r5   Ú
test_lstsqzTestOverwrite.test_lstsqô  r4  r7   c                 ó&   — t        t        dg«       y r?  )r$   r   rz  s    r5   Ú	test_pinvzTestOverwrite.test_pinv÷  s   € ÜœD 6 (Õ+r7   c                 ó&   — t        t        dg«       y r?  )r$   r   rz  s    r5   Ú
test_pinvhzTestOverwrite.test_pinvhú  s   € ÜœE F 8Õ,r7   N)r–   r—   r˜   r3  r6  r;  r=  r@  rC  rE  rG  rI  r    r7   r5   r0  r0  à  s/   „ ò3ò>ò,ò;ò+ò+ò3ò,ó-r7   r0  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)rD   rC   rR   rû   )rD   rF   rD   r   )r,   r   r   r   r   r   ©rY   rl  rb   rc   r"  s        r5   Útest_basic1zTestSolveCirculant.test_basic1 	  sD   € Ü�H‰H’\Ó"ˆÜ�H‰H’]Ó#ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr7   c                 óÖ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )N©rD   rC   éýÿÿÿr	  rk  r@   rR   ©r,   r   r   rW   r   r   r   r   rN  s        r5   Útest_basic2zTestSolveCirculant.test_basic2	  sP   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! QÓ'ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr7   c                 ó*  — t        j                  g d¢«      }t        j                  d«      j                  ddd«      }t	        ||«      }t        t        |«      |j                  dd«      «      j                  |j                  «      }t        ||«       y )NrQ  r½  r@   rR   rC   rF   )	r,   r   r   rW   r   r   r   r�   r   rN  s        r5   Útest_basic3zTestSolveCirculant.test_basic3	  sl   € ä�H‰H’^Ó$ˆÜ�I‰I�b‹M×!Ñ! ! Q¨Ó*ˆÜ˜A˜qÓ!ˆÜ”)˜A“, §	¡	¨!¨RÓ 0Ó1×9Ñ9¸!¿'¹'ÓBˆÜ˜˜1Õr7   c                 óÜ   — t        j                  g d¢«      }t        j                  d«      j                  dd«      dz   }t	        ||«      }t        t        |«      |«      }t        ||«       y )N)ré  rR  ræ   rû   ró  r@   rC   y              à?rS  rN  s        r5   rj   zTestSolveCirculant.test_complex	  sV   € ä�H‰HÒ&Ó'ˆÜ�I‰I�a‹L× Ñ   AÓ&¨Ñ-ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr7   c                 óà   — t         j                  j                  d«      }|j                  d«      }|j                  d«      }t	        ||«      }t        t        |«      |«      }t        ||«       y )Ni1Ô  rZ  )r,   r  rª  r‡  r   r   r   r   )rY   r  rl  rb   rc   r"  s         r5   Útest_random_b_and_cz&TestSolveCirculant.test_random_b_and_c	  s\   € ä�i‰i×#Ñ# EÓ*ˆØ×Ñ Ó#ˆØ×Ñ Ó#ˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr7   c                 óô   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }t        t	        |«      |«      \  }}}}t        ||«       t        t        t        ||«       y )N©rD   rD   r   r   )rD   rC   rR   r@   r   )re  )r,   r   r   r   r   r   rz   r   )rY   rl  rb   rc   r"  r¤  ÚrnkrÆ  s           r5   r  z TestSolveCirculant.test_singular(	  s\   € ä�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆÜ˜A˜q¨7Ô3ˆÜœy¨›|¨QÓ/‰ˆˆ3��QÜ˜˜1ÔÜ”k¤?°A°qÕ9r7   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)rF   g      @rR   g      @)rD   rA   rA   g      @)r   r   rD   rD   r[  )rD   rF   r   r   rD   )Úbaxis)r@   rC   rR   r   rF   )r^  Úoutaxis)rC   rR   r@   rC   )Úcaxis)r,   r   r   r   r�   Ú
empty_liker   r   r6  r:  r   Úmoveaxisr+  )rY   rl  rb   rc   r±   s        r5   Útest_axis_argsz!TestSolveCirculant.test_axis_args1	  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Õ$r7   c                 ón   — g d¢}g d¢}t        ||«      }t        t        |«      |«      }t        ||«       y rM  )r   r   r   r   rN  s        r5   rŠ   z-TestSolveCirculant.test_native_list_argumentsJ	  s2   € âˆÚˆÜ˜A˜qÓ!ˆÜ”)˜A“, Ó"ˆÜ˜˜1Õr7   Ú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�   rR   r�   )r,   r   r   r�   r†   r   r’   r“   )rY   re  rŒ   rl  rb   rc   Úx1s          r5   r•   zTestSolveCirculant.test_emptyR	  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Ò"Ð"Ñ"r7   N)r–   r—   r˜   rO  rT  rV  rj   rY  r  rc  rŠ   r™   rš   r›   rœ   r�   r,   r
   rž   rŸ   r•   r    r7   r5   rK  rK  þ  s�   „ òòòòòò:ò%ò2ð ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ#ó Vó Vñ#r7   rK  c                   ó¶   — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  deeej"                  eej&                  g«      d	„ «       Zy
)ÚTestMatrix_Balancec                 ó.   — t        t        t        d«       y )NzSome string for fail)rz   r{   r    rz  s    r5   Útest_string_argz"TestMatrix_Balance.test_string_argc	  s   € ä”j¤.Ð2HÕIr7   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 )NrD   rC   rR   )rz   r{   r    r,   r   r}  r!  rz  s    r5   Útest_infnan_argz"TestMatrix_Balance.test_infnan_argg	  sT   € Ü”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5ô	7ä”j¤.Ü—h‘h  A ¨¬B¯F©F¨Ð4Ó5õ	7r7   c           	      óÞ   — t        t        j                  ddgddgg«      «      \  }}t        t        j                  t        j
                  t        j                  |«      «      «      dg«       y )Nr©  rD   r   rû   )r    r,   r   r   ÚdiffÚlog2rn   )rY   ræ  r"  s      r5   Útest_scalingzTestMatrix_Balance.test_scalingm	  sN   € ÜœbŸh™h¨¨q¨	°D¸!°9Ð'=Ó>Ó?‰ˆˆ1ô 	œŸ™¤§¡¬¯©°«
Ó 3Ó4°q°cÕ:r7   c                 ó¦   — t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}t        t	        ||«      j                  |«      |«       y )N)rD   r   rþ  )rD   rD   rä  )r  g      Y@rD   )r,   r   r    r   r   r   )rY   r  rc   r"  s       r5   Útest_scaling_orderz%TestMatrix_Balance.test_scaling_ordert	  s>   € Ü�H‰H’l¢L²-Ð@ÓAˆÜ˜aÓ ‰ˆˆ1Üœ˜a ›Ÿ™¨Ó*¨AÕ.r7   c                 ó   — t        t        j                  ddgddgg«      d¬«      \  }\  }}t        t        j                  t        j
                  |«      «      dg«       t        |t        j                  d«      «       y )Nr©  rD   r   ©Úseparaterû   rC   )r    r,   r   r   ro  rp  r   r   )rY   ræ  r"  Úzs       r5   Útest_separatez TestMatrix_Balance.test_separatey	  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›<Õ(r7   c                 ó\  — t        t        j                  d«      t        j                  t        j                  d«      «      t        j                  d«      «      }t	        |d¬«      \  }\  }}t        |t        j                  |«      «       t        |t        j                  g d¢«      «       y )Nr©  rÏ  rD   ru  )r   rD   rA   rû   r@   rR   rC   )r   r,   r’   rJ  r    r   Ú	ones_liker   )rY   r  rc   r"  rw  s        r5   Ú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Ó:Õ;r7   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)rJ   rJ   rJ   rJ   ç�íµ ÷ÆÀ>)rJ   rJ   rJ   rJ   rJ   )rQ   rQ   rJ   rJ   rJ   )rJ   rJ   r}  rJ   rJ   )rå  rJ   rJ   rJ   )rJ   rO  rJ   rJ   )r<   rJ   rå  rJ   )rJ   r<   rJ   rO  )rØ  rJ   r<   rJ   )rO  rO  ç       €r<   )rØ  r~  r~  rJ   )rO  r~  r<   rO  rD   ru  r   )
r,   r   r    ra  r   r�   r   rn   r   r   )rY   Úcasesr  rc   r"  rÆ  rú  Úips           r5   Ú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ñ	3r7   r4   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   rC   Tru  )r,   r“   r    r\  r‘   r†   )rY   r4   rZ   rb   rm  Úb_nÚt_nr   ÚpermÚscale_nÚperm_ns              r5   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Ÿ\™\Ò)Ð)Ñ)r7   N)r–   r—   r˜   r(   rk  rm  rq  rs  rx  r{  r�  r™   rš   r›   rœ   r�   r,   r
   rž   rŸ   r•   r    r7   r5   ri  ri  b	  sm   „ ØñJó ðJò7ò;ò/ò
)ò<ò3ð8 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ*ó Tñ*r7   ri  r�   )Mr½  r¹  Únumpyr,   r   r   r   r   r   r   r	   r
   Únumpy.testingr   r   r   r   r   r   r™   r   rz   Úscipy.linalgr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Úscipy.linalg._testutilsr$   Úscipy._lib._testutilsr%   r&   Úscipy.linalg.blasr'   Úscipy.conftestr(   r.   r-   r–  rŸ   r0   r/   r¢  ÚDTYPESrš   r›   rÞ  r6   r9   r¢   rð   rà  rï  rB  r†  rˆ  rÊ  rï  r  r  r!  r0  rK  ri  r    r7   r5   ú<module>r�     sÀ  ðÛ Û ã ÷÷ ó ÷/÷ /ó Ý *÷=÷ =÷ =÷ =õ =õ
 8ß <Ý 'Ý .à�z‰z˜2Ÿ:™: r§}¡}Ð5€Ø—,‘, §¡¨r¯~©~Ð>€Ø	�~Ñ	%€ð #ŸK™K×3Ñ3Ø�m TÐ*¨]¸EÐ,BÀBÐGóÐ ò
÷cVñ cV÷LIVñ IV÷X
^	0ñ ^	0÷BOJñ OJ÷d`(ñ `(÷F	Tñ Tón÷j&ñ j&÷Z	R?ñ R?÷jH?ñ H?ðV ‡�×Ñ˜Ð"3Ó4Ø‡�×Ñ˜ 4¨ -Ó0ñ%ó 1ó 5ð%÷9"ñ 9"÷x7Bñ 7B÷t-ñ -÷<a#ñ a#÷HT*ò T*r7   