§
    µ³Ùg#4 ã                   óX  — d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z-m.Z. d d	l/m0Z0 ej
        ej1        ej2        fZ3ej4        ej5        ej6        fZ7e3e7z   Z8d
„ Z9 G d„ d¦  «        Z: G d„ d¦  «        Z; G d„ d¦  «        Z< G d„ d¦  «        Z= G d„ d¦  «        Z> G d„ d¦  «        Z?d,d„Z@ G d„ d¦  «        ZA G d„ d¦  «        ZB G d„ d¦  «        ZCejD         E                    dd¦  «        ejD         E                    d eef¦  «        d!„ ¦   «         ¦   «         ZF G d"„ d#¦  «        ZG G d$„ d%¦  «        ZH G d&„ d'¦  «        ZI G d(„ d)¦  «        ZJ G d*„ d+¦  «        ZKdS )-é    N)ÚarangeÚarrayÚdotÚzerosÚidentityÚ	conjugateÚ	transposeÚfloat32)Úrandom)Úassert_equalÚassert_almost_equalÚassert_Úassert_array_almost_equalÚassert_allcloseÚassert_array_equalÚsuppress_warnings)Úraises)ÚsolveÚinvÚdetÚlstsqÚpinvÚpinvhÚnormÚsolve_bandedÚsolveh_bandedÚsolve_triangularÚsolve_circulantÚ	circulantÚLinAlgErrorÚ
block_diagÚmatrix_balanceÚqrÚLinAlgWarning©Úassert_no_overwrite)Úcheck_free_memoryÚIS_MUSL)Ú	HAS_ILP64c                 óª   — | }|t           j        k    rt           j        }n|t           j        k    rt           j        }t          j        |¦  «        j        S )z;Get the epsilon for dtype, possibly downcast to BLAS types.)ÚnpÚ
longdoubleÚfloat64ÚclongdoubleÚ
complex128ÚfinfoÚeps)ÚdtypÚdts     úS/granary/edev/quantum/lib/python3.11/site-packages/scipy/linalg/tests/test_basic.pyÚ	_eps_castr5      sB   € à	€BØ	�RŒ]ÒÐÝŒZˆˆØ	�rŒ~Ò	Ð	ÝŒ]ˆÝŒ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        ej                             d	eeej        eej        g¦  «        ej                             d
eeej        eej        g¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )ÚTestSolveBandedc                 óª  — t          g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }d	\  }}t          g d
¢¦  «        }|                     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 ]3}	t          ||f||	¦  «        }
t          t	          ||
¦  «        |	¦  «         Œ4d S )N©ç      ð?é   r   r   ©éâÿÿÿé   é   r   ©é   é   r<   rB   ©r   éÿÿÿÿé   é   ©ç        r<   r@   rB   ©rC   r?   r<   rG   ©r>   rC   rF   r   ©rB   rE   r   r   ©rB   rC   ©ç      $@rI   ç       @g      ,@rE   rC   rB   r>   r?   é   ©rC   r   r   r   ©r   r   r   rC   ©r   rC   r   r   ©r   Úreshaper   r   r   ©ÚselfÚaÚabÚlÚuÚb4Úb4by1Úb4by2Úb4by4ÚbÚxs              r4   Ú	test_realzTestSolveBanded.test_real(   sH  € Ý�?�?�?Ø!�>�>Ø �=�=Ø!�>�>ð#ñ $ô $ˆõ �O�O�OØ"�N�NØ"�N�NØ!�M�Mð#ñ $ô $ˆð ‰ˆˆ1ÝÐ)Ð)Ð)Ñ*Ô*ˆØ—
’
˜2˜qÑ!Ô!ˆÝ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðñ  ô  ˆõ �|�|�|Ø#�|�|Ø#�|�|Ø#�|�|ð%ñ &ô &ˆð �e˜U EÐ*ð 	4ð 	4ˆAÝ˜a ˜V R¨Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 óª  — t          g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }d	\  }}t          g d
¢¦  «        }|                     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 ]3}	t          ||f||	¦  «        }
t          t	          ||
¦  «        |	¦  «         Œ4d S )Nr:   r=   )ù               @rC   r<   re   rD   ©rI   r<   r@   re   rJ   rK   )re   rE   r   r   rM   ©rO   rI   rP   y              ,@rE   rC   rB   r>   r?   rQ   rR   )r   r   r   ù              ð?rT   rU   rW   s              r4   Útest_complexzTestSolveBanded.test_complex@   sK  € Ý�?�?�?Ø!�>�>Ø"�?�?Ø!�>�>ð#ñ $ô $ˆõ Ð$Ð$Ð$Ø"�N�NØ"�N�NØ"�N�Nð$ñ %ô %ˆð ‰ˆˆ1ÝÐ*Ð*Ð*Ñ+Ô+ˆØ—
’
˜2˜qÑ!Ô!ˆÝ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðñ  ô  ˆõ �|�|�|Ø$�}�}Ø#�|�|Ø#�|�|ð%ñ &ô &ˆð �e˜U EÐ*ð 	4ð 	4ˆAÝ˜a ˜V R¨Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó  — t          g d¢g d¢g d¢g¦  «        }t          j        |ddd …f         d¦  «        t          j        |dd d …f         d¦  «        z   t          j        |dd d…f         d¦  «        z   }t          g d¢¦  «        }|                     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 ]1}t	          d||¦  «        }t          t          ||¦  «        |¦  «         Œ2d S )NrH   rJ   rK   r   rC   rB   rE   rN   r>   r?   rQ   rR   rS   rT   ©rC   rC   ©r   r+   ÚdiagrV   r   r   r   ©	rX   rZ   rY   r]   r^   r_   r`   ra   rb   s	            r4   Útest_tridiag_realz!TestSolveBanded.test_tridiag_realX   sd  € Ý�O�O�OØ!�>�>Ø!�>�>ð#ñ $ô $ˆõ ŒG�B�q˜!˜"˜"�u”I˜qÑ!Ô!¥B¤G¨B¨q°!°!°!¨t¬H°aÑ$8Ô$8Ñ8½2¼7Ø@BÀ1ÀcÀrÀcÀ6Ä
ÈBñ<Pô <Pñ PˆåÐ)Ð)Ð)Ñ*Ô*ˆØ—
’
˜2˜qÑ!Ô!ˆÝ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðñ  ô  ˆõ �|�|�|Ø#�|�|Ø#�|�|Ø#�|�|ð%ñ &ô &ˆð �e˜U EÐ*ð 	4ð 	4ˆAÝ˜V R¨Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó  — t          g d¢g d¢g d¢g¦  «        }t          j        |ddd …f         d¦  «        t          j        |dd d …f         d¦  «        z   t          j        |dd d…f         d¦  «        z   }t          g d¢¦  «        }|                     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 ]1}t	          d||¦  «        }t          t          ||¦  «        |¦  «         Œ2d S )Nrf   rJ   rK   r   rC   rB   rE   rg   r>   r?   rQ   rR   rS   rT   rk   rl   rn   s	            r4   Útest_tridiag_complexz$TestSolveBanded.test_tridiag_complexl   sg  € ÝÐ$Ð$Ð$Ø!�>�>Ø!�>�>ð#ñ $ô $ˆõ ŒG�B�q˜!˜"˜"�u”I˜qÑ!Ô!¥B¤G¨B¨q°!°!°!¨t¬H°aÑ$8Ô$8Ñ8½2¼7Ø?AÀ!ÀSÀbÀSÀ&¼zÈ2ñ<Oô <Oñ OˆåÐ*Ð*Ð*Ñ+Ô+ˆØ—
’
˜2˜qÑ!Ô!ˆÝ˜˜1�vØ˜Q�xØ˜1�vØ˜1�vðñ  ô  ˆõ �|�|�|Ø#�|�|Ø#�|�|Ø#�|�|ð%ñ &ô &ˆð �e˜U EÐ*ð 	4ð 	4ˆAÝ˜V R¨Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó  — t          g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }d	\  }}t          g d
¢¦  «        }t          ||f||d¬¦  «        }t          t          ||¦  «        |¦  «         d S )Nr:   r=   rA   rD   rH   rJ   rK   rL   rM   rN   F©Úcheck_finite)r   r   r   r   )rX   rY   rZ   r[   r\   r]   rb   s          r4   Útest_check_finitez!TestSolveBanded.test_check_finite€   s¹   € Ý�?�?�?Ø!�>�>Ø �=�=Ø!�>�>ð#ñ $ô $ˆõ �O�O�OØ"�N�NØ"�N�NØ!�M�Mð#ñ $ô $ˆð ‰ˆˆ1ÝÐ)Ð)Ð)Ñ*Ô*ˆÝ˜!˜Q˜  R°eÐ<Ñ<Ô<ˆÝ!¥# a¨¡)¤)¨RÑ0Ô0Ð0Ð0Ð0r6   c                 óN  — t          g d¢g d¢g d¢g d¢g¦  «        }d\  }}t          g d¢¦  «                             dd¦  «        }t          t          t          ||f||¦  «         t          t          t          ||f|d	d
g¦  «         t          t          t          d|d	d
g¦  «         d S )NrH   rJ   rK   rL   rM   )r;   rP   ç      @ç      @rE   r?   r;   rP   rk   )r   rV   Úassert_raisesÚ
ValueErrorr   )rX   rZ   r[   r\   Úbads        r4   Útest_bad_shapezTestSolveBanded.test_bad_shapeŽ   sº   € Ý�O�O�OØ"�N�NØ"�N�NØ!�M�Mð#ñ $ô $ˆð ‰ˆˆ1ÝÐ(Ð(Ð(Ñ)Ô)×1Ò1°"°aÑ8Ô8ˆÝ•j¥,°°A°¸¸CÑ@Ô@Ð@Ý•j¥,°°A°¸¸SÀ#¸JÑGÔGÐGõ 	•j¥,°¸¸SÀ#¸JÑGÔGÐGÐGÐGr6   c                 ó^  — t          g d¢g¦  «        }t          g d¢g¦  «        }t          ddgg|¦  «        }t          ||d¬¦  «         t          ddgdgdgg|¦  «        }t          ||d¬¦  «         t          |j        t          j        d	¦  «        ¦  «         t          |g d¢g¦  «         d S )
N©r;   rP   rw   )ç      à?r;   g      ø?©r   r   rB   çVçž¯Ò<©Úrtolrk   r   Úf8)r   r   r   r   Údtyper+   r   )rX   ra   Úrefrb   s       r4   Útest_1x1zTestSolveBanded.test_1x1›   sÀ   € õ
 �<�<�<�.Ñ!Ô!ˆÝ�_�_�_Ð%Ñ&Ô&ˆÝ˜ 1 # ¨Ñ*Ô*ˆÝ˜˜3 UÐ+Ñ+Ô+Ð+õ ˜ 1 #¨ s¨Q¨C °!Ñ4Ô4ˆÝ˜˜3 UÐ+Ñ+Ô+Ð+Ý�Q”W�bœh t™nœnÑ-Ô-Ð-Ý˜1˜˜˜Ð/Ñ0Ô0Ð0Ð0Ð0r6   c                 ó²   — g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g}d	\  }}g d
¢}t          ||f||¦  «        }t          t          ||¦  «        |¦  «         d S )Nr:   r=   rA   rD   rH   rJ   rK   rL   rM   rN   )r   r   r   )rX   rY   rZ   r[   r\   ra   rb   s          r4   Útest_native_list_argumentsz*TestSolveBanded.test_native_list_arguments¬   s“   € Øˆ_ˆ_Øˆ^ˆ^Øˆ]ˆ]Øˆ^ˆ^ðˆð ˆoˆoØˆnˆnØˆnˆnØˆmˆmðˆð ‰ˆˆ1Ø"Ð"Ð"ˆÝ˜!˜Q˜  QÑ'Ô'ˆÝ!¥# a¨¡)¤)¨QÑ/Ô/Ð/Ð/Ð/r6   Údt_abÚdt_bc                 ó$  — 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 ‚d S )N©r…   r€   ©r   rC   )	r+   r   r   Úshaper…   r   ÚeyeÚonesÚempty©rX   rŠ   r‹   rZ   ra   rb   s         r4   Ú
test_emptyzTestSolveBanded.test_emptyº   s  € õ
 ŒX�r�d %Ð(Ñ(Ô(ˆÝŒH�R˜tÐ$Ñ$Ô$ˆÝ˜  QÑ'Ô'ˆàŒw˜$ŠˆˆˆØŒw�%¥¤ q°Ð 6Ñ 6Ô 6½¼ÀÈÐ8NÑ8NÔ8NÑOÔOÔUÒUÐUÐUÐUåŒH�V 4Ð(Ñ(Ô(ˆÝ˜  QÑ'Ô'ˆàŒw˜&Ò Ð Ð Ð ØŒw�%¥¤ q°Ð 6Ñ 6Ô 6½¼ÀÈÐ8NÑ8NÔ8NÑOÔOÔUÒUÐUÐUÐUÐUÐUr6   N)Ú__name__Ú
__module__Ú__qualname__rc   ri   ro   rq   ru   r|   r‡   r‰   ÚpytestÚmarkÚthread_unsafeÚparametrizeÚintÚfloatr+   r
   ÚcomplexÚ	complex64r”   © r6   r4   r8   r8   &   s  € € € € € ð4ð 4ð 4ð04ð 4ð 4ð04ð 4ð 4ð(4ð 4ð 4ð(1ð 1ð 1ðHð Hð Hð1ð 1ð 1ð"0ð 0ð 0ð „[ÔØ„[×Ò˜W s¨E°2´:¸wÈÌÐ&UÑVÔVØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUðVð Vñ VÔUñ WÔVñ ÔðVð Vð Vr6   r8   c            	       óX  — 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j                             deeej        e ej!        g¦  «        ej                             deeej        e ej!        g¦  «        d„ ¦   «         ¦   «         Z"dS )ÚTestSolveHBandedc                 óœ   — t          g d¢g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S ©N©rI   rI   rP   rP   ©é�ÿÿÿr;   r;   r;   ©rx   rx   rx   rx   ©r;   rx   r;   rP   ©rI   r;   rI   rI   ©r   r   r   ©rX   rZ   ra   rb   s       r4   Útest_01_upperzTestSolveHBanded.test_01_upperÏ   su   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ñ +ô +ˆõ Ð&Ð&Ð&Ñ'Ô'ˆÝ˜"˜aÑ Ô ˆÝ! !Ð%9Ð%9Ð%9Ñ:Ô:Ð:Ð:Ð:r6   c                 óâ   — t          g d¢g d¢g d¢g¦  «        }t          ddgddgddgddgg¦  «        }t          ||¦  «        }t          ddgddgddgddgg¦  «        }t          ||¦  «         d S )	Nr¥   r¦   r¨   r;   ç      @rx   rP   rI   r«   ©rX   rZ   ra   rb   Úexpecteds        r4   Útest_02_upperzTestSolveHBanded.test_02_upperÝ   s¼   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ñ +ô +ˆõ �C˜�:Ø˜�:Ø˜�:Ø˜�:ðñ  ô  ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó  — t          g d¢g d¢g d¢g¦  «        }t          g d¢¦  «                             dd¦  «        }t          ||¦  «        }t          |t          g d¢¦  «                             dd¦  «        ¦  «         d S )Nr¥   r¦   r¨   r©   rE   rC   rª   ©r   rV   r   r   r¬   s       r4   Útest_03_upperzTestSolveHBanded.test_03_upperò   s�   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ñ +ô +ˆõ Ð&Ð&Ð&Ñ'Ô'×/Ò/°°AÑ6Ô6ˆÝ˜"˜aÑ Ô ˆÝ! !¥UÐ+;Ð+;Ð+;Ñ%<Ô%<×%DÒ%DÀRÈÑ%KÔ%KÑLÔLÐLÐLÐLr6   c                 ó    — t          g d¢g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||d¬¦  «        }t          |g d¢¦  «         d S )Nr¨   ©r;   r;   r;   r§   ©rP   rP   rI   rI   r©   T©Úlowerrª   r«   r¬   s       r4   Útest_01_lowerzTestSolveHBanded.test_01_lower   sz   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ñ +ô +ˆõ Ð&Ð&Ð&Ñ'Ô'ˆÝ˜"˜a tÐ,Ñ,Ô,ˆÝ! !Ð%9Ð%9Ð%9Ñ:Ô:Ð:Ð:Ð:r6   c                 óæ   — t          g d¢g d¢g d¢g¦  «        }t          ddgddgddgddgg¦  «        }t          ||d¬	¦  «        }t          d
dgdd
gd
dgd
d
gg¦  «        }t          ||¦  «         d S )Nr¨   r·   r¸   r;   r¯   rx   rP   Tr¹   rI   r«   r°   s        r4   Útest_02_lowerzTestSolveHBanded.test_02_lower  sÁ   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ñ +ô +ˆõ �C˜�:Ø˜�:Ø˜�:Ø˜�:ðñ  ô  ˆõ ˜"˜a tÐ,Ñ,Ô,ˆÝ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó¸   — t          g d¢g d¢g d¢gt          ¬¦  «        }t          g d¢t          ¬¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )Nr¥   r¦   r¨   r�   r©   rª   ©r   r
   r   r   r¬   s       r4   Útest_01_float32z TestSolveHBanded.test_01_float32#  s‚   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*å18ð:ñ :ô :ˆõ Ð&Ð&Ð&­gÐ6Ñ6Ô6ˆÝ˜"˜aÑ Ô ˆÝ! !Ð%9Ð%9Ð%9Ñ:Ô:Ð:Ð:Ð:r6   c                 óþ   — t          g d¢g d¢g d¢gt          ¬¦  «        }t          ddgddgddgddggt          ¬¦  «        }t          ||¦  «        }t          d	dgdd	gd	dgd	d	gg¦  «        }t          ||¦  «         d S )
Nr¥   r¦   r¨   r�   r;   r¯   rx   rP   rI   r¿   r°   s        r4   Útest_02_float32z TestSolveHBanded.test_02_float321  sÎ   € õ Ð(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*å18ð:ñ :ô :ˆõ �C˜�:Ø˜�:Ø˜�:Ø˜�:ðõ '.ð/ñ /ô /ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜*Ø ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 óœ   — t          g d¢g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )Nr¥   ©r§   ù       €      ð¿rÅ   rÅ   r¨   )ù       @      ð¿ù      @      ð¿ù      @      ð?ù       @      ð?)rI   r;   r;   rI   r«   r¬   s       r4   Útest_01_complexz TestSolveHBanded.test_01_complexF  su   € õ Ð(Ð(Ð(Ø.Ð.Ð.Ø(Ð(Ð(ð*ñ +ô +ˆõ Ð.Ð.Ð.Ñ/Ô/ˆÝ˜"˜aÑ Ô ˆÝ! !Ð%9Ð%9Ð%9Ñ:Ô:Ð:Ð:Ð:r6   c                 óâ   — t          g d¢g d¢g d¢g¦  «        }t          ddgddgdd	gd
dgg¦  «        }t          ||¦  «        }t          ddgddgddgddgg¦  «        }t          ||¦  «         d S )Nr¥   rÄ   r¨   rÆ   ù       @      @rÇ   ù      ð¿      ð¿rÈ   y      @       @rÉ   rh   rI   r;   r«   r°   s        r4   Útest_02_complexz TestSolveHBanded.test_02_complexT  s¼   € õ Ð(Ð(Ð(Ø.Ð.Ð.Ø(Ð(Ð(ð*ñ +ô +ˆõ �D˜$�<Ø˜E�?Ø˜D�>Ø˜"�:ðñ  ô  ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜+Ø ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó–   — t          g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )N©r§   r;   r;   ©rx   rx   rx   ©r;   rx   r;   ©rI   r;   rI   r«   r¬   s       r4   Útest_tridiag_01_upperz&TestSolveHBanded.test_tridiag_01_upperi  sX   € õ �O�O�O _ _ _Ð5Ñ6Ô6ˆÝ�/�/�/Ñ"Ô"ˆÝ˜"˜aÑ Ô ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 óÐ   — t          g d¢g d¢g¦  «        }t          ddgddgddgg¦  «        }t          ||¦  «        }t          ddgddgddgg¦  «        }t          ||¦  «         d S )NrÐ   rÑ   r;   rx   rP   rI   r«   r°   s        r4   Útest_tridiag_02_upperz&TestSolveHBanded.test_tridiag_02_uppert  sž   € õ �O�O�OØ#�O�Oð%ñ &ô &ˆå�C˜�:Ø˜�:Ø˜�:ðñ  ô  ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó   — t          g d¢g d¢g¦  «        }t          g d¢¦  «                             dd¦  «        }t          ||¦  «        }t          |t          g d¢¦  «                             dd¦  «        ¦  «         d S )NrÐ   rÑ   rÒ   rE   rC   rÓ   r´   r¬   s       r4   Útest_tridiag_03_upperz&TestSolveHBanded.test_tridiag_03_upper…  s€   € õ �O�O�O _ _ _Ð5Ñ6Ô6ˆÝ�/�/�/Ñ"Ô"×*Ò*¨2¨qÑ1Ô1ˆÝ˜"˜aÑ Ô ˆÝ! !¥U¨?¨?¨?Ñ%;Ô%;×%CÒ%CÀBÈÑ%JÔ%JÑKÔKÐKÐKÐKr6   c                 óš   — t          g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||d¬¦  «        }t          |g d¢¦  «         d S )NrÑ   ©r;   r;   r§   rÒ   Tr¹   rÓ   r«   r¬   s       r4   Útest_tridiag_01_lowerz&TestSolveHBanded.test_tridiag_01_lower�  sd   € õ �O�O�OØ#�O�Oð%ñ &ô &ˆå�/�/�/Ñ"Ô"ˆÝ˜"˜a tÐ,Ñ,Ô,ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 óÔ   — t          g d¢g d¢g¦  «        }t          ddgddgddgg¦  «        }t          ||d¬¦  «        }t          ddgddgddgg¦  «        }t          ||¦  «         d S )	NrÑ   rÚ   r;   rx   rP   Tr¹   rI   r«   r°   s        r4   Útest_tridiag_02_lowerz&TestSolveHBanded.test_tridiag_02_lowerœ  s£   € õ �O�O�OØ#�O�Oð%ñ &ô &ˆå�C˜�:Ø˜�:Ø˜�:ðñ  ô  ˆõ ˜"˜a tÐ,Ñ,Ô,ˆÝ˜3 ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó²   — t          g d¢g d¢gt          ¬¦  «        }t          g d¢t          ¬¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )NrÐ   rÑ   r�   rÒ   rÓ   r¿   r¬   s       r4   Útest_tridiag_01_float32z(TestSolveHBanded.test_tridiag_01_float32­  sb   € õ �O�O�O _ _ _Ð5½WÐEÑEÔEˆÝ�/�/�/­Ð1Ñ1Ô1ˆÝ˜"˜aÑ Ô ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 óì   — t          g d¢g d¢gt          ¬¦  «        }t          ddgddgddggt          ¬¦  «        }t          ||¦  «        }t          ddgddgddgg¦  «        }t          ||¦  «         d S )NrÐ   rÑ   r�   r;   rx   rP   rI   r¿   r°   s        r4   Útest_tridiag_02_float32z(TestSolveHBanded.test_tridiag_02_float32¸  s®   € õ �O�O�OØ#�O�Oð%Ý,3ð5ñ 5ô 5ˆå�C˜�:Ø˜�:Ø˜�:ðå&-ð/ñ /ô /ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜*Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 ó–   — t          g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )N©r§   rÅ   rÅ   rÑ   )rÅ   rÇ   rÈ   )rI   r;   r;   r«   r¬   s       r4   Útest_tridiag_01_complexz(TestSolveHBanded.test_tridiag_01_complexÉ  s^   € õ Ð'Ð'Ð'¨¨¨Ð9Ñ:Ô:ˆÝÐ'Ð'Ð'Ñ(Ô(ˆÝ˜"˜aÑ Ô ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 óÐ   — t          g d¢g d¢g¦  «        }t          ddgddgddgg¦  «        }t          ||¦  «        }t          d	d
gdd	gddgg¦  «        }t          ||¦  «         d S )Nrã   rÑ   rÅ   ù              @rÇ   rÍ   rÈ   rx   rI   rh   r;   r«   r°   s        r4   Útest_tridiag_02_complexz(TestSolveHBanded.test_tridiag_02_complexÔ  s¢   € õ Ð'Ð'Ð'Ø#�O�Oð%ñ &ô &ˆå�C˜�;Ø˜GÐ$Ø˜C�=ð"ñ #ô #ˆõ ˜"˜aÑ Ô ˆÝ˜3 ˜+Ø ˜*Ø ˜*ð&ñ 'ô 'ˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.r6   c                 óš   — t          g d¢g d¢g¦  «        }t          g d¢¦  «        }t          ||d¬¦  «        }t          |g d¢¦  «         d S )NrÐ   rÑ   rÒ   Frs   rÓ   r«   r¬   s       r4   ru   z"TestSolveHBanded.test_check_finiteå  s]   € õ �O�O�O _ _ _Ð5Ñ6Ô6ˆÝ�/�/�/Ñ"Ô"ˆÝ˜"˜a¨eÐ4Ñ4Ô4ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 ó  — t          g d¢g d¢g¦  «        }t          ddgddgg¦  «        }t          t          t          ||¦  «         t          t          t          |ddg¦  «         t          t          t          |dg¦  «         d S )NrÐ   rÑ   r;   rx   rP   )r   ry   rz   r   )rX   rZ   ra   s      r4   Útest_bad_shapesz TestSolveHBanded.test_bad_shapesð  sŒ   € Ý�O�O�OØ#�O�Oð%ñ &ô &ˆå�C˜�:Ø˜�:ðñ  ô  ˆå•j¥-°°QÑ7Ô7Ð7Ý•j¥-°°c¸3°ZÑ@Ô@Ð@Ý•j¥-°°c°UÑ;Ô;Ð;Ð;Ð;r6   c                 ó¤   — t          dggg d¢g¦  «        }t          |g d¢g¦  «         t          |j        t	          j        d¦  «        ¦  «         d S )NrC   ©rC   rB   rQ   r~   r„   )r   r   r   r…   r+   )rX   rb   s     r4   r‡   zTestSolveHBanded.test_1x1ù  sR   € Ý˜A˜3˜% ) ) ) Ñ-Ô-ˆÝ˜1˜˜˜Ð/Ñ0Ô0Ð0Ý�Q”W�bœh t™nœnÑ-Ô-Ð-Ð-Ð-r6   c                 óh   — g d¢g d¢g d¢g}g d¢}t          ||¦  «        }t          |g d¢¦  «         d S r¤   )r   r   r¬   s       r4   r‰   z+TestSolveHBanded.test_native_list_argumentsþ  s]   € à"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"ð$ˆð !Ð Ð ˆÝ˜"˜aÑ Ô ˆÝ! !Ð%9Ð%9Ð%9Ñ:Ô:Ð:Ð:Ð:r6   rŠ   r‹   c                 ó   — t          j        g g|¬¦  «        }t          j        g |¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        t          j        d|¬¦  «        ¦  «        j        k    sJ ‚t          j        d|¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S )Nr�   rŽ   rC   r€   )	r+   r   r   r�   r…   r   r�   r‘   r’   r“   s         r4   r”   zTestSolveHBanded.test_empty  s  € õ ŒX�r�d %Ð(Ñ(Ô(ˆÝŒH�R˜tÐ$Ñ$Ô$ˆÝ˜"˜aÑ Ô ˆàŒw˜$ŠˆˆˆØŒw�%¥¤ q°Ð 6Ñ 6Ô 6½¼ÀÈÐ8NÑ8NÔ8NÑOÔOÔUÒUÐUÐUÐUåŒH�V 4Ð(Ñ(Ô(ˆÝ˜"˜aÑ Ô ˆàŒw˜&Ò Ð Ð Ð ØŒw�%¥¤ q°Ð 6Ñ 6Ô 6½¼ÀÈÐ8NÑ8NÔ8NÑOÔOÔUÒUÐUÐUÐUÐUÐUr6   N)#r•   r–   r—   r­   r²   rµ   r»   r½   rÀ   rÂ   rÊ   rÎ   rÔ   rÖ   rØ   rÛ   rÝ   rß   rá   rä   rç   ru   rê   r‡   r‰   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r¢   r¢   Í   sÔ  € € € € € ð;ð ;ð ;ð/ð /ð /ð*Mð Mð Mð;ð ;ð ;ð/ð /ð /ð*;ð ;ð ;ð/ð /ð /ð*;ð ;ð ;ð/ð /ð /ð*	6ð 	6ð 	6ð/ð /ð /ð"	Lð 	Lð 	Lð
6ð 
6ð 
6ð/ð /ð /ð"	6ð 	6ð 	6ð/ð /ð /ð"	6ð 	6ð 	6ð/ð /ð /ð"	6ð 	6ð 	6ð<ð <ð <ð.ð .ð .ð
;ð ;ð ;ð „[×Ò˜W s¨E°2´:¸wÈÌÐ&UÑVÔVØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUðVð Vñ VÔUñ WÔVðVð Vð Vr6   r¢   c            
       óB  — e Zd Zd„ Zej        j        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej        j        ej                             dd¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d „ Z$ej         %                    d!¬"¦  «        d#„ ¦   «         Z&ej        j        ej                             d$e'e(e)j*        e+e)j,        g¦  «        ej                             d%e'e(e)j*        e+e)j,        g¦  «        d&„ ¦   «         ¦   «         ¦   «         Z-d'„ Z.ej                             d(e)j/        e)j0        g¦  «        ej                             d)g d*¢¦  «        ej                             d+d,d-g¦  «        ej                             d.d/d0g¦  «        ej                             d1d/d0g¦  «        ej                             d2d/d0g¦  «        d3„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z1d4S )5Ú	TestSolvec                 óD   — t           j                             d¦  «         d S ©NéÒ  ©r+   r   Úseed©rX   s    r4   Úsetup_methodzTestSolve.setup_method  ó   € Ý
Œ	�Š�tÑÔÐÐÐr6   c                 óò   — ddgddgg}t          |ddg¦  «        }t          t          ||¦  «        ddg¦  «         ddgddgg}ddg}t          ||¦  «        }t          t          ||¦  «        ddg¦  «         d S )NrC   r;   r   ù                ç333333ó?©r   r   r   )rX   rY   Úx0ra   s       r4   Útest_20Feb04_bugzTestSolve.test_20Feb04_bug  s�   € à�ˆV�c˜1�XÐˆÝ�1�q˜"�gÑÔˆÝ!¥# a¨¡*¤*¨q°!¨fÑ5Ô5Ð5ð �ˆV�c˜1�XÐˆØ�ˆGˆÝ�1�a‰[Œ[ˆÝ!¥# a¨¡*¤*¨q°!¨fÑ5Ô5Ð5Ð5Ð5r6   c                 óž   — ddgddgg}ddgddggddgddgddggfD ]0}t          ||¦  «        }t          t          ||¦  «        |¦  «         Œ1d S )NrC   r<   r>   r?   r   rB   rü   ©rX   rY   ra   rb   s       r4   Útest_simplezTestSolve.test_simple)  s€   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð"Ø�a�&Ø�q�6˜C ˜8Ð$ðð 	4ð 	4ˆAõ �a˜‘”ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 óÔ   — t          ddgddggd¦  «        }ddgddgddggdd	gt          ddgd¦  «        fD ]0}t          ||¦  «        }t          t          ||¦  «        |¦  «         Œ1d S )
Né   rB   re   r?   ÚDrh   r   rC   rú   )r   r   r   r   r   s       r4   Útest_simple_complexzTestSolve.test_simple_complex2  s’   € Ý�A�q�6˜B ˜7Ð# SÑ)Ô)ˆØ�q�'Ø˜�8˜a ˜VÐ$Ø�b�'Ý˜˜A˜ Ñ$Ô$ðð 	4ð 	4ˆAõ
 �a˜‘”ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó    — ddgddgg}dD ]B}ddgddggddgfD ]3}t          ||d|¬¦  «        }t          t          ||¦  «        |¦  «         Œ4ŒCd S )	NrB   rQ   r  ©r   rC   rC   r   Úpos©Úassume_arº   rü   ©rX   rY   rº   ra   rb   s        r4   Útest_simple_poszTestSolve.test_simple_pos<  s�   € Ø�ˆV�a˜�VÐˆØð 	8ð 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fðð 8ð 8�õ ˜!˜Q¨°eÐ<Ñ<Ô<�Ý)­#¨a°©)¬)°QÑ7Ô7Ð7Ð7ð	8ð	8ð 	8r6   c                 ó”   — ddgddgg}ddgddgddggfD ]2}t          ||d¬¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )Nr  rB   r?   rh   r   r  ©r
  rü   r   s       r4   Útest_simple_pos_complexbz"TestSolve.test_simple_pos_complexbE  sw   € Ø�ˆV�a˜�VÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðð 	4ð 	4ˆAõ �a˜ UÐ+Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð		4ð 	4r6   c                 ó    — ddgddgg}dD ]B}ddgddggddgfD ]3}t          ||d|¬¦  «        }t          t          ||¦  «        |¦  «         Œ4ŒCd S )	NrB   rQ   éûÿÿÿr  rC   r   Úsymr	  rü   r  s        r4   Útest_simple_symzTestSolve.test_simple_symM  s�   € Ø�ˆV�a˜�WÐˆØð 	8ð 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fðð 8ð 8�õ ˜!˜Q¨°eÐ<Ñ<Ô<�Ý)­#¨a°©)¬)°QÑ7Ô7Ð7Ð7ð	8ð	8ð 	8r6   c                 ó”   — ddgddgg}ddgddgddggfD ]2}t          ||d¬¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )Nr  rB   éüÿÿÿrh   r   r  r  rü   r   s       r4   Útest_simple_sym_complexbz"TestSolve.test_simple_sym_complexbV  sw   € Ø�ˆV�a˜�WÐˆØ�q�'Ø˜�8˜a ˜VÐ$ðð 	4ð 	4ˆAõ �a˜ UÐ+Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð		4ð 	4r6   c                 óš   — ddgddgg}ddgddgddgddggfD ]2}t          ||d¬	¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )
Nr  rÉ   r  rh   r   rC   rB   r  r  rü   r   s       r4   Útest_simple_sym_complexz!TestSolve.test_simple_sym_complex^  ó~   € Ø�ˆY˜˜r˜
Ð#ˆØ�q�'Ø�a�&Ø˜�8˜a ˜VÐ$ðð 	4ð 	4ˆAõ �a˜ UÐ+Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó¦   — ddgddgg}dD ]E}ddgddggddgddgfD ]3}t          ||d|¬	¦  «        }t          t          ||¦  «        |¦  «         Œ4ŒFd S )
NrB   rQ   r  r  rC   r   rh   Úherr	  rü   r  s        r4   Útest_simple_her_actuallysymz%TestSolve.test_simple_her_actuallysymg  s”   € Ø�ˆV�a˜�WÐˆØð 	8ð 	8ˆEØ˜1�v  1˜vÐ&Ø˜!�fØ˜1�gðð 8ð 8�õ ˜!˜Q¨°eÐ<Ñ<Ô<�Ý)­#¨a°©)¬)°QÑ7Ô7Ð7Ð7ð8ð	8ð 	8r6   c                 óš   — ddgddgg}ddgddgddgddggfD ]2}t          ||d	¬
¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )Nr  rÉ   rÆ   r  rh   r   rC   rB   r  r  rü   r   s       r4   Útest_simple_herzTestSolve.test_simple_herq  r  r6   c                 óh  — d}t          ||g¦  «        t          ||g¦  «        dz  z   }t          ||fd¦  «        }t          |¦  «        }t          |¦  «        t          |¦  «        dz  z   }t	          d|¦  «        D ]%}|d d …|f         }t          ||¦  «        |d d …|f<   Œ&t          ||¦  «         d S )NrB   rh   r  rú   r   )r   r   r   r   r   r   r   )rX   ÚnÚAÚXÚAinvÚRÚiÚrs           r4   Útest_nils_20Feb04zTestSolve.test_nils_20Feb04z  s»   € ØˆÝ�A�q�6‰NŒN�6 1 a &™>œ>¨"Ñ,Ñ,ˆÝ�1�a�&˜#ÑÔˆÝ�1‰vŒvˆÝ�Q‰KŒK� ™œ B™Ñ&ˆÝ˜˜1‘”ð 	"ð 	"ˆAØ�!�!�!�Q�$”ˆAÝ˜A˜q‘k”kˆAˆaˆaˆa�ˆd‰GˆGÝ! ! TÑ*Ô*Ð*Ð*Ð*r6   c                 ó  — d}t          ||g¦  «        }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          d¦  «        D ]A}t          |dg¦  «        }t          ||¦  «        }t          t	          ||¦  «        |¦  «         ŒBd S )Nr<   çš™™™™™¹?r?   rQ   ©r   Úranger   r   r   ©rX   r   rY   r%  ra   rb   s         r4   Útest_randomzTestSolve.test_random…  s    € àˆÝ�A�q�6‰NŒNˆÝ�q‘”ð 	&ð 	&ˆAØ˜"˜Q˜q !˜tœW™*‘oˆAˆa�ˆd‰GˆGÝ�q‘”ð 	4ð 	4ˆAÝ˜˜1�v‘”ˆAÝ�a˜‘”ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 óF  — d}t          ||g¦  «        dt          ||g¦  «        z  z   }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          d¦  «        D ]A}t          |dg¦  «        }t          ||¦  «        }t          t	          ||¦  «        |¦  «         ŒBd S )Nr<   rh   r)  rB   rQ   r*  r,  s         r4   Útest_random_complexzTestSolve.test_random_complex�  s´   € ØˆÝ�A�q�6‰NŒN˜R¥&¨!¨Q¨¡.¤.Ñ0Ñ0ˆÝ�q‘”ð 	&ð 	&ˆAØ˜"˜Q˜q !˜tœW™*‘oˆAˆa�ˆd‰GˆGÝ�q‘”ð 	4ð 	4ˆAÝ˜˜1�v‘”ˆAÝ�a˜‘”ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 óz  — d}t          ||g¦  «        }t          |¦  «        D ]E}t          dd|||f         z   z  ¦  «        |||f<   t          |¦  «        D ]}|||f         |||f<   ŒŒFt          d¦  «        D ]B}t          |g¦  «        }t          ||d¬¦  «        }t	          t          ||¦  «        |¦  «         ŒCd S )Nr<   r)  r?   r  r  )r   r+  Úabsr   r   r   ©rX   r   rY   r%  Újra   rb   s          r4   Útest_random_symzTestSolve.test_random_symš  sÜ   € ØˆÝ�A�q�6‰NŒNˆÝ�q‘”ð 	"ð 	"ˆAÝ˜"˜b  1 a 4¤™j™/Ñ*Ô*ˆAˆa�ˆd‰GÝ˜1‘X”Xð "ð "�Ø˜A˜q˜Dœ'��!�Q�$‘�ð"å�q‘”ð 	4ð 	4ˆAÝ˜�s‘”ˆAÝ�a˜ UÐ+Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 óê  — d}t          ||g¦  «        }|dt          ||g¦  «        z  z   }t          |¦  «        D ]R}t          dd|||f         z   z  ¦  «        |||f<   t          |¦  «        D ]}t          |||f         ¦  «        |||f<   ŒŒSt          |g¦  «        dt          |g¦  «        z  z   }t          d¦  «        D ]2}t	          ||d¬¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )Nr<   rh   r)  re   rB   r  r  )r   r+  r1  r   r   r   r   r2  s          r4   Útest_random_sym_complexz!TestSolve.test_random_sym_complex¦  s  € ØˆÝ�A�q�6‰NŒNˆØ�•6˜1˜a˜&‘>”>Ñ!Ñ!ˆÝ�q‘”ð 	-ð 	-ˆAÝ˜"˜b  1 a 4¤™j™/Ñ*Ô*ˆAˆa�ˆd‰GÝ˜1‘X”Xð -ð -�Ý# A a¨ d¤GÑ,Ô,��!�Q�$‘�ð-å�A�3‰KŒK˜�6 1 #™;œ;™Ñ&ˆÝ�q‘”ð 	4ð 	4ˆAÝ�a˜ UÐ+Ñ+Ô+ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó¢   — ddgddgg}ddgddggddgddgddggfD ]2}t          ||d¬¦  «        }t          t          ||¦  «        |¦  «         Œ3d S )	NrC   r<   r>   r?   r   rB   Frs   rü   r   s       r4   ru   zTestSolve.test_check_finite³  s„   € Ø�ˆW�s˜A�hÐˆØ�q�6˜A˜q˜6Ð" Q¨ FØ�q�6˜C ˜8Ð$ð&ð 	4ð 	4ˆAå�a˜¨Ð/Ñ/Ô/ˆAÝ%¥c¨!¨Q¡i¤i°Ñ3Ô3Ð3Ð3ð	4ð 	4r6   c                 ó¨   — d}g d¢}t          ||¦  «        }t          |                     ¦   «         |¦  «         t          |j        dk    d¦  «         d S )NrC   rì   ©rQ   z'Scalar_a_1D_b test returned wrong shape)r   r   Úravelr   r�   r   s       r4   Útest_scalar_a_and_1D_bz TestSolve.test_scalar_a_and_1D_bº  sR   € ØˆØˆIˆIˆÝ�!�Q‰KŒKˆÝ! !§'¢'¡)¤)¨QÑ/Ô/Ð/Ý�”˜4’Ð!JÑKÔKÐKÐKÐKr6   c                 ó   — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        ddgddgd	d
gddgg¦  «        }t          ||¦  «        }t          |t          j        g d¢g d¢g¦  «        j        ¦  «         d S )N)çÍÌÌÌÌÌü?g
×£p=
@gffffff @g{®Gázì¿)g     h€@g     prÀg     ÀWÀg     ÀwÀ)gHáz®Gù?g…ëQ¸…Àg333333Àg¤p=
×£ð¿)gÃõ(\�Âñ¿g…ëQ¸å¿gáz®Gáâ¿gš™™™™™é?g
×£p=
#@g¸…ëQx2@g     £@g      l@g¤p=
×£è?g�Âõ(\�*Àgáz®GáÀg×£p=
×À)r;   rE   rQ   r  )rQ   rB   r?   rC   )r+   r   r   r   ÚTr   s       r4   Útest_simple2zTestSolve.test_simple2Á  sÅ   € ÝŒHÐ/Ð/Ð/Ø8Ð8Ð8Ø1Ð1Ð1Ø1Ð1Ð1ð3ñ 4ô 4ˆõ
 ŒH�t˜U�mØ Ð'Ø˜V�nØ˜e�nð&ñ 'ô 'ˆõ
 �!�Q‰KŒKˆÝ! !¥R¤X¨¨¨Ø/;¨|¨|ð/=ñ &>ô &>Ü>?ñ	Aô 	Að 	Að 	Að 	Ar6   c           
      ó  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        ddgddgd	d
gddgg¦  «        }t          ||¦  «        }t          |t          j        ddgddgddgddgg¦  «        ¦  «         d S )N)yq=
×£põ¿ffffff@yìQ¸…ëÑ?\�Âõ(\	@y�Âõ(\�Àš™™™™™Ày
×£p=
ç?q=
×£pí¿)y333333û¿333333,ÀyÍÌÌÌÌŒ@@      ø¿y      ø¿ÍÌÌÌÌÌ*@yÍÌÌÌÌÌ)@š™™™™™+@)yR¸…ëQ
À…ëQ¸Ày�Âõ(\�þ¿®Gáz®@yìQ¸…ëÁ¿š™™™™™õ¿y…ëQ¸…û?š™™™™™õ?)yHáz®G@ö(\�ÂõØ?yìQ¸…ëá¿…ëQ¸…÷?y�Âõ(\�ê¿®Gázæ¿y\�Âõ(\ÿ¿q=
×£på?yÃõ(\�B:@¤p=
×ãI@yR¸…ëQ?@ÍÌÌÌÌÌÀy33333P@33333³UÀy33333Óc@ffffff,Ày      À�Âõ(\O9@y333333Àq=
×£0>@y�Âõ(\�ò?�Âõ(\�@y{®GázÀ333333@ù      ð?      ð?y      ð¿       Ày       @      Ày      @      ð?y      À      Ày      À      @y              @)r+   r   r   r   r   s       r4   Útest_simple_complex2zTestSolve.test_simple_complex2Ð  s×   € ÝŒHÐHÐHÐHØMÐMÐMØIÐIÐIØIÐIÐIðKñ Lô Lˆõ
 ŒH�| [Ð1Ø# ]Ð3Ø# \Ð2Ø! ;Ð/ð1ñ 2ô 2ˆõ
 �!�Q‰KŒKˆÝ! !¥R¤Y°¸°Ø16¸°Ø17¸Ð0@Ø14°e°ð0>ñ &?ô &?ñ 	@ô 	@ð 	@ð 	@ð 	@r6   c                 ó~  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        ddgddgd	d
gddgg¦  «        }t          j        ddgddgddgddgg¦  «        }t          ||d¬¦  «        }t          ||¦  «         t          |                     ¦   «         j        |dd¬¦  «        }t          ||¦  «         d S )N)gq=
×£pý¿y)\�Âõ(¼?)\�Âõ(¼¿y{®Gázü¿áz®Gáò¿yHáz®G@      ø¿)r   g…ëQ¸…Àyq=
×£pý¿¸…ëQ¸ž?y®Gáz®@áz®GáÊ?)r   r   g=
×£p½!ÀyHáz®Gù?ÍÌÌÌÌÌì¿)r   r   r   gÃõ(\�Âõ¿y×£p=
×@\�Âõ(\$Ày®Gáz®<@R¸…ëñCÀy)\�Âõ(#À
×£p=
@y
×£p=Ê8ÀÍÌÌÌÌÌ Ày¤p=
×£è¿ÍÌÌÌÌ0ÀyìQ¸…ë@áz®G�QÀy)\�Âõ(@ìQ¸…ë@yR¸…ë±AÀÃõ(\�2@rÉ   y       À      @y      @       Ày      @       Ày      ð¿       @y      ð¿      @ù      ð?      ð¿y      @      Àr  r  Tr	  )r+   r   r   r   Úconjr>  )rX   rY   ra   Úresrb   s        r4   Útest_hermitianzTestSolve.test_hermitianá  s  € åŒHÐBÐBÐBØ9Ð9Ð9Ø/Ð/Ð/Ø&Ð&Ð&ð(ñ )ô )ˆõ ŒH�{ LÐ1Ø" LÐ1Ø# [Ð1Ø! =Ð1ð3ñ 4ô 4ˆõ Œh˜ ˜Ø ˜Ø ˜Ø ˜ð'ñ (ô (ˆõ �!�Q Ð'Ñ'Ô'ˆÝ! ! SÑ)Ô)Ð)å�!—&’&‘(”(”*˜a¨%°tÐ<Ñ<Ô<ˆÝ! ! SÑ)Ô)Ð)Ð)Ð)r6   c                 ó„  — t          j        dd¦  «                             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¢¦  «         d S )	NrC   é
   rQ   é	   r  r  )ç      "@r=  r;   r  ©r+   r   rV   r   Útrilr‘   r   ©rX   r!  rb   s      r4   Útest_pos_and_symzTestSolve.test_pos_and_symõ  s¡   € ÝŒI�a˜ÑÔ×$Ò$ Q¨Ñ*Ô*ˆÝ•"”'˜!‘*”*˜Q‘,¥¤¨¡
¤
°UÐ;Ñ;Ô;ˆÝ! ! ] ] ]Ñ3Ô3Ð3Ý•"”'˜!‘*”*˜Q‘,¥¤¨¡
¤
°UÐ;Ñ;Ô;ˆÝ! ! ] ] ]Ñ3Ô3Ð3Ð3Ð3r6   c                 óØ   — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	¦  «        }t          j        d¦  «        d d …d f         }t          t          t
          ||¦  «         d S )N)	rC   r   r   r   r   r   rC   r   rC   )	rC   rC   rC   r   r   r   rC   r   rC   )	r   rC   rC   r   r   r   rC   r   rC   )	rC   r   rC   rC   rC   rC   r   r   r   )	rC   rC   rC   rC   rC   rC   rC   rC   rC   rJ  )r+   r   r   ry   r    r   ©rX   rY   ra   s      r4   Útest_singularityzTestSolve.test_singularityü  sŸ   € ÝŒHÐ1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1Ø1Ð1Ð1ð3ñ 4ô 4ˆõ ŒI�a‰LŒL˜˜˜˜D˜Ô!ˆÝ•k¥5¨!¨QÑ/Ô/Ð/Ð/Ð/r6   Ú	structure)	ÚdiagonalÚtridiagonalúlower triangularúupper triangularÚ	symmetricÚ	hermitianúpositive definiteÚgeneralNc                 óX  — t           j                             d¦  «        }d}t          j        dd|¦  «        }t          j        |¦  «        }|                     |¬¦  «        }d}t          j        t          |¬¦  «        5  t          |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nl   ÌEj]Ú rI  r   é2   ©ÚsizezIll-conditioned matrix...©Úmatchr  )	r+   r   Údefault_rngÚlogspacerm   r˜   Úwarnsr$   r   )rX   rS  Úrngr   Údr!  ra   Úmessages           r4   Útest_ill_condition_warningz$TestSolve.test_ill_condition_warning	  sä   € õ Œi×#Ò# LÑ1Ô1ˆØˆÝŒK˜˜2˜qÑ!Ô!ˆÝŒG�A‰JŒJˆØ�JŠJ˜AˆJÑÔˆØ-ˆÝŒ\�-¨wÐ7Ñ7Ô7ð 	,ð 	,Ý�!�Q Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   Á?BÂB#Â&B#c                 ó°   — t          j        d¦  «        }t           j                             ddd¦  «        }t	          ||¦  «        }t          ||¦  «         d S )NrB   rQ   r?   )r+   r�   r   Úrandr   r   r   s       r4   Útest_multiple_rhszTestSolve.test_multiple_rhs  sI   € ÝŒF�1‰IŒIˆÝŒI�NŠN˜1˜a Ñ#Ô#ˆÝ�!�Q‰KŒKˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r6   c                 óˆ  — t          j        d¦  «                             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¢¦  «         d S )	NrJ  rQ   rC   T©Ú
transposed)rû   gš™™™™™É?rC   F)rJ  gš™™™™™Àg333333ó¿rL  rN  s      r4   Útest_transposed_keywordz!TestSolve.test_transposed_keyword  s¢   € ÝŒI�a‰LŒL× Ò   AÑ&Ô&¨Ñ*ˆÝ•"”'˜!‘*”*˜Q‘,¥¤¨¡
¤
°tÐ<Ñ<Ô<ˆÝ! ! ] ] ]Ñ3Ô3Ð3Ý•"”'˜!‘*”*˜Q‘,¥¤¨¡
¤
°uÐ=Ñ=Ô=ˆÝ! ! _ _ _Ñ5Ô5Ð5Ð5Ð5r6   c                 óÜ   — t          j        d¦  «                             t          ¦  «        }t	          t
          ¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   Trm  )r+   r�   Úastyperž   ry   ÚNotImplementedErrorr   ©rX   rY   s     r4   Útest_transposed_notimplementedz(TestSolve.test_transposed_notimplemented%  s¥   € ÝŒF�1‰IŒI×Ò�WÑ%Ô%ˆÝÕ.Ñ/Ô/ð 	)ð 	)Ý�!�Q 4Ð(Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   ÁA!Á!A%Á(A%c                 óB   — t          t          t          ddgd¦  «         d S )NrC   rB   ©ry   rz   r   rö   s    r4   Útest_nonsquare_azTestSolve.test_nonsquare_a*  s    € Ý•j¥%¨!¨Q¨°Ñ3Ô3Ð3Ð3Ð3r6   c                 ó.  — t          t          t          j        d¦  «        t          j        d¦  «        ¦  «        t          j        d¦  «        ¦  «         t          t          t          t          j        d¦  «        t          j        d¦  «        ¦  «         d S )NrQ   r?   )r   r   r+   r�   r‘   ry   rz   rö   s    r4   Útest_size_mismatch_with_1D_bz&TestSolve.test_size_mismatch_with_1D_b-  s^   € Ý!¥%­¬¨q©	¬	µ2´7¸1±:´:Ñ">Ô">ÅÄÈÁ
Ä
ÑKÔKÐKÝ•j¥%­¬°©¬µB´G¸A±J´JÑ?Ô?Ð?Ð?Ð?r6   c                 óB   — t          t          t          ddd¬¦  «         d S )NrC   Úzxcvr  rv  rö   s    r4   Útest_assume_a_keywordzTestSolve.test_assume_a_keyword1  s!   € Ý•j¥%¨¨A¸Ð?Ñ?Ô?Ð?Ð?Ð?r6   z5Failure on OS X (gh-7500), crash on Windows (gh-8064)©Úreasonc                 ó  — ddg}g d¢}t           j        t           j        t           j        t           j        g}t          j        |||¦  «        D �]3\  }}}|t           j        t           j        fv }|dk    r|sŒ*d|› d|› d|› �}t           j                             ||¦  «         	                    |¦  «        }	t           j                             |¦  «         	                    |¦  «        }
|r9|	dt           j                             ||¦  «        z   	                    |¦  «        z   }	|d	k    r|	|	j
        z   }	nm|dk    r|	|	j
                             ¦   «         z   }	nJ|d
k    rD|	                     ¦   «         j
                             |	¦  «        dt          j        |¦  «        z  z   }	|t           j        t           j        fv rdnd}|dv r|t           j        t           j        fv r|dz  }t          |	|
|¬¦  «        }t          |	                     |¦  «        |
||z  ||z  |¬¦  «         |d	k    rZ|t           j        t           j        fvr@t          |	|
|d¬¦  «        }t          |	                     |¦  «        |
||z  ||z  |¬¦  «         �Œ5d S )NrI  éd   )Úgenr  r  r  r  zFailed for size: z, assume_a: z,dtype: rh   r  r  r)  çê-�™—q=g�íµ ÷Æ°>)r�  r  r  r  ©Úatolrƒ   Úerr_msgT)r
  rn  )r+   r
   r-   rŸ   r/   Ú	itertoolsÚproductr   Úrandnrq  r>  rE  r   r�   r   r   )rX   ÚsizesÚ	assume_asÚdtypesr_  r
  r…   Ú
is_complexr…  rY   ra   Útolrb   s                r4   Ú'test_all_type_size_routine_combinationsz1TestSolve.test_all_type_size_routine_combinations4  s©  € ð �S�	ˆØ0Ð0Ð0ˆ	Ý”*�bœj­"¬,½¼ÐFˆÝ%.Ô%6°u¸iØ7=ñ&?ô &?ð )	1ñ )	1Ñ!ˆD�(˜Eà¥2¤<µ´Ð"?Ð?ˆJØ˜5Ò Ð ¨Ð Øð)¨4ð )ð )¸Xð )ð )Ø!&ð)ð )ˆGõ ”	—’  dÑ+Ô+×2Ò2°5Ñ9Ô9ˆAÝ”	—’ Ñ%Ô%×,Ò,¨UÑ3Ô3ˆAØð GØ˜�BœIŸOšO¨D°$Ñ7Ô7Ñ7×?Ò?ÀÑFÔFÑF�à˜5Ò Ð Ø˜œ‘G��Ø˜UÒ"Ð"Ø˜œŸš™
œ
‘N��Ø˜UÒ"Ð"Ø—F’F‘H”H”J—N’N 1Ñ%Ô%¨­B¬F°4©L¬LÑ(8Ñ8�à ¥R¤Zµ´Ð$?Ð?Ð?�%�%ÀTˆCàÐ0Ð0Ð0ð �RœZ­¬Ð6Ð6Ð6Ø˜2‘I�Cå�a˜ XÐ.Ñ.Ô.ˆAÝ˜AŸEšE !™HœH aØ!$ t¡Ø!$ t¡Ø$+ð-ñ -ô -ð -ð
 ˜5Ò Ð  Uµ2´<Ý35´=ð3Bð &Bð &Bå˜!˜Q¨¸dÐCÑCÔC�Ý §¢ a¡¤¨!Ø%(¨4¡ZØ%(¨4¡ZØ(/ð1ñ 1ô 1ð 1ùðM)	1ð )	1r6   Údt_ar‹   c                 ó,  — t          j        d|¬¦  «        }t          j        d|¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚t          t          j        d|¬¦  «        t          j        d|¬¦  «        ¦  «        j        }|j        |k    sJ ‚d S ©Nr€   r�   r   rB   )r+   r’   r   r_  r�   r‘   r…   ©rX   r�  r‹   rY   ra   rb   Údt_nonemptys          r4   r”   zTestSolve.test_emptye  s‘   € õ ŒH�V 4Ð(Ñ(Ô(ˆÝŒH�Q˜dÐ#Ñ#Ô#ˆÝ�!�Q‰KŒKˆàŒv˜Š{ˆ{ˆ{ˆ{Ý�BœF 1¨DÐ1Ñ1Ô1µ2´7¸1ÀDÐ3IÑ3IÔ3IÑJÔJÔPˆØŒw˜+Ò%Ð%Ð%Ð%Ð%Ð%r6   c                 óº   — t          j        d¦  «        }g g g}t          ||¦  «        }t          |j        dk    d¦  «         t          |j        dk    d¦  «         d S ©NrB   r   zReturned array is not empty)rB   r   z#Returned empty array shape is wrong)r+   r�   r   r   r_  r�   r   s       r4   Útest_empty_rhszTestSolve.test_empty_rhsq  sZ   € ÝŒF�1‰IŒIˆØ�ˆHˆÝ�!�Q‰KŒKˆÝ�”˜!’Ð:Ñ;Ô;Ð;Ý�”˜6Ò!Ð#HÑIÔIÐIÐIÐIr6   r…   r
  )rT  rU  ÚbandedrV  rW  rX  rY  r[  r  r  r�  Únrhsr    )r  rn  TFÚ	overwriteÚfortranc                 óø  — t           j                             d¦  «        }|dk    sdnd}|                     |f|z   ¬¦  «        }	|                     ||f¬¦  «        }
t          j        |t           j        ¦  «        r>|	|                     |f|z   ¬¦  «        dz  z   }	|
|                     ||f¬¦  «        dz  z   }
|dk    r(t          j        t          j        |
¦  «        ¦  «        }
�nO|dk    rt          j        |
¦  «        }
�n3|d	k    rt          j        |
¦  «        }
�n|d
k    ryt          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¦  «        }
ni|dv r|
|
j        z   }
nZ|dv r|
|
 	                    ¦   «         j        z   }
n9|dv r5|
|
j        z   }
|
t          j        |
 
                    d¬¦  «        ¦  «        z  }
|rt          j        |
¦  «        }
|
                     d¬¦  «        }|	                     ¦   «         }t          j        |t           j        ¦  «        rM|rKd}t          j        t          |¬¦  «        5  t!          |
|	|||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S t!          |
|	||||¬¦  «        }t           j                             |r|j        n||¦  «        }t%          ||¦  «         |dk    r t'          t!          |||¬¦  «        |¦  «         |s"t'          |
|¦  «         t'          |	|¦  «         d S d S )Nl   ’q¨~Àu r—  r  r<   r^  rh   rT  rV  rW  rU  rE   rC   rB   >   r  rX  >   r  rY  >   r  rZ  ©Úaxisr!  )Úorderz#scipy.linalg.solve can currently...r`  )Úoverwrite_aÚoverwrite_brn  )rŸ  r   rn  r
  rm  )r+   r   rb  Ú
issubdtypeÚcomplexfloatingrm   rM  Útriur>  rE  ÚsumÚasfortranarrayÚcopyr˜   r   rr  r   Úlinalgr   r   )rX   r…   r
  r˜  rn  r™  rš  re  r   ra   r!  ÚA_copyÚb_copyrg  rF  r†   s                   r4   Útest_structure_detectionz"TestSolve.test_structure_detectionx  s´  € õ Œi×#Ò# OÑ4Ô4ˆØ Ò)Ð)ˆAˆA¨rˆØ�JŠJ˜Q˜D 4™KˆJÑ(Ô(ˆØ�JŠJ˜Q ˜FˆJÑ#Ô#ˆåŒ=˜¥Ô 2Ñ3Ô3ð 	1Ø�C—J’J Q D¨4¡K�JÑ0Ô0°2Ñ5Ñ5ˆAØ�C—J’J Q¨ F�JÑ+Ô+¨bÑ0Ñ0ˆAà�zÒ!Ð!Ý”�œ ™
œ
Ñ#Ô#ˆA‰AØÐ+Ò+Ð+Ý”˜‘
”
ˆA‰AØÐ+Ò+Ð+Ý”˜‘
”
ˆA‰AØ˜Ò&Ð&Ý”�œ ™œÑ$Ô$Ý”7�2œ7 1 b™>œ>¨2Ñ.Ô.ñ/å”7�2œ7 1 a™=œ=¨!Ñ,Ô,ñ-ˆAˆAð ˜Ò!Ð!Ý”�œ  1™œ rÑ*Ô*ˆAˆAØÐ-Ð-Ð-Ø�A”C‘ˆAˆAØÐ-Ð-Ð-Ø�A—F’F‘H”H”J‘ˆAˆAØÐ5Ð5Ð5Ø�A”C‘ˆAØ•”˜Ÿš A˜™œÑ'Ô'Ñ'ˆAàð 	%ÝÔ! !Ñ$Ô$ˆAà—’˜c�Ñ"Ô"ˆØ—’‘”ˆåŒ=˜¥Ô 2Ñ3Ô3ð 	¸
ð 	Ø;ˆGÝ”Õ2¸'ÐBÑBÔBð -ð -Ý�a˜¨	¸yØ!+ð-ñ -ô -ð -ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð ˆFå�A�q i¸YØ)°Hð>ñ >ô >ˆõ Œi�oŠo¨*Ð@˜fœh˜h¸&À&ÑIÔIˆÝ˜˜SÑ!Ô!Ð!ð �xÒÐÝ�˜v v¸*ÐEÑEÔEÀsÑKÔKÐKð ð 	$Ý˜˜FÑ#Ô#Ð#Ý˜˜FÑ#Ô#Ð#Ð#Ð#ð	$ð 	$s   Ê4KËKËKN)2r•   r–   r—   r÷   r˜   r™   rš   rþ   r  r  r  r  r  r  r  r  r  r'  r-  r/  r4  r6  ru   r;  r?  rB  rG  rO  rR  r›   rh  rk  ro  rt  rw  ry  r|  ÚskiprŽ  rœ   r�   r+   r
   rž   rŸ   r”   r–  r-   r/   rª  r    r6   r4   rð   rð     sï  € € € € € ðð ð ð „[Ôð	6ð 	6ñ Ôð	6ð4ð 4ð 4ð4ð 4ð 4ð8ð 8ð 8ð4ð 4ð 4ð8ð 8ð 8ð4ð 4ð 4ð4ð 4ð 4ð8ð 8ð 8ð4ð 4ð 4ð	+ð 	+ð 	+ð	4ð 	4ð 	4ð4ð 4ð 4ð
4ð 
4ð 
4ð4ð 4ð 4ð4ð 4ð 4ðLð Lð LðAð Að Að@ð @ð @ð"*ð *ð *ð(4ð 4ð 4ð0ð 0ð 0ð „[ÔØ„[×Ò˜[ðDñEô Eð,ð ,ñ	Eô Eñ Ôð
,ð(ð (ð (ð6ð 6ð 6ð)ð )ð )ð
4ð 4ð 4ð@ð @ð @ð@ð @ð @ð „[×Òð :Ðñ ;ô ;ð-1ð -1ñ;ô ;ð-1ð^ „[ÔØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUð&ð &ñ VÔUñ VÔUñ Ôð&ðJð Jð Jð „[×Ò˜W r¤z°2´=Ð&AÑBÔBà„[×Ò˜Zð *Jð *Jð *Jñ Kô Kð „[×Ò˜V b¨$ ZÑ0Ô0Ø„[×Ò˜\¨D°%¨=Ñ9Ô9Ø„[×Ò˜[¨4°¨-Ñ8Ô8Ø„[×Ò˜Y¨¨u¨Ñ6Ô6ð;$ð ;$ñ 7Ô6ñ 9Ô8ñ :Ô9ñ 1Ô0ñ	Kô Kñ CÔBð;$ð ;$ð ;$r6   rð   c            	       óì   — e Zd Zd„ Zd„ Zd„ Zej                             de	e
ej        eej        g¦  «        ej                             de	e
ej        eej        g¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )	ÚTestSolveTriangularc                 óŒ  — 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¦  «         dS )ú:
        solve_triangular on a simple 2x2 matrix.
        rC   r   rB   Tr¹   Fr   ©rº   Útransr;   ç      à¿N)r   r   r   r>  r   ©rX   r!  ra   Úsols       r4   r  zTestSolveTriangular.test_simpleÂ  së   € õ �A�q�6˜A˜q˜6Ð"Ñ#Ô#ˆØ�ˆFˆÝ˜q !¨4Ð0Ñ0Ô0ˆÝ! #¨¨1 vÑ.Ô.Ð.õ ˜qœs A¨UÐ3Ñ3Ô3ˆÝ! #¨¨B xÑ0Ô0Ð0õ ˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨¨B xÑ0Ô0Ð0å�Q‰KŒKˆÝ˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨¨S¨	°A°s°8Ð'<Ñ=Ô=Ð=Ð=Ð=r6   c                 óÖ  — 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¦  «         dS )zA
        solve_triangular on a simple 2x2 complex matrix
        rA  r   rh   rB   TrC   r°  y      à?      à¿y      Ð¿      Ð¿r   ù      ð?       @y       €      à¿y      à?      ð?y      Ð?      è¿y      è¿      Ð¿Fr²  N)r   r   r   r   r+   rm   r>  r³  s       r4   r  z'TestSolveTriangular.test_simple_complex×  s±  € õ �D˜!�9˜r 1˜gÐ&Ñ'Ô'ˆÝ�Q‰KŒKˆÝ˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨°Ð(;¸aÀ¸XÐ'FÑGÔGÐGõ ŒG�T˜4�LÑ!Ô!ˆÝ˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨¨A¨°¸°Ð'@ÑAÔAÐAå˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨¨J¨¸!¸V¸Ð'EÑFÔFÐFå˜q !¨4°qÐ9Ñ9Ô9ˆÝ! #¨¨[Ð(9¸A¸v¸;Ð'GÑHÔHÐHå˜qœs A¨U¸!Ð<Ñ<Ô<ˆÝ! #¨¨J¨¸!¸V¸Ð'EÑFÔFÐFå˜qœs A¨U¸!Ð<Ñ<Ô<ˆÝ! #¨¨A¨°¸°Ð'@ÑAÔAÐAå˜qœs A¨U¸!Ð<Ñ<Ô<ˆÝ! #¨¨Q¨°$¸°Ð'@ÑAÔAÐAÐAÐAr6   c                 ó‚   — t          ddgddgg¦  «        }ddg}t          ||dd¬¦  «        }t          |ddg¦  «         dS )r¯  rC   r   rB   TF)rº   rt   N)r   r   r   r³  s       r4   ru   z%TestSolveTriangular.test_check_finiteô  sW   € õ �A�q�6˜A˜q˜6Ð"Ñ#Ô#ˆØ�ˆFˆÝ˜q !¨4¸eÐDÑDÔDˆÝ! #¨¨1 vÑ.Ô.Ð.Ð.Ð.r6   r�  r‹   c                 ó,  — t          j        d|¬¦  «        }t          j        d|¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚t          t          j        d|¬¦  «        t          j        d|¬¦  «        ¦  «        j        }|j        |k    sJ ‚d S r‘  )r+   r’   r   r_  r�   r‘   r…   r’  s          r4   r”   zTestSolveTriangular.test_emptyý  s�   € õ ŒH�V 4Ð(Ñ(Ô(ˆÝŒH�Q˜dÐ#Ñ#Ô#ˆÝ˜Q Ñ"Ô"ˆàŒv˜Š{ˆ{ˆ{ˆ{Ý&ÝŒF�1˜DÐ!Ñ!Ô!¥2¤7¨1°DÐ#9Ñ#9Ô#9ñ
ô 
ä
ð 	ð Œw˜+Ò%Ð%Ð%Ð%Ð%Ð%r6   c                 óº   — t          j        d¦  «        }g g g}t          ||¦  «        }t          |j        dk    d¦  «         t          |j        dk    d¦  «         d S r•  )r+   r�   r   r   r_  r�   r   s       r4   r–  z"TestSolveTriangular.test_empty_rhs
  s\   € ÝŒF�1‰IŒIˆØ�ˆHˆÝ˜Q Ñ"Ô"ˆÝ�”˜!’Ð:Ñ;Ô;Ð;Ý�”˜6Ò!Ð#HÑIÔIÐIÐIÐIr6   N)r•   r–   r—   r  r  ru   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r–  r    r6   r4   r­  r­  À  sÃ   € € € € € ð>ð >ð >ð*Bð Bð Bð:/ð /ð /ð „[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUð	&ð 	&ñ VÔUñ VÔUð	&ðJð Jð Jð Jð Jr6   r­  c                   ó˜   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             deeej        eej        g¦  «        d„ ¦   «         Zd	S )
ÚTestInvc                 óD   — t           j                             d¦  «         d S rò   rô   rö   s    r4   r÷   zTestInv.setup_method  rø   r6   c                 ó(  — ddgddgg}t          |¦  «        }t          t          ||¦  «        t          j        d¦  «        ¦  «         g d¢g d¢g d¢g}t          |¦  «        }t          t          ||¦  «        t          j        d¦  «        ¦  «         d S )NrC   rB   rQ   r?   rì   ©r?   r  r@   ©rF   é   rI  )r   r   r   r+   r�   ©rX   rY   Úa_invs      r4   r  zTestInv.test_simple  sˆ   € Ø�ˆV�a˜�VÐˆÝ�A‘”ˆÝ!¥# a¨¡-¤-µ´¸±´Ñ;Ô;Ð;ØˆYˆY˜	˜	˜	 : : :Ð.ˆÝ�A‘”ˆÝ!¥# a¨¡-¤-µ´¸±´Ñ;Ô;Ð;Ð;Ð;r6   c                 ó  — d}t          d¦  «        D ]t}t          ||g¦  «        }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          |¦  «        }t          t	          ||¦  «        t          |¦  «        ¦  «         Œud S )Nr<   r?   r)  ©r+  r   r   r   r   r   ©rX   r   r%  rY   rÂ  s        r4   r-  zTestInv.test_random  sž   € ØˆÝ�q‘”ð 	3ð 	3ˆAÝ˜˜1�v‘”ˆAÝ˜1‘X”Xð *ð *�Ø˜b  1 a 4¤™j™/��!�Q�$‘�Ý˜‘F”FˆEÝ%¥c¨!¨U¡m¤mÝ&.¨q¡k¤kñ3ô 3ð 3ð 3ð	3ð 	3r6   c                 ó|   — ddgddgg}t          |¦  «        }t          t          ||¦  «        ddgddgg¦  «         d S )NrC   rB   rQ   ræ   r   ©r   r   r   rÁ  s      r4   r  zTestInv.test_simple_complex(  sJ   € Ø�ˆV�a˜�WÐˆÝ�A‘”ˆÝ!¥# a¨¡-¤-°1°a°&¸1¸a¸&Ð1AÑBÔBÐBÐBÐBr6   c                 ó<  — d}t          d¦  «        D ]‰}t          ||g¦  «        dt          ||g¦  «        z  z   }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          |¦  «        }t          t	          ||¦  «        t          |¦  «        ¦  «         ŒŠd S )Nr<   r?   re   r)  rÄ  rÅ  s        r4   r/  zTestInv.test_random_complex-  s²   € ØˆÝ�q‘”ð 	3ð 	3ˆAÝ˜˜1�v‘”˜r¥&¨!¨Q¨¡.¤.Ñ0Ñ0ˆAÝ˜1‘X”Xð *ð *�Ø˜b  1 a 4¤™j™/��!�Q�$‘�Ý˜‘F”FˆEÝ%¥c¨!¨U¡m¤mÝ&.¨q¡k¤kñ3ô 3ð 3ð 3ð	3ð 	3r6   c                 ó€   — ddgddgg}t          |d¬¦  «        }t          t          ||¦  «        ddgddgg¦  «         d S )NrC   rB   rQ   r?   Frs   r   rÇ  rÁ  s      r4   ru   zTestInv.test_check_finite7  sQ   € Ø�ˆV�a˜�VÐˆÝ�A EÐ*Ñ*Ô*ˆÝ!¥# a¨¡-¤-°1°a°&¸1¸a¸&Ð1AÑBÔBÐBÐBÐBr6   r3   c                 óÐ   — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S r‘  )r+   r’   r   r_  r…   r�   )rX   r3   rY   rÂ  s       r4   r”   zTestInv.test_empty<  sc   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�A‘”ˆØŒz˜QŠˆˆˆØŒ{�c¥"¤&¨°"Ð"5Ñ"5Ô"5Ñ6Ô6Ô<Ò<Ð<Ð<Ð<Ð<Ð<r6   N)r•   r–   r—   r÷   r  r-  r  r/  ru   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r»  r»    s²   € € € € € ðð ð ð<ð <ð <ð3ð 3ð 3ðCð Cð Cð
3ð 3ð 3ðCð Cð Cð
 „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð=ð =ñ TÔSð=ð =ð =r6   r»  c                   ó†  — e Zd Zd„ Zd„ Zd„ Zej                             dddgddgg d¢g¦  «        d„ ¦   «         Z	d	„ Z
ej                             d
d„ ej        d         dd…         D ¦   «         ¦  «        d„ ¦   «         Zd„ Zd„ Zej                             deeej        eej        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestDetc                 óN   — t           j                             d¦  «        | _        d S )Nl   ¯*ƒnê`/ )r+   r   rb  re  rö   s    r4   r÷   zTestDet.setup_methodE  s   € Ý”9×(Ò(Ð)9Ñ:Ô:ˆŒˆˆr6   c                 ó(  — 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¦  «         d S )
NrC   rf  r;   Úfr�   rk   y      ð?      @r  )rC   )	r+   r   r   r…   ÚcharÚisscalarr�   r   rŸ   ©rX   rY   Údetas      r4   Útest_1x1_all_singleton_dimsz#TestDet.test_1x1_all_singleton_dimsH  s   € ÝŒH�q�c�U‰OŒOˆÝ�1‰vŒvˆØŒzŒ #Ò%Ð%Ð%Ð%ÝŒ{˜4Ñ Ô Ð Ð Ð Ø�rŠzˆzˆzˆzÝŒH˜˜�u�g�Y cÐ*Ñ*Ô*ˆÝ�1‰vŒvˆØŒzŒ #Ò%Ð%Ð%Ð%ØŒz˜VÒ#Ð#Ð#Ð#Ý�T˜S˜E˜7Ñ#Ô#Ð#ÝŒH˜�y�k�]­"¬,Ð7Ñ7Ô7ˆÝ�1‰vŒvˆØŒzŒ #Ò%Ð%Ð%Ð%ØŒz˜TÒ!Ð!Ð!Ð!Ý�T˜F˜8Ñ$Ô$Ð$Ð$Ð$r6   c                 ó  — | 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	        |¦  «        ¦  «         d S )N)r?   r  rC   rC   r�   rf  ©r?   r  rh   r  )re  r   r+   r
   r   r…   rÐ  r�   r   ÚsqueezerŸ   rÒ  s      r4   Útest_1by1_stacked_input_outputz&TestDet.test_1by1_stacked_input_outputY  sç   € ØŒH�OŠO˜L˜L˜Lµ´
ˆOÑ;Ô;ˆÝ�1‰vŒvˆØŒzŒ #Ò%Ð%Ð%Ð%ØŒz˜VÒ#Ð#Ð#Ð#Ý˜�bœj¨™mœmÑ,Ô,Ð,àŒH�OŠO˜L˜L˜Lµ´
ˆOÑ;Ô;½B¼LÈÑ<MÔ<MÑMˆÝ�1‰vŒvˆØŒzŒ #Ò%Ð%Ð%Ð%ØŒz˜VÒ#Ð#Ð#Ð#Ý˜�bœj¨™mœmÑ,Ô,Ð,Ð,Ð,r6   r�   rB   r<   )rQ   rB   r<   r<   c                 ó¸  — | j                              dd|¬¦  «        }t          |¦  «        t          j                             |¦  «        }}t          ||¦  «         | j                              dd|¬¦  «        dz  }|| j                              dd|¬¦  «        z  }t          |¦  «        t          j                             |¦  «        }}t          ||¦  «         d S )Nç      ð¿r;   r^  rh   r²  r   )re  Úuniformr   r+   r§  r   )rX   r�   rY   Úd1Úd2ra   Úd3Úd4s           r4   Ú#test_simple_det_shapes_real_complexz+TestDet.test_simple_det_shapes_real_complexf  sÀ   € àŒH×Ò˜S "¨5ÐÑ1Ô1ˆÝ�Q‘”�œŸš qÑ)Ô)ˆBˆÝ˜˜BÑÔÐàŒH×Ò˜S "¨5ÐÑ1Ô1°"Ñ4ˆØ	ˆTŒX×Ò˜d C¨eÐÑ4Ô4Ñ4ˆÝ�Q‘”�œŸš qÑ)Ô)ˆBˆÝ˜˜BÑÔÐÐÐr6   c                 óH  — 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
¦  «                             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¦  «         d S )N)rC   rC   rC   rC   rC   rC   rC   rC   )rC   rE   rC   rE   rC   rE   rC   rE   )rC   rC   rE   rE   rC   rC   rE   rE   )rC   rE   rE   rC   rC   rE   rE   rC   )rC   rC   rC   rC   rE   rE   rE   rE   )rC   rE   rC   rE   rE   rC   rE   rC   )rC   rC   rE   rE   rE   rE   rC   rC   )rC   rE   rE   rC   rE   rC   rC   rE   g      °@é   r  rI   )rú   rú   ù              ð¿rD  )rú   rú   ù      ð?        rã  )rh   rA  rú   rú   )rä  rh   rú   rú   r�   y      @        )g       Àç      Àr;   rI   rI   rI   rI   rI   )r;   rI   rI   rI   rI   rI   rI   rI   )rI   g      ÀrI   g      Àr;   rI   rI   rI   )rI   r;   rI   rI   rI   rI   rI   rI   )rI   rI   rI   g      ÀrI   g      Àr;   rI   )rI   rI   rI   r;   rI   rI   rI   rI   )rI   rI   rI   rI   rI   g       ÀrI   g      "À)rI   rI   rI   rI   rI   r;   rI   rI   rh   rK  )r+   r   r   r   r   rV   rŸ   rs  s     r4   Útest_for_known_det_valuesz!TestDet.test_for_known_det_valuesq  s—  € åŒHÐ.Ð.Ð.Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2ð4ñ 5ô 5ˆõ 	�˜A™œ Ñ&Ô&Ð&õ 	��BœI b™MœM×1Ò1°!°QÑ7Ô7Ñ8Ô8¸"Ñ=Ô=Ð=õ
 ŒHÐ6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6ð8õ @B¼|ðMñ Mô Mˆõ 	�˜A™œ Ñ'Ô'Ð'õ ŒHÐ8Ð8Ð8Ø6Ð6Ð6Ø8Ð8Ð8Ø6Ð6Ð6Ø8Ð8Ð8Ø6Ð6Ð6Ø8Ð8Ð8Ø6Ð6Ð6ð8ñ 9ô 9ð :=ñ=ˆõ 	�˜A™œ Ñ#Ô#Ð#Ð#Ð#r6   Útypc                 ó   — g | ]}|d v¯|‘Œ	S )ÚgGr    )Ú.0rb   s     r4   ú
<listcomp>zTestDet.<listcomp>–  s(   € ð %7ð %7ð %7¨1Ø()°¨¨ð &'Ø(5¨¨r6   ÚAllNc                 óÔ   — d}| j                              ||g¦  «                             |¦  «        }t          t	          |¦  «        t
          j        t
          j        z  ¦  «        sJ ‚d S )Nr?   )re  r   rq  Ú
isinstancer   r+   r-   r/   )rX   rç  r   rY   s       r4   Ú"test_sample_compatible_dtype_inputz*TestDet.test_sample_compatible_dtype_input–  sY   € ð ˆØŒH�OŠO˜Q ˜FÑ#Ô#×*Ò*¨3Ñ/Ô/ˆÝ�#˜a™&œ&¥2¤:µ´Ñ#=Ñ?Ô?Ð?Ð?Ð?Ð?Ð?r6   c                 óô  — d}t          dg d¢¦  «        D ]\\  }}t          t          |¬¦  «        5  t          t	          j        ddggdz  |¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ]t          t          |¬¦  «        5  t          t	          j        d	d
ggdz  d¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |¬¦  «        5  t          t	          j        ddggdz  d¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |¬¦  «        5  t          t	          j        ddggdz  d¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz!cannot be cast to float\(32, 64\)ÚSUO)Úbytes8Ústr32Úobjectr`  rY   ra   rB   r�   ó   aó   bÚVr€  éÈ   zdatetime64[s]ztimedelta64[s])Úzipry   Ú	TypeErrorr   r+   r   )rX   ÚmsgÚcÚts       r4   Útest_incompatible_dtype_inputz%TestDet.test_incompatible_dtype_input�  sž  € à3ˆå˜Ð<Ð<Ð<Ñ=Ô=ð 	7ð 	7‰DˆAˆqÝ�y°Ð4Ñ4Ô4ð 7ð 7Ý•B”H˜s C˜j˜\¨!™^°1Ð5Ñ5Ô5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7øå�9¨CÐ0Ñ0Ô0ð 	7ð 	7Ý•”˜4 ˜,˜¨Ñ)°Ð5Ñ5Ô5Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7å�9¨CÐ0Ñ0Ô0ð 	Að 	AÝ•”˜3 ˜*˜ a™¨Ð?Ñ?Ô?Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Aå�9¨CÐ0Ñ0Ô0ð 	Bð 	BÝ•”˜3 ˜*˜ a™Ð/?Ð@Ñ@Ô@ÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	BsG   °*A&Á&A*	Á-A*	Â*B>Â>CÃCÃ*DÄDÄDÄ6*E-Å-E1Å4E1c                 óü  — 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 ¦  «         n# 1 swxY w Y   t          t          d	¬¦  «        5  t          t          j        g ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          t          j        g g¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          t          j        g gg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r;   )r   r   r   ©rQ   r   r   ©r;   r;   r;   zLast 2 dimensionsr`  )r   r   rQ   zat least two-dimensional)r   r   r+   r’   r   ry   rz   rö   s    r4   Útest_empty_edge_caseszTestDet.test_empty_edge_cases«  s£  € Ý��BœH a¨ VÑ,Ô,Ñ-Ô-¨rÑ2Ô2Ð2Ý��BœH Y Y YÑ/Ô/Ñ0Ô0µ"´(¸2±,´,Ñ?Ô?Ð?Ý��BœH Y Y YÑ/Ô/Ñ0Ô0µ"´(¸<¸<¸<Ñ2HÔ2HÑIÔIÐIÝ�:Ð-@ÐAÑAÔAð 	%ð 	%Ý•”˜˜˜Ñ#Ô#Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�:Ð-GÐHÑHÔHð 	ð 	Ý•”˜‘”ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�:Ð-@ÐAÑAÔAð 	 ð 	 Ý•”˜"˜‘”ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 å�:Ð-@ÐAÑAÔAð 	"ð 	"Ý•”˜2˜$˜Ñ Ô Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"sH   Ã$D Ä DÄDÄ!"EÅEÅEÅ0#FÆF#Æ&F#Ç $G1Ç1G5Ç8G5r3   c                 óš  — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S )Nr€   r�   r    rB   r   r9  )rQ   rC   rC   )r+   r’   r   r�   r…   r�   r   )rX   r3   rY   rf  s       r4   Útest_empty_dtypezTestDet.test_empty_dtype¸  s¾   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�‰FŒFˆØŒw˜"Š}ˆ}ˆ}ˆ}ØŒw�#�bœf Q¨bÐ1Ñ1Ô1Ñ2Ô2Ô8Ò8Ð8Ð8Ð8åŒH�Y bÐ)Ñ)Ô)ˆÝ�‰FŒFˆØŒw˜$ŠˆˆˆØŒw�#�bœh y¸Ð;Ñ;Ô;Ñ<Ô<ÔBÒBÐBÐBÐBÐBÐBr6   c                 ó.  — t          j        d¦  «                             dd¦  «                             t           j        ¦  «        }|                     ¦   «         }t          |d¬¦  «        }t          |d¦  «         ||k                         ¦   «         rJ ‚d S )NrJ  rQ   T©rŸ  rI   )	r+   r   rV   rq  r
   r¦  r   r   Úall)rX   rY   ÚacrÓ  s       r4   Útest_overwrite_azTestDet.test_overwrite_aÄ  s~   € õ
 ŒI�a‰LŒL× Ò   AÑ&Ô&×-Ò-­b¬jÑ9Ô9ˆØ�VŠV‰XŒXˆÝ�2 4Ð(Ñ(Ô(ˆÝ˜˜bÑ!Ô!Ð!Ø˜’G—=’=‘?”?Ð"Ð"Ð"Ð"Ð"r6   c                 óª   — t          j        g d¢g d¢g d¢g¦  «        }|                     d¬¦  «         t          t	          |d¬¦  «        d¦  «         d S )	N)rP   rI   r;   )ç      @rw   rÚ  r  F)ÚwriteTr  rO   )r+   r   Úsetflagsr   r   rs  s     r4   Útest_readonly_arrayzTestDet.test_readonly_arrayÏ  s[   € ÝŒH�l�l�l M M M°<°<°<Ð@ÑAÔAˆØ	�
Š
˜ˆ
ÑÔÐå�˜A¨4Ð0Ñ0Ô0°#Ñ6Ô6Ð6Ð6Ð6r6   c                 ó¦   — ddgdt           j        gg}t          t          d¬¦  «        5  t	          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrC   rB   rQ   zarray must not containr`  )r+   Úinfry   rz   r   rs  s     r4   Útest_simple_check_finitez TestDet.test_simple_check_finiteÕ  s™   € Ø�ˆV�a�œ�[Ð!ˆÝ�:Ð-EÐFÑFÔFð 	ð 	Ý�‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ©AÁA
ÁA
)r•   r–   r—   r÷   rÔ  rØ  r˜   r™   r›   rà  ræ  r+   Ú	typecodesrï  rþ  r  rœ   r�   r
   rž   rŸ   r  r	  r  r  r    r6   r4   rÌ  rÌ  D  s‚  € € € € € ð;ð ;ð ;ð%ð %ð %ð"-ð -ð -ð „[×Ò˜W¨¨1 v°°B¨x¸¸¸Ð&HÑIÔIð ð  ñ JÔIð ð"$ð "$ð "$ðJ „[×Ò˜Uð %7ð %7°´¸UÔ0CÀCÀRÀCÔ0Hð %7ñ %7ô %7ñ 8ô 8ð@ð @ñ8ô 8ð@ð
Bð Bð Bð"ð "ð "ð „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð	Cð 	Cñ TÔSð	Cð	#ð 	#ð 	#ð7ð 7ð 7ðð ð ð ð r6   rÌ  c                 ó¢   — t          | ¦  «        }|rt          |¦  «        }t          || ¦  «        }t          ||¦  «        }t          ||¦  «        S )N)r	   r   r   r   )rY   ra   ÚcmplxÚatÚa1Úb1s         r4   Údirect_lstsqr  Û  sH   € Ý	�1‰Œ€BØð Ý�r‰]Œ]ˆÝ	ˆR�‰Œ€BÝ	ˆR�‰Œ€BÝ��R‰=Œ=Ðr6   c            	       óh  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zej	         
                    de¦  «        ej	         
                    dd¦  «        ej	         
                    d	e¦  «        ej	         
                    d
d¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej	                             ed¬¦  «        ej	         
                    de¦  «        ej	         
                    dd¦  «        ej	         
                    d	e¦  «        ej	         
                    d
d¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zej	         
                    deeej        eej        g¦  «        ej	         
                    deeej        eej        g¦  «        d„ ¦   «         ¦   «         ZdS )Ú	TestLstsq)ÚgelsdÚgelssÚgelsyNc                 ó  — t           D �] }t          j        ddgddgg|¬¦  «        }t          j        D ]Ô}dD ]Ï}dD ]Ê}|                     ¦   «         }t          j        ||¬¦  «        }|                     ¦   «         }t          |||||¬¦  «        }	|	d	         }
|	d
         }t          |d
k    d|› �¦  «         t          t          ||
¦  «        |dt          |j        ¦  «        z  dt          |j        ¦  «        z  d|› �¬¦  «         ŒËŒÐŒÕ�Œd S )NrC   r<   r>   r?   r�   ©TF©)©rC   r   r  r!  )rM   ©r>   r?   ©Úlapack_driverrŸ  r   r   rB   úexpected efficient rank 2, got râ  údriver: rƒ  )ÚREAL_DTYPESr+   r   r  Úlapack_driversr¦  r   r   r   r   r5   r…   )rX   r…   rY   r$  r™  Úbtr  ra   r  Úoutrb   r&  s               r4   Útest_simple_exactzTestLstsq.test_simple_exactç  sq  € Ý ð 	Lñ 	LˆEÝ”˜1˜b˜' C¨ 8Ð,°EÐ:Ñ:Ô:ˆAÝ!*Ô!9ð Lð L�Ø!.ð Lð L�Ið3ð Lð L˜ð ŸVšV™XœX˜ÝœH R¨uÐ5Ñ5Ô5˜ØŸVšV™XœX˜Ý# B¨Ø2?Ø09Ø09ð;ñ ;ô ;˜ð   œF˜Ø œF˜Ý  Q¢Ø EÀ!Ð EÐ EñGô Gð Gå'­¨A¨q©	¬	°1Ø-/µ)¸B¼HÑ2EÔ2EÑ-EØ-/µ)¸B¼HÑ2EÔ2EÑ-EØ0J¸=Ð0JÐ0JðLñ Lô Lð Lð LðLðLñLð	Lð 	Lr6   c                 óh  — t           D �]¨}t          j        ddgddgddgg|¬¦  «        }t          j        g d¢|¬¦  «        }t          j        D �]`}dD �]Y}|                     ¦   «         }|                     ¦   «         }t          |||||¬	¦  «        }|d
         }	|dk    r.t          j        ||                     |	¦  «        z
  dz  ¦  «        }
n|d         }
|d         }t          |dk    d|› �¦  «         t          t          t          ||	¦  «        |z
  dz  ¦  «                             d
¬¦  «        |
dt          |j        ¦  «        z  dt          |j        ¦  «        z  d|› �¬¦  «         t          |	ddt          |j        ¦  «        z  dt          |j        ¦  «        z  d|› �¬¦  «         �Œ[�Œb�Œªd S )NrC   rB   r?   r  rQ   r�   rì   r  r#  r   r  r%  rœ  râ  r&  ©rƒ   r„  r…  )gã¶mÛ¶mÛ¿g›¶mÛ¶më?)r'  r+   r   r  r(  r¦  r   r¤  r   r   r   r1  r5   r…   )rX   r…   rY   ra   r$  r™  r  r  r*  rb   Ú	residualsr&  s               r4   Útest_simple_overdetzTestLstsq.test_simple_overdet   s  € Ý ð 	Hñ 	HˆEÝ”˜1˜a˜& 1 a &¨1¨a¨&Ð1¸Ð?Ñ?Ô?ˆAÝ”˜˜˜¨%Ð0Ñ0Ô0ˆAÝ!*Ô!9ð Hñ H�Ø!.ð Hñ H�IàŸš™œ�BØŸš™œ�BÝ  B°mØ,5Ø,5ð7ñ 7ô 7�Cð ˜Aœ�AØ$¨Ò/Ð/Ý$&¤F¨A°·²°a±´©L¸1Ñ+<Ñ$=Ô$=˜	˜	à$'¨¤F˜	Ø˜Aœ�AÝ˜A šFÐ$IÀaÐ$IÐ$IÑJÔJÐJÝ#¥C­¨Q°©¬°Q©¸Ñ(:Ñ$;Ô$;×$?Ò$?ÀQÐ$?Ñ$GÔ$GØ$-Ø)+­i¸¼Ñ.AÔ.AÑ)AØ)+­i¸¼Ñ.AÔ.AÑ)AØ,F°}Ð,FÐ,Fð	Hñ Hô Hð Hõ
 $ AÐ'MØ)+­i¸¼Ñ.AÔ.AÑ)AØ)+­i¸¼Ñ.AÔ.AÑ)AØ,F°}Ð,FÐ,FðHñ Hô Hð Hñ Hñ'HñHð	Hð 	Hr6   c                 ó�  — t           D �]¼}t          j        ddgddgddgg|¬¦  «        }t          j        g d¢|¬¦  «        }t          j        D �]t}dD �]m}|                     ¦   «         }|                     ¦   «         }t          |||||¬	¦  «        }|d
         }	|dk    rB||                     |	¦  «        z
  }
t          j        |
|
 	                    ¦   «         z  ¦  «        }n|d         }|d         }t          |dk    d|› �¦  «         t          t          t          ||	¦  «        |z
  dz  ¦  «                             d
¬¦  «        |dt          |j        ¦  «        z  dt          |j        ¦  «        z  d|› �¬¦  «         t          |	ddt          |j        ¦  «        z  dt          |j        ¦  «        z  d|› �¬¦  «         �Œo�Œv�Œ¾d S )Nr¶  rB   r?   r  rQ   r�   )rC   rÌ   rQ   r  r#  r   r  rC   r%  rœ  râ  r&  r-  )yîu¯{ÝëÞ¿E(BŠÐ?yÓ½îu¯{í?(YÉJV²Ò?)ÚCOMPLEX_DTYPESr+   r   r  r(  r¦  r   r   r¤  rE  r   r   r1  r5   r…   )rX   r…   rY   ra   r$  r™  r  r  r*  rb   rF  r.  r&  s                r4   Útest_simple_overdet_complexz%TestLstsq.test_simple_overdet_complex  s  € Ý#ð 	Dñ 	DˆEÝ”˜4 ˜) a¨ V¨a°¨VÐ4¸EÐBÑBÔBˆAÝ”˜˜˜¨UÐ3Ñ3Ô3ˆAÝ!*Ô!9ð Dñ D�Ø!.ð Dñ D�IàŸš™œ�BØŸš™œ�BÝ  B°mØ,5Ø,5ð7ñ 7ô 7�Cð ˜Aœ�AØ$¨Ò/Ð/Ø !§%¢%¨¡(¤(™l˜Ý$&¤F¨3°·²±´Ñ+;Ñ$<Ô$<˜	˜	à$'¨¤F˜	Ø˜Aœ�AÝ˜A šFÐ$IÀaÐ$IÐ$IÑJÔJÐJÝ#¥C­¨Q°©¬°Q©¸Ñ(:Ñ$;Ô$;×$?Ò$?ÀQÐ$?Ñ$GÔ$GØ$-Ø)+­i¸¼Ñ.AÔ.AÑ)AØ)+­i¸¼Ñ.AÔ.AÑ)AØ,F°}Ð,FÐ,Fð	Hñ Hô Hð Hõ
 $Ø !ð $Là%'­)°B´HÑ*=Ô*=Ñ%=Ø%'­)°B´HÑ*=Ô*=Ñ%=Ø(B°=Ð(BÐ(BðDñ Dô Dð Dñ Dñ+DñDð	Dð 	Dr6   c                 óò  — t           D ]î}t          j        g d¢g d¢g|¬¦  «        }t          j        ddg|¬¦  «        }t          j        D ]«}dD ]¦}|                     ¦   «         }|                     ¦   «         }t          |||||¬¦  «        }|d         }	|d         }
t          |
dk    d	|
› �¦  «         t          |	d
dt          |j
        ¦  «        z  dt          |j
        ¦  «        z  d|› �¬¦  «         Œ§Œ¬Œïd S )Nrì   r¾  r�   rC   rB   r  r#  r   r%  )gÌÆqÇq¬¿gÇqÇq¼?gdÇqÇÑ?râ  r&  r-  )r'  r+   r   r  r(  r¦  r   r   r   r5   r…   )rX   r…   rY   ra   r$  r™  r  r  r*  rb   r&  s              r4   Útest_simple_underdetzTestLstsq.test_simple_underdet>  sK  € Ý ð 	Hð 	HˆEÝ”˜)˜)˜) Y Y YÐ/°uÐ=Ñ=Ô=ˆAÝ”˜!˜Q˜ uÐ-Ñ-Ô-ˆAÝ!*Ô!9ð Hð H�Ø!.ð Hð H�IàŸš™œ�BØŸš™œ�BÝ  B°mØ,5Ø,5ð7ñ 7ô 7�Cð ˜Aœ�AØ˜Aœ�AÝ˜A šFÐ$IÀaÐ$IÐ$IÑJÔJÐJÝ# Að (;à)+­i¸¼Ñ.AÔ.AÑ)AØ)+­i¸¼Ñ.AÔ.AÑ)AØ,F°}Ð,FÐ,Fð	Hñ Hô Hð Hð HðHðHð	Hð 	Hr6   r…   r   )r<   rø  r$  r™  r  c           
      óŒ  — t           j                             d¦  «        }t          j        |                     ||g¦  «        |¬¦  «        }t	          |¦  «        D ]}dd|||f         z   z  |||f<   Œt	          d¦  «        D �]A}t          j        |                     |dg¦  «        |¬¦  «        }|                     ¦   «         }	|                     ¦   «         }
t          |	|
|||¬¦  «        }|d         }|d	         }t          ||k    d
|› d|› �¦  «         |t           j        u rPt          t          ||¦  «        |dt          |	j        ¦  «        z  dt          |	j        ¦  «        z  d|› �¬¦  «         Œòt          t          ||¦  «        |dt          |	j        ¦  «        z  dt          |	j        ¦  «        z  d|› �¬¦  «         �ŒCd S )Nró   r�   r<   r)  r?   rQ   r#  r   rB   úexpected efficient rank ú, got iô  r&  r-  éè  )r+   r   ÚRandomStateÚasarrayr+  r¦  r   r   r
   r   r   r5   r…   ©rX   r…   r   r$  r™  re  rY   r%  ra   r  r  r*  rb   r&  s                 r4   Útest_random_exactzTestLstsq.test_random_exactT  sù  € õ
 Œi×#Ò# DÑ)Ô)ˆåŒJ�s—z’z 1 a &Ñ)Ô)°Ð7Ñ7Ô7ˆÝ�q‘”ð 	+ð 	+ˆAØ˜C ! A q D¤'™MÑ*ˆAˆa�ˆd‰GˆGÝ�q‘”ð 	>ñ 	>ˆAÝ”
˜3Ÿ:š: q¨! fÑ-Ô-°UÐ;Ñ;Ô;ˆAà—’‘”ˆBØ—’‘”ˆBÝ˜˜BØ&3Ø$-Ø$-ð/ñ /ô /ˆCð �A”ˆAØ�A”ˆAÝ�A˜’Fð °qð ð Øðð ñ  ô  ð  à�œ
Ð"Ð"ÝÝ˜a ™)œ) QØ"¥Y¨r¬xÑ%8Ô%8Ñ8Ø"¥Y¨r¬xÑ%8Ô%8Ñ8Ø"<¨]Ð"<Ð"<ð	>ñ >ô >ð >ð >õ  Ý˜a ™)œ) QØ#¥i°´Ñ&9Ô&9Ñ9Ø#¥i°´Ñ&9Ô&9Ñ9Ø"<¨]Ð"<Ð"<ð	>ñ >ô >ð >ñ >ð)	>ð 	>r6   z$may segfault on Alpine, see gh-17630r}  c           
      óÂ  — t           j                             d¦  «        }t          j        |                     ||g¦  «        d|                     ||g¦  «        z  z   |¬¦  «        }t	          |¦  «        D ]}dd|||f         z   z  |||f<   Œt	          d¦  «        D �]A}t          j        |                     |dg¦  «        |¬¦  «        }|                     ¦   «         }	|                     ¦   «         }
t          |	|
|||¬¦  «        }|d	         }|d         }t          ||k    d
|› d|› �¦  «         |t           j        u rPt          t          ||¦  «        |dt          |	j        ¦  «        z  dt          |	j        ¦  «        z  d|› �¬¦  «         Œòt          t          ||¦  «        |dt          |	j        ¦  «        z  dt          |	j        ¦  «        z  d|› �¬¦  «         �ŒCd S )Nró   rh   r�   r<   r)  rB   rQ   r#  r   r6  r7  i�  r&  r-  r8  )r+   r   r9  r:  r+  r¦  r   r   rŸ   r   r   r5   r…   r;  s                 r4   Útest_random_complex_exactz#TestLstsq.test_random_complex_exactx  s  € õ Œi×#Ò# DÑ)Ô)ˆåŒJ�s—z’z 1 a &Ñ)Ô)¨B¨s¯zªz¸1¸a¸&Ñ/AÔ/AÑ,AÑAØ"ð$ñ $ô $ˆå�q‘”ð 	+ð 	+ˆAØ˜C ! A q D¤'™MÑ*ˆAˆa�ˆd‰GˆGÝ�q‘”ð 	>ñ 	>ˆAÝ”
˜3Ÿ:š: q¨! fÑ-Ô-°UÐ;Ñ;Ô;ˆAà—’‘”ˆBØ—’‘”ˆBÝ˜˜B¨mØ$-Ø$-ð/ñ /ô /ˆCð �A”ˆAØ�A”ˆAÝ�A˜’Fð °qð ð Øðð ñ  ô  ð  à�œÐ$Ð$ÝÝ˜a ™)œ) QØ"¥Y¨r¬xÑ%8Ô%8Ñ8Ø"¥Y¨r¬xÑ%8Ô%8Ñ8Ø"<¨]Ð"<Ð"<ð	>ñ >ô >ð >ð >õ  Ý˜a ™)œ) QØ#¥i°´Ñ&9Ô&9Ñ9Ø#¥i°´Ñ&9Ô&9Ñ9Ø"<¨]Ð"<Ð"<ð	>ñ >ô >ð >ñ >ð'	>ð 	>r6   c                 ó,  — t           j                             d¦  «        }t          D �]k}dD �]d\  }}t          j        D �]P}dD �]I}t          j        |                     ||g¦  «        |¬¦  «        }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          d¦  «        D ]ä}t          j        |                     |dg¦  «        |¬¦  «        }	|                     ¦   «         }
|	                     ¦   «         }t          |
||||¬	¦  «        }|d
         }|d         }t          ||k    d|› d|› �¦  «         t          |t          ||	d
¬¦  «        dt          |
j        ¦  «        z  dt          |
j        ¦  «        z  d|› �¬¦  «         Œå�ŒK�ŒR�Œf�Œmd S )Nró   ©)r<   é   )rø  rB   r  r�   r<   r)  r?   rQ   r#  r   rB   r6  r7  ©r  râ  r&  r-  )r+   r   r9  r'  r  r(  r:  r+  r¦  r   r   r   r  r5   r…   ©rX   re  r…   r   Úmr$  r™  rY   r%  ra   r  r  r*  rb   r&  s                  r4   Útest_random_overdetzTestLstsq.test_random_overdet�  s  € ÝŒi×#Ò# DÑ)Ô)ˆÝ ð 	Nñ 	NˆEØ.ð Nñ N‘��AÝ%.Ô%=ð Nñ N�MØ%2ð Nñ N˜	ÝœJ s§z¢z°1°a°&Ñ'9Ô'9ÀÐGÑGÔG˜Ý!& q¡¤ð ;ð ;˜AØ&(¨C°!°A°q°D´'©MÑ&:˜A˜a ˜d™G˜GÝ!& q¡¤ð Nð N˜AÝ "¤
¨3¯:ª:°q¸!°fÑ+=Ô+=ÀUÐ KÑ KÔ K˜Aà!"§¢¡¤˜BØ!"§¢¡¤˜BÝ"'¨¨BØ6CØ4=Ø4=ð#?ñ #?ô #?˜Cð !$ A¤˜AØ # A¤˜AÝ# A¨¢Fð -/Àqð -/ð -/Ø+,ð-/ð -/ñ 0ô 0ð 0å+Ø*+­\¸!¸QÀaÐ-HÑ-HÔ-HØ/1µI¸b¼hÑ4GÔ4GÑ/GØ/1µI¸b¼hÑ4GÔ4GÑ/GØ2L¸]Ð2LÐ2Lð	Nñ Nô Nð Nð NñNñ	NñNñNð	Nð 	Nr6   c                 ób  — t           j                             d¦  «        }t          D �]†}dD �]\  }}t          j        D �]k}dD �]d}t          j        |                     ||g¦  «        d|                     ||g¦  «        z  z   |¬¦  «        }t          |¦  «        D ]}dd|||f         z   z  |||f<   Œt          d¦  «        D ]ä}t          j        |                     |d	g¦  «        |¬¦  «        }	|                     ¦   «         }
|	                     ¦   «         }t          |
||||¬
¦  «        }|d         }|d         }t          ||k    d|› d|› �¦  «         t          |t          ||	d¬¦  «        dt          |
j        ¦  «        z  dt          |
j        ¦  «        z  d|› �¬¦  «         Œå�Œf�Œm�Œ��Œˆd S )Nró   r@  r  rh   r�   r<   r)  rB   rQ   r#  r   r6  r7  rC   rB  râ  r&  r-  )r+   r   r9  r1  r  r(  r:  r+  r¦  r   r   r   r  r5   r…   rC  s                  r4   Útest_random_complex_overdetz%TestLstsq.test_random_complex_overdet¹  s&  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#ð 	Jñ 	JˆEØ.ð Jñ J‘��AÝ%.Ô%=ð Jñ J�MØ%2ð Jñ J˜	ÝœJ s§z¢z°1°a°&Ñ'9Ô'9¸B¸s¿zºzÈ1ÈaÈ&Ñ?QÔ?QÑ<QÑ'QØ-2ð4ñ 4ô 4˜å!& q¡¤ð ;ð ;˜AØ&(¨C°!°A°q°D´'©MÑ&:˜A˜a ˜d™G˜GÝ!& q¡¤ð Jð J˜AÝ "¤
¨3¯:ª:°q¸!°fÑ+=Ô+=ÀUÐ KÑ KÔ K˜Að "#§¢¡¤˜BØ!"§¢¡¤˜BÝ"'¨¨BØ6CØ4=Ø4=ð#?ñ #?ô #?˜Cð !$ A¤˜AØ # A¤˜AÝ# A¨¢Fð -/Àqð -/ð -/Ø+,ð-/ð -/ñ 0ô 0ð 0å+Ø&'­°a¸À!Ð)DÑ)DÔ)DØ+-µ	¸"¼(Ñ0CÔ0CÑ+CØ+-µ	¸"¼(Ñ0CÔ0CÑ+CØ.H¸Ð.HÐ.Hð	Jñ Jô Jð Jð JñJñJñJñJð	Jð 	Jr6   c           
      óÌ  — t          ¦   «         5 }|                     t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        t          dt          j	        dd¦  «        D ]æ\  }}}}}| 
                    |¦  «        }t          j        ||¬¦  «        }	|                     ¦   «         }
|	                     ¦   «         }t          |
|||||¬¦  «        }|d         }|d         }t          |dk    d	|› �¦  «         t          t          ||¦  «        |	d
t!          |j        ¦  «        z  d
t!          |j        ¦  «        z  d|› �¬¦  «         Œçd S )NzIinternal gelsd driver lwork query error,.*Falling back to 'gelss' driver.))rC   r<   r"  r   r  r�   )r$  rt   rŸ  r   r   rB   r%  râ  r&  r-  )r   ÚfilterÚRuntimeWarningr+   r   r†  r‡  r'  r  r(  rq  r¦  r   r   r   r   r5   r…   )rX   Úsupr  r…   r)  r$  r™  rt   rY   ra   r  r  r*  rb   r&  s                  r4   ru   zTestLstsq.test_check_finite×  sÇ  € ÝÑ Ô ð 	: Cà�JŠJ•~ð9ñ:ô :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ ŒXÐ)Ñ*Ô*ˆåÔ�kØLÝ'Ô6Ø+Ø+ñ	-ô -ð	@ð 	@Ñ=ˆE�2�} i°ð —	’	˜%Ñ Ô ˆAÝ”˜ 5Ð)Ñ)Ô)ˆAð —’‘”ˆBØ—’‘”ˆBÝ˜˜B¨mØ%1¸yØ$-ð/ñ /ô /ˆCð �A”ˆAØ�A”ˆAÝ�A˜’FÐA¸aÐAÐAÑBÔBÐBÝ�C  1™IœI qØ!#¥i°´Ñ&8Ô&8Ñ!8Ø!#¥i°´Ñ&8Ô&8Ñ!8Ø$>¨}Ð$>Ð$>ð@ñ @ô @ð @ð @ð'	@ð 	@s   �7·;¾;c           
      ó   — dD ]ú\  }}t          j        |¦  «        }t          t          j        |¦  «        |¦  «        \  }}}}t	          |t          j        |d         f|dd …         z   ¦  «        ¦  «         |d         rt          j        d¦  «        n#t           j                             |d¬¦  «        dz  }t	          ||¦  «         t          |dk    d¦  «         t	          |t          j        d¦  «        ¦  «         Œûd S )N))©r   rB   rŽ   ))r   r?   rM  )©r?   r   )r?   )rN  )r?   rB   rC   rŽ   r   rœ  rB   zexpected rank 0)	r+   r‘   r   r   r   r’   r§  r   r   )	rX   Úa_shapeÚb_shapera   rb   ÚresiduesÚrankÚsÚresidues_should_bes	            r4   r”   zTestLstsq.test_empty÷  sû   € ð!3ð 	,ð 	,ÑˆG�Wõ ”˜Ñ Ô ˆAÝ#(­¬°'Ñ):Ô):¸AÑ#>Ô#>Ñ ˆAˆx˜˜qÝ˜�BœH g¨a¤j ]°W¸Q¸R¸R´[Ñ%@ÑAÔAÑBÔBÐBØ4;¸A´Jð #D¥"¤(¨4¡.¤. .Ý')¤y§~¢~°a¸a ~Ñ'@Ô'@À!Ñ'Cð å˜Ð#5Ñ6Ô6Ð6Ý�D˜A’IÐ0Ñ1Ô1Ð1Ý˜�BœH T™NœNÑ+Ô+Ð+Ð+ð	,ð 	,r6   r�  r‹   c                 óB  — 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 ‚d S r‘  )r+   r’   r   r_  r�   r‘   r…   )
rX   r�  r‹   rY   ra   rb   rQ  rR  rS  r“  s
             r4   r  zTestLstsq.test_empty_dtype  sŸ   € õ ŒH�V 4Ð(Ñ(Ô(ˆÝŒH�Q˜dÐ#Ñ#Ô#ˆÝ$ Q¨™{œ{Ñˆˆ8�T˜1àŒv˜Š{ˆ{ˆ{ˆ{Ý�BœF 1¨DÐ1Ñ1Ô1µ2´7¸1ÀDÐ3IÑ3IÔ3IÑJÔJÈ1ÔMÔSˆØŒw˜+Ò%Ð%Ð%Ð%Ð%Ð%r6   N)r•   r–   r—   r(  r+  r/  r2  r4  r˜   r™   r›   r'  r<  Úskipifr(   r1  r>  rE  rG  ru   r”   rœ   r�   r+   r
   rž   rŸ   r  r    r6   r4   r  r  ä  sA  € € € € € Ø6€NðLð Lð Lð2Hð Hð Hð:Dð Dð DðBHð Hð Hð, „[×Ò˜W kÑ2Ô2Ø„[×Ò˜S )Ñ,Ô,Ø„[×Ò˜_¨nÑ=Ô=Ø„[×Ò˜[¨-Ñ8Ô8ð>ð >ñ 9Ô8ñ >Ô=ñ -Ô,ñ 3Ô2ð>ð@ „[×Ò˜Ð(NÐÑOÔOØ„[×Ò˜W nÑ5Ô5Ø„[×Ò˜S )Ñ,Ô,Ø„[×Ò˜_¨nÑ=Ô=Ø„[×Ò˜[¨-Ñ8Ô8ð>ð >ñ 9Ô8ñ >Ô=ñ -Ô,ñ 6Ô5ñ PÔOð
>ð@Nð Nð Nð8Jð Jð Jð<@ð @ð @ð@,ð ,ð ,ð „[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUð&ð &ñ VÔUñ VÔUð&ð &ð &r6   r  c                   ó¨   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                             d
eej        eej        g¦  «        d„ ¦   «         ZdS )ÚTestPinvc                 óD   — t           j                             d¦  «         d S rò   rô   rö   s    r4   r÷   zTestPinv.setup_method  rø   r6   c                 óÂ   — t          g d¢g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          t	          ||¦  «        t          j        d¦  «        ¦  «         d S ©Nrì   r¾  r¿  r�   rQ   ©r   r�   r   r   r   r+   r�   ©rX   rY   Úa_pinvs      r4   Útest_simple_realzTestPinv.test_simple_real  sX   € Ý�9�9�9˜i˜i˜i¨¨¨Ð4½EÐBÑBÔBˆÝ�a‘”ˆÝ!¥# a¨¡.¤.µ"´&¸±)´)Ñ<Ô<Ð<Ð<Ð<r6   c                 ó  — t          g d¢g d¢g d¢gt          ¬¦  «        dt          g d¢g d¢g d¢gt          ¬¦  «        z  z   }t          |¦  «        }t          t	          ||¦  «        t          j        d	¦  «        ¦  «         d S ©
Nrì   r¾  r¿  r�   rh   )rI  rÀ  rF   )r@   r  r?   )rQ   rB   rC   rQ   r\  r]  s      r4   r  zTestPinv.test_simple_complex  s—   € Ý�I�I�I˜y˜y˜y¨*¨*¨*Ð5Ýðñ ô Ø¥¨
¨
¨
°I°I°I¸y¸y¸yÐ'IÝ-2ð"4ñ "4ô "4ñ 4ñ4ˆõ �a‘”ˆÝ!¥# a¨¡.¤.µ"´&¸±)´)Ñ<Ô<Ð<Ð<Ð<r6   c                 ó²   — t          g d¢g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S )Nrì   r¾  ©rF   rÀ  rJ  r�   ©g|�Çqä¿gÔ•VUUÅ¿gãcä8ŽÓ?©gƒÓÇq¬¿gù°^©0Á¢<gƒÓÇq¬?©gù9Žãà?gÔ•VUUÅ?g:8ï7ŽãÈ¿©r   r�   r   r   ©rX   rY   r^  r±   s       r4   Útest_simple_singularzTestPinv.test_simple_singular!  s|   € Ý�9�9�9˜i˜i˜i¨¨¨Ð3½5ÐAÑAÔAˆÝ�a‘”ˆÝÐLÐLÐLØKÐKÐKØKÐKÐKðMñ Nô Nˆõ 	" &¨(Ñ3Ô3Ð3Ð3Ð3r6   c                 ó¬   — t          g d¢g d¢gt          ¬¦  «        }t          |¦  «        }t          ddgddgdd	gg¦  «        }t          ||¦  «         d S )
Nrì   r¾  r�   g’Ö‹ã8î¿g#¬ÇqÜ?g#¬Çq¼¿g#¬Çq¼?gIëÅqç?g#¬ÇqÌ¿rg  rh  s       r4   Útest_simple_colszTestPinv.test_simple_cols)  so   € Ý�9�9�9˜i˜i˜iÐ(µÐ6Ñ6Ô6ˆÝ�a‘”ˆÝ˜;¨
Ð3Ø&¨
Ð3Ø% {Ð3ð5ñ 6ô 6ˆõ 	" &¨(Ñ3Ô3Ð3Ð3Ð3r6   c                 ó¬   — t          ddgddgddggt          ¬¦  «        }t          |¦  «        }t          g d¢g d	¢g¦  «        }t          ||¦  «         d S )
NrC   rB   rQ   r?   r  r@   r�   )g·DpTUUõ¿gÚÁQUUÕ¿g“vWUUå?)g·DpTUUñ?gÚÁQUUÕ?g&í>®ªªÚ¿rg  rh  s       r4   Útest_simple_rowszTestPinv.test_simple_rows1  sq   € Ý�A�q�6˜A˜q˜6 A q 6Ð*µ%Ð8Ñ8Ô8ˆÝ�a‘”ˆÝÐ@Ð@Ð@Ø?Ð?Ð?ðAñ Bô Bˆå! &¨(Ñ3Ô3Ð3Ð3Ð3r6   c                 ó¸   — t          g d¢g d¢g d¢g¦  «        }t          |d¬¦  «        }t          t          ||¦  «        t	          j        d¦  «        ¦  «         d S )Nrì   )r?   r  r¯   r¿  Frs   rQ   )r   r   r   r   r+   r�   r]  s      r4   ru   zTestPinv.test_check_finite8  sZ   € Ý�9�9�9˜j˜j˜j¨*¨*¨*Ð5Ñ6Ô6ˆÝ�a eÐ,Ñ,Ô,ˆÝ!¥# a¨¡.¤.µ"´&¸±)´)Ñ<Ô<Ð<Ð<Ð<r6   c                 óŠ   — g d¢g d¢g d¢g}t          |¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S )Nrì   r¾  rc  rd  re  rf  )r   r   r   rh  s       r4   Útest_native_list_argumentz"TestPinv.test_native_list_argument=  so   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�a‘”ˆÝÐLÐLÐLØKÐKÐKØKÐKÐKðMñ Nô Nˆõ 	" &¨(Ñ3Ô3Ð3Ð3Ð3r6   c                 ó  — d}t          t          j                             ||¦  «        ¦  «        \  }}t          j        d¦  «                             dd¦  «        }|                     ¦   «         }d|d<   d}d}t          ||d	¬
¦  «        }||z  |z  |z
  }	||z  |z  |z
  }
t          t          j	         
                    |	¦  «        dd¬¦  «         t          t          j	         
                    |
¦  «        dd¬¦  «         t          |||¬
¦  «        }||z  |z  |z
  }	||z  |z  |z
  }
t          t          j	         
                    |	¦  «        dd¬¦  «         t          t          j	         
                    |
¦  «        dd¬¦  «         d S )Né   g     €A@rF   r  gü©ñÒMbP?r€   çñhãˆµøä>gš™™™™™©?rI   ©r„  rƒ   gü©ñÒMb@?©r„  g‚vIhÂ%,=g;ßO�—î@ç{®Gáz„?r‚   )r#   r+   r   rj  r   rV   r¦  r   r   r§  r   )rX   r   ÚqÚ_Úa_mrY   r„  rƒ   Úa_pÚadiff1Úadiff2s              r4   Útest_atol_rtolzTestPinv.test_atol_rtolE  sk  € Øˆå•"”)—.’.  AÑ&Ô&Ñ'Ô'‰ˆˆ1ÝŒi˜‰oŒo×%Ò% a¨Ñ+Ô+ˆØ�HŠH‰JŒJˆØˆˆ$‰ØˆØˆõ �3˜T¨Ð+Ñ+Ô+ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆõ 	�œ	Ÿš vÑ.Ô.°¸5ÐAÑAÔAÐAÝ�œ	Ÿš vÑ.Ô.°¸FÐCÑCÔCÐCõ �3˜T¨Ð-Ñ-Ô-ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆÝ�œ	Ÿš vÑ.Ô.°¸DÐAÑAÔAÐAÝ�œ	Ÿš vÑ.Ô.°¸DÐAÑAÔAÐAÐAÐAr6   r3   c                 óÐ   — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S r‘  )r+   r’   r   r_  r…   r�   ©rX   r3   rY   r^  s       r4   r”   zTestPinv.test_empty`  sg   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�a‘”ˆØŒ{˜aÒÐÐÐØŒ|�t¥B¤F¨1°BÐ$7Ñ$7Ô$7Ñ8Ô8Ô>Ò>Ð>Ð>Ð>Ð>Ð>r6   N)r•   r–   r—   r÷   r_  r  ri  rk  rm  ru   rp  r}  r˜   r™   r›   r�   r+   r
   rž   rŸ   r”   r    r6   r4   rX  rX    sÚ   € € € € € ðð ð ð=ð =ð =ð
=ð =ð =ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð=ð =ð =ð
4ð 4ð 4ðBð Bð Bð6 „[×Ò˜T E¨2¬:°wÀÄÐ#MÑNÔNð?ð ?ñ OÔNð?ð ?ð ?r6   rX  c                   óœ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                             deej        eej        g¦  «        d	„ ¦   «         Zd
S )ÚTestPinvSymmetricc                 óD   — t           j                             d¦  «         d S rò   rô   rö   s    r4   r÷   zTestPinvSymmetric.setup_methodj  rø   r6   c                 ó   — t          g d¢g d¢g d¢gt          ¬¦  «        }t          j        ||j        ¦  «        }t          |¦  «        }t          t          j        ||¦  «        t          j        d¦  «        ¦  «         d S r[  )r   r�   r+   r   r>  r   r   r�   r]  s      r4   r_  z"TestPinvSymmetric.test_simple_realm  sm   € Ý�9�9�9˜i˜i˜i¨¨¨Ð4½EÐBÑBÔBˆÝŒF�1�a”c‰NŒNˆÝ�q‘”ˆÝ!¥"¤&¨¨FÑ"3Ô"3µR´V¸A±Y´YÑ?Ô?Ð?Ð?Ð?r6   c                 ój  — t          g d¢g d¢g d¢gt          ¬¦  «        }t          j        ||j        ¦  «        }t          j                             |¦  «        \  }}}|dxx         dz  cc<   t          j        ||z  |¦  «        }t          |¦  «        }t          |¦  «        }t          ||¦  «         d S )Nrì   r¾  rc  r�   r   rE   )
r   r�   r+   r   r>  r§  Úsvdr   r   r   )rX   rY   r\   rS  Úvtr^  Úa_pinvhs          r4   Útest_nonpositivez"TestPinvSymmetric.test_nonpositives  s§   € Ý�9�9�9˜i˜i˜i¨¨¨Ð3½5ÐAÑAÔAˆÝŒF�1�a”c‰NŒNˆÝ”9—=’= Ñ#Ô#‰ˆˆ1ˆbØ	ˆ!ˆˆŒ�‰
ˆˆ‰ÝŒF�1�q‘5˜"ÑÔˆÝ�a‘”ˆÝ˜‘(”(ˆÝ! &¨'Ñ2Ô2Ð2Ð2Ð2r6   c                 ój  — t          g d¢g d¢g d¢gt          ¬¦  «        dt          g d¢g d¢g d¢gt          ¬¦  «        z  z   }t          j        ||                     ¦   «         j        ¦  «        }t          |¦  «        }t          t          j        ||¦  «        t          j        d	¦  «        ¦  «         d S ra  )	r   r�   r+   r   rE  r>  r   r   r�   r]  s      r4   r  z%TestPinvSymmetric.test_simple_complex}  s¶   € Ý�I�I�I˜y˜y˜y¨*¨*¨*Ð5Ýðñ ô Ø¥¨
¨
¨
°I°I°I¸y¸y¸yÐ'IÝ-2ð"4ñ "4ô "4ñ 4ñ4ˆõ ŒF�1�a—f’f‘h”h”jÑ!Ô!ˆÝ�q‘”ˆÝ!¥"¤&¨¨FÑ"3Ô"3µR´V¸A±Y´YÑ?Ô?Ð?Ð?Ð?r6   c                 ó$  — t          g d¢g d¢g d¢gt          ¬¦  «        }t          j        ||j        ¦  «        }t          |                     ¦   «         ¦  «        }t          t          j        ||¦  «        t          j        d¦  «        ¦  «         d S r[  )	r   r�   r+   r   r>  r   Útolistr   r�   r]  s      r4   rp  z+TestPinvSymmetric.test_native_list_argument…  sw   € Ý�9�9�9˜i˜i˜i¨¨¨Ð4½EÐBÑBÔBˆÝŒF�1�a”c‰NŒNˆÝ�q—x’x‘z”zÑ"Ô"ˆÝ!¥"¤&¨¨FÑ"3Ô"3µR´V¸A±Y´YÑ?Ô?Ð?Ð?Ð?r6   c                 ó¾   — t          j        g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          ||z  |z  |d¬¦  «         t          ||z  |z  |d¬¦  «         d S )N)rC   rE   r   )rE   rB   rE   )r   rE   rC   r�   ru  )r+   r   r   r   )rX   rY   Úps      r4   Útest_zero_eigenvaluez&TestPinvSymmetric.test_zero_eigenvalue‹  sq   € õ ŒH�j�j�j + + +¨z¨z¨zÐ:Ñ;Ô;ˆÝ�!‰HŒHˆÝ˜˜A™ ™	 1¨5Ð1Ñ1Ô1Ð1Ý˜˜A™ ™	 1¨5Ð1Ñ1Ô1Ð1Ð1Ð1r6   c                 ó¾  — d}t          t          j                             ||¦  «        ¦  «        \  }}t          j        g d¢dg|dz
  z  z   ¦  «        }|j        |z  |z  }t          j        g d¢dg|dz
  z  z   ¦  «        }|j        |z  |z  }d}d}t          ||d¬	¦  «        }||z  |z  |z
  }	||z  |z  |z
  }
t          t          |	¦  «        |d
¬¦  «         t          t          |
¦  «        dd¬¦  «         t          |||¬	¦  «        }||z  |z  |z
  }	||z  |z  |z
  }
t          t          |	¦  «        dd
¬¦  «         t          t          |
¦  «        dd
¬¦  «         d S )Nrr  )r?   rQ   rB   rC   çvk™Çó?g’ï­£Ãä>guŒñ‚œ°>r@   )r?   rQ   rB   rC   r�  rI   rI   rs  gü‹ 1“¨?rt  r)  r‚   r‚  g•dyáý¥=ru  ç-Cëâ6?)	r#   r+   r   rj  rm   r>  r   r   r   )rX   r   rw  rx  rY   ry  r„  rƒ   rz  r{  r|  s              r4   r}  z TestPinvSymmetric.test_atol_rtol“  s~  € Øˆå•"”)—.’.  AÑ&Ô&Ñ'Ô'‰ˆˆ1ÝŒGÐ2Ð2Ð2°g°YÀÀ!Á±_ÑDÑEÔEˆØŒC�!‰G�a‰KˆÝŒgÐ/Ð/Ð/°2°$¸¸!¹±*Ñ<Ñ=Ô=ˆØŒc�C‰i˜!‰mˆØˆØ!ˆå�A˜D rÐ*Ñ*Ô*ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆõ 	�˜V™œ d°Ð5Ñ5Ô5Ð5Ý�˜V™œ e°%Ð8Ñ8Ô8Ð8õ �A˜D tÐ,Ñ,Ô,ˆØ�S‘˜1‘˜q‘ˆØ�s‘˜S‘ 3Ñ&ˆå�˜V™œ d°Ð5Ñ5Ô5Ð5Ý�˜V™œ d°Ð5Ñ5Ô5Ð5Ð5Ð5r6   r3   c                 óÐ   — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S r‘  )r+   r’   r   r_  r…   r   r�   r  s       r4   r”   zTestPinvSymmetric.test_empty®  sg   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�q‘”ˆØŒ{˜aÒÐÐÐØŒ|�t¥B¤F¨1°BÐ$7Ñ$7Ô$7Ñ8Ô8Ô>Ò>Ð>Ð>Ð>Ð>Ð>r6   N)r•   r–   r—   r÷   r_  rˆ  r  rp  rŽ  r}  r˜   r™   r›   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r�  r�  h  sÂ   € € € € € ðð ð ð@ð @ð @ð3ð 3ð 3ð@ð @ð @ð@ð @ð @ð2ð 2ð 2ð6ð 6ð 6ð6 „[×Ò˜T E¨2¬:°wÀÄÐ#MÑNÔNð?ð ?ñ OÔNð?ð ?ð ?r6   r�  Úscale)g#B’¡œÇ;r;   ç@Œµx¯DÚpinv_c                 óÈ   — t          j        ddgddgg¦  «        | z  }t          j        dt          j        |¦  «        z  ¦  «        } ||¦  «        }t          ||¦  «         d S )NrC   r   g»½×Ùß|Û=r;   )r+   r   rm   r   )r“  r•  rb   r±   Úx_invs        r4   Útest_auto_rcondr˜  ¶  sc   € õ 	Œ�1�a�&˜1˜e˜*Ð%Ñ&Ô&¨Ñ.€AÝŒw�r�BœG A™JœJ‘Ñ'Ô'€HØˆE�!‰HŒH€EÝ�E˜8Ñ$Ô$Ð$Ð$Ð$r6   c                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             e d¬¦  «        d	„ ¦   «         Zd
S )Ú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¦  «        |¬¦  «         Œ­d S )NÚAllFloatrì   r�   r�   r<   rG   r‚   rB   ÚComplex)rh   re   y              @)
r+   r  r   Úmaxr0   r1   Úrealr   r   Úsqrt)rX   r…   rb   r�  s       r4   Ú
test_typeszTestVectorNorms.test_typesÁ  sB  € Ý”\ *Ô-ð 	?ð 	?ˆEÝ”˜˜˜¨%Ð0Ñ0Ô0ˆAÝ�e�RœX e™_œ_Ô0Ô5¸Ñ:Ñ;Ô;ˆCÝ�D ™GœG¥R¤W¨R¡[¤[°sÐ;Ñ;Ô;Ð;Ý�D  A™JœJ­¬°©¬¸#Ð>Ñ>Ô>Ð>Ð>å”\ )Ô,ð 	?ð 	?ˆEÝ”˜˜˜¨UÐ3Ñ3Ô3ˆAÝ�e�RœX e™_œ_Ô0Ô5¸Ñ:Ñ;Ô;ˆCÝ�D ™GœG¥R¤W¨R¡[¤[°sÐ;Ñ;Ô;Ð;Ý�D  A™JœJ­¬°©¬¸#Ð>Ñ>Ô>Ð>Ð>ð		?ð 	?r6   c                 ón   — t          dgt          ¬¦  «        }t          t          |¦  «        |¦  «         d S )Nr”  r�   )r   r
   r   r   rs  s     r4   Útest_overflowzTestVectorNorms.test_overflowÎ  s4   € õ �4�&¥Ð(Ñ(Ô(ˆÝ�D ™GœG QÑ'Ô'Ð'Ð'Ð'r6   c                 óò   — t          dgdgdz  z   t          ¬¦  «        }	 t          t          |¦  «        dz
  dd¬¦  «         d S # t          $ r( d}t          t          |¦  «        dz
  d	|¬
¦  «         Y d S w xY w)Nç     ˆÃ@rC   i'  r�   r   rv  ru  zO: Result should equal either 0.0 or 0.5 (depending on implementation of snrm2).rI   )r…  )r   r
   r   r   ÚAssertionErrorr   )rX   rY   rû  s      r4   Útest_stablezTestVectorNorms.test_stableÔ  sœ   € å�3�%˜1˜#˜e™)Ñ#­7Ð3Ñ3Ô3ˆð	Aõ �D ™GœG c™M¨3°TÐ:Ñ:Ô:Ð:Ð:Ð:øÝð 	Að 	Að 	Að.ˆCå¥ Q¡¤¨#¡¨s¸CÐ@Ñ@Ô@Ð@Ð@Ð@Ð@ð		Aøøøs    "A Á.A6Á5A6c                 ó†   — t          t          g d¢d¦  «        d¦  «         t          t          g d¢d¦  «        d¦  «         d S )N)rC   r   rQ   r   rB   rì   rQ   )r   r   rö   s    r4   Útest_zero_normzTestVectorNorms.test_zero_normá  sD   € Ý•T˜)˜)˜) QÑ'Ô'¨Ñ+Ô+Ð+Ý•T˜)˜)˜) QÑ'Ô'¨Ñ+Ô+Ð+Ð+Ð+r6   c                 óÞ   — t          j        ddgddgggdz  d¦  «        }t          t          |d¬¦  «        ddggdz  ¦  «         t          t          |dd¬¦  «        d	gdz  gdz  ¦  «         d S )
NrB   rC   rQ   r?   rf  rœ  ç5ýD+Ø@çÃ6ûf~@r  )r+   r   r   r   rs  s     r4   Útest_axis_kwdzTestVectorNorms.test_axis_kwdå  s€   € ÝŒH˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÑ1Ô1ˆÝ�˜Q Q˜™œ¨:°zÐ*BÐ)CÀaÑ)GÑHÔHÐHÝ�˜Q ¨Ð*Ñ*Ô*¨b¨T°A©X¨J¸©NÑ;Ô;Ð;Ð;Ð;r6   c                 ó  — t          j        ddgddgggdz  d¦  «        }t          |dd¬¦  «        }t          |dd	gggdz  ¦  «         t	          |j        d
k    ¦  «         t          t          |ddd¬¦  «        dgdgggdz  ¦  «         d S )NrB   rC   rQ   r?   rf  T)r�  Úkeepdimsr«  r¬  )rB   rC   rB   rw   g      @)r+   r   r   r   r   r�   rQ  s      r4   Útest_keepdims_kwdz!TestVectorNorms.test_keepdims_kwdê  s§   € ÝŒH˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÑ1Ô1ˆÝ�˜ TÐ*Ñ*Ô*ˆÝ˜˜j¨*Ð5Ð6Ð7¸!Ñ;Ñ<Ô<Ð<Ý�”˜9Ò$Ñ%Ô%Ð%Ý�˜Q ¨°DÐ9Ñ9Ô9¸b¸TÀBÀ4¸L¸>ÈAÑ;MÑNÔNÐNÐNÐNr6   z64-bit BLAS requiredr}  c                 ó²   — t          d¬¦  «         t          j        dgt          j        ¬¦  «        }d|d<   t	          |¦  «        }~t          |d¦  «         d S )NihB  )Úfree_mbl        r�   rC   rE   r;   )r'   r+   r   r-   r   r   )rX   rb   rF  s      r4   Útest_large_vectorz!TestVectorNorms.test_large_vectorñ  sX   € å %Ð(Ñ(Ô(Ð(ÝŒH�e�W¥B¤JÐ/Ñ/Ô/ˆØˆˆ"‰Ý�1‰gŒgˆØÝ˜˜SÑ!Ô!Ð!Ð!Ð!r6   N)r•   r–   r—   r¡  r£  r§  r©  r­  r°  r˜   r™   rV  r)   r³  r    r6   r4   rš  rš  ¿  s©   € € € € € ð?ð ?ð ?ð(ð (ð (ðAð Að Að,ð ,ð ,ð<ð <ð <ð
Oð Oð Oð „[×Ò˜I˜Ð.DÐÑEÔEð"ð "ñ FÔEð"ð "ð "r6   rš  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMatrixNormsc           
      ó†  — t           j                             d¦  «         dD �]�\  }}t           j        t           j        t           j        t           j        t           j        fD �]\}dt           j                             ||¦  «         	                    |¦  «        z  }t          j
        |j        t           j        ¦  «        rF|dt           j                             ||¦  «        z  z    	                    |¦  «        }t           j        }nt           j        }d ddddd	t           j        t           j         fD ]�}t          ||¬
¦  «        }t           j                             ||¬
¦  «        }t          j        ||¦  «        sDt           j                             | 	                    |¦  «        |¬
¦  «        }t#          ||¦  «         ŒŽ�Œ^�ŒŸd S )Nró   )rk   )rC   rQ   )rQ   rC   )r?   r?   rÖ  )r  r?   rI  y              $@ÚfrorC   rE   rB   éþÿÿÿ)Úord)r+   r   rõ   r
   r-   rŸ   r/   Úint64rˆ  rq  r¡  r…   r¢  r  r   r§  Úallcloser   )	rX   r   rD  rý  r!  Út_highrž  ÚactualÚdesireds	            r4   Útest_matrix_normsz!TestMatrixNorms.test_matrix_normsý  sx  € å
Œ	�Š�tÑÔÐØBð 	9ñ 	9‰DˆAˆqÝ”Z¥¤­R¬\½2¼=Í"Ì(ÐRð 9ñ 9�Ø�œŸš¨¨AÑ.Ô.×5Ò5°aÑ8Ô8Ñ8�Ý”= ¤­"Ô*<Ñ=Ô=ð (Ø˜S¥2¤9§?¢?°1°aÑ#8Ô#8Ñ8Ñ8×@Ò@ÀÑCÔC�AÝœ]�F�FåœZ�FØ" E¨1¨b°!°R½¼Å"Ä&ÀÐIð 9ð 9�EÝ! !¨Ð/Ñ/Ô/�FÝ œiŸnšn¨Q°E˜nÑ:Ô:�Gõ œ; v¨wÑ7Ô7ð 9Ý"$¤)§.¢.°·²¸&Ñ1AÔ1AÀu .Ñ"MÔ"M˜Ý'¨°Ñ8Ô8Ð8øñ9ñ9ð	9ð 	9r6   c                 ó  — t          j        ddgddgggdz  d¦  «        }t          |t           j        d¬¦  «        }t          t          j        |dd¦  «        t           j        d	¬¦  «        }t          |dd	¬¦  «        }t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |j        |j        cxk    o
|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    o
|j        k    nc ¦  «         d S )
NrB   rC   rQ   r?   rf  r!  )r¹  r�  r   r  )r+   r   r   r  Úswapaxesr   r   r�   )rX   rY   ra   rü  rf  s        r4   r­  zTestMatrixNorms.test_axis_kwd  sˆ  € ÝŒH˜˜1�v  1˜vÐ&Ð'¨!Ñ+¨SÑ1Ô1ˆÝ��œ VÐ,Ñ,Ô,ˆÝ•”˜Q  1Ñ%Ô%­2¬6¸Ð?Ñ?Ô?ˆÝ�˜ Ð'Ñ'Ô'ˆÝ˜˜1ÑÔÐÝ˜˜1ÑÔÐÝ˜˜1ÑÔÐÝ�”˜1œ7Ð-Ð-Ò-Ð- a¤gÒ-Ð-Ð-Ð-Ñ.Ô.Ð.Ý�˜ Ð'Ñ'Ô'ˆÝ•”˜Q  1Ñ%Ô%¨1°6Ð:Ñ:Ô:ˆÝ��œ VÐ,Ñ,Ô,ˆÝ˜˜1ÑÔÐÝ˜˜1ÑÔÐÝ˜˜1ÑÔÐÝ�”˜1œ7Ð-Ð-Ò-Ð- a¤gÒ-Ð-Ð-Ð-Ñ.Ô.Ð.Ð.Ð.r6   c                 ó  — t          j        dd¬¦  «                             dddd¦  «        }t          |t           j        dd	¬
¦  «        }t          |ddd	¬
¦  «        }t          ||¦  «         t          |j        |j        k    ¦  «         d S )Néx   rf  r�   rB   rQ   r?   r  r!  T)r¹  r�  r¯  rC   r  )r+   r   rV   r   r  r   r   r�   )rX   rY   ra   rü  s       r4   r°  z!TestMatrixNorms.test_keepdims_kwd"  s…   € ÝŒI�c Ð%Ñ%Ô%×-Ò-¨a°°A°qÑ9Ô9ˆÝ��œ V°dÐ;Ñ;Ô;ˆÝ�˜ °Ð6Ñ6Ô6ˆÝ˜˜1ÑÔÐÝ�”˜1œ7Ò"Ñ#Ô#Ð#Ð#Ð#r6   c                 óR  — 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¦  «        ¦  «         d S )Nr€   rI   r   rœ  rŽ   T)r¯  rk   )r   rQ   r9  )r+   r’   r   r   r   rs  s     r4   r”   zTestMatrixNorms.test_empty)  sä   € ÝŒH�VÑÔˆÝ�˜Q™œ Ñ$Ô$Ð$Ý�˜Q Q˜™œ­¬°$©¬Ñ8Ô8Ð8Ý�˜Q¨Ð.Ñ.Ô.µ´¸Ñ0@Ô0@ÑAÔAÐAåŒH�VÑÔˆÝ�˜Q™œ Ñ$Ô$Ð$Ý�˜Q Q˜™œ­¬°$©¬Ñ8Ô8Ð8Ý�˜Q¨Ð.Ñ.Ô.µ´¸Ñ0@Ô0@ÑAÔAÐAÐAÐAr6   N)r•   r–   r—   r¿  r­  r°  r”   r    r6   r4   rµ  rµ  û  sU   € € € € € ð9ð 9ð 9ð(/ð /ð /ð"$ð $ð $ð	Bð 	Bð 	Bð 	Bð 	Br6   rµ  c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestOverwritec                 ó4   — t          t          ddg¦  «         d S ©N©rQ   rQ   r9  )r&   r   rö   s    r4   Ú
test_solvezTestOverwrite.test_solve6  ó   € Ý�E F¨D >Ñ2Ô2Ð2Ð2Ð2r6   c                 ó4   — t          t          ddg¦  «         d S rÈ  )r&   r   rö   s    r4   Útest_solve_triangularz#TestOverwrite.test_solve_triangular9  s   € ÝÕ,¨v°t¨nÑ=Ô=Ð=Ð=Ð=r6   c                 ó,   — t          d„ ddg¦  «         d S )Nc                 ó$   — t          d| |¦  «        S )NrM   )r   )rZ   ra   s     r4   ú<lambda>z1TestOverwrite.test_solve_banded.<locals>.<lambda>=  s   € ­,°v¸rÀ1Ñ*EÔ*E€ r6   )r?   r@   ©r@   r%   rö   s    r4   Útest_solve_bandedzTestOverwrite.test_solve_banded<  s+   € ÝÐEÐEØ# T˜Nñ	,ô 	,ð 	,ð 	,ð 	,r6   c                 ó4   — t          t          ddg¦  «         d S )N)rB   r@   rÑ  )r&   r   rö   s    r4   Útest_solveh_bandedz TestOverwrite.test_solveh_banded@  s   € Ý�M¨F°D¨>Ñ:Ô:Ð:Ð:Ð:r6   c                 ó2   — t          t          dg¦  «         d S ©NrÉ  )r&   r   rö   s    r4   Útest_invzTestOverwrite.test_invC  ó   € Ý�C & Ñ*Ô*Ð*Ð*Ð*r6   c                 ó2   — t          t          dg¦  «         d S rÖ  )r&   r   rö   s    r4   Útest_detzTestOverwrite.test_detF  rØ  r6   c                 ó4   — t          t          ddg¦  «         d S )N)rQ   rB   r9  )r&   r   rö   s    r4   Ú
test_lstsqzTestOverwrite.test_lstsqI  rË  r6   c                 ó2   — t          t          dg¦  «         d S rÖ  )r&   r   rö   s    r4   Ú	test_pinvzTestOverwrite.test_pinvL  s   € Ý�D 6 (Ñ+Ô+Ð+Ð+Ð+r6   c                 ó2   — t          t          dg¦  «         d S rÖ  )r&   r   rö   s    r4   Ú
test_pinvhzTestOverwrite.test_pinvhO  s   € Ý�E F 8Ñ,Ô,Ð,Ð,Ð,r6   N)r•   r–   r—   rÊ  rÍ  rÒ  rÔ  r×  rÚ  rÜ  rÞ  rà  r    r6   r4   rÆ  rÆ  5  s›   € € € € € ð3ð 3ð 3ð>ð >ð >ð,ð ,ð ,ð;ð ;ð ;ð+ð +ð +ð+ð +ð +ð3ð 3ð 3ð,ð ,ð ,ð-ð -ð -ð -ð -r6   rÆ  c            	       ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                             d	eeej        eej        g¦  «        ej                             d
eeej        eej        g¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestSolveCirculantc                 óØ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          t	          |¦  «        |¦  «        }t          ||¦  «         d S ©N)rC   rB   rQ   r  )rC   rE   rC   r   )r+   r   r   r   r   r   ©rX   rü  ra   rb   Úys        r4   Útest_basic1zTestSolveCirculant.test_basic1U  sb   € ÝŒH�\�\�\Ñ"Ô"ˆÝŒH�]�]�]Ñ#Ô#ˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   c                 óü   — t          j        g d¢¦  «        }t          j        d¦  «                             dd¦  «        }t	          ||¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S )N©rC   rB   éýÿÿÿr  rr  r?   rQ   ©r+   r   r   rV   r   r   r   r   rå  s        r4   Útest_basic2zTestSolveCirculant.test_basic2\  sl   € åŒH�^�^�^Ñ$Ô$ˆÝŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   c                 óþ   — t          j        g d¢¦  «        }t          j        d¦  «                             ddd¦  «        }t	          ||¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S )Nré  é   r?   rQ   rB   rë  rå  s        r4   Útest_basic3zTestSolveCirculant.test_basic3d  sn   € åŒH�^�^�^Ñ$Ô$ˆÝŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   c                 ó  — t          j        g d¢¦  «        }t          j        d¦  «                             dd¦  «        dz   }t	          ||¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S )N)r¶  rê  ræ   r  rÀ  r?   rB   y              à?rë  rå  s        r4   ri   zTestSolveCirculant.test_complexl  st   € åŒHÐ&Ð&Ð&Ñ'Ô'ˆÝŒI�a‰LŒL× Ò   AÑ&Ô&¨Ñ-ˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   c                 ó  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t	          ||¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S )Ni1Ô  r]  )r+   r   r9  rˆ  r   r   r   r   )rX   re  rü  ra   rb   ræ  s         r4   Útest_random_b_and_cz&TestSolveCirculant.test_random_b_and_ct  so   € åŒi×#Ò# EÑ*Ô*ˆØ�IŠI�b‰MŒMˆØ�IŠI�b‰MŒMˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   c                 ó  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        }t          t	          |¦  «        |¦  «        \  }}}}t          ||¦  «         t          t          t          ||¦  «         d S )N©rC   rC   r   r   )rC   rB   rQ   r?   r   )Úsingular)r+   r   r   r   r   r   ry   r    )rX   rü  ra   rb   ræ  rF  ÚrnkrS  s           r4   Útest_singularz TestSolveCirculant.test_singular}  sƒ   € åŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆÝ˜A˜q¨7Ð3Ñ3Ô3ˆÝ�y¨™|œ|¨QÑ/Ô/‰ˆˆ3��QÝ˜˜1ÑÔÐÝ•k¥?°A°qÑ9Ô9Ð9Ð9Ð9r6   c                 óV  — 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	        ¦  «        |d d …d	d d …f<   t          t          |d                              ¦   «         ¦  «        |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          ||¦  «         d S )N)rE   g      @rQ   g      @)rC   r@   r@   g      @)r   r   rC   rC   rô  )rC   rE   r   r   rC   )Úbaxis)r?   rB   rQ   r   rE   )rù  Úoutaxis)rB   rQ   r?   rB   )Úcaxis)r+   r   r   r   r�   Ú
empty_liker   r   r:  r>  r   ÚmoveaxisrÁ  )rX   rü  ra   rb   r±   s        r4   Útest_axis_argsz!TestSolveCirculant.test_axis_args†  s–  € õ ŒHÐ(Ð(Ð(Ð)¨N¨N¨NÐ+;Ð<Ñ=Ô=ˆõ ŒH�l�l�l L L L°-°-°-Ð@ÑAÔAˆå˜A˜q¨Ð*Ñ*Ô*ˆÝ�Q”W˜iÑ(Ô(Ð(Ý”= Ñ#Ô#ˆÝ!¥)¨A¨a¬D¯JªJ©L¬LÑ"9Ô"9¸1¼3Ñ?Ô?ˆ����A�q�q�q�ÑÝ!¥)¨A¨a¬D¯JªJ©L¬LÑ"9Ô"9¸1¼3Ñ?Ô?ˆ����A�q�q�q�ÑÝ˜˜8Ñ$Ô$Ð$å˜A˜q¨°2Ð6Ñ6Ô6ˆÝ�Q”W˜iÑ(Ô(Ð(Ý�œ A r¨1Ñ-Ô-¨xÑ8Ô8Ð8õ �BœK¨¨1¨aÑ0Ô0°!´#¸QÐ?Ñ?Ô?ˆÝ�Q”W˜iÑ(Ô(Ð(Ý˜˜8Ñ$Ô$Ð$Ð$Ð$r6   c                 ó�   — g d¢}g d¢}t          ||¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S rä  )r   r   r   r   rå  s        r4   r‰   z-TestSolveCirculant.test_native_list_argumentsŸ  sN   € àˆLˆLˆØˆMˆMˆÝ˜A˜qÑ!Ô!ˆÝ•)˜A‘,”, Ñ"Ô"ˆÝ˜˜1ÑÔÐÐÐr6   Údt_cr‹   c                 ó²  — t          j        g |¬¦  «        }t          j        g |¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        t          j        d|¬¦  «        ¦  «        j        k    sJ ‚t          j        d|¬¦  «        }t          ||¦  «        }|j        dk    sJ ‚|j        |j        k    sJ ‚d S )Nr�   rŽ   rQ   r€   )r+   r   r   r�   r…   r   r‘   r’   )rX   r   r‹   rü  ra   rb   Úx1s          r4   r”   zTestSolveCirculant.test_empty§  sî   € õ ŒH�R˜tÐ$Ñ$Ô$ˆÝŒH�R˜tÐ$Ñ$Ô$ˆÝ˜A˜qÑ!Ô!ˆØŒw˜$ŠˆˆˆØŒw�/­"¬)°A¸TÐ*BÑ*BÔ*BÝ*,¬'°!¸4Ð*@Ñ*@Ô*@ñBô BÜBGòHð Hð Hð Hõ ŒH�V 4Ð(Ñ(Ô(ˆÝ˜Q Ñ"Ô"ˆØŒx˜6Ò!Ð!Ð!Ð!ØŒx˜1œ7Ò"Ð"Ð"Ð"Ð"Ð"r6   N)r•   r–   r—   rç  rì  rï  ri   rò  r÷  rþ  r‰   r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   râ  râ  S  s÷   € € € € € ðð ð ðð ð ðð ð ðð ð ðð ð ð:ð :ð :ð%ð %ð %ð2ð ð ð „[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUð#ð #ñ VÔUñ VÔUð#ð #ð #r6   râ  c                   óž   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                             deeej        eej        g¦  «        d	„ ¦   «         Zd
S )ÚTestMatrix_Balancec                 ó<   — t          t          t          d¦  «         d S )NzSome string for fail)ry   rz   r"   rö   s    r4   Útest_string_argz"TestMatrix_Balance.test_string_arg¹  s   € Ý•j¥.Ð2HÑIÔIÐIÐIÐIr6   c           	      óú   — t          t          t          t          j        ddgdt          j        gg¦  «        ¦  «         t          t          t          t          j        ddgdt          j        gg¦  «        ¦  «         d S )NrC   rB   rQ   )ry   rz   r"   r+   r   r  Únanrö   s    r4   Útest_infnan_argz"TestMatrix_Balance.test_infnan_arg¼  sp   € Ý•j¥.Ý”h  A ¨­B¬F¨Ð4Ñ5Ô5ñ	7ô 	7ð 	7å•j¥.Ý”h  A ¨­B¬F¨Ð4Ñ5Ô5ñ	7ô 	7ð 	7ð 	7ð 	7r6   c           	      óè   — t          t          j        ddgddgg¦  «        ¦  «        \  }}t          t          j        t          j        t          j        |¦  «        ¦  «        ¦  «        dg¦  «         d S )Nr8  rC   r   r  )r"   r+   r   r   ÚdiffÚlog2rm   )rX   rx  ræ  s      r4   Útest_scalingzTestMatrix_Balance.test_scalingÂ  s`   € Ý�bœh¨¨q¨	°D¸!°9Ð'=Ñ>Ô>Ñ?Ô?‰ˆˆ1õ 	�œ¥¤­¬°©
¬
Ñ 3Ô 3Ñ4Ô4°q°cÑ:Ô:Ð:Ð:Ð:r6   c                 óÆ   — t          j        g d¢g d¢g d¢g¦  «        }t          |¦  «        \  }}t          t	          ||¦  «                             |¦  «        |¦  «         d S )N)rC   r   r‘  )rC   rC   rv  )r¥  g      Y@rC   )r+   r   r"   r   r   r   )rX   r!  rb   ræ  s       r4   Útest_scaling_orderz%TestMatrix_Balance.test_scaling_orderÉ  s_   € ÝŒH�l�l�l L L L°-°-°-Ð@ÑAÔAˆÝ˜aÑ Ô ‰ˆˆ1Ý�˜a ™œŸš¨Ñ*Ô*¨AÑ.Ô.Ð.Ð.Ð.r6   c                 ó  — t          t          j        ddgddgg¦  «        d¬¦  «        \  }\  }}t          t          j        t          j        |¦  «        ¦  «        dg¦  «         t          |t          j        d¦  «        ¦  «         d S )Nr8  rC   r   ©Úseparater  rB   )r"   r+   r   r   r  r  r   r   )rX   rx  ræ  Úzs       r4   Útest_separatez TestMatrix_Balance.test_separateÎ  s|   € Ý"¥2¤8¨d°A¨Y¸¸q¸	Ð,BÑ#CÔ#CØ,-ð/ñ /ô /‰	ˆ‰6ˆAˆqå•R”W�RœW Q™ZœZÑ(Ô(¨1¨#Ñ.Ô.Ð.Ý˜�2œ9 Q™<œ<Ñ(Ô(Ð(Ð(Ð(r6   c                 ór  — t          t          j        d¦  «        t          j        t          j        d¦  «        ¦  «        t          j        d¦  «        ¦  «        }t	          |d¬¦  «        \  }\  }}t          |t          j        |¦  «        ¦  «         t          |t          j        g d¢¦  «        ¦  «         d S )N)rB   rB   rÉ  rC   r  )r   rC   r@   r  r?   rQ   rB   )r!   r+   r‘   rM  r"   r   Ú	ones_liker   )rX   r!  rb   ræ  r  s        r4   Útest_permutationz#TestMatrix_Balance.test_permutationÔ  s“   € Ý•r”w˜v‘”­¬µ´¸±´Ñ(@Ô(@Ý”w˜v‘”ñ(ô (ˆå" 1¨qÐ1Ñ1Ô1‰	ˆ‰6ˆAˆqÝ˜�2œ<¨™?œ?Ñ+Ô+Ð+Ý˜�2œ8Ð$9Ð$9Ð$9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r6   c           	      óL  — 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          ||¦  «         	                    |¦  «        |¦  «         Œ¿d S )N)rI   rI   rI   rI   ç�íµ ÷ÆÀ>)rI   rI   rI   rI   rI   )rP   rP   rI   rI   rI   )rI   rI   r  rI   rI   )r²  rI   rI   rI   )rI   rÚ  rI   rI   )r;   rI   r²  rI   )rI   r;   rI   rÚ  )rå  rI   r;   rI   )rÚ  rÚ  ç       €r;   )rå  r  r  rI   )rÚ  r  r;   rÚ  rC   r  r   )
r+   r   r"   rü  r   r�   r   rm   r   r   )rX   Úcasesr!  rb   ræ  rS  r�  Úips           r4   Útest_perm_and_scalingz(TestMatrix_Balance.test_perm_and_scalingÛ  sz  € õ ”Ð5Ð5Ð5Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø5Ð5Ð5ð	7ñ 8ô 8õ ”Ð-Ð-Ð-Ø,Ð,Ð,Ø-Ð-Ð-Ø,Ð,Ð,ð.ñ /ô /õ
 ”Ð,Ð,Ð,Ø.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.ð0ñ 1ô 1ðˆð$ ð 	3ð 	3ˆAÝ! !Ñ$Ô$‰DˆAˆqÝ& q°1Ð5Ñ5Ô5‰IˆA‰v��1Ý”˜qÑ!Ô!ˆBÝ”I˜aœg aœjÑ)Ô)ˆBˆq‰EÝ˜A�rœw q™zœz¨"¨a¨a¨a¨%Ô0Ñ1Ô1Ð1Ý�E ! Q™KœKŸOšO¨AÑ.Ô.°Ñ2Ô2Ð2Ð2ð	3ð 	3r6   r3   c                 ó4  — 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 ‚d S )Nr€   r�   r   rB   Tr  )r+   r’   r"   r_  r�   r…   )rX   r3   rY   ra   rý  Úb_nÚt_nr“  ÚpermÚscale_nÚperm_ns              r4   r”   zTestMatrix_Balance.test_empty÷  s8  € åŒH�V 2Ð&Ñ&Ô&ˆÝ˜aÑ Ô ‰ˆˆ1àŒv˜Š{ˆ{ˆ{ˆ{ØŒv˜Š{ˆ{ˆ{ˆ{å!¥"¤&¨°"Ð"5Ñ"5Ô"5Ñ6Ô6‰ˆˆSØŒw˜#œ)Ò#Ð#Ð#Ð#ØŒw˜#œ)Ò#Ð#Ð#Ð#å)¨!°dÐ;Ñ;Ô;Ñˆ‰=ˆE�4ØŒv˜Š{ˆ{ˆ{ˆ{ØŒz˜QŠˆˆˆØŒy˜AŠ~ˆ~ˆ~ˆ~å!/°¸DÐ!AÑ!AÔ!AÑˆÑˆg�vØŒw˜#œ)Ò#Ð#Ð#Ð#ØŒ{˜gœmÒ+Ð+Ð+Ð+ØŒz˜Vœ\Ò)Ð)Ð)Ð)Ð)Ð)r6   N)r•   r–   r—   r  r	  r  r  r  r  r  r˜   r™   r›   rœ   r�   r+   r
   rž   rŸ   r”   r    r6   r4   r  r  ·  s¾   € € € € € ðJð Jð Jð7ð 7ð 7ð;ð ;ð ;ð/ð /ð /ð
)ð )ð )ð<ð <ð <ð3ð 3ð 3ð8 „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð*ð *ñ TÔSð*ð *ð *r6   r  rŽ   )Lr†  Únumpyr+   r   r   r   r   r   r   r	   r
   Únumpy.randomr   Únumpy.testingr   r   r   r   r   r   r   r˜   r   ry   Úscipy.linalgr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   Úscipy.linalg._testutilsr&   Úscipy._lib._testutilsr'   r(   Úscipy.linalg.blasr)   r-   r,   r'  rŸ   r/   r.   r1  ÚDTYPESr5   r8   r¢   rð   r­  r»  rÌ  r  r  rX  r�  r™   r›   r˜  rš  rµ  rÆ  râ  r  r    r6   r4   ú<module>r,     sq  ðØ Ð Ð Ð à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð à Ð Ð Ð Ð Ð ðBð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð €€€Ø *Ð *Ð *Ð *Ð *Ð *ð=ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð
 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'àŒz˜2œ: r¤}Ð5€Ø”, ¤¨r¬~Ð>€Ø	�~Ñ	%€ðð ð ðdVð dVð dVð dVð dVñ dVô dVð dVðNIVð IVð IVð IVð IVñ IVô IVð IVðX
d$ð d$ð d$ð d$ð d$ñ d$ô d$ð d$ðNOJð OJð OJð OJð OJñ OJô OJð OJðd/=ð /=ð /=ð /=ð /=ñ /=ô /=ð /=ðdTð Tð Tð Tð Tñ Tô Tð Tðnð ð ð ðj&ð j&ð j&ð j&ð j&ñ j&ô j&ð j&ðZ	T?ð T?ð T?ð T?ð T?ñ T?ô T?ð T?ðnK?ð K?ð K?ð K?ð K?ñ K?ô K?ð K?ð\ „×Ò˜Ð"3Ñ4Ô4Ø„×Ò˜ 4¨ -Ñ0Ô0ð%ð %ñ 1Ô0ñ 5Ô4ð%ð9"ð 9"ð 9"ð 9"ð 9"ñ 9"ô 9"ð 9"ðx7Bð 7Bð 7Bð 7Bð 7Bñ 7Bô 7Bð 7Bðt-ð -ð -ð -ð -ñ -ô -ð -ð<a#ð a#ð a#ð a#ð a#ñ a#ô a#ð a#ðHT*ð T*ð T*ð T*ð T*ñ T*ô T*ð T*ð T*ð T*r6   