§
    µ³ÙgžÏ ã                   ó<  — d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZ 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 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z; d dl<m=Z= d d	lm>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZP d d
lQmRZR d dlSmTZT d dlUmVZV d dlWmXZX 	 d dlYmZZZ n# e[$ r dZZY nw xY wej        dk    p ej\        ¦   «         dv Z]de^fd„Z_ejE        ej`        gZaejF        ejb        gZceaecz   Zdd„ Ze G d„ d¦  «        Zf G d„ d¦  «        Zg G d„ d¦  «        Zh G d„ d¦  «        Zi G d„ d¦  «        Zj G d„ d¦  «        Zk G d „ d!ek¦  «        Zlejm         n                    e]d"¬#¦  «        ejm         o                    d$¦  «        d%„ ¦   «         ¦   «         Zp G d&„ d'¦  «        Zq G d(„ d)¦  «        Zr G d*„ d+¦  «        Zs G d,„ d-¦  «        Zt G d.„ d/¦  «        Zu G d0„ d1¦  «        ZvdxZwZxeZ�(eZd2         d3         d4         ZweZd2         d3         d5         Zx G d6„ d7¦  «        Zy G d8„ d9¦  «        Zz G d:„ d;¦  «        Z{ G d<„ d=¦  «        Z|d>„ Z}ejm         n                     ej\        ¦   «         d?k    d@¬#¦  «        dA„ ¦   «         Z~dB„ ZdC„ Z€ejm         �                    ddD¬E¦  «        dF„ ¦   «         Z‚ G dG„ dH¦  «        ZƒdUdI„Z„ejm        j…        ejm         n                     ej†        ej‡        ¦  «        jˆ        dJk     dK¬#¦  «        dL„ ¦   «         ¦   «         Z‰dM„ ZŠejm         ‹                    dNeŒe^ejE        e�ejF        g¦  «        dO„ ¦   «         ZŽ G dP„ dQ¦  «        Z�dR„ Z� G dS„ dT¦  «        Z‘dS )Vé    N)Úassert_equalÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_Úassert_allclose)Úraises)ÚeigÚeigvalsÚluÚsvdÚsvdvalsÚcholeskyÚqrÚschurÚrsf2csfÚlu_solveÚ	lu_factorÚsolveÚdiagsvdÚ
hessenbergÚrqÚ
eig_bandedÚeigvals_bandedÚeighÚeigvalshÚqr_multiplyÚqzÚorthÚordqzÚsubspace_anglesÚhadamardÚeigvalsh_tridiagonalÚeigh_tridiagonalÚ
null_spaceÚcdf2rdfÚLinAlgError)	ÚdgbtrfÚdgbtrsÚzgbtrfÚzgbtrsÚdsbevÚdsbevdÚdsbevxÚzhbevdÚzhbevx)Únorm)Ú_select_function)Úortho_group)ÚarrayÚdiagÚfullÚlinalgÚargsortÚzerosÚarangeÚfloat32Ú	complex64ÚravelÚsqrtÚ	iscomplexÚshapeÚsortÚsignÚasarrayÚisfiniteÚndarrayÚeye)Úassert_no_overwrite)Úmatrix)Úcheck_free_memory)Ú	HAS_ILP64)ÚCONFIGÚ
emscripten)Úwasm32Úwasm64Fc                 ó¸  — |t           v rdt          j                             | | ¦  «        t          j                             | | ¦  «        dz  z   }||                     ¦   «         j        z   dz  }n-t          j                             | | ¦  «        }||j        z   dz  }|r*|t          d| z  ¦  «        t          j        | ¦  «        z  z  }|                     |¦  «        S )z7Generate random sym/hermitian array of the given size nù              ð?é   )	ÚCOMPLEX_DTYPESÚnpÚrandomÚrandÚconjÚTr>   rF   Úastype)ÚnÚposdefÚdtypeÚAs       úT/granary/edev/quantum/lib/python3.11/site-packages/scipy/linalg/tests/test_decomp.pyÚ_random_hermitian_matrixr^   ,   s³   € à•ÐÐÝŒI�NŠN˜1˜aÑ Ô ¥2¤9§>¢>°!°QÑ#7Ô#7¸Ñ#<Ñ<ˆØ�—’‘””‰^˜QÑˆˆåŒI�NŠN˜1˜aÑ Ô ˆØ�”‰W�a‰Kˆàð !Ø	�T�!�A‘#‰YŒY•r”v˜a‘y”yÑ Ñ ˆà�8Š8�E‰?Œ?Ðó    c                 óž  — t          | t          ¦  «        r| }|                     |¦  «        dz  dz
  }nLt          | t          ¦  «        r(t	          | j        ¦  «        dk    r| j        d         }| }nt          d¦  «        ‚t          j        |¦  «        }|j	         
                    ¦   «         t          |¦  «        z  |z  }d|j	        |z   z  }|S )a  Return a random symmetric (Hermitian) matrix.

    If 'dim_or_eigv' is an integer N, return a NxN matrix, with eigenvalues
        uniformly distributed on (-1,1).

    If 'dim_or_eigv' is  1-D real array 'a', return a matrix whose
                      eigenvalues are 'a'.
    rQ   é   r   zinput type not supported.ç      à?)Ú
isinstanceÚintrT   rE   Úlenr@   Ú	TypeErrorr3   ÚrvsrW   rV   r5   )Údim_or_eigvÚrngÚdimÚdÚvÚhs         r]   Úsymrandrn   B   sÃ   € õ �+�sÑ#Ô#ð 5ØˆØ�JŠJ�s‰OŒO˜AÑ Ñ!ˆˆÝ
�[¥'Ñ
*Ô
*ð 5Ý
ˆkÔÑ
 Ô
  AÒ
%Ð
%ØÔ Ô"ˆØˆˆåÐ3Ñ4Ô4Ð4åŒ˜ÑÔ€AØ	Œ�Š‰
Œ
•T˜!‘W”WÑ˜qÑ €AàˆQŒS�‰U‰€AØ€Hr_   c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    de
eeeeg¦  «        d„ ¦   «         ZdS )ÚTestEigValsc                 ó°   — g d¢g d¢g d¢g}t          |¦  «        }dt          d¦  «        z   dz  ddt          d¦  «        z
  dz  g}t          ||¦  «         d S )N©ra   rQ   é   ©rQ   é   é   é	   é]   rQ   r   ©r   r>   r   ©ÚselfÚaÚwÚexact_ws       r]   Útest_simplezTestEigVals.test_simple^   sc   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�A‰JŒJˆØ•d˜2‘h”h‘J ‘> 1 q­¨b©¬¡z°1¡nÐ5ˆÝ! ! WÑ-Ô-Ð-Ð-Ð-r_   c                 ó  — t          g d¢g d¢g d¢gd¦  «        j        }|                     ¦   «         }|j        }t          |¦  «        }dt	          d¦  «        z   dz  ddt	          d¦  «        z
  dz  g}t          ||¦  «         d S )Nrr   rt   rk   rw   rx   rQ   r   )r4   rW   Úcopyr   r>   r   rz   s       r]   Útest_simple_trzTestEigVals.test_simple_trd   s„   € Ý�9�9�9˜i˜i˜i¨¨¨Ð3°SÑ9Ô9Ô;ˆØ�FŠF‰HŒHˆØŒCˆÝ�A‰JŒJˆØ•d˜2‘h”h‘J ‘> 1 q­¨b©¬¡z°1¡nÐ5ˆÝ! ! WÑ-Ô-Ð-Ð-Ð-r_   c                 ó°   — g d¢g d¢g d¢g}t          |¦  «        }dt          d¦  «        z   dz  ddt          d¦  «        z
  dz  g}t          ||¦  «         d S )Nrr   ©rQ   ru   y      @      ð?y      "@      ð?y      W@      @rQ   r   ry   rz   s       r]   Útest_simple_complexzTestEigVals.test_simple_complexl   sm   € ØˆYˆY˜	˜	˜	 < < <Ð0ˆÝ�A‰JŒJˆØ�˜e™œÑ$ aÑ'ØØ�˜e™œÑ$ aÑ'ð)ˆõ 	" ! WÑ-Ô-Ð-Ð-Ð-r_   c                 ó´   — g d¢g d¢g d¢g}t          |d¬¦  «        }dt          d¦  «        z   dz  ddt          d¦  «        z
  dz  g}t          ||¦  «         d S )	Nrr   rt   F©Úcheck_finiterw   rx   rQ   r   ry   rz   s       r]   Útest_finitezTestEigVals.test_finitet   sj   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�A EÐ*Ñ*Ô*ˆØ•d˜2‘h”h‘J ‘> 1 q­¨b©¬¡z°1¡nÐ5ˆÝ! ! WÑ-Ô-Ð-Ð-Ð-r_   Údtc                 ór  — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚t          |d¬¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚d S )N©r   r   ©r[   ©r   rQ   T©Úhomogeneous_eigvals©rQ   r   )rS   Úemptyr   r@   r[   rF   )r{   rŠ   r|   r}   s       r]   Ú
test_emptyzTestEigVals.test_emptyz   sµ   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�A‰JŒJˆØŒw˜$ŠˆˆˆØŒw�'¥"¤&¨°"Ð"5Ñ"5Ô"5Ñ6Ô6Ô<Ò<Ð<Ð<Ð<å�A¨4Ð0Ñ0Ô0ˆØŒw˜&Ò Ð Ð Ð ØŒw�'¥"¤&¨°"Ð"5Ñ"5Ô"5Ñ6Ô6Ô<Ò<Ð<Ð<Ð<Ð<Ð<r_   N)Ú__name__Ú
__module__Ú__qualname__r   r‚   r…   r‰   ÚpytestÚmarkÚparametrizerd   Úfloatr;   Úcomplexr<   r“   © r_   r]   rp   rp   \   sŠ   € € € € € ð.ð .ð .ð.ð .ð .ð.ð .ð .ð.ð .ð .ð „[×Ò˜T C¨°¸À)Ð#LÑMÔMð=ð =ñ NÔMð=ð =ð =r_   rp   c                   óÈ   — e Zd Zd„ Zd„ Zd„ Zd„ Z	 	 d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¦  «        d„ ¦   «         ZdS )ÚTestEigc                 óZ  — t          g d¢g d¢g d¢g¦  «        }t          |¦  «        \  }}dt          d¦  «        z   dz  ddt          d¦  «        z
  dz  g}t          dddt          d¦  «        dz  z   dz  g¦  «        }t          g d	¢¦  «        }t          dddt          d¦  «        dz  z
  dz  g¦  «        }|t          |¦  «        z  }|t          |¦  «        z  }|t          |¦  «        z  }t	          ||¦  «         t	          ||d d …df         t          |d
         ¦  «        z  ¦  «         t	          ||d d …df         t          |d         ¦  «        z  ¦  «         t	          ||d d …df         t          |d         ¦  «        z  ¦  «         t          d¦  «        D ]2}t	          ||d d …|f         z  ||         |d d …|f         z  ¦  «         Œ3t          |dd¬¦  «        \  }}t          d¦  «        D ]7}t	          |j        |d d …|f         z  ||         |d d …|f         z  ¦  «         Œ8d S )Nrr   rt   rw   rx   rQ   r   ra   rs   ©ç      @r   éÿÿÿÿrŒ   ©r   ra   ©r   rQ   ©ÚleftÚright)r4   r
   r>   r1   r   rB   ÚrangerW   ©	r{   r|   r}   rl   r~   Úv0Úv1Úv2Úis	            r]   r   zTestEig.test_simpleˆ   s8  € Ý�9�9�9˜i˜i˜i¨¨¨Ð3Ñ4Ô4ˆÝ�1‰vŒv‰ˆˆ1Ø•d˜2‘h”h‘J ‘> 1 q­¨b©¬¡z°1¡nÐ5ˆÝ�A�q˜1�T "™XœX a™Z™<¨Ñ*Ð+Ñ,Ô,ˆÝ�;�;�;ÑÔˆÝ�A�q˜1�T "™XœX a™Z™<¨Ñ*Ð+Ñ,Ô,ˆØ•$�r‘(”(‰]ˆØ•$�r‘(”(‰]ˆØ•$�r‘(”(‰]ˆÝ! ! WÑ-Ô-Ð-Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý�q‘”ð 	Að 	AˆAÝ% a¨!¨A¨A¨A¨q¨D¬'¡k°1°Q´4¸¸!¸!¸!¸Q¸$¼±<Ñ@Ô@Ð@Ð@Ý�1˜1 AÐ&Ñ&Ô&‰ˆˆ1Ý�q‘”ð 	Cð 	CˆAÝ% a¤c¨A¨a¨a¨a°¨d¬G¡m°Q°q´T¸!¸A¸A¸A¸q¸D¼'±\ÑBÔBÐBÐBð	Cð 	Cr_   c                 óô  — t          ddgddgg¦  «        }t          |dd¬¦  «        \  }}}t          |t          ddg¦  «        ¦  «         t          d¦  «        D ]2}t          ||d d …|f         z  ||         |d d …|f         z  ¦  «         Œ3t          d¦  «        D ][}t          |                     ¦   «         j        |d d …|f         z  ||                              ¦   «         |d d …|f         z  ¦  «         Œ\d S )Nra   rQ   éþÿÿÿr¥   ù      ð?       @y      ð?       À)r4   r
   r   r¨   rV   rW   ©r{   r|   r}   ÚvlÚvrr­   s         r]   Útest_simple_complex_eigzTestEig.test_simple_complex_eigœ   s  € Ý�A�q�6˜B ˜7Ð#Ñ$Ô$ˆÝ˜ ¨Ð+Ñ+Ô+‰	ˆˆ2ˆrÝ! !¥U¨D°$¨<Ñ%8Ô%8Ñ9Ô9Ð9Ý�q‘”ð 	Cð 	CˆAÝ% a¨"¨Q¨Q¨Q°¨T¬(¡l°A°a´D¸¸A¸A¸A¸q¸D¼±MÑBÔBÐBÐBÝ�q‘”ð 	<ð 	<ˆAÝ% a§f¢f¡h¤h¤j°2°a°a°a¸°d´8Ñ&;Ø&'¨¤d§i¢i¡k¤k°"°Q°Q°Q¸°T´(Ñ&:ñ<ô <ð <ð <ð	<ð 	<r_   c                 ó¼  — t          g d¢g d¢g d¢g¦  «        }t          |dd¬¦  «        \  }}}t          d¦  «        D ]2}t          ||d d …|f         z  ||         |d d …|f         z  ¦  «         Œ3t          d¦  «        D ][}t          |                     ¦   «         j        |d d …|f         z  ||                              ¦   «         |d d …|f         z  ¦  «         Œ\d S )Nrr   r„   ra   r¥   rs   )r4   r
   r¨   r   rV   rW   r±   s         r]   r…   zTestEig.test_simple_complex¦   sý   € Ý�9�9�9˜i˜i˜i¨¨¨Ð6Ñ7Ô7ˆÝ˜ ¨Ð+Ñ+Ô+‰	ˆˆ2ˆrÝ�q‘”ð 	Cð 	CˆAÝ% a¨"¨Q¨Q¨Q°¨T¬(¡l°A°a´D¸¸A¸A¸A¸q¸D¼±MÑBÔBÐBÐBÝ�q‘”ð 	<ð 	<ˆAÝ% a§f¢f¡h¤h¤j°2°a°a°a¸°d´8Ñ&;Ø&'¨¤d§i¢i¡k¤k°"°Q°Q°Q¸°T´(Ñ&:ñ<ô <ð <ð <ð	<ð 	<r_   c                 ó8  — dgg}dgg}t          ||d¬¦  «        \  }}t          |d         d¦  «         t          |d         dk    ¦  «         t          |d¦  «         t          ||¦  «        \  }}t          |t          j        ¦  «         t          |d¦  «         d S )Nra   r   Tr�   ©ra   r   rŒ   )r
   r   r   r   rS   Úinf)r{   r|   Úbr}   r³   s        r]   Útest_gh_3054zTestEig.test_gh_3054¯   sŸ   € ØˆSˆEˆØˆSˆEˆÝ�A�q¨dÐ3Ñ3Ô3‰ˆˆ2Ý˜˜$œ Ñ#Ô#Ð#Ý��$”˜1’ÑÔÐÝ˜˜AÑÔÐå�A�q‘	”	‰ˆˆ2Ý�Q�œÑÔÐÝ˜˜AÑÔÐÐÐr_   ç‚vIhÂ%<=c           	      ó€  — |�!t          |¦  «        t          |¦  «        }}|}n$t          |¦  «        }|}t          j        |j        Ž }d|›d|›�}t	          ||d¬¦  «        \  }	}
t          ||d¬¦  «        }||
z  |	dd d …f         z  }||
z  |	dd d …f         z  }t          |j        d         ¦  «        D ]*}t          |d d …|f         |d d …|f         |||¬¦  «         Œ+|€4t          |	dd d …f         d¦  «         t          |dd d …f         d¦  «         t          j        |	¦  «        }t          j        |¦  «        }t          |	d d …|f         |d d …|f         dd|¬¦  «         t          j	        t          |
¦  «        ¦  «        }t          t          |
¦  «        ¦  «        D ]}t          |
d d …|f         ¦  «        ||<   Œt          |t          j        |j        ¦  «        |dd¬	¦  «         |	dd d …f         dk    }|	d|f         |	d|f         z  }t	          ||¦  «        \  }	}
t          ||¦  «        }||
z  }||
z  |	z  }||z
  }t          |j        d         ¦  «        D ]K}t          j        t          |d d …|f         ¦  «        ¦  «        rt          |d d …|f         d|||¬¦  «         ŒL|	t          |	¦  «                 }|t          |¦  «                 }d
t          j        d|z  d¬¦  «        z  }d
t          j        d|z  d¬¦  «        z  }t#          t%          |¦  «        |j        z   ¦  «        }t#          t%          |¦  «        |j        z   ¦  «        }t          ||         ||         dd|¬¦  «         t          j	        t          |
¦  «        ¦  «        }t          t          |
¦  «        ¦  «        D ]}t          |
d d …|f         ¦  «        ||<   Œt          |t          j        |j        ¦  «        |¬¦  «         t          t)          |¦  «        t)          |	t          j        |	¦  «                 ¦  «        ¦  «         d S )Nú
Tr�   ra   r   ©ÚrtolÚatolÚerr_msggH¯¼šò×z>)rÀ   r¿   rÁ   )rÁ   rÀ   r¿   y       €      ð¿rP   g»½×Ùß|Û=)Útol©rÁ   )rC   rS   rF   r@   r
   r   r¨   r   Úlexsortr’   re   r1   ÚonesÚsizeÚallrD   Úreal_if_closer8   ÚabsÚimagrA   )r{   r\   ÚBÚ
atol_homogÚ
rtol_homogrÀ   r¿   ÚB0Úmsgr}   r³   ÚwtÚval1Úval2r­   ÚpermÚpermtÚlengthÚbeta_nonzeroÚwhÚresÚw_finÚwt_fins                          r]   Ú_check_gen_eigzTestEig._check_gen_eig»   sv  € àˆ=Ý˜1‘:”:�w q™zœzˆqˆAØˆBˆBå˜‘
”
ˆAØˆBÝ”˜œÐ ˆAØ�1ÐÐ˜!ÐÐˆõ �A�r¨tÐ4Ñ4Ô4‰ˆˆ2Ý�Q˜°Ð5Ñ5Ô5ˆØ�2‰v˜˜!˜Q˜Q˜Q˜$œÑˆØ�2‰v˜˜!˜Q˜Q˜Q˜$œÑˆÝ�t”z !”}Ñ%Ô%ð 	Kð 	KˆAÝ˜D    A œJ¨¨Q¨Q¨Q°¨T¬
Ø!+°*ÀcðKñ Kô Kð Kð Kð ˆ:Ý˜A˜a   ˜dœG QÑ'Ô'Ð'Ý˜B˜q ! ! !˜tœH aÑ(Ô(Ð(åŒz˜!‰}Œ}ˆÝ”
˜2‘”ˆÝ˜˜!˜!˜!˜T˜'œ
 B q q q¨% x¤L°tÀ$Ø #ð	%ñ 	%ô 	%ð 	%õ ”�#˜b™'œ'Ñ"Ô"ˆå•s˜2‘w”w‘”ð 	'ð 	'ˆAÝ˜R    1 œX™œˆF�1‰IˆIå˜¥¤¨¬Ñ 4Ô 4¸cØ!¨ð	.ñ 	.ô 	.ð 	.ð ˜!˜Q˜Q˜Q˜$œ 1šˆØˆq�,ˆÔ ! A | OÔ"4Ñ4ˆõ �A�r‘
”
‰ˆˆ2Ý�Q˜‰^Œ^ˆØ�2‰vˆØ�2‰v˜‰zˆØ�T‰kˆÝ�s”y ”|Ñ$Ô$ð 	Cð 	CˆAÝŒv•h˜s 1 1 1 a 4œyÑ)Ô)Ñ*Ô*ð CÝ  A A A q D¤	¨1Ø%)°¸cðCñ Cô Cð Cøð •(˜1‘+”+”ˆØ•H˜R‘L”LÔ!ˆð •bÔ& r¨%¡x°UÐ;Ñ;Ô;Ñ;ˆØ•rÔ'¨¨6©	°uÐ=Ñ=Ô=Ñ=ˆå•s˜5‘z”z E¤JÑ.Ñ/Ô/ˆÝ�˜F™œ f¤kÑ1Ñ2Ô2ˆå˜˜dœ V¨E¤]Ø!¨°cð	;ñ 	;ô 	;ð 	;õ ”�#˜b™'œ'Ñ"Ô"ˆÝ•s˜2‘w”w‘”ð 	'ð 	'ˆAÝ˜R    1 œX™œˆF�1‰IˆIÝ˜¥¤¨¬Ñ 4Ô 4¸cÐBÑBÔBÐBõ 	�˜R™œ¥$ q­¬°Q©¬Ô'8Ñ"9Ô"9Ñ:Ô:Ð:Ð:Ð:r_   c                 ó  — t          g d¢g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d	¢g d
¢g¦  «        }t          j        d¬¦  «        5  |                      ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)é   é"   é   rß   é   )é-   rá   é*   é   é   )é'   é/   é1   é   rÞ   )é   rß   rè   é   é   )é&   é,   rí   é   é   )é   rè   é   rà   rî   )rß   é.   é(   rè   é%   )rè   ró   rã   rñ   rñ   )é   rñ   ré   é   é   )rî   é#   é   rê   rÝ   Úignore©rÇ   gê-�™—a=)rÌ   rÀ   )r4   rS   ÚerrstaterÛ   ©r{   r\   rË   s      r]   Útest_singularzTestEig.test_singular  s2  € õ Ð'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð	)ñ *ô *ˆõ
 Ð'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð	)ñ *ô *ˆõ Œ[˜XÐ&Ñ&Ô&ð 	Dð 	DØ×Ò  1°¸UÐÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds   ÁA9Á9A=Â A=c                 óÐ  — t          t          g d¢¦  «        ¦  «        }t          g d¢g d¢g d¢f¦  «        }t          g d¢g d¢g d¢f¦  «        }t          d¦  «        }t          d	¦  «        }t	          j        ||g|| gg¦  «        }t	          j        ||g||gg¦  «        }t	          j        d
¬¦  «        5  |                      ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ra   r   rs   )rQ   r¢   r¢   )r¢   rQ   r¢   )r¢   r¢   rQ   )ra   r¢   r   )r¢   ra   r   ©r   r   r   ©rs   rs   rs   rú   rû   )r5   r4   r9   rF   rS   Úblockrü   rÛ   )r{   ÚMÚKÚDÚZÚI3r\   rË   s           r]   Útest_falkerzTestEig.test_falker  s8  € å•�y�y�yÑ!Ô!Ñ"Ô"ˆÝ�;�;�;   ¨[¨[¨[Ð9Ñ:Ô:ˆÝ�:�:�:˜z˜z˜z¨9¨9¨9Ð5Ñ6Ô6ˆÝ�&‰MŒMˆÝ�‰VŒVˆÝŒH�r˜1�g  A 2˜wÐ'Ñ(Ô(ˆÝŒH�q˜"�g  1˜vÐ&Ñ'Ô'ˆåŒ[˜XÐ&Ñ&Ô&ð 	&ð 	&Ø×Ò  1Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   Â7CÃCÃ"Cc                 óä   — d„ }t          j        d¬¦  «        5  t          d¦  «        D ]-} ||dz  dz  ¬¦  «        \  }}|                      ||¦  «         Œ.	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ón   — d| dz  z   }d| z  }g d¢g d¢dd|dgddd|gg}g d¢g d¢ddd| gdd|dgg}||fS )	Né÷ÿÿÿrQ   )ra   r   r   r   )r   ra   r   r   r   )r   r   ra   r   )r   r   r   ra   ra   rœ   )ÚomegaÚc1Úc2r\   rË   s        r]   Úmatricesz)TestEig.test_bad_geneig.<locals>.matrices&  s}   € Ø�e˜Q‘h‘ˆBØ�5‘ˆBØ��Ø��Ø�Q˜˜A�Ø�Q˜˜2�ð ˆAð ��Ø��Ø�Q˜˜B˜3�Ø�Q˜˜A�ð ˆAð �a�4ˆKr_   rú   rû   éd   ç      @)r  )rS   rü   r¨   rÛ   )r{   r  Úkr\   rË   s        r]   Útest_bad_geneigzTestEig.test_bad_geneig#  sÛ   € ð	ð 	ð 	õ Œ[˜XÐ&Ñ&Ô&ð 	*ð 	*Ý˜3‘Z”Zð *ð *�Ø�x a¨¡d¨3¡hÐ/Ñ/Ô/‘��1Ø×#Ò# A qÑ)Ô)Ð)Ð)ð*ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ™>A%Á%A)Á,A)c                 óì  — t           j                             d¦  «        }t          d|¦  «        }|                      |d ¦  «         t          d|¦  «        }|                      ||¦  «         |                     d¦  «        d|                     d¦  «        z  z   }|                      |d ¦  «         |                     d¦  «        d|                     d¦  «        z  z   }|                      ||¦  «         d S )NéÒ  rs   r  rP   )rS   rT   ÚRandomStatern   rÛ   )r{   ri   r\   rË   s       r]   Útest_make_eigvalszTestEig.test_make_eigvals:  sß   € õ Œi×#Ò# DÑ)Ô)ˆÝ�A�s‰OŒOˆØ×Ò˜A˜tÑ$Ô$Ð$Ý�A�s‰OŒOˆØ×Ò˜A˜qÑ!Ô!Ð!à�JŠJ�vÑÔ  C§J¢J¨vÑ$6Ô$6Ñ!6Ñ6ˆØ×Ò˜A˜tÑ$Ô$Ð$Ø�JŠJ�vÑÔ  C§J¢J¨vÑ$6Ô$6Ñ!6Ñ6ˆØ×Ò˜A˜qÑ!Ô!Ð!Ð!Ð!r_   c                 óŒ  — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}dt          d¦  «        z   dz  ddt          d¦  «        z
  dz  g}t          d	d	d	t          d¦  «        d
z  z   dz  g¦  «        }t          g d¢¦  «        }t          d	d	d	t          d¦  «        d
z  z
  dz  g¦  «        }|t          |¦  «        z  }|t          |¦  «        z  }|t          |¦  «        z  }t	          ||¦  «         t	          ||d d …df         t          |d         ¦  «        z  ¦  «         t	          ||d d …d	f         t          |d         ¦  «        z  ¦  «         t	          ||d d …df         t          |d         ¦  «        z  ¦  «         t          d
¦  «        D ]2}t	          ||d d …|f         z  ||         |d d …|f         z  ¦  «         Œ3d S )Nrr   rt   Fr‡   rw   rx   rQ   r   ra   rs   r    rŒ   r£   r¤   )r
   r>   r4   r1   r   rB   r¨   r©   s	            r]   Útest_check_finitezTestEig.test_check_finiteH  sÏ  € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�1 5Ð)Ñ)Ô)‰ˆˆ1Ø•d˜2‘h”h‘J ‘> 1 q­¨b©¬¡z°1¡nÐ5ˆÝ�A�q˜1�T "™XœX a™Z™<¨Ñ*Ð+Ñ,Ô,ˆÝ�;�;�;ÑÔˆÝ�A�q˜1�T "™XœX a™Z™<¨Ñ*Ð+Ñ,Ô,ˆØ•$�r‘(”(‰]ˆØ•$�r‘(”(‰]ˆØ•$�r‘(”(‰]ˆÝ! ! WÑ-Ô-Ð-Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý! " a¨¨¨¨1¨¤g­d°1°T´7©m¬mÑ&;Ñ<Ô<Ð<Ý�q‘”ð 	Að 	AˆAÝ% a¨!¨A¨A¨A¨q¨D¬'¡k°1°Q´4¸¸!¸!¸!¸Q¸$¼±<Ñ@Ô@Ð@Ð@ð	Að 	Ar_   c                 óŒ   — t          j        d¦  «                             dd¦  «        }t          t          t
          |¦  «         dS )z:Check that passing a non-square array raises a ValueError.rv   rs   rQ   N)rS   r:   ÚreshapeÚassert_raisesÚ
ValueErrorr
   )r{   r\   s     r]   Útest_not_square_errorzTestEig.test_not_square_errorY  s7   € åŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝ•j¥# qÑ)Ô)Ð)Ð)Ð)r_   c                 óä   — t          d¦  «        }t          j        d¦  «                             dd¦  «        }t	          t
          t          ||¦  «         t	          t
          t          ||¦  «         dS )zOCheck that passing arrays of with different shapes
        raises a ValueError.rQ   ç      "@rs   N)rF   rS   r:   r  r  r  r
   rý   s      r]   Útest_shape_mismatchzTestEig.test_shape_mismatch^  sZ   € õ �‰FŒFˆÝŒI�c‰NŒN×"Ò" 1 aÑ(Ô(ˆÝ•j¥# q¨!Ñ,Ô,Ð,Ý•j¥# q¨!Ñ,Ô,Ð,Ð,Ð,r_   c                 ó  — t          j        g d¢g d¢g d¢g d¢gd¬¦  «        }t          j        g d¢g d¢g d	¢g d
¢gd¬¦  «        }t          ||¦  «        \  }}t           j                             ¦   «         5 }|                     t          d¦  «         t          j        |dd¬¦  «                             ¦   «         sJ ‚t          j        |dd¬¦  «                             ¦   «         sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )N)g      (@ç      <@g      S@g     €k@)g      0@g      @@g      T@g      l@)g      8@ç      D@g      V@g      m@)r$  g      L@g      Z@g      o@Úfloat64r�   )ç       @ç      @ç      $@r#  )r¡   r  ç      &@g      =@)r  ç      @g      *@g      ?@)r   r)  g      1@g     €A@z%invalid value encountered in multiplyr'  ç›+¡†›„=©rÀ   ç       @)	rS   r4   r
   ÚtestingÚsuppress_warningsÚfilterÚRuntimeWarningÚiscloseÚany)r{   r\   rË   r  ÚVÚsups         r]   Útest_gh_11577zTestEig.test_gh_11577f  sŠ  € õ ŒHÐ/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø0Ð0Ð0ð2ð :CðDñ Dô Dˆõ ŒHÐ,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,Ø-Ð-Ð-ð/ð 7@ðAñ Aô Aˆõ
 �1�a‰yŒy‰ˆˆ1õ ŒZ×)Ò)Ñ+Ô+ð 	8¨sà�JŠJ•~Ð'NÑOÔOÐOÝ”:˜a ¨5Ð1Ñ1Ô1×5Ò5Ñ7Ô7Ð7Ð7Ð7Ý”:˜a ¨5Ð1Ñ1Ô1×5Ò5Ñ7Ô7Ð7Ð7Ð7Ð7ð		8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   Á6A2C6Ã6C:Ã=C:rŠ   c                 ó  — t          j        d|¬¦  «        }t          |¦  «        \  }}t          t          j        d|¬¦  «        ¦  «        \  }}|j        dk    sJ ‚|j        |j        k    sJ ‚t          |t          j        d¦  «        ¦  «         |j        dk    sJ ‚|j        |j        k    sJ ‚t          |d¬¦  «        \  }}|j        dk    sJ ‚|j        |j        k    sJ ‚|j        dk    sJ ‚|j        |j        k    sJ ‚d S )NrŒ   r�   rQ   rŽ   Tr�   r‘   )rS   r’   r
   rF   r@   r[   r   )r{   rŠ   r|   r}   r³   Úw_nÚvr_ns          r]   r“   zTestEig.test_empty‚  s  € åŒH�V 2Ð&Ñ&Ô&ˆÝ�A‘”‰ˆˆ2å�œ˜q¨Ð+Ñ+Ô+Ñ,Ô,‰	ˆˆTàŒw˜$ŠˆˆˆØŒw˜#œ)Ò#Ð#Ð#Ð#å˜�BœH VÑ,Ô,Ñ-Ô-Ð-ØŒx˜6Ò!Ð!Ð!Ð!ØŒx˜4œ:Ò%Ð%Ð%Ð%å�A¨4Ð0Ñ0Ô0‰ˆˆ2ØŒw˜&Ò Ð Ð Ð ØŒw˜#œ)Ò#Ð#Ð#Ð#àŒx˜6Ò!Ð!Ð!Ð!ØŒx˜4œ:Ò%Ð%Ð%Ð%Ð%Ð%r_   N)r»   r»   r»   r»   )r”   r•   r–   r   r´   r…   rº   rÛ   rþ   r  r  r  r  r  r!  r6  r—   r˜   r™   rd   rš   rS   r;   r›   r<   r“   rœ   r_   r]   rž   rž   †   s2  € € € € € ðCð Cð Cð(<ð <ð <ð<ð <ð <ð
ð 
ð 
ð AFØ49ðH;ð H;ð H;ð H;ðTDð Dð Dð"&ð &ð &ð*ð *ð *ð."ð "ð "ðAð Að Að"*ð *ð *ð
-ð -ð -ð8ð 8ð 8ð8 „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð&ð &ñ TÔSð&ð &ð &r_   rž   c                   óÂ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zej                             deeej        eej        g¦  «        d„ ¦   «         ZdS )ÚTestEigBandedc                 ó.   — |                       ¦   «          d S ©N)Úcreate_bandmat©r{   s    r]   Úsetup_methodzTestEigBanded.setup_methodš  s   € Ø×ÒÑÔÐÐÐr_   c                 ó´  — d}d| _         d| _        t          t          |d¦  «        ¦  «        t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   | _        t          t          |d¦  «        ¦  «        d	t          t          |dz
  d¦  «        d¦  «        z  z   d	t          t          |dz
  d¦  «        d¦  «        z  z
  t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   | _        t          t          |d¦  «        ¦  «        t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d
¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   | _        d	t          t          |d¦  «        ¦  «        z  t          t          |dz
  d¦  «        d¦  «        z   d	t          t          |dz
  d
¦  «        d¦  «        z  z   t          t          |dz
  d¦  «        d¦  «        z   t          t          |dz
  d¦  «        d¦  «        z   | _        t          j	        | j        ¦  «        \  }}|j
        }t          |¦  «        }||         | _        |dd…|f         | _        t          j	        | j        ¦  «        \  }}|j
        }t          |¦  «        }||         | _        |dd…|f         | _        | j        dz   }t!          ||ft"          ¬¦  «        | _        t!          ||ft&          ¬¦  «        | _        t+          |¦  «        D ]P}t          | j        |¦  «        | j        ||z
  dz
  ||…f<   t          | j        |¦  «        | j        ||z
  dz
  ||…f<   ŒQd| j         z  | j        z   dz   }t!          ||ft"          ¬¦  «        | _        t          | j        ¦  «        | j        d| j         z  dd…f<   t+          | j         ¦  «        D ]p}t          | j        |dz   ¦  «        | j        d| j         z  dz
  |z
  |dz   |…f<   t          | j        | dz
  ¦  «        | j        d| j         z  dz   |z   d|dz
  |z
  …f<   Œqt!          ||ft&          ¬¦  «        | _        t          | j        ¦  «        | j        d| j         z  dd…f<   t+          | j         ¦  «        D ]p}t          | j        |dz   ¦  «        | j        d| j         z  dz
  |z
  |dz   |…f<   t          | j        | dz
  ¦  «        | j        d| j         z  dz   |z   d|dz
  |z
  …f<   Œqdt1          |¦  «        z  | _        | j        dz  | _        dS )zbCreate the full matrix `self.fullmat` and
           the corresponding band matrix `self.bandmat`.é
   rQ   ç      ð?ra   ç      ð¿r¢   ç       Àr¯   rP   ç      Àr&  Nr�   r   ù      ð?      ð?)ÚKLÚKUr5   r6   Úsym_matÚherm_matÚreal_matÚcomp_matr7   r
   Úrealr8   Ú	w_sym_linÚevec_sym_linÚ
w_herm_linÚevec_herm_linr9   rš   Úbandmat_symr›   Úbandmat_hermr¨   Úbandmat_realÚbandmat_compr:   r¹   Úbc)r{   ÚNÚewÚevÚargsÚLDABr­   s          r]   r>  zTestEigBanded.create_bandmat�  s¢  € ð ˆØˆŒØˆŒõ �T ! S™\œ\Ñ*Ô*Ý�t A a¡C¨™œ°Ñ3Ô3ñ4Ý6:½4ÀÀ!ÁÀT¹?¼?ÈAÑ6NÔ6NñOå�t A a¡C¨™œ°Ñ3Ô3ñ4å6:½4ÀÀ!ÁÀT¹?¼?ÈAÑ6NÔ6NñOˆŒõ
 �d 1 d™mœmÑ,Ô,Ø�d¥4¨¨!©¨S¡>¤>°2Ñ6Ô6Ñ6ñ7à�d¥4¨¨!©¨S¡>¤>°1Ñ5Ô5Ñ5ñ6õ  ¥ Q q¡S¨$¡¤°Ñ4Ô4ñ5õ  ¥ Q q¡S¨$¡¤°Ñ3Ô3ñ	4ˆŒõ �d 1 c™lœlÑ+Ô+Ý¥ Q q¡S¨$¡¤°Ñ4Ô4ñ5Ý7;½DÀÀ1ÁÀd¹O¼OÈQÑ7OÔ7OñPå¥ Q q¡S¨#¡¤°Ñ3Ô3ñ4å6:½4ÀÀ!ÁÀT¹?¼?ÈAÑ6NÔ6NñOˆŒð
 �D¥ a¨¡¤Ñ.Ô.Ñ.Ý¥ Q q¡S¨$¡¤°Ñ4Ô4ñ5à�d¥4¨¨!©¨T¡?¤?°AÑ6Ô6Ñ6ñ7õ  ¥ Q q¡S¨#¡¤°Ñ3Ô3ñ4õ  ¥ Q q¡S¨$¡¤°Ñ3Ô3ñ	4ˆŒõ ”˜DœLÑ)Ô)‰ˆˆBØŒWˆÝ�r‰{Œ{ˆØ˜DœˆŒØ˜q˜q˜q $˜wœKˆÔå”˜DœMÑ*Ô*‰ˆˆBØŒWˆÝ�r‰{Œ{ˆØ˜Tœ(ˆŒØ    4 œ[ˆÔð
 Œw˜‰{ˆÝ  $¨ µ%Ð8Ñ8Ô8ˆÔÝ! 4¨ )µ7Ð;Ñ;Ô;ˆÔÝ�t‘”ð 	Fð 	FˆAÝ.2°4´<ÀÑ.CÔ.CˆDÔ˜T !™V A™X q¨ s˜]Ñ+Ý/3°D´MÀ1Ñ/EÔ/EˆDÔ˜d 1™f Q™h¨¨!¨˜mÑ,Ð,ð �”‰y˜4œ7Ñ" QÑ&ˆÝ! 4¨ )µ5Ð9Ñ9Ô9ˆÔÝ*.¨t¬}Ñ*=Ô*=ˆÔ˜!˜DœG™) Q Q Q˜,Ñ'Ý�t”w‘”ð 	Cð 	CˆAå6:¸4¼=È!ÈAÉ#Ñ6NÔ6NˆDÔ˜a ¤™i¨™k¨!™m¨Q¨q©S°¨UÐ2Ñ3å8<¸T¼]Ø>?¸RÀ¹Tñ9Cô 9CˆDÔ˜a ¤™i¨™k¨!™m¨Q¨q°©s°1©u¨WÐ4Ñ5Ð5õ " 4¨ )µ7Ð;Ñ;Ô;ˆÔÝ*.¨t¬}Ñ*=Ô*=ˆÔ˜!˜DœG™) Q Q Q˜,Ñ'Ý�t”w‘”ð 	Cð 	CˆAå6:¸4¼=È!ÈAÉ#Ñ6NÔ6NˆDÔ˜a ¤™i¨™k¨!™m¨Q¨q©S°¨UÐ2Ñ3å8<¸T¼]Ø>?¸RÀ¹Tñ9Cô 9CˆDÔ˜a ¤™i¨™k¨!™m¨Q¨q°©s°1©u¨WÐ4Ñ5Ð5ð •V˜A‘Y”Y‘ˆŒØ”&˜FÑ#ˆŒˆˆr_   c                 ó  — t          | j        d¬¦  «        \  }}}|dd…t          |¦  «        f         }t          t	          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j        ¦  «        ¦  «         dS )zTCompare dsbev eigenvalues and eigenvectors with
           the result of linalg.eig.ra   ©Ú	compute_vN)r,   rS  r8   r   rA   rO  rÉ   rP  ©r{   r}   ÚevecÚinfoÚevec_s        r]   Ú
test_dsbevzTestEigBanded.test_dsbevî  sv   € õ ˜dÔ.¸!Ð<Ñ<Ô<‰ˆˆ4�Ø�Q�Q�Q� ™
œ
�]Ô#ˆÝ!¥$ q¡'¤'¨4¬>Ñ:Ô:Ð:Ý!¥# e¡*¤*­c°$Ô2CÑ.DÔ.DÑEÔEÐEÐEÐEr_   c                 ó  — t          | j        d¬¦  «        \  }}}|dd…t          |¦  «        f         }t          t	          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j        ¦  «        ¦  «         dS )zUCompare dsbevd eigenvalues and eigenvectors with
           the result of linalg.eig.ra   r^  N)r-   rS  r8   r   rA   rO  rÉ   rP  r`  s        r]   Útest_dsbevdzTestEigBanded.test_dsbevdö  sv   € õ ˜tÔ/¸1Ð=Ñ=Ô=‰ˆˆ4�Ø�Q�Q�Q� ™
œ
�]Ô#ˆÝ!¥$ q¡'¤'¨4¬>Ñ:Ô:Ð:Ý!¥# e¡*¤*­c°$Ô2CÑ.DÔ.DÑEÔEÐEÐEÐEr_   c           	      óJ  — t          | j        ¦  «        \  }}t          | j        ddd|dd¬¦  «        \  }}}}}|dd…t	          |¦  «        f         }t          t          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j	        ¦  «        ¦  «         dS )zUCompare dsbevx eigenvalues and eigenvectors
           with the result of linalg.eig.ç        ra   rQ   ©r_  r¨   N)
r@   rJ  r.   rS  r8   r   rA   rO  rÉ   rP  ©r{   rX  r}   ra  ÚnumÚifailrb  rc  s           r]   Útest_dsbevxzTestEigBanded.test_dsbevxþ  s¢   € õ �T”\Ñ"Ô"‰ˆˆ1å$*¨4Ô+;¸SÀ#ÀqÈ!Ø56¸að%Añ %Aô %AÑ!ˆˆ4��e˜Tà�Q�Q�Q� ™
œ
�]Ô#ˆÝ!¥$ q¡'¤'¨4¬>Ñ:Ô:Ð:Ý!¥# e¡*¤*­c°$Ô2CÑ.DÔ.DÑEÔEÐEÐEÐEr_   c                 ó  — t          | j        d¬¦  «        \  }}}|dd…t          |¦  «        f         }t          t	          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j        ¦  «        ¦  «         dS )zUCompare zhbevd eigenvalues and eigenvectors
           with the result of linalg.eig.ra   r^  N)r/   rT  r8   r   rA   rQ  rÉ   rR  r`  s        r]   Útest_zhbevdzTestEigBanded.test_zhbevd	  sv   € õ ˜tÔ0¸AÐ>Ñ>Ô>‰ˆˆ4�Ø�Q�Q�Q� ™
œ
�]Ô#ˆÝ!¥$ q¡'¤'¨4¬?Ñ;Ô;Ð;Ý!¥# e¡*¤*­c°$Ô2DÑ.EÔ.EÑFÔFÐFÐFÐFr_   c           	      óJ  — t          | j        ¦  «        \  }}t          | j        ddd|dd¬¦  «        \  }}}}}|dd…t	          |¦  «        f         }t          t          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j	        ¦  «        ¦  «         dS )zUCompare zhbevx eigenvalues and eigenvectors
           with the result of linalg.eig.rh  ra   rQ   ri  N)
r@   rK  r0   rT  r8   r   rA   rQ  rÉ   rR  rj  s           r]   Útest_zhbevxzTestEigBanded.test_zhbevx  s¢   € õ �T”]Ñ#Ô#‰ˆˆ1å$*¨4Ô+<¸cÀ3ÈÈ1Ø56¸að%Añ %Aô %AÑ!ˆˆ4��e˜Tà�Q�Q�Q� ™
œ
�]Ô#ˆÝ!¥$ q¡'¤'¨4¬?Ñ;Ô;Ð;Ý!¥# e¡*¤*­c°$Ô2DÑ.EÔ.EÑFÔFÐFÐFÐFr_   c                 óT  — t          | j        ¦  «        }|j        }t          t	          |¦  «        | j        ¦  «         t          | j        ¦  «        }|j        }t          t	          |¦  «        | j        ¦  «         d}t          j	        d¦  «        }t          | j        d||f¬¦  «        }t          t	          |¦  «        | j        ||dz   …         ¦  «         t          | j        d||f¬¦  «        }t          t	          |¦  «        | j        ||dz   …         ¦  «         | j        |         dz
  }| j        |         dz   }t          | j        d||f¬¦  «        }	t          t	          |	¦  «        | j        ||dz   …         ¦  «         | j        |         dz
  }| j        |         dz   }t          | j        d||f¬¦  «        }
t          t	          |
¦  «        | j        ||dz   …         ¦  «         t          | j        d¬	¦  «        }|j        }t          t	          |¦  «        | j        ¦  «         d
S )z?Compare eigenvalues of eigvals_banded with those of linalg.eig.rQ   rv   r­   ©ÚselectÚselect_rangera   çñhãˆµøä>rl   Fr‡   N)
r   rS  rN  r   rA   rO  rT  rQ  rS   Úlonglong)r{   Úw_symÚw_hermÚind1Úind2Ú	w_sym_indÚ
w_herm_indÚv_lowerÚv_upperÚ	w_sym_valÚ
w_herm_vals              r]   Útest_eigvals_bandedz!TestEigBanded.test_eigvals_banded  sK  € å˜tÔ/Ñ0Ô0ˆØ”
ˆÝ!¥$ u¡+¤+¨t¬~Ñ>Ô>Ð>å Ô 1Ñ2Ô2ˆØ”ˆÝ!¥$ v¡,¤,°´Ñ@Ô@Ð@ð ˆÝŒ{˜1‰~Œ~ˆÝ" 4Ô#3Ø*-¸TÀ4¸LðJñ Jô Jˆ	å!¥$ y¡/¤/Ø"&¤.°°d¸1±f°Ô"=ñ	?ô 	?ð 	?å# DÔ$5Ø+.¸dÀD¸\ðKñ Kô Kˆ
å!¥$ zÑ"2Ô"2Ø"&¤/°$°t¸A±v°+Ô">ñ	@ô 	@ð 	@ð ”. Ô&¨Ñ/ˆØ”. Ô&¨Ñ/ˆÝ" 4Ô#3Ø*-¸WÀgÐ<NðPñ Pô Pˆ	å!¥$ y¡/¤/Ø"&¤.°°d¸1±f°Ô"=ñ	?ô 	?ð 	?ð ”/ $Ô'¨&Ñ0ˆØ”/ $Ô'¨&Ñ0ˆÝ# DÔ$5Ø+.Ø29¸7Ð1CðEñ Eô Eˆ
õ 	"¥$ zÑ"2Ô"2Ø"&¤/°$°t¸A±v°+Ô">ñ	@ô 	@ð 	@õ ˜tÔ/¸eÐDÑDÔDˆØ”
ˆÝ!¥$ u¡+¤+¨t¬~Ñ>Ô>Ð>Ð>Ð>r_   c           
      óî  — t          | j        ¦  «        \  }}|dd…t          |j        ¦  «        f         }t	          t          |¦  «        | j        ¦  «         t	          t          |¦  «        t          | j        ¦  «        ¦  «         t          | j	        ¦  «        \  }}|dd…t          |j        ¦  «        f         }t	          t          |¦  «        | j
        ¦  «         t	          t          |¦  «        t          | j        ¦  «        ¦  «         d}d}t          | j        d||f¬¦  «        \  }	}
t	          t          |	¦  «        | j        ||dz   …         ¦  «         t	          t          |
¦  «        t          | j        dd…||dz   …f         ¦  «        ¦  «         t          | j	        d||f¬¦  «        \  }}t	          t          |¦  «        | j
        ||dz   …         ¦  «         t	          t          |¦  «        t          | j        dd…||dz   …f         ¦  «        ¦  «         | j        |         dz
  }| j        |         dz   }t          | j        d||f¬¦  «        \  }}t	          t          |¦  «        | j        ||dz   …         ¦  «         t	          t          |¦  «        t          | j        dd…||dz   …f         ¦  «        ¦  «         | j
        |         dz
  }| j
        |         dz   }t          | j	        d||f¬¦  «        \  }}t	          t          |¦  «        | j
        ||dz   …         ¦  «         t	          t          |¦  «        t          | j        dd…||dz   …f         ¦  «        ¦  «         t          | j        d	¬
¦  «        \  }}|dd…t          |j        ¦  «        f         }t	          t          |¦  «        | j        ¦  «         t	          t          |¦  «        t          | j        ¦  «        ¦  «         dS )zXCompare eigenvalues and eigenvectors of eig_banded
           with those of linalg.eig. NrQ   rv   r­   rs  ra   rv  rl   Fr‡   )r   rS  r8   rN  r   rA   rO  rÉ   rP  rT  rQ  rR  )r{   rx  Úevec_symÚ	evec_sym_ry  Ú	evec_hermÚ
evec_herm_rz  r{  r|  Úevec_sym_indr}  Úevec_herm_indr~  r  r€  Úevec_sym_valr�  Úevec_herm_vals                      r]   Útest_eig_bandedzTestEigBanded.test_eig_bandedF  s  € õ % TÔ%5Ñ6Ô6‰ˆˆxØ˜Q˜Q˜Q¥¨¬
Ñ 3Ô 3Ð3Ô4ˆ	Ý!¥$ u¡+¤+¨t¬~Ñ>Ô>Ð>Ý!¥# i¡.¤.µ#°dÔ6GÑ2HÔ2HÑIÔIÐIå& tÔ'8Ñ9Ô9Ñˆ�	Ø˜q˜q˜q¥'¨&¬+Ñ"6Ô"6Ð6Ô7ˆ
Ý!¥$ v¡,¤,°´Ñ@Ô@Ð@Ý!¥# j¡/¤/µ3°tÔ7IÑ3JÔ3JÑKÔKÐKð ˆØˆÝ",¨TÔ-=Ø47Ø;?À¸,ð#Hñ #Hô #HÑˆ	�<õ 	"¥$ y¡/¤/Ø"&¤.°°d¸1±f°Ô"=ñ	?ô 	?ð 	?å!¥# lÑ"3Ô"3Ý"% dÔ&7¸¸¸¸4ÀÀQÁ¸;¸Ô&GÑ"HÔ"Hñ	Jô 	Jð 	Jõ %/¨tÔ/@Ø69Ø=AÀ4¸Lð%Jñ %Jô %JÑ!ˆ
�Mõ 	"¥$ zÑ"2Ô"2Ø"&¤/°$°t¸A±v°+Ô">ñ	@ô 	@ð 	@å!¥# mÑ"4Ô"4Ý"% dÔ&8¸¸¸¸DÀÀaÁ¸K¸Ô&HÑ"IÔ"Iñ	Kô 	Kð 	Kð ”. Ô&¨Ñ/ˆØ”. Ô&¨Ñ/ˆÝ",¨TÔ-=Ø47Ø;BÀGÐ:Lð#Nñ #Nô #NÑˆ	�<õ 	"¥$ y¡/¤/Ø"&¤.°°d¸1±f°Ô"=ñ	?ô 	?ð 	?å!¥# lÑ"3Ô"3Ý"% dÔ&7¸¸¸¸4ÀÀQÁ¸;¸Ô&GÑ"HÔ"Hñ	Jô 	Jð 	Jð ”/ $Ô'¨&Ñ0ˆØ”/ $Ô'¨&Ñ0ˆÝ$.¨tÔ/@Ø69Ø=DÀgÐ<Nð%Pñ %Pô %PÑ!ˆ
�Mõ 	"¥$ zÑ"2Ô"2Ø"&¤/°$°t¸A±v°+Ô">ñ	@ô 	@ð 	@å!¥# mÑ"4Ô"4Ý"% dÔ&8¸¸¸¸DÀÀaÁ¸K¸Ô&HÑ"IÔ"Iñ	Kô 	Kð 	Kõ % TÔ%5ÀEÐJÑJÔJ‰ˆˆxØ˜Q˜Q˜Q¥¨¬
Ñ 3Ô 3Ð3Ô4ˆ	Ý!¥$ u¡+¤+¨t¬~Ñ>Ô>Ð>Ý!¥# i¡.¤.µ#°dÔ6GÑ2HÔ2HÑIÔIÐIÐIÐIr_   c                 ó²  — t          | j        ¦  «        \  }}t          | j        | j        | j        ¦  «        \  }}}t          |d| j        z  dd…f         ¦  «        }t          | j        | j        z   ¦  «        D ]3}|t          |d| j        z  dz
  |z
  |dz   |…f         |dz   ¦  «        z  }Œ4t          | j        d¬¦  «        \  }}	}
t          ||
¦  «         dS )zZCompare dgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.rQ   Nra   r   ©Ú	permute_l)
r@   rL  r(   rU  rH  rI  r5   r¨   r   r   ©r{   r  rX  Úlu_symm_bandÚipivrb  Úur­   Úp_linÚl_linÚu_lins              r]   Útest_dgbtrfzTestEigBanded.test_dgbtrf€  óã   € õ �T”]Ñ#Ô#‰ˆˆ1Ý#)¨$Ô*;¸T¼WÀdÄgÑ#NÔ#NÑ ˆ�d˜Dõ �˜a ¤™i¨¨¨˜lÔ+Ñ,Ô,ˆÝ�t”w ¤Ñ(Ñ)Ô)ð 	?ð 	?ˆAØ•�l 1 T¤W¡9¨Q¡;¨q¡=°!°A±#°a°%Ð#7Ô8¸!¸A¹#Ñ>Ô>Ñ>ˆAˆAå  ¤¸!Ð<Ñ<Ô<Ñˆˆu�eÝ! ! UÑ+Ô+Ð+Ð+Ð+r_   c                 ó²  — t          | j        ¦  «        \  }}t          | j        | j        | j        ¦  «        \  }}}t          |d| j        z  dd…f         ¦  «        }t          | j        | j        z   ¦  «        D ]3}|t          |d| j        z  dz
  |z
  |dz   |…f         |dz   ¦  «        z  }Œ4t          | j        d¬¦  «        \  }}	}
t          ||
¦  «         dS )zZCompare zgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.rQ   Nra   r   rŽ  )
r@   rM  r*   rV  rH  rI  r5   r¨   r   r   r�  s              r]   Útest_zgbtrfzTestEigBanded.test_zgbtrfŽ  r˜  r_   c                 óö   — t          | j        | j        | j        ¦  «        \  }}}t	          || j        | j        | j        |¦  «        \  }}t          j        | j        | j        ¦  «        }t          ||¦  «         dS )zhCompare dgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N)
r(   rU  rH  rI  r)   r¹   r7   r   rL  r   ©r{   r‘  r’  rb  ÚyÚy_lins         r]   Útest_dgbtrszTestEigBanded.test_dgbtrsœ  sm   € õ $*¨$Ô*;¸T¼WÀdÄgÑ#NÔ#NÑ ˆ�d˜DÝ˜ t¤w°´¸¼ÀÑFÔF‰ˆˆ4å”˜Tœ]¨D¬FÑ3Ô3ˆÝ! ! UÑ+Ô+Ð+Ð+Ð+r_   c                 óö   — t          | j        | j        | j        ¦  «        \  }}}t	          || j        | j        | j        |¦  «        \  }}t          j        | j        | j        ¦  «        }t          ||¦  «         dS )zhCompare zgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N)
r*   rV  rH  rI  r+   rW  r7   r   rM  r   rœ  s         r]   Útest_zgbtrszTestEigBanded.test_zgbtrs¦  sm   € õ $*¨$Ô*;¸T¼WÀdÄgÑ#NÔ#NÑ ˆ�d˜DÝ˜ t¤w°´¸¼À$ÑGÔG‰ˆˆ4å”˜Tœ]¨D¬GÑ4Ô4ˆÝ! ! UÑ+Ô+Ð+Ð+Ð+r_   rŠ   c                 óŠ  — t          j        d|¬¦  «        }t          |¦  «        \  }}t          t          j        ddgddgg|¬¦  «        ¦  «        \  }}|j        dk    sJ ‚|j        |j        k    sJ ‚|j        dk    sJ ‚|j        |j        k    sJ ‚t          |d¬¦  «        }|j        dk    sJ ‚|j        |j        k    sJ ‚d S )NrŒ   r�   r   ra   rŽ   T©Úeigvals_only)rS   r’   r   r4   r@   r[   )r{   rŠ   Úa_bandr}   rl   r8  Úv_ns          r]   r“   zTestEigBanded.test_empty°  sÜ   € å”˜&¨Ð+Ñ+Ô+ˆÝ˜&Ñ!Ô!‰ˆˆ1å�bœh¨¨A¨°°A°Ð'7¸rÐBÑBÔBÑCÔC‰ˆˆSàŒw˜$ŠˆˆˆØŒw˜#œ)Ò#Ð#Ð#Ð#àŒw˜&Ò Ð Ð Ð ØŒw˜#œ)Ò#Ð#Ð#Ð#å�v¨DÐ1Ñ1Ô1ˆØŒw˜$ŠˆˆˆØŒw˜#œ)Ò#Ð#Ð#Ð#Ð#Ð#r_   N)r”   r•   r–   r@  r>  rd  rf  rm  ro  rq  r‚  rŒ  r—  rš  rŸ  r¡  r—   r˜   r™   rd   rš   rS   r;   r›   r<   r“   rœ   r_   r]   r;  r;  ™  s-  € € € € € ðð ð ðM$ð M$ð M$ðbFð Fð FðFð Fð Fð	Fð 	Fð 	FðGð Gð Gð	Gð 	Gð 	Gð(?ð (?ð (?ðT8Jð 8Jð 8Jðt,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð$ð $ñ TÔSð$ð $ð $r_   r;  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestEigTridiagonalc                 ó.   — |                       ¦   «          d S r=  )Úcreate_trimatr?  s    r]   r@  zTestEigTridiagonal.setup_methodÂ  s   € Ø×ÒÑÔÐÐÐr_   c                 óŽ  — d}t          |d¦  «        | _        t          |dz
  d¦  «        | _        t          | j        ¦  «        t          | j        d¦  «        z   t          | j        d¦  «        z   | _        t          j        | j        ¦  «        \  }}|j        }t          |¦  «        }||         | _	        |dd…|f         | _
        dS )z>Create the full matrix `self.fullmat`, `self.d`, and `self.e`.rB  rC  ra   rD  r¢   N)r6   rk   Úer5   Úfull_matr7   r
   rN  r8   r}   ra  )r{   rX  rY  rZ  r[  s        r]   rª  z TestEigTridiagonal.create_trimatÅ  s£   € àˆõ �a˜‘”ˆŒÝ�a˜‘c˜4‘”ˆŒÝ˜dœf™œ­¨T¬V°RÑ(8Ô(8Ñ8½4ÀÄÈ¹?¼?ÑJˆŒå”˜DœMÑ*Ô*‰ˆˆBØŒWˆÝ�r‰{Œ{ˆØ�D”ˆŒØ�q�q�q˜$�w”KˆŒ	ˆ	ˆ	r_   c                 ó¦  — t          t          t          | j        | j        dd…         ¦  «         t          t
          t          | j        | j        dz  ¦  «         t          t
          t          | j        | j        d¬¦  «         t          t          t          | j        | j        d¬¦  «         t          t          t          | j        | j        dd¬	¦  «         dS )
zTest error conditions.Nr¢   rP   rC  ©Úlapack_driverÚfoor­   ©r   r¢   rs  )r  r  r#   rk   r¬  rf   r?  s    r]   Útest_degeneratez"TestEigTridiagonal.test_degenerateÔ  sÅ   € õ 	•jÕ"6¸¼ÀÄÀsÈÀsÄÑLÔLÐLå•iÕ!5°t´v¸t¼vÈ¹{ÑKÔKÐKå•iÕ!5°t´v¸t¼vØ$&ð	(ñ 	(ô 	(ð 	(å•jÕ"6¸¼ÀÄØ$)ð	+ñ 	+ô 	+ð 	+õ 	•jÕ"6¸¼ÀÄØ ¨wð	8ñ 	8ô 	8ð 	8ð 	8ð 	8r_   c           
      ó"  — dD ]@}t          | j        | j        |¬¦  «        }t          t	          |¦  «        | j        ¦  «         ŒAdD ],}t          t          t           | j        | j        |dd¬¦  «         Œ-dD �]}t          | j        | j        ddt          | j        ¦  «        d	z
  f|¬
¦  «        }t          t	          |¦  «        | j        ¦  «         d}d}t          | j        | j        d||f|¬
¦  «        }t          t	          |¦  «        | j        ||d	z   …         ¦  «         | j        |         dz
  }| j        |         dz   }t          | j        | j        d||f|¬
¦  «        }t          t	          |¦  «        | j        ||d	z   …         ¦  «         �ŒdS )z>Compare eigenvalues of eigvalsh_tridiagonal with those of eig.)ÚsterfÚstevÚstebzÚstemrÚautor¯  )rµ  r¶  r­   r£   ©r°  rt  ru  ©r·  r¸  r¹  r   ra   ©rt  ru  r°  rQ   rv   rv  rl   N)	r#   rk   r¬  r   rA   r}   r  r  re   )	r{   Údriverr}   Úw_indrz  r{  r~  r  Úw_vals	            r]   Útest_eigvalsh_tridiagonalz,TestEigTridiagonal.test_eigvalsh_tridiagonalã  sÅ  € ð Bð 	7ð 	7ˆFÝ$ T¤V¨T¬VÀ6ÐJÑJÔJˆAÝ%¥d¨1¡g¤g¨t¬vÑ6Ô6Ð6Ð6à'ð 	/ð 	/ˆFÝ�*Õ&:¸D¼FÀDÄFØ(.°sØ'-ð/ñ /ô /ð /ð /ð 1ð 	Hñ 	HˆFå(Ø”˜œ s¸!½SÀÄ¹[¼[È¹]Ð9KØ$ð&ñ &ô &ˆEõ &¥d¨5¡k¤k°4´6Ñ:Ô:Ð:ð ˆDØˆDÝ(Ø”˜œ s¸$À¸Ø$ð&ñ &ô &ˆEõ &¥d¨5¡k¤k°4´6¸$¸tÀA¹v¸+Ô3FÑGÔGÐGð ”f˜T”l VÑ+ˆGØ”f˜T”l VÑ+ˆGÝ(Ø”˜œ s¸'À7Ð9KØ$ð&ñ &ô &ˆEõ &¥d¨5¡k¤k°4´6¸$¸tÀA¹v¸+Ô3FÑGÔGÐGÑGð+	Hð 	Hr_   c                 ón  — t          t          t          | j        | j        d¬¦  «         dD ]‹}t          | j        | j        |¬¦  «        \  }}|dd…t          |¦  «        f         }t          t          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j
        ¦  «        ¦  «         ŒŒt          t          t          | j        | j        ddd¬¦  «         d	D �]Ð}d
}t          | j        ¦  «        dz
  }t          | j        | j        d||f|¬¦  «        \  }}t          t          |¦  «        | j        ¦  «         t          t          |¦  «        t          | j
        ¦  «        ¦  «         d}d}t          | j        | j        d||f|¬¦  «        \  }}t          t          |¦  «        | j        ||dz   …         ¦  «         t          t          |¦  «        t          | j
        dd…||dz   …f         ¦  «        ¦  «         | j        |         dz
  }| j        |         dz   }t          | j        | j        d||f|¬¦  «        \  }}t          t          |¦  «        | j        ||dz   …         ¦  «         t          t          |¦  «        t          | j
        dd…||dz   …f         ¦  «        ¦  «         �ŒÒdS )zWCompare eigenvalues and eigenvectors of eigh_tridiagonal
           with those of eig. rµ  r¯  )r·  r¶  r¸  r¹  Nr¶  r­   r£   rº  r»  r   ra   r¼  rQ   rv   rv  rl   )r  r  r$   rk   r¬  r8   r   rA   r}   rÉ   ra  re   )	r{   r½  r}   ra  rc  rz  r{  r~  r  s	            r]   Útest_eigh_tridiagonalz(TestEigTridiagonal.test_eigh_tridiagonal  sÆ  € õ 	•jÕ"2°D´F¸D¼FØ$+ð	-ñ 	-ô 	-ð 	-à8ð 	Bð 	BˆFÝ& t¤v¨t¬vÀVÐLÑLÔL‰GˆAˆtØ˜˜˜�G A™JœJ˜Ô'ˆEÝ%¥d¨1¡g¤g¨t¬vÑ6Ô6Ð6Ý%¥c¨%¡j¤jµ#°d´i±.´.ÑAÔAÐAÐAå•jÕ"2°D´F¸D¼FØ$*°3ÀVð	Mñ 	Mô 	Mð 	Mà0ð 	Fñ 	FˆFàˆDÝ�t”v‘;”;˜q‘=ˆDÝ&Ø”˜œ s¸$À¸Ø$ð&ñ &ô &‰GˆAˆtõ &¥d¨1¡g¤g¨t¬vÑ6Ô6Ð6Ý%¥c¨$¡i¤iµ°T´Y±´Ñ@Ô@Ð@ØˆDØˆDÝ&Ø”˜œ s¸$À¸Ø$ð&ñ &ô &‰GˆAˆtõ &¥d¨1¡g¤g¨t¬v°d¸4À¹6°kÔ/BÑCÔCÐCÝ%¥c¨$¡i¤iÝ&)¨$¬)°A°A°A°t¸DÀ¹F°{°NÔ*CÑ&DÔ&DñFô Fð Fð ”f˜T”l VÑ+ˆGØ”f˜T”l VÑ+ˆGÝ&Ø”˜œ s¸'À7Ð9KØ$ð&ñ &ô &‰GˆAˆtõ &¥d¨1¡g¤g¨t¬v°d¸4À¹6°kÔ/BÑCÔCÐCÝ%¥c¨$¡i¤iÝ&)¨$¬)°A°A°A°t¸DÀ¹F°{°NÔ*CÑ&DÔ&DñFô Fð Fñ Fð3	Fð 	Fr_   c                 óî  — t          j        dg¦  «        }t          j        g ¦  «        }t          ||d¬¦  «        }|j        dk    sJ ‚t	          ||¦  «         t          ||dd¬¦  «        \  }}|j        dk    sJ ‚|j        dk    sJ ‚t	          ||¦  «         t	          |t          d	gg¦  «        ¦  «         t          ||d
d¬¦  «        \  }}|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚dS )zSee gh-20075rE  Tr£  ra   r­   rŒ   rs  rQ   rC  rl   )r¯   r   r   rŽ   r·   N)rS   r4   r$   Úndimr   rÆ   r@   )r{   r|   r¹   Úxr4  s        r]   Útest_eigh_tridiagonal_1x1z,TestEigTridiagonal.test_eigh_tridiagonal_1x1/  s  € åŒH�d�VÑÔˆÝŒH�R‰LŒLˆÝ˜Q °Ð5Ñ5Ô5ˆØŒv˜Š{ˆ{ˆ{ˆ{Ý˜˜1ÑÔÐÝ  1¨S¸vÐFÑFÔF‰ˆˆ1ØŒv˜Š{ˆ{ˆ{ˆ{ØŒv˜Š{ˆ{ˆ{ˆ{Ý˜˜1ÑÔÐÝ˜�5 2 $ ™=œ=Ñ)Ô)Ð)å  1¨S¸wÐGÑGÔG‰ˆˆ1ØŒv˜Š{ˆ{ˆ{ˆ{ØŒw˜$ŠˆˆˆØŒw˜&Ò Ð Ð Ð Ð Ð r_   N)	r”   r•   r–   r@  rª  r³  rÀ  rÂ  rÆ  rœ   r_   r]   r¨  r¨  Á  sv   € € € € € ðð ð ð ð  ð  ð8ð 8ð 8ð Hð  Hð  HðD(Fð (Fð (FðT!ð !ð !ð !ð !r_   r¨  c                   óú  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             de¦  «        e	j
                             dd	¦  «        d
„ ¦   «         ¦   «         Ze	j
                             dd	¦  «        d„ ¦   «         Ze	j
                             dd¦  «        e	j
                             dd¦  «        d„ ¦   «         ¦   «         Zd„ Ze	j
                             deeej        eej        g¦  «        d„ ¦   «         ZdS )ÚTestEighc                 óD   — t           j                             d¦  «         d S )Nr  )rS   rT   Úseedr?  s    r]   Úsetup_classzTestEigh.setup_classC  s   € Ý
Œ	�Š�tÑÔÐÐÐr_   c           	      óL  — t          t          t          t          j        ddg¦  «        ¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        d¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ddgddg¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ddg¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        d	dg¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ddg¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ddg¬
¦  «         t          t          t          t          j        ddg¦  «        d¬¦  «         t          t          t          t          j        ddg¦  «        d d¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        d¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        dddg¬¦  «         t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        dddg¬¦  «         d S )Nra   rQ   rs   é   )Útype)Úsubset_by_valueÚsubset_by_indexr   ©rÐ  r¯   ©rÏ  Úwrong©r½  ÚgvxÚevrÚgvd)r½  rÐ  )r  r  r   rS   rÅ   r?  s    r]   Útest_wrong_inputszTestEigh.test_wrong_inputsF  s  € å•j¥$­¬°°A°©¬Ñ8Ô8Ð8å•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼ÑIÔIÐIå•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼ÑIÔIÐIå•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Øð	ñ 	ô 	ð 	õ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø'(¨! f¸qÀ!¸fð	Fñ 	Fô 	Fð 	Fõ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø'(¨! fð	.ñ 	.ô 	.ð 	.õ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø')¨1 gð	/ñ 	/ô 	/ð 	/õ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø'(¨! fð	.ñ 	.ô 	.ð 	.õ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø'(¨! fð	.ñ 	.ô 	.ð 	.õ 	•j¥$­¬°°A°©¬ÀÐHÑHÔHÐHå•j¥$­¬°°A°©¬¸ÀeÐLÑLÔLÐLå•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø"ð	$ñ 	$ô 	$ð 	$õ 	•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø"°Q¸°Fð	<ñ 	<ô 	<ð 	<å•j¥$­¬°°A°©¬½¼À!ÀQÀ¹¼Ø"°Q¸°Fð	<ñ 	<ô 	<ð 	<ð 	<ð 	<r_   c           	      óŽ   — t          t          t          t          j        ddg¦  «        t          j        ddg¦  «        ¦  «         d S )Nrs   )r  r'   r   rS   rÅ   r?  s    r]   Útest_nonpositive_bzTestEigh.test_nonpositive_bl  s4   € Ý•k¥4­¬°!°Q°©¬½"¼'À1ÀaÀ&¹/¼/ÑJÔJÐJÐJÐJr_   c                 óê  — t          t          ¦  «        D ]Ý\  }}t          d|¬¦  «        }t          |ddg¬¦  «        \  }}t	          |j        d         t          |¦  «        ¦  «         t          |dk    |dk     z  ¦  «        sJ ‚t          dd|¬¦  «        }t          ||ddg¬¦  «        \  }}t	          |j        d         t          |¦  «        ¦  «         t          |dk    |dk     z  ¦  «        sJ ‚ŒÞd S )	Né   r�   r¯   rQ   rÒ  ra   T)rZ   r[   )Ú	enumerateÚDTYPESr^   r   r   r@   re   rÇ   )r{   ÚindrŠ   r|   r}   rl   r¹   s          r]   Útest_value_subsetszTestEigh.test_value_subsetsp  s   € Ý ¥Ñ(Ô(ð 
	+ð 
	+‰GˆC�å(¨°2Ð6Ñ6Ô6ˆAÝ˜¨B°¨7Ð3Ñ3Ô3‰DˆAˆqÝ˜œ œ¥S¨¡V¤VÑ,Ô,Ð,Ý˜˜Bš 1 q¢5Ñ)Ñ*Ô*Ð*Ð*Ð*å(¨°DÀÐCÑCÔCˆAÝ˜˜1¨r°1¨gÐ6Ñ6Ô6‰DˆAˆqÝ˜œ œ¥S¨¡V¤VÑ,Ô,Ð,Ý˜˜Bš 1 q¢5Ñ)Ñ*Ô*Ð*Ð*Ð*Ð*ð
	+ð 
	+r_   c                 ó¤   — t          ddgddgg¦  «        }t          ddgddgg¦  «        }t          |¦  «        \  }}t          ||¦  «        \  }}d S )Nra   rQ   é   rs   ru   )r4   r   )r{   r|   r¹   r}   Úzs        r]   Útest_eigh_integerzTestEigh.test_eigh_integer}  sZ   € Ý�A�q�6˜A˜q˜6Ð"Ñ#Ô#ˆÝ�A�q�6˜A˜q˜6Ð"Ñ#Ô#ˆÝ�A‰wŒw‰ˆˆ1Ý�A�q‰zŒz‰ˆˆ1ˆ1ˆ1r_   c                 óú   — dd l }|j                             d¦  «                             ¦   «         }t	          j        |¦  «        }t          t          t          |¦  «         t          t          t          |¦  «         d S )Nr   rQ   )	Úscipy.sparseÚsparseÚidentityÚtocscrS   Ú
atleast_2dr  r  r   )r{   Úscipyr|   r¹   s       r]   Útest_eigh_of_sparsezTestEigh.test_eigh_of_sparseƒ  sh   € àÐÐÐØŒL×!Ò! !Ñ$Ô$×*Ò*Ñ,Ô,ˆÝŒM˜!ÑÔˆÝ•j¥$¨Ñ*Ô*Ð*Ý•j¥$¨Ñ*Ô*Ð*Ð*Ð*r_   Údtype_r½  )rZ  ÚevdrÖ  Úevxc                 ó¼   — t          d|¬¦  «        }t          ||¬¦  «        \  }}t          ||z  ||z  z
  ddt          j        |¦  «        j        z  d¬¦  «         d S )NrÜ  )rY   r[   rÔ  rh  éè  ©rÀ   r¿   )r^   r   r   rS   ÚfinfoÚeps)r{   r½  rí  r|   r}   rl   s         r]   Útest_various_drivers_standardz&TestEigh.test_various_drivers_standard‹  su   € õ % r°Ð8Ñ8Ô8ˆÝ�A˜fÐ%Ñ%Ô%‰ˆˆ1Ý˜˜A™  Q¡™¨Ø!¥"¤(¨6Ñ"2Ô"2Ô"6Ñ6Øð	!ñ 	!ô 	!ð 	!ð 	!ð 	!r_   c                 ób  — t          dgg|¬¦  «        \  }}t          |t          dg¦  «        d¬¦  «         t          |t          dgg¦  «        d¬¦  «         t          dgg|¬¦  «        \  }}t          |t          dg¦  «        d¬¦  «         t          |t          dgg¦  «        d¬¦  «         d S )Nra   rÔ  rC  çVçž¯Ò<r,  rP   r   )r   r   r4   )r{   r½  r}   rl   s       r]   Útest_1x1_lworkzTestEigh.test_1x1_lwork”  s¶   € å�a�S�E &Ð)Ñ)Ô)‰ˆˆ1Ý˜�5 " ™;œ;¨UÐ3Ñ3Ô3Ð3Ý˜�5 2 $ ™=œ=¨uÐ5Ñ5Ô5Ð5õ �b�T�F 6Ð*Ñ*Ô*‰ˆˆ1Ý˜�5 ! ™:œ:¨EÐ2Ñ2Ô2Ð2Ý˜�5 2 $ ™=œ=¨uÐ5Ñ5Ô5Ð5Ð5Ð5r_   rÎ  rr   )Úgvr×  rÕ  c                 ót  — t          j        d¦  «        }t          d¦  «        }t          dd¬¦  «        }t          ||||¬¦  «        \  }}|dk    r!t	          ||z  |||z  z  z
  d|d¬¦  «         d S |d	k    r!t	          ||z  |z  ||z  z
  d|d¬¦  «         d S t	          ||z  |z  ||z  z
  d|d¬¦  «         d S )
Ng     ˆ³@rÜ  T)rZ   )r|   r¹   r½  rÎ  ra   rh  rò  rQ   )rS   Úspacingr^   r   r   )r{   r½  rÎ  rÀ   r|   r¹   r}   rl   s           r]   Ú test_various_drivers_generalizedz)TestEigh.test_various_drivers_generalizedŸ  sè   € õ Œz˜%Ñ Ô ˆÝ$ RÑ(Ô(ˆÝ$ R°Ð5Ñ5Ô5ˆÝ�a˜1 V°$Ð7Ñ7Ô7‰ˆˆ1Ø�1Š9ˆ9Ý˜A ™E A q¨1¡u¡IÑ-¨r¸À2ÐFÑFÔFÐFÐFÐFØ�QŠYˆYÝ˜A ™E A™I¨¨A©Ñ-¨r¸À2ÐFÑFÔFÐFÐFÐFå˜A ™E A™I¨¨A©Ñ-¨r¸À2ÐFÑFÔFÐFÐFÐFr_   c                 óØ  — t          d¦  «        }t          |ddg¬¦  «        }t          t          |¦  «        d¦  «         t          |ddg¬¦  «        }t          t          |¦  «        d¦  «         t	          ||¦  «         t          j        g d¢¦  «        }t          |ddg¬¦  «        }t          t          |¦  «        d¦  «         t	          |t          j        dd	g¦  «        ¦  «         d S )
Nru   ra   rQ   rÑ  )ra   ç333333ó?çÍÌÌÌÌÌô?ç      ø?rQ   gffffffö?rÒ  rþ  rÿ  )r^   r   r   re   r   rS   r5   r4   )r{   r|   r}   Úw2r¹   Úw3s         r]   Útest_eigvalsh_new_argszTestEigh.test_eigvalsh_new_args­  sÝ   € Ý$ QÑ'Ô'ˆÝ�Q¨¨A¨Ð/Ñ/Ô/ˆÝ•S˜‘V”V˜QÑÔÐå�a¨!¨Q¨Ð0Ñ0Ô0ˆÝ•S˜‘W”W˜aÑ Ô Ð Ý˜˜2ÑÔÐåŒGÐ)Ð)Ð)Ñ*Ô*ˆÝ�a¨!¨S¨Ð2Ñ2Ô2ˆÝ•S˜‘W”W˜aÑ Ô Ð Ý˜�BœH c¨3 ZÑ0Ô0Ñ1Ô1Ð1Ð1Ð1r_   rŠ   c                 óÂ  — t          j        d|¬¦  «        }t          |¦  «        \  }}t          t          j        d|¬¦  «        ¦  «        \  }}|j        dk    sJ ‚|j        |j        k    sJ ‚|j        dk    sJ ‚|j        |j        k    sJ ‚t          |d¬¦  «        }t          |t          j        d¦  «        ¦  «         |j        dk    sJ ‚|j        |j        k    sJ ‚d S )NrŒ   r�   rQ   rŽ   Tr£  )rS   r’   r   rF   r@   r[   r   )r{   rŠ   r|   r}   rl   r8  r¦  s          r]   r“   zTestEigh.test_empty»  så   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�A‰wŒw‰ˆˆ1å�œ˜q¨Ð+Ñ+Ô+Ñ,Ô,‰ˆˆSàŒw˜$ŠˆˆˆØŒw˜#œ)Ò#Ð#Ð#Ð#àŒw˜&Ò Ð Ð Ð ØŒw˜#œ)Ò#Ð#Ð#Ð#å� Ð&Ñ&Ô&ˆÝ˜�2œ8 D™>œ>Ñ*Ô*Ð*àŒw˜$ŠˆˆˆØŒw˜#œ)Ò#Ð#Ð#Ð#Ð#Ð#r_   N)r”   r•   r–   rË  rØ  rÚ  rà  rä  rì  r—   r˜   r™   rÞ  rõ  rø  rü  r  rd   rš   rS   r;   r›   r<   r“   rœ   r_   r]   rÈ  rÈ  B  s‹  € € € € € ðð ð ð$<ð $<ð $<ðLKð Kð Kð+ð +ð +ðð ð ð+ð +ð +ð „[×Ò˜X vÑ.Ô.Ø„[×Ò˜XÐ'BÑCÔCð!ð !ñ DÔCñ /Ô.ð!ð „[×Ò˜XÐ'BÑCÔCð6ð 6ñ DÔCð6ð „[×Ò˜V YÑ/Ô/Ø„[×Ò˜XÐ';Ñ<Ô<ð
Gð 
Gñ =Ô<ñ 0Ô/ð
Gð2ð 2ð 2ð „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð$ð $ñ TÔSð$ð $ð $r_   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
„ Zd„ Zd„ Zej                             e d¬¦  «        ej        j        d„ ¦   «         ¦   «         Zej                             dg d¢¦  «        ej                             dg d¢¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             deeej        eej        g¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestSVD_GESDDÚgesddc                 ó‚   — t          t          t          dggd¬¦  «         t          t          t          dggd¬¦  «         d S )NrC  r¯  r±  )r  rf   r   r  r?  s    r]   r³  zTestSVD_GESDD.test_degenerateÑ  s>   € Ý•i¥¨ t f¸BÐ?Ñ?Ô?Ð?Ý•j¥#¨¨ v¸UÐCÑCÔCÐCÐCÐCr_   c                 óØ  — g d¢g d¢g d¢g}dD ]Û}t          ||| j        ¬¦  «        \  }}}t          |j        |z  t	          d¦  «        ¦  «         t          |j        |z  t	          d¦  «        ¦  «         t          |j        d         |j        d         f|j        j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         ŒÜd S )Nrr   ©ra   rÜ  rs   rt   ©TF©Úfull_matricesr°  rs   r   ©r   r°  r   rW   rF   r9   r@   r[   Úcharr¨   re   ©r{   r|   r  r“  ÚsÚvhÚsigmar­   s           r]   r   zTestSVD_GESDD.test_simpleÕ  sü   € ØˆYˆY˜
˜
˜
 I I IÐ.ˆØ*ð 	9ð 	9ˆMÝ˜1¨MØ)-Ô);ð=ñ =ô =‰HˆAˆq�"å% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% b¤d¨R¡iµ°Q±´Ñ8Ô8Ð8Ý˜1œ7 1œ: r¤x°¤{Ð3°Q´W´\ÑBÔBˆEÝ�3˜q™6œ6‘]”]ð #ð #�Ø œd��a˜�d‘�Ý% a¨%¡i°"¡n°aÑ8Ô8Ð8Ð8ð	9ð 	9r_   c                 óØ  — g d¢g d¢g d¢g}dD ]Û}t          ||| j        ¬¦  «        \  }}}t          |j        |z  t	          d¦  «        ¦  «         t          |j        |z  t	          d¦  «        ¦  «         t          |j        d         |j        d         f|j        j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         ŒÜd S )Nrr   rt   r  r  rs   r   r  r  s           r]   Útest_simple_singularz"TestSVD_GESDD.test_simple_singulará  sü   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆØ*ð 	9ð 	9ˆMÝ˜1¨MØ)-Ô);ð=ñ =ô =‰HˆAˆq�"å% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% b¤d¨R¡iµ°Q±´Ñ8Ô8Ð8Ý˜1œ7 1œ: r¤x°¤{Ð3°Q´W´\ÑBÔBˆEÝ�3˜q™6œ6‘]”]ð #ð #�Ø œd��a˜�d‘�Ý% a¨%¡i°"¡n°aÑ8Ô8Ð8Ð8ð	9ð 	9r_   c                 óž  — g d¢g d¢g}dD ]Á}t          ||| j        ¬¦  «        \  }}}t          |j        |z  t	          |j        d         ¦  «        ¦  «         t          |j        d         |j        d         f|j        j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         ŒÂd S )Nrr   ©rÍ  ru   rv   r  r  r   ©r   r°  r   rW   rF   r@   r9   r[   r  r¨   re   r  s           r]   Útest_simple_underdetz"TestSVD_GESDD.test_simple_underdetí  sà   € ØˆYˆY˜	˜	˜	Ð"ˆØ*ð 	9ð 	9ˆMÝ˜1¨MØ)-Ô);ð=ñ =ô =‰HˆAˆq�"å% a¤c¨A¡g­s°1´7¸1´:©¬Ñ?Ô?Ð?Ý˜1œ7 1œ: r¤x°¤{Ð3°Q´W´\ÑBÔBˆEÝ�3˜q™6œ6‘]”]ð #ð #�Ø œd��a˜�d‘�Ý% a¨%¡i°"¡n°aÑ8Ô8Ð8Ð8ð	9ð 	9r_   c                 óî  — ddgddgddgg}dD ]æ}t          ||| j        ¬¦  «        \  }}}t          |j        |z  t	          |j        d         ¦  «        ¦  «         t          |j        |z  t	          d¦  «        ¦  «         t          |j        d         |j        d         f|j        j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         Œçd S )	Nra   rQ   rÍ  ru   rs   r  r  r   r  r  s           r]   Útest_simple_overdetz!TestSVD_GESDD.test_simple_overdetø  s  € Ø�ˆV�a˜�V˜a ˜VÐ$ˆØ*ð 	9ð 	9ˆMÝ˜1¨MØ)-Ô);ð=ñ =ô =‰HˆAˆq�"å% a¤c¨A¡g­s°1´7¸1´:©¬Ñ?Ô?Ð?Ý% b¤d¨R¡iµ°Q±´Ñ8Ô8Ð8Ý˜1œ7 1œ: r¤x°¤{Ð3°Q´W´\ÑBÔBˆEÝ�3˜q™6œ6‘]”]ð #ð #�Ø œd��a˜�d‘�Ý% a¨%¡i°"¡n°aÑ8Ô8Ð8Ð8ð	9ð 	9r_   c           
      ó¾  — t           j                             d¦  «        }d}d}t          d¦  «        D �](}|                     ||g¦  «        |                     ||g¦  «        fD ]ö}dD ]ñ}t	          ||| j        ¬¦  «        \  }}}	t          |j        |z  t          |j	        d         ¦  «        ¦  «         t          |	|	j        z  t          |	j	        d         ¦  «        ¦  «         t          |j	        d         |	j	        d         f|j        j        ¦  «        }
t          t          |¦  «        ¦  «        D ]}||         |
||f<   Œt          ||
z  |	z  |¦  «         ŒòŒ÷�Œ*d S )	Nr  rÜ  rë   rs   r  r  ra   r   )rS   rT   r  r¨   r   r°  r   rW   rF   r@   r9   r[   r  re   )r{   ri   rY   Úmr­   r|   r  r“  r  r  r  s              r]   Útest_randomzTestSVD_GESDD.test_random  sq  € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 
	Añ 
	AˆAØ—j’j ! Q Ñ(Ô(¨#¯*ª*°a¸°VÑ*<Ô*<Ð=ð 	Að 	A�Ø%2ð Að A�MÝ" 1°MØ15Ô1Cð Eñ  Eô  E‘H�A�q˜"å-¨a¬c°A©gµs¸1¼7À1¼:±´ÑGÔGÐGÝ-¨b°2´4©i½¸R¼XÀa¼[Ñ9IÔ9IÑJÔJÐJÝ! 1¤7¨1¤:¨r¬x¸¬{Ð";¸Q¼W¼\ÑJÔJ�EÝ"¥3 q¡6¤6™]œ]ð +ð +˜Ø&'¨¤d˜˜a ˜d™˜Ý-¨a°%©i¸"©n¸aÑ@Ô@Ð@Ð@ðAñ	Að
	Að 
	Ar_   c                 óP  — g d¢g d¢g d¢g}dD �]}t          ||| j        ¬¦  «        \  }}}t          |                     ¦   «         j        |z  t          |j        d         ¦  «        ¦  «         t          |                     ¦   «         j        |z  t          |j        d         ¦  «        ¦  «         t          |j        d         |j        d         f|j        j	        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         �Œd S )Nrr   )ra   y               @rs   rt   r  r  ra   r   )r   r°  r   rV   rW   rF   r@   r9   r[   r  r¨   re   r  s           r]   r…   z!TestSVD_GESDD.test_simple_complex  s  € ØˆYˆY˜
˜
˜
 I I IÐ.ˆØ*ð 	9ñ 	9ˆMÝ˜1¨MØ)-Ô);ð=ñ =ô =‰HˆAˆq�"å% a§f¢f¡h¤h¤j°1¡nµc¸!¼'À!¼*±o´oÑFÔFÐFÝ% b§g¢g¡i¤i¤k°BÑ&6½¸B¼HÀQ¼KÑ8HÔ8HÑIÔIÐIÝ˜1œ7 1œ: r¤x°¤{Ð3°Q´W´\ÑBÔBˆEÝ�3˜q™6œ6‘]”]ð #ð #�Ø œd��a˜�d‘�Ý% a¨%¡i°"¡n°aÑ8Ô8Ð8Ñ8ð	9ð 	9r_   c           
      óä  — t           j                             d¦  «        }d}d}t          d¦  «        D �];}dD �]4}|                     ||g¦  «        |                     ||g¦  «        fD �]}|d|                     t	          |j        ¦  «        ¦  «        z  z   }t          ||| j        ¬¦  «        \  }}}	t          | 	                    ¦   «         j
        |z  t          |j        d         ¦  «        ¦  «         t          |j        d         |	j        d	         f|j        j        ¦  «        }
t          t          |¦  «        ¦  «        D ]}||         |
||f<   Œt          ||
z  |	z  |¦  «         �Œ�Œ6�Œ=d S )
Nr  rÜ  rë   rs   r  rP   r  ra   r   )rS   rT   r  r¨   Úlistr@   r   r°  r   rV   rW   rF   r9   r[   r  re   )r{   ri   rY   r  r­   r  r|   r“  r  r  r  s              r]   Útest_random_complexz!TestSVD_GESDD.test_random_complex   s�  € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 	Añ 	AˆAØ!.ð Añ A�ØŸ*š* a¨ VÑ,Ô,¨c¯jªj¸!¸Q¸Ñ.@Ô.@ÐAð Añ A�AØ˜B˜sŸzšz­$¨q¬w©-¬-Ñ8Ô8Ñ8Ñ8�AÝ" 1°MØ15Ô1Cð Eñ  Eô  E‘H�A�q˜"å-¨a¯fªf©h¬h¬j¸1©nÝ.1°!´'¸!´*©o¬oñ?ô ?ð ?õ
 " 1¤7¨1¤:¨r¬x¸¬{Ð";¸Q¼W¼\ÑJÔJ�EÝ"¥3 q¡6¤6™]œ]ð +ð +˜Ø&'¨¤d˜˜a ˜d™˜Ý-¨a°%©i¸"©n¸aÑ@Ô@Ð@Ñ@ñAñAð	Að 	Ar_   c                 ó  — t           j                             d¦  «        }g d¢}|D ]f}t           j        t           j        t           j        t           j        fD ]5} |j        |Ž                      |¦  «        }t          || j
        ¬¦  «         Œ6Œgd S )Nr  ))rð   r÷   )rï   é2   )é<   r  r¯  )rS   rT   r  r;   r%  r<   Ú
complex128rU   rX   r   r°  )r{   ri   ÚsizesÚszrŠ   r|   s         r]   Útest_crash_1580zTestSVD_GESDD.test_crash_15804  s”   € ÝŒi×#Ò# DÑ)Ô)ˆØ/Ð/Ð/ˆØð 	9ð 	9ˆBÝ”z¥2¤:­r¬|½R¼]ÐKð 9ð 9�Ø�C”H˜b�M×(Ò(¨Ñ,Ô,�å�A TÔ%7Ð8Ñ8Ô8Ð8Ð8ð9ð	9ð 	9r_   c                 óÎ  — g d¢g d¢g d¢g}t          |d| j        ¬¦  «        \  }}}t          |j        |z  t	          d¦  «        ¦  «         t          |j        |z  t	          d¦  «        ¦  «         t          |j        d         |j        d         f|j        j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          ||z  |z  |¦  «         d S )Nrr   r
  rt   F)rˆ   r°  rs   r   r  )r{   r|   r“  r  r  r  r­   s          r]   r  zTestSVD_GESDD.test_check_finite=  sß   € ØˆYˆY˜
˜
˜
 I I IÐ.ˆÝ�q u¸DÔ<NÐOÑOÔO‰ˆˆ1ˆbÝ! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! "¤$¨¡)­S°©V¬VÑ4Ô4Ð4Ý�q”w˜q”z 2¤8¨A¤;Ð/°´´Ñ>Ô>ˆÝ•s˜1‘v”v‘”ð 	ð 	ˆAØ˜Aœ$ˆE�!�Q�$‰KˆKÝ! ! e¡)¨b¡.°!Ñ4Ô4Ð4Ð4Ð4r_   c                 ór   — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          || j        ¬¦  «         d S )N)çKÚ}\UUÅ?ç“vWUUå?r,  rh  rh  rh  )rh  r,  r-  r,  rh  rh  )rh  rh  r,  r-  r,  rh  )rh  rh  rh  r,  r-  r,  r¯  )rS   r4   r   r°  )r{   r¹   s     r]   Útest_gh_5039zTestSVD_GESDD.test_gh_5039G  s^   € õ ŒHØ=Ð=Ð=Ø=Ð=Ð=Ø=Ð=Ð=Ø=Ð=Ð=ð?ñ@ô @ˆõ
 	ˆA˜TÔ/Ð0Ñ0Ô0Ð0Ð0Ð0r_   z64-bit LAPACK required©Úreasonc                 ó  — t          d¬¦  «         t          j        ddgt          j        ¬¦  «        }d|d<   t	          |d¬¦  «        \  }}}t          |d	         d
¦  «         t          |d         |d         z  d
¦  «         d S )NihB  )Úfree_mbra   l        r�   r²  F©r  r   rC  rŒ   )rI   rS   r9   r;   r   r   )r{   r\   r“  r  r  s        r]   Útest_large_matrixzTestSVD_GESDD.test_large_matrixX  s‡   € õ 	 %Ð(Ñ(Ô(Ð(ÝŒH�a˜�Z¥r¤zÐ2Ñ2Ô2ˆØˆˆ%‰Ý�q¨Ð.Ñ.Ô.‰ˆˆ1ˆbÝ˜˜!œ˜cÑ"Ô"Ð"Ý˜˜$œ " U¤)Ñ+¨SÑ1Ô1Ð1Ð1Ð1r_   r  ©r   ra   rQ   rY   r[   c                 óâ  — t          j        ||f|¬¦  «        }t          ||¦  «        }|j        j        }|dv r|                     ¦   «         n|}t          |¦  «        \  }}	}
t          |j        ||f¦  «         t          |j        |¦  «         t          |	j        |f¦  «         t          |	j        t          j        |¦  «        ¦  «         t          |
j        ||f¦  «         t          |
j        |¦  «         t          |d¬¦  «        \  }}	}
t          |j        ||f¦  «         t          |j        |¦  «         t          |	j        |f¦  «         t          |	j        t          j        |¦  «        ¦  «         t          |
j        ||f¦  «         t          |
j        |¦  «         t          |d¬¦  «        }	t          |	j        |f¦  «         t          |	j        t          j        |¦  «        ¦  «         d S )Nr�   ÚFDFr3  ©Ú
compute_uv)	rS   r9   Úminr[   r  Úlowerr   r   r@   )r{   r  rY   r[   r|   r  ÚdcharÚ
real_dcharr“  r  rl   s              r]   Útest_shape_dtypezTestSVD_GESDD.test_shape_dtypeb  s¼  € õ ŒH�a˜�V 5Ð)Ñ)Ô)ˆÝ��1‰IŒIˆØ””ˆØ&+¨t m m�U—[’[‘]”]�]¸ˆ
å�a‘&”&‰ˆˆ1ˆaÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜q˜dÑ#Ô#Ð#Ý�Q”W�bœh zÑ2Ô2Ñ3Ô3Ð3Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$å�a uÐ-Ñ-Ô-‰ˆˆ1ˆaÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜q˜dÑ#Ô#Ð#Ý�Q”W�bœh zÑ2Ô2Ñ3Ô3Ð3Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$å�˜eÐ$Ñ$Ô$ˆÝ�Q”W˜q˜dÑ#Ô#Ð#Ý�Q”W�bœh zÑ2Ô2Ñ3Ô3Ð3Ð3Ð3r_   rŠ   ©r  rY   ©rŒ   r¤   r‘   c                 óÚ  — t          j        d|¬¦  «        }t          |¦  «        \  }}}t          j        ||f|¬¦  «        }t          |¦  «        \  }	}
}t	          |	t          j        |¦  «        ¦  «         t	          |
t          j        d¦  «        ¦  «         t	          |t          j        |¦  «        ¦  «         |	j        |j        k    sJ ‚|j        |j        k    sJ ‚|
j        |j        k    sJ ‚t          |d¬¦  «        \  }	}
}t	          |	t          j        |df¦  «        ¦  «         t	          |
t          j        d¦  «        ¦  «         t	          |t          j        d|f¦  «        ¦  «         |	j        |j        k    sJ ‚|j        |j        k    sJ ‚|
j        |j        k    sJ ‚t          |d¬¦  «        }
t	          |
t          j        d¦  «        ¦  «         |
j        |j        k    sJ ‚d S )Nrs   r�   rŽ   Fr3  r   r8  )rS   rF   r   r’   r   rè  r[   )r{   rŠ   r  rY   Úa0Úu0Ús0rª   r|   r“  r  rl   s               r]   r“   zTestSVD_GESDD.test_empty  sÉ  € õ ŒV�A˜RÐ Ñ Ô ˆÝ˜‘W”W‰
ˆˆB�åŒH�a˜�V 2Ð&Ñ&Ô&ˆÝ�a‘&”&‰ˆˆ1ˆaÝ˜�2œ; q™>œ>Ñ*Ô*Ð*Ý˜�2œ8 D™>œ>Ñ*Ô*Ð*Ý˜�2œ; q™>œ>Ñ*Ô*Ð*àŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"å�a uÐ-Ñ-Ô-‰ˆˆ1ˆaÝ˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ8 D™>œ>Ñ*Ô*Ð*Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,àŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"å�˜eÐ$Ñ$Ô$ˆÝ˜�2œ8 D™>œ>Ñ*Ô*Ð*àŒw˜"œ(Ò"Ð"Ð"Ð"Ð"Ð"r_   N)r”   r•   r–   r°  r³  r   r  r  r  r  r…   r"  r)  r  r.  r—   r˜   ÚskipifrJ   Úslowr4  r™   rÞ  r>  rd   rš   rS   r;   r›   r<   r“   rœ   r_   r]   r  r  Î  sß  € € € € € Ø€MðDð Dð Dð
9ð 
9ð 
9ð
9ð 
9ð 
9ð	9ð 	9ð 	9ð
9ð 
9ð 
9ðAð Að Að 
9ð 
9ð 
9ðAð Að Að(9ð 9ð 9ð5ð 5ð 5ð1ð 1ð 1ð" „[×Ò˜I˜Ð.FÐÑGÔGØ„[Ôð2ð 2ñ Ôñ HÔGð2ð „[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜W fÑ-Ô-ð4ð 4ñ .Ô-ñ -Ô,ñ -Ô,ð4ð4 „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSØ„[×Ò˜ZÐ)AÐ)AÐ)AÑBÔBð#ð #ñ CÔBñ TÔSð#ð #ð #r_   r  c                   ó   — e Zd ZdZdS )ÚTestSVD_GESVDÚgesvdN)r”   r•   r–   r°  rœ   r_   r]   rH  rH  �  s   € € € € € Ø€M€M€Mr_   rH  zout of memory in WASMr/  rB  c                  ó¾   — t          j        dt           j        ¬¦  «        } t          t          ¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)i¿  iŠÏ  r�   )rS   rÅ   r%  r  r  r   )Údfs    r]   Útest_svd_gesdd_nofegfaultrL  £  s—   € õ
 
„wˆ}¥B¤JÐ/Ñ/Ô/€BÝ	•zÑ	"Ô	"ð ð ÝˆB‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   µAÁAÁAc                   óÈ   — e Zd Zej                             deeej	        e
ej        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zej        j        d
„ ¦   «         ZdS )ÚTestSVDValsrŠ   c                 óX  — g gt          j        d¦  «        t          j        d¦  «        fD ]~}t          j        ||¬¦  «        }t	          |¦  «        }t          |t          j        d¦  «        ¦  «         t	          t          j        d|¬¦  «        ¦  «        }|j        |j        k    sJ ‚Œd S )Nr‘   ©r   rs   r�   r   rQ   )rS   r’   rÅ   r4   r   r   rF   r[   )r{   rŠ   r|   r  rD  s        r]   r“   zTestSVDVals.test_empty¯  s¡   € à�•r”x Ñ'Ô'­¬°©¬Ð8ð 	'ð 	'ˆAÝ”˜ "Ð%Ñ%Ô%ˆAÝ˜‘
”
ˆAÝ˜�BœH Q™KœKÑ(Ô(Ð(å�œ ¨Ð,Ñ,Ô,Ñ-Ô-ˆBØ”7˜bœhÒ&Ð&Ð&Ð&Ð&ð	'ð 	'r_   c                 óØ   — g d¢g d¢g d¢g}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         cxk    o|d         k    nc ¦  «         d S )Nrr   rt   rs   r   ra   rQ   ©r   r   re   ©r{   r|   r  s      r]   r   zTestSVDVals.test_simple¹  sy   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œÐ$Ð$Ò$Ð$  !¤Ò$Ð$Ð$Ð$Ñ%Ô%Ð%Ð%Ð%r_   c                 ó²   — g d¢g d¢g}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         k    ¦  «         d S )Nrr   r  rQ   r   ra   rR  rS  s      r]   r  z TestSVDVals.test_simple_underdet¿  sW   € ØˆYˆY˜	˜	˜	Ð"ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œ’ÑÔÐÐÐr_   c                 ó¸   — ddgddgddgg}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         k    ¦  «         d S )Nra   rQ   rÍ  ru   rs   r   rR  rS  s      r]   r  zTestSVDVals.test_simple_overdetÅ  s]   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œ’ÑÔÐÐÐr_   c                 óØ   — g d¢g d¢g d¢g}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         cxk    o|d         k    nc ¦  «         d S )Nrr   )ra   rÜ  ù              @rt   rs   r   ra   rQ   rR  rS  s      r]   r…   zTestSVDVals.test_simple_complexË  sy   € ØˆYˆY˜˜˜ Y Y YÐ/ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œÐ$Ð$Ò$Ð$  !¤Ò$Ð$Ð$Ð$Ñ%Ô%Ð%Ð%Ð%r_   c                 ó²   — g d¢g d¢g}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         k    ¦  «         d S )Nrr   )rÍ  y              @rv   rQ   r   ra   rR  rS  s      r]   Útest_simple_underdet_complexz(TestSVDVals.test_simple_underdet_complexÑ  sW   € ØˆYˆY˜
˜
˜
Ð#ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œ’ÑÔÐÐÐr_   c                 ó¸   — ddgddgddgg}t          |¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         k    ¦  «         d S )Nra   rQ   rÍ  ru   rW  r   rR  rS  s      r]   Útest_simple_overdet_complexz'TestSVDVals.test_simple_overdet_complex×  s]   € Ø�ˆV�a˜�V˜b !˜WÐ%ˆÝ�A‰JŒJˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œ’ÑÔÐÐÐr_   c                 óÜ   — g d¢g d¢g d¢g}t          |d¬¦  «        }t          t          |¦  «        dk    ¦  «         t          |d         |d         cxk    o|d         k    nc ¦  «         d S )	Nrr   rt   Fr‡   rs   r   ra   rQ   rR  rS  s      r]   r  zTestSVDVals.test_check_finiteÝ  s€   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�A EÐ*Ñ*Ô*ˆÝ•�A‘”˜!’ÑÔÐÝ��!”˜˜!œÐ$Ð$Ò$Ð$  !¤Ò$Ð$Ð$Ð$Ñ%Ô%Ð%Ð%Ð%r_   c                 ó¢   — t           j                             d¦  «         t           j                             dd¦  «        }t	          |¦  «         d S )Nr  iÜ  ið
  )rS   rT   rÊ  rU   r   ©r{   r|   s     r]   Útest_crash_2609zTestSVDVals.test_crash_2609ã  s:   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜4 Ñ&Ô&ˆå�‰
Œ
ˆ
ˆ
ˆ
r_   N)r”   r•   r–   r—   r˜   r™   rd   rš   rS   r;   r›   r<   r“   r   r  r  r…   rY  r[  r  rF  r_  rœ   r_   r]   rN  rN  ­  sÚ   € € € € € à„[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð'ð 'ñ TÔSð'ð&ð &ð &ðð ð ðð ð ð&ð &ð &ðð ð ðð ð ð&ð &ð &ð „[Ôðð ñ Ôðð ð r_   rN  c                   ó   — e Zd Zd„ ZdS )ÚTestDiagSVDc                 óZ   — t          t          g d¢dd¦  «        g d¢g d¢g d¢g¦  «         d S )N©ra   r   r   rs   r   )r   r   r?  s    r]   r   zTestDiagSVD.test_simpleí  sK   € Ý!¥'¨)¨)¨)°Q¸Ñ":Ô":Ø#, 9 9¨i¨i¨i¸¸¸Ð"Cñ	Eô 	Eð 	Eð 	Eð 	Er_   N)r”   r•   r–   r   rœ   r_   r]   ra  ra  ë  s(   € € € € € ðEð Eð Eð Eð Er_   ra  c                   ó²  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z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,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6e7j8         9                    d5g d6¢¦  «        e7j8         9                    d7g d6¢¦  «        e7j8         9                    d8d9d:g¦  «        e7j8         9                    d;e:¦  «        d<„ ¦   «         ¦   «         ¦   «         ¦   «         Z;e7j8         9                    d=g d>¢¦  «        d?„ ¦   «         Z<d@„ Z=dAS )BÚTestQRc                 ó°   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S ©N©é   rQ   rs   ©rQ   rw   rs   ©ru   rs   rv   rs   ©r   r   rW   rF   ©r{   r|   ÚqÚrs       r]   r   zTestQR.test_simpleó  s_   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�!‰uŒu‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 ó  — g d¢g d¢g d¢g}t          |¦  «        \  }}g d¢}t          ||d¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          |t          d¦  «        d¦  «        \  }}t          ||¦  «         d S )Nrh  rj  rk  rr   r¦   rs   ©r   r   r   rF   ©r{   r|   rn  ro  ÚcÚqcÚr2s          r]   Útest_simple_leftzTestQR.test_simple_leftù  sœ   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�!‰uŒu‰ˆˆ1ØˆIˆIˆÝ˜Q  6Ñ*Ô*‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý˜Q¥ A¡¤¨Ñ/Ô/‰ˆˆBÝ! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g d¢g}t          |¦  «        \  }}g d¢}t          ||¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          |t          d¦  «        ¦  «        \  }}t          ||¦  «         d S )Nrh  rj  rk  rr   rs   rq  rr  s          r]   Útest_simple_rightzTestQR.test_simple_right  s˜   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�!‰uŒu‰ˆˆ1ØˆIˆIˆÝ˜Q Ñ"Ô"‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý˜A�s 1™vœvÑ&Ô&‰ˆˆAÝ! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — t          j        g d¢g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |d d …|f         ¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )	Nrh  rj  rk  T©Úpivotingra   r¢   rs   ©
rS   rC   r   rÉ   r5   r   rÇ   r   rW   rF   ©r{   r|   rn  ro  Úprk   Úq2ru  s           r]   Útest_simple_pivotingzTestQR.test_simple_pivoting  sö   € ÝŒJ˜	˜	˜	 9 9 9¨i¨i¨iÐ8Ñ9Ô9ˆÝ�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�A�a�a�a˜�d”G‘”‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó    — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}}g d¢}t          ||dd¦  «        \  }}}t          ||z  |¦  «         d S )Nrh  rj  rk  Trz  rr   r¦   ©r   r   r   ©r{   r|   rn  ro  Újpvtrs  rt  s          r]   Útest_simple_left_pivotingz TestQR.test_simple_left_pivoting  sn   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ˜ DÐ)Ñ)Ô)‰
ˆˆ1ˆdØˆIˆIˆÝ! ! Q¨°Ñ5Ô5‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ð,Ð,r_   c                 ó    — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}}g d¢}t          ||d¬¦  «        \  }}}t          ||z  |¦  «         d S )Nrh  rj  rk  Trz  rr   r‚  rƒ  s          r]   Útest_simple_right_pivotingz!TestQR.test_simple_right_pivoting  so   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ˜ DÐ)Ñ)Ô)‰
ˆˆ1ˆdØˆIˆIˆÝ! ! Q°Ð6Ñ6Ô6‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ð,Ð,r_   c                 óª   — g d¢g d¢g}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S )Nrh  rj  rQ   rl  rm  s       r]   Útest_simple_trapzTestQR.test_simple_trap&  óY   € ØˆYˆY˜	˜	˜	Ð"ˆÝ�!‰uŒu‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 ó  — t          j        g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |d d …|f         ¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nrh  rj  Trz  ra   r¢   rQ   r|  r}  s           r]   Útest_simple_trap_pivotingz TestQR.test_simple_trap_pivoting,  sð   € ÝŒJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆÝ�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�A�a�a�a˜�d”G‘”‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó°   — ddgddgddgg}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S ©Nri  rQ   rw   ru   rs   rl  rm  s       r]   Útest_simple_tallzTestQR.test_simple_tall7  s_   € à�ˆV�a˜�V˜a ˜VÐ$ˆÝ�!‰uŒu‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 ó  — t          j        ddgddgddgg¦  «        }t          |d¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |dd …         |d d	…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |d d …|f         ¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )
Nri  rQ   rw   ru   rs   Trz  ra   r¢   r|  r}  s           r]   Útest_simple_tall_pivotingz TestQR.test_simple_tall_pivoting>  sö   € åŒJ˜˜A˜  A ¨¨A¨Ð/Ñ0Ô0ˆÝ�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�A�a�a�a˜�d”G‘”‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — ddgddgddgg}t          |d¬¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         t	          |j        d¦  «         t	          |j        d	¦  «         d S )
Nri  rQ   rw   ru   rs   Úeconomic©Úmode©rs   rQ   ©rQ   rQ   ©r   r   rW   rF   r   r@   rm  s       r]   Útest_simple_tall_ezTestQR.test_simple_tall_eJ  sŠ   € à�ˆV�a˜�V˜a ˜VÐ$ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ý�Q”W˜fÑ%Ô%Ð%Ý�Q”W˜fÑ%Ô%Ð%Ð%Ð%r_   c                 ó  — t          j        ddgddgddgg¦  «        }t          |dd¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |d	d …         |d d
…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |d d …|f         d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nri  rQ   rw   ru   rs   Tr“  ©r{  r•  ra   r¢   r”  r|  r}  s           r]   Útest_simple_tall_e_pivotingz"TestQR.test_simple_tall_e_pivotingS  sÿ   € åŒJ˜˜A˜  A ¨¨A¨Ð/Ñ0Ô0ˆÝ�Q ¨JÐ7Ñ7Ô7‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�A�a�a�a˜�d”G *Ð-Ñ-Ô-‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó   — ddgddgddgg}t          |d¬¦  «        \  }}ddg}t          ||d	¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          g d
¢¦  «        }t          ||d	d¬¦  «        \  }}t          ||d d…         z  |¦  «         t          |t	          d¦  «        d	¦  «        \  }}t          ||¦  «         d S )Nri  rQ   rw   ru   rs   r“  r”  ra   r¦   ©ra   rQ   r   T©Úoverwrite_c©r   r   r   r4   rF   rr  s          r]   Útest_simple_tall_leftzTestQR.test_simple_tall_left_  sê   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ø�ˆFˆÝ˜Q  6Ñ*Ô*‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý�)�)�)ÑÔˆÝ˜Q  6°tÐ<Ñ<Ô<‰ˆˆBÝ! ! a¨¨¨¤e¡)¨RÑ0Ô0Ð0Ý˜A�s 1™vœv vÑ.Ô.‰ˆˆAÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó(  — ddgddgddgg}t          |dd¬¦  «        \  }}}d	dg}t          ||d
d¦  «        \  }}}t          ||¦  «         t          ||z  |¦  «         t          |t	          d¦  «        d
d¦  «        \  }}}t          ||¦  «         d S )Nri  rQ   rw   ru   rs   r“  T©r•  r{  ra   r¦   )r   r   r   r   rF   )r{   r|   rn  ro  r„  rs  rt  Úkpvts           r]   Útest_simple_tall_left_pivotingz%TestQR.test_simple_tall_left_pivotingl  s¯   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ˜ 
°TÐ:Ñ:Ô:‰
ˆˆ1ˆdØ�ˆFˆÝ! ! Q¨°Ñ5Ô5‰ˆˆAˆtÝ˜4 Ñ&Ô&Ð&Ý! ! a¡%¨Ñ,Ô,Ð,Ý! !¥S¨¡V¤V¨V°TÑ:Ô:‰ˆˆAˆtÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — ddgddgddgg}t          |d¬¦  «        \  }}g d¢}t          ||¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          |t          d¦  «        ¦  «        \  }}t          ||¦  «         d S )	Nri  rQ   rw   ru   rs   r“  r”  rr   rq  ©r{   r|   rn  ro  rs  Úcqru  s          r]   Útest_simple_tall_rightzTestQR.test_simple_tall_rightv  sŸ   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1ØˆIˆIˆÝ˜Q Ñ"Ô"‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý˜A�s 1™vœvÑ&Ô&‰ˆˆAÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — ddgddgddgg}t          |dd¬¦  «        \  }}}g d	¢}t          ||d¬
¦  «        \  }}}t          ||z  |¦  «         t          |t          d¦  «        d¬
¦  «        \  }}}t          ||¦  «         d S )Nri  rQ   rw   ru   rs   Tr“  r›  rr   rz  rq  ©r{   r|   rn  ro  r„  rs  r©  s          r]   Útest_simple_tall_right_pivotingz&TestQR.test_simple_tall_right_pivoting€  s¡   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ˜ D¨zÐ:Ñ:Ô:‰
ˆˆ1ˆdØˆIˆIˆÝ! ! Q°Ð6Ñ6Ô6‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ý! !¥S¨¡V¤V°dÐ;Ñ;Ô;‰ˆˆAˆtÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 óþ   — g d¢g d¢g}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         t	          |j        d¦  «         t	          |j        d¦  «         d S )N©ri  rQ   ru   rj  rQ   r—  ©rQ   rs   r˜  rm  s       r]   Útest_simple_fatzTestQR.test_simple_fat‰  s}   € àˆYˆY˜	˜	˜	Ð"ˆÝ�!‰uŒu‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ý�Q”W˜fÑ%Ô%Ð%Ý�Q”W˜fÑ%Ô%Ð%Ð%Ð%r_   c                 óV  — t          j        g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |j        d¦  «         t          |j        d	¦  «         t          |d d …|f         ¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )
Nr¯  rj  Trz  ra   r¢   rQ   r—  r°  ©rS   rC   r   rÉ   r5   r   rÇ   r   rW   rF   r   r@   r}  s           r]   Útest_simple_fat_pivotingzTestQR.test_simple_fat_pivoting’  s  € åŒJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆÝ�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�Q”W˜fÑ%Ô%Ð%Ý�Q”W˜fÑ%Ô%Ð%Ý�A�a�a�a˜�d”G‘”‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g}t          |d¬¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         t	          |j        d¦  «         t	          |j        d¦  «         d S )Nrh  ©rQ   rw   ru   r“  r”  rQ   r—  r°  r˜  rm  s       r]   Útest_simple_fat_ezTestQR.test_simple_fat_e   s„   € àˆYˆY˜	˜	˜	Ð"ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ý�Q”W˜fÑ%Ô%Ð%Ý�Q”W˜fÑ%Ô%Ð%Ð%Ð%r_   c                 ó\  — t          j        g d¢g d¢g¦  «        }t          |dd¬¦  «        \  }}}t          t	          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |j        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |j        d	¦  «         t          |j        d
¦  «         t          |d d …|f         d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nrh  r¶  Tr“  r›  ra   r¢   rQ   r—  r°  r”  r³  r}  s           r]   Útest_simple_fat_e_pivotingz!TestQR.test_simple_fat_e_pivoting©  s  € åŒJ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆÝ�Q ¨JÐ7Ñ7Ô7‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�Q”W˜fÑ%Ô%Ð%Ý�Q”W˜fÑ%Ô%Ð%Ý�A�a�a�a˜�d”G *Ð-Ñ-Ô-‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g}t          |d¬¦  «        \  }}ddg}t          ||d¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          |t          d¦  «        d¦  «        \  }}t          ||¦  «         d S )Nrh  r¶  r“  r”  ra   rQ   r¦   rq  rr  s          r]   Útest_simple_fat_leftzTestQR.test_simple_fat_left·  s�   € ØˆYˆY˜	˜	˜	Ð"ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ø�ˆFˆÝ˜Q  6Ñ*Ô*‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý˜A�s 1™vœv vÑ.Ô.‰ˆˆAÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g}t          |dd¬¦  «        \  }}}ddg}t          ||dd¦  «        \  }}}t          ||z  |¦  «         t          |t          d¦  «        dd¦  «        \  }}}t          ||¦  «         d S )	Nrh  r¶  r“  Tr¤  ra   rQ   r¦   rq  rƒ  s          r]   Útest_simple_fat_left_pivotingz$TestQR.test_simple_fat_left_pivotingÁ  s™   € ØˆYˆY˜	˜	˜	Ð"ˆÝ˜ 
°TÐ:Ñ:Ô:‰
ˆˆ1ˆdØ�ˆFˆÝ! ! Q¨°Ñ5Ô5‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ý! !¥S¨¡V¤V¨V°TÑ:Ô:‰ˆˆAˆtÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g}t          |d¬¦  «        \  }}ddg}t          ||¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          |t          d¦  «        ¦  «        \  }}t          ||¦  «         d S )Nrh  r¶  r“  r”  ra   rQ   rq  r¨  s          r]   Útest_simple_fat_rightzTestQR.test_simple_fat_rightÊ  s™   € ØˆYˆY˜	˜	˜	Ð"ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ø�ˆFˆÝ˜Q Ñ"Ô"‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý˜A�s 1™vœvÑ&Ô&‰ˆˆAÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó  — g d¢g d¢g}t          |dd¬¦  «        \  }}}ddg}t          ||d¬¦  «        \  }}}t          ||z  |¦  «         t          |t          d¦  «        d¬¦  «        \  }}}t          ||¦  «         d S )	Nrh  r¶  Tr“  r›  ra   rQ   rz  rq  r¬  s          r]   Útest_simple_fat_right_pivotingz%TestQR.test_simple_fat_right_pivotingÔ  s›   € ØˆYˆY˜	˜	˜	Ð"ˆÝ˜ D¨zÐ:Ñ:Ô:‰
ˆˆ1ˆdØ�ˆFˆÝ! ! Q°Ð6Ñ6Ô6‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ý! !¥S¨¡V¤V°dÐ;Ñ;Ô;‰ˆˆAˆtÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 óÔ   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          |                     ¦   «         j        |z  t	          d¦  «        ¦  «         t          ||z  |¦  «         d S ©N©rs   ù      @      @ru   ©ru   rQ   y       @      @©rs   rQ   râ  rs   )r   r   rV   rW   rF   rm  s       r]   r…   zTestQR.test_simple_complexÝ  sg   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1Ý! !§&¢&¡(¤(¤*¨q¡.µ#°a±&´&Ñ9Ô9Ð9Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 óø   — g d¢g d¢g d¢g}t          |¦  «        \  }}g d¢}t          ||d¦  «        \  }}t          ||z  |¦  «         t          |t          d¦  «        d¦  «        \  }}t          ||¦  «         d S )NrÄ  rÆ  rÇ  ©ra   rQ   rÅ  r¦   rs   rq  ©r{   r|   rn  ro  rs  rt  s         r]   Útest_simple_complex_leftzTestQR.test_simple_complex_leftã  sŒ   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1ØˆLˆLˆÝ˜A˜q &Ñ)Ô)‰ˆˆAÝ! ! a¡%¨Ñ,Ô,Ð,Ý˜A�s 1™vœv vÑ.Ô.‰ˆˆAÝ! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 óô   — g d¢g d¢g d¢g}t          |¦  «        \  }}g d¢}t          ||¦  «        \  }}t          ||z  |¦  «         t          |t          d¦  «        ¦  «        \  }}t          ||¦  «         d S )NrÄ  rÆ  rÇ  rÉ  rs   rq  rÊ  s         r]   Útest_simple_complex_rightz TestQR.test_simple_complex_rightì  sˆ   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1ØˆLˆLˆÝ˜A˜qÑ!Ô!‰ˆˆAÝ! ! a¡%¨Ñ,Ô,Ð,Ý˜A�s 1™vœvÑ&Ô&‰ˆˆAÝ! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó   — ddgddgddgg}t          |d¬¦  «        \  }}d	d
g}t          ||d¦  «        \  }}t          ||z  |¦  «         t          ||¦  «         t          g d¢¦  «        }t          ||dd¬¦  «        \  }}t          ||d d…         z  |¦  «         t          |t	          d¦  «        d¦  «        \  }}t          ||¦  «         d S )Nri  y       @      @rQ   rw   y      @      @rs   r“  r”  ra   ù       @       @r¦   rž  TrŸ  r¡  rr  s          r]   Útest_simple_tall_complex_leftz$TestQR.test_simple_tall_complex_leftõ  sê   € Ø�ˆY˜˜A˜  q 	Ð*ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ø�ˆIˆÝ˜Q  6Ñ*Ô*‰ˆˆBÝ! ! a¡%¨Ñ,Ô,Ð,Ý! ! RÑ(Ô(Ð(Ý�)�)�)ÑÔˆÝ˜Q  6°tÐ<Ñ<Ô<‰ˆˆBÝ! ! a¨¨¨¤e¡)¨RÑ0Ô0Ð0Ý˜A�s 1™vœv vÑ.Ô.‰ˆˆAÝ! " aÑ(Ô(Ð(Ð(Ð(r_   c                 ó¾   — g d¢g d¢g d¢g}t          |¦  «        \  }}g d¢}t          ||dd¬¦  «        \  }}t          |                     ¦   «         |z  |¦  «         d S )NrÄ  rÆ  rÇ  rÉ  r¦   T©Ú	conjugate©r   r   r   rV   rÊ  s         r]   Ú"test_simple_complex_left_conjugatez)TestQR.test_simple_complex_left_conjugate  sn   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1ØˆLˆLˆÝ˜A˜q &°DÐ9Ñ9Ô9‰ˆˆAÝ! !§&¢&¡(¤(¨Q¡,°Ñ3Ô3Ð3Ð3Ð3r_   c                 óÂ   — ddgddgddgg}t          |d¬¦  «        \  }}ddg}t          ||d	d
¬¦  «        \  }}t          |                     ¦   «         |z  |¦  «         d S )Nrs   rÅ  ru   rÏ  rQ   r“  r”  ra   r¦   TrÒ  rÔ  rÊ  s         r]   Ú'test_simple_complex_tall_left_conjugatez.TestQR.test_simple_complex_tall_left_conjugate	  su   € Ø�ˆY˜˜D˜	 A q 6Ð*ˆÝ�!˜*Ð%Ñ%Ô%‰ˆˆ1Ø�ˆIˆÝ˜A˜q &°DÐ9Ñ9Ô9‰ˆˆAÝ! !§&¢&¡(¤(¨Q¡,°Ñ3Ô3Ð3Ð3Ð3r_   c                 óà   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          j        g d¢¦  «        }t          ||d¬¦  «        \  }}t	          ||                     ¦   «         z  |¦  «         d S )NrÄ  rÆ  rÇ  rÉ  TrÒ  )r   rS   r4   r   r   rV   rÊ  s         r]   Ú#test_simple_complex_right_conjugatez*TestQR.test_simple_complex_right_conjugate  sv   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1ÝŒH�\�\�\Ñ"Ô"ˆÝ˜A˜q¨DÐ1Ñ1Ô1‰ˆˆAÝ! ! a§f¢f¡h¤h¡,°Ñ3Ô3Ð3Ð3Ð3r_   c                 ó"  — t          g d¢g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}t          t          |¦  «        ¦  «        }t	          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |                     ¦   «         j	        |z  t          d¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |d d …|f         ¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )	NrÄ  rÆ  rÇ  Trz  ra   r¢   rs   )r4   r   rÉ   r5   r   rS   rÇ   r   rV   rW   rF   r}  s           r]   Útest_simple_complex_pivotingz#TestQR.test_simple_complex_pivoting  sü   € Ý�<�<�<   ¨y¨y¨yÐ9Ñ:Ô:ˆÝ�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ•�Q‘”‰LŒLˆÝ•”�q˜˜˜”u  # 2 #¤’Ñ'Ô'Ñ(Ô(Ð(Ý! !§&¢&¡(¤(¤*¨q¡.µ#°a±&´&Ñ9Ô9Ð9Ý! ! a¡%¨¨1¨1¨1¨a¨4¬Ñ1Ô1Ð1Ý�A�a�a�a˜�d”G‘”‰ˆˆBÝ! ! RÑ(Ô(Ð(Ý! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 óº   — t          g d¢g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}g d¢}t          ||dd¦  «        \  }}}t          ||z  |¦  «         d S )NrÄ  rÆ  rÇ  Trz  rÉ  r¦   ©r4   r   r   r   rƒ  s          r]   Ú!test_simple_complex_left_pivotingz(TestQR.test_simple_complex_left_pivoting"  sv   € Ý�<�<�<   ¨y¨y¨yÐ9Ñ:Ô:ˆÝ˜ DÐ)Ñ)Ô)‰
ˆˆ1ˆdØˆLˆLˆÝ! ! Q¨°Ñ5Ô5‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ð,Ð,r_   c                 óº   — t          g d¢g d¢g d¢g¦  «        }t          |d¬¦  «        \  }}}g d¢}t          ||d¬¦  «        \  }}}t          ||z  |¦  «         d S )NrÄ  rÆ  rÇ  Trz  rÉ  rÝ  rƒ  s          r]   Ú"test_simple_complex_right_pivotingz)TestQR.test_simple_complex_right_pivoting)  sw   € Ý�<�<�<   ¨y¨y¨yÐ9Ñ:Ô:ˆÝ˜ DÐ)Ñ)Ô)‰
ˆˆ1ˆdØˆLˆLˆÝ! ! Q°Ð6Ñ6Ô6‰ˆˆAˆtÝ! ! a¡%¨Ñ,Ô,Ð,Ð,Ð,r_   c                 ó.  — t           j                             d¦  «        }d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          |j        |z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S ©Nr  rÜ  rQ   ©rS   rT   r  r¨   r   r   rW   rF   ©r{   ri   rY   r  r|   rn  ro  s          r]   r  zTestQR.test_random0  s’   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqÝ% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 óš  — t           j                             d¦  «        }d}t          d¦  «        D ]™}|                     ||g¦  «        }t	          |¦  «        \  }}|                     |g¦  «        }t          ||d¦  «        \  }}t          ||z  |¦  «         t          |t          |¦  «        d¦  «        \  }}t          ||¦  «         Œšd S )Nr  rÜ  rQ   r¦   ©rS   rT   r  r¨   r   r   r   rF   ©	r{   ri   rY   r  r|   rn  ro  rs  rt  s	            r]   Útest_random_leftzTestQR.test_random_left9  sÇ   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqØ—
’
˜A˜3‘”ˆAÝ  1 fÑ-Ô-‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6¨6Ñ2Ô2‰EˆB�Ý% a¨Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c                 ó–  — t           j                             d¦  «        }d}t          d¦  «        D ]—}|                     ||g¦  «        }t	          |¦  «        \  }}|                     |g¦  «        }t          ||¦  «        \  }}t          ||z  |¦  «         t          |t          |¦  «        ¦  «        \  }}t          ||¦  «         Œ˜d S râ  ræ  ©	r{   ri   rY   r  r|   rn  ro  rs  r©  s	            r]   Útest_random_rightzTestQR.test_random_rightE  sÃ   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqØ—
’
˜A˜3‘”ˆAÝ  1Ñ%Ô%‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6Ñ*Ô*‰EˆB�Ý% a¨Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c           	      ób  — t           j                             d¦  «        }d}t          d¦  «        D ]ý}|                     ||g¦  «        }t	          |d¬¦  «        \  }}}t          t          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          |j
        |z  t          |¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t	          |d d …|f         ¦  «        \  }	}
t          ||	¦  «         t          ||
¦  «         Œþd S )Nr  rÜ  rQ   Trz  ra   r¢   ©rS   rT   r  r¨   r   rÉ   r5   r   rÇ   r   rW   rF   ©r{   ri   rY   r  r|   rn  ro  r~  rk   r  ru  s              r]   Útest_random_pivotingzTestQR.test_random_pivotingQ  s  € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 		-ð 		-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ˜ TÐ*Ñ*Ô*‰GˆAˆq�!Ý•D˜‘G”G‘”ˆAÝ•B”F˜1˜Q˜R˜Rœ5 A c r c¤Fš?Ñ+Ô+Ñ,Ô,Ð,Ý% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨Q¨q¨q¨q°!¨t¬WÑ5Ô5Ð5Ý˜˜!˜!˜!˜Q˜$œ‘[”[‰FˆB�Ý% a¨Ñ,Ô,Ð,Ý% a¨Ñ,Ô,Ð,Ð,ð		-ð 		-r_   c                 ó2  — t           j                             d¦  «        }d}d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          |j        |z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S ©Nr  éÈ   r  rQ   rã  ©r{   ri   r  rY   r  r|   rn  ro  s           r]   Útest_random_tallzTestQR.test_random_tall_  s—   € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqÝ% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 ó¢  — t           j                             d¦  «        }d}d}t          d¦  «        D ]›}|                     ||g¦  «        }t	          |d¬¦  «        \  }}|                     |g¦  «        }t          ||d¦  «        \  }	}t          ||z  |	¦  «         t          |t          |¦  «        d¦  «        \  }	}t          |	|¦  «         Œœd S )Nr  rò  r  rQ   r“  r”  r¦   ræ  )
r{   ri   r  rY   r  r|   rn  ro  rs  rt  s
             r]   Útest_random_tall_leftzTestQR.test_random_tall_leftj  sÓ   € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a˜jÐ)Ñ)Ô)‰DˆAˆqØ—
’
˜A˜3‘”ˆAÝ  1 fÑ-Ô-‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6¨6Ñ2Ô2‰EˆB�Ý% b¨!Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c                 óž  — t           j                             d¦  «        }d}d}t          d¦  «        D ]™}|                     ||g¦  «        }t	          |d¬¦  «        \  }}|                     |g¦  «        }t          ||¦  «        \  }	}t          ||z  |	¦  «         t          |t          |¦  «        ¦  «        \  }	}t          |	|¦  «         Œšd S ©Nr  rò  r  rQ   r“  r”  ræ  )
r{   ri   r  rY   r  r|   rn  ro  rs  r©  s
             r]   Útest_random_tall_rightzTestQR.test_random_tall_rightx  sÏ   € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a˜jÐ)Ñ)Ô)‰DˆAˆqØ—
’
˜A˜3‘”ˆAÝ  1Ñ%Ô%‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6Ñ*Ô*‰EˆB�Ý% b¨!Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c           	      óf  — t           j                             d¦  «        }d}d}t          d¦  «        D ]ý}|                     ||g¦  «        }t	          |d¬¦  «        \  }}}t          t          |¦  «        ¦  «        }	t          t          j        |	dd …         |	d d…         k    ¦  «        ¦  «         t          |j
        |z  t          |¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t	          |d d …|f         ¦  «        \  }
}t          ||
¦  «         t          ||¦  «         Œþd S )	Nr  rò  r  rQ   Trz  ra   r¢   rí  ©r{   ri   r  rY   r  r|   rn  ro  r~  rk   r  ru  s               r]   Útest_random_tall_pivotingz TestQR.test_random_tall_pivoting†  s$  € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 		-ð 		-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ˜ TÐ*Ñ*Ô*‰GˆAˆq�!Ý•D˜‘G”G‘”ˆAÝ•B”F˜1˜Q˜R˜Rœ5 A c r c¤Fš?Ñ+Ô+Ñ,Ô,Ð,Ý% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨Q¨q¨q¨q°!¨t¬WÑ5Ô5Ð5Ý˜˜!˜!˜!˜Q˜$œ‘[”[‰FˆB�Ý% a¨Ñ,Ô,Ð,Ý% a¨Ñ,Ô,Ð,Ð,ð		-ð 		-r_   c                 ó’  — t           j                             d¦  «        }d}d}t          d¦  «        D ]“}|                     ||g¦  «        }t	          |d¬¦  «        \  }}t          |j        |z  t          |¦  «        ¦  «         t          ||z  |¦  «         t          |j	        ||f¦  «         t          |j	        ||f¦  «         Œ”d S rø  )
rS   rT   r  r¨   r   r   rW   rF   r   r@   ró  s           r]   Útest_random_tall_ezTestQR.test_random_tall_e–  sÊ   € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 	*ð 	*ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a˜jÐ)Ñ)Ô)‰DˆAˆqÝ% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ý˜œ 1 a &Ñ)Ô)Ð)Ý˜œ 1 a &Ñ)Ô)Ð)Ð)ð	*ð 	*r_   c           	      óÌ  — t           j                             d¦  «        }d}d}t          d¦  «        D �]/}|                     ||g¦  «        }t	          |dd¬¦  «        \  }}}t          t          |¦  «        ¦  «        }	t          t          j        |	dd …         |	d d	…         k    ¦  «        ¦  «         t          |j
        |z  t          |¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t          |j        ||f¦  «         t          |j        ||f¦  «         t	          |d d …|f         d¬
¦  «        \  }
}t          ||
¦  «         t          ||¦  «         �Œ1d S )Nr  rò  r  rQ   Tr“  r›  ra   r¢   r”  )rS   rT   r  r¨   r   rÉ   r5   r   rÇ   r   rW   rF   r   r@   rû  s               r]   Útest_random_tall_e_pivotingz"TestQR.test_random_tall_e_pivoting£  sY  € ÝŒi×#Ò# DÑ)Ô)ˆàˆØˆÝ�q‘”ð 	-ñ 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ˜ T°
Ð;Ñ;Ô;‰GˆAˆq�!Ý•D˜‘G”G‘”ˆAÝ•B”F˜1˜Q˜R˜Rœ5 A c r c¤Fš?Ñ+Ô+Ñ,Ô,Ð,Ý% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨Q¨q¨q¨q°!¨t¬WÑ5Ô5Ð5Ý˜œ 1 a &Ñ)Ô)Ð)Ý˜œ 1 a &Ñ)Ô)Ð)Ý˜˜!˜!˜!˜Q˜$œ jÐ1Ñ1Ô1‰FˆB�Ý% a¨Ñ,Ô,Ð,Ý% a¨Ñ,Ô,Ð,Ñ,ð	-ð 	-r_   c                 ó2  — t           j                             d¦  «        }d}d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          |j        |z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S ©Nr  r  rò  rQ   rã  ró  s           r]   Útest_random_trapzTestQR.test_random_trapµ  s—   € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqÝ% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c           	      óf  — t           j                             d¦  «        }d}d}t          d¦  «        D ]ý}|                     ||g¦  «        }t	          |d¬¦  «        \  }}}t          t          |¦  «        ¦  «        }	t          t          j        |	dd …         |	d d…         k    ¦  «        ¦  «         t          |j
        |z  t          |¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t	          |d d …|f         ¦  «        \  }
}t          ||
¦  «         t          ||¦  «         Œþd S )	Nr  r  rò  rQ   Trz  ra   r¢   rí  rû  s               r]   Útest_random_trap_pivotingz TestQR.test_random_trap_pivoting¿  s$  € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 		-ð 		-ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ˜ TÐ*Ñ*Ô*‰GˆAˆq�!Ý•D˜‘G”G‘”ˆAÝ•B”F˜1˜Q˜R˜Rœ5 A c r c¤Fš?Ñ+Ô+Ñ,Ô,Ð,Ý% a¤c¨A¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨Q¨q¨q¨q°!¨t¬WÑ5Ô5Ð5Ý˜˜!˜!˜!˜Q˜$œ‘[”[‰FˆB�Ý% a¨Ñ,Ô,Ð,Ý% a¨Ñ,Ô,Ð,Ð,ð		-ð 		-r_   c                 óˆ  — t           j                             d¦  «        }d}t          d¦  «        D ]�}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |¦  «        \  }}t          |                     ¦   «         j        |z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œ‘d S ©Nr  rÜ  rQ   rP   )	rS   rT   r  r¨   r   r   rV   rW   rF   rä  s          r]   r"  zTestQR.test_random_complexÎ  s´   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ�a‘5”5‰DˆAˆqÝ% a§f¢f¡h¤h¤j°1¡nµc¸!±f´fÑ=Ô=Ð=Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 ó  — t           j                             d¦  «        }d}t          d¦  «        D ]Î}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |¦  «        \  }}|                     |g¦  «        d|                     |g¦  «        z  z   }t          ||d¦  «        \  }}t          ||z  |¦  «         t          |t          |¦  «        d¦  «        \  }}t          ||¦  «         ŒÏd S )Nr  rÜ  rQ   rP   r¦   ræ  rç  s	            r]   Útest_random_complex_leftzTestQR.test_random_complex_left×  s÷   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ�a‘5”5‰DˆAˆqØ—
’
˜A˜3‘” " S§Z¢Z°°¡_¤_Ñ"4Ñ4ˆAÝ  1 fÑ-Ô-‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6¨6Ñ2Ô2‰EˆB�Ý% a¨Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c                 ó   — t           j                             d¦  «        }d}t          d¦  «        D ]Ì}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |¦  «        \  }}|                     |g¦  «        d|                     |g¦  «        z  z   }t          ||¦  «        \  }}t          ||z  |¦  «         t          |t          |¦  «        ¦  «        \  }}t          ||¦  «         ŒÍd S r  ræ  rê  s	            r]   Útest_random_complex_rightz TestQR.test_random_complex_rightã  só   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	-ð 	-ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ�a‘5”5‰DˆAˆqØ—
’
˜A˜3‘” " S§Z¢Z°°¡_¤_Ñ"4Ñ4ˆAÝ  1Ñ%Ô%‰EˆB�Ý% a¨!¡e¨RÑ0Ô0Ð0Ý ¥3 q¡6¤6Ñ*Ô*‰EˆB�Ý% a¨Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c           	      óÀ  — t           j                             d¦  «        }d}t          d¦  «        D �]+}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |d¬¦  «        \  }}}t          t          |¦  «        ¦  «        }t          t          j        |dd …         |d d…         k    ¦  «        ¦  «         t          | 
                    ¦   «         j        |z  t          |¦  «        ¦  «         t          ||z  |d d …|f         ¦  «         t	          |d d …|f         ¦  «        \  }	}
t          ||	¦  «         t          ||
¦  «         �Œ-d S )	Nr  rÜ  rQ   rP   Trz  ra   r¢   )rS   rT   r  r¨   r   rÉ   r5   r   rÇ   r   rV   rW   rF   rî  s              r]   Útest_random_complex_pivotingz#TestQR.test_random_complex_pivotingï  sA  € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 		-ñ 		-ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ˜ TÐ*Ñ*Ô*‰GˆAˆq�!Ý•D˜‘G”G‘”ˆAÝ•B”F˜1˜Q˜R˜Rœ5 A c r c¤Fš?Ñ+Ô+Ñ,Ô,Ð,Ý% a§f¢f¡h¤h¤j°1¡nµc¸!±f´fÑ=Ô=Ð=Ý% a¨!¡e¨Q¨q¨q¨q°!¨t¬WÑ5Ô5Ð5Ý˜˜!˜!˜!˜Q˜$œ‘[”[‰FˆB�Ý% a¨Ñ,Ô,Ð,Ý% a¨Ñ,Ô,Ð,Ñ,ð		-ð 		-r_   c                 ó´   — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S ©Nrh  rj  rk  Fr‡   rs   rl  rm  s       r]   r  zTestQR.test_check_finiteý  sf   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�! %Ð(Ñ(Ô(‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 óø  — g d¢g d¢g d¢g}t          |d ¬¦  «        \  }}t          |d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t          |d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t          |d¬¦  «        \  }}	t          ||¦  «         t          |	|¦  «         t          t          t           |fdd	i¦  «         t          t          t           |fdd
i¦  «         d S )Nrh  rj  rk  )Úlworkrs   rB  r¢   r  r   rQ   )r   r   r  Ú	Exception)
r{   r|   rn  ro  r  ru  Úq3Úr3Úq4Úr4s
             r]   Ú
test_lworkzTestQR.test_lwork  s  € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆå�!˜4Ð Ñ Ô ‰ˆˆ1õ �A˜Q�‘”‰ˆˆBÝ! " aÑ(Ô(Ð(Ý! " aÑ(Ô(Ð(õ �A˜R�‘”‰ˆˆBÝ! " aÑ(Ô(Ð(Ý! " aÑ(Ô(Ð(õ �A˜R�‘”‰ˆˆBÝ! " aÑ(Ô(Ð(Ý! " aÑ(Ô(Ð(õ 	•i¥ a T¨G°Q¨<Ñ8Ô8Ð8Ý•i¥ a T¨G°Q¨<Ñ8Ô8Ð8Ð8Ð8r_   r  r5  rY   r{  FTr[   c                 ób  — t          ||¦  «        }t          j        ||f|¬¦  «        }t          ||¬¦  «        ^}}}	t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        ||f¦  «         t	          |j        |¦  «         t          |	¦  «        |rdndk    sJ ‚|r9|	\  }
t	          |
j        |f¦  «         t	          |
j        t          j        ¦  «         t          |d|¬¦  «        ^}}	t	          |j        ||f¦  «         t	          |j        |¦  «         t          |	¦  «        |rdndk    sJ ‚|r9|	\  }
t	          |
j        |f¦  «         t	          |
j        t          j        ¦  «         t          |d|¬¦  «        ^}}}	t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        ||f¦  «         t	          |j        |¦  «         t          |	¦  «        |rdndk    sJ ‚|r9|	\  }
t	          |
j        |f¦  «         t	          |
j        t          j        ¦  «         t          |d|¬¦  «        ^\  }}}}	t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        |f¦  «         t	          |j        |¦  «         t	          |j        ||f¦  «         t	          |j        |¦  «         t          |	¦  «        |rdndk    sJ ‚|r;|	\  }
t	          |
j        |f¦  «         t	          |
j        t          j        ¦  «         d S d S )	Nr�   rz  ra   r   ro  r¤  r“  Úraw)	r:  rS   r9   r   r   r@   r[   re   Úint32)r{   r  rY   r{  r[   r  r|   rn  ro  Úotherr~  r  Útaus                r]   r>  zTestQR.test_shape_dtype  s<  € õ
 ��1‰IŒIˆåŒH�a˜�V 5Ð)Ñ)Ô)ˆÝ˜! hÐ/Ñ/Ô/ˆˆˆ1ˆuÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�5‰zŒz 8Ð2˜a˜a°Ò3Ð3Ð3Ð3Øð 	,Ø‰BˆAÝ˜œ 1 $Ñ'Ô'Ð'Ý˜œ¥"¤(Ñ+Ô+Ð+å�q˜s¨XÐ6Ñ6Ô6ˆ	ˆˆEÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�5‰zŒz 8Ð2˜a˜a°Ò3Ð3Ð3Ð3Øð 	,Ø‰BˆAÝ˜œ 1 $Ñ'Ô'Ð'Ý˜œ¥"¤(Ñ+Ô+Ð+å˜! *°xÐ@Ñ@Ô@ˆˆˆ1ˆuÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�5‰zŒz 8Ð2˜a˜a°Ò3Ð3Ð3Ð3Øð 	,Ø‰BˆAÝ˜œ 1 $Ñ'Ô'Ð'Ý˜œ¥"¤(Ñ+Ô+Ð+å " 1¨5¸8Ð DÑ DÔ DÐ‰
ˆˆc�A˜Ý�S”Y  A Ñ'Ô'Ð'Ý�S”Y Ñ&Ô&Ð&Ý�S”Y  Ñ%Ô%Ð%Ý�S”Y Ñ&Ô&Ð&Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�5‰zŒz 8Ð2˜a˜a°Ò3Ð3Ð3Ð3Øð 	,Ø‰BˆAÝ˜œ 1 $Ñ'Ô'Ð'Ý˜œ¥"¤(Ñ+Ô+Ð+Ð+Ð+ð	,ð 	,r_   r?  r@  c                 ó&  — t          ||¦  «        }t          j        ||f¦  «        }t          |¦  «        \  }}t	          |t          j        |¦  «        ¦  «         t	          |t          j        ||f¦  «        ¦  «         t          |d¬¦  «        \  }}}t	          |t          j        |¦  «        ¦  «         t	          |t          j        ||f¦  «        ¦  «         t	          |t          j        |¦  «        ¦  «         t          |d¬¦  «        \  }t	          |t          j        ||f¦  «        ¦  «         t          |d¬¦  «        \  }}t	          |t          j        ||f¦  «        ¦  «         t	          |t          j        ||f¦  «        ¦  «         t          |d¬¦  «        \  \  }}	}t	          |t          j        ||f¦  «        ¦  «         t	          |	t          j        |f¦  «        ¦  «         t	          |t          j        ||f¦  «        ¦  «         d S )NTrz  ro  r”  r“  r  )r:  rS   r’   r   r   rè  r:   )
r{   r  rY   r  r|   rn  ro  r~  r  r  s
             r]   r“   zTestQR.test_emptyO  sÄ  € å��1‰IŒIˆåŒH�a˜�VÑÔˆÝ�!‰uŒu‰ˆˆ1Ý˜�2œ; q™>œ>Ñ*Ô*Ð*Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,å�Q Ð&Ñ&Ô&‰ˆˆ1ˆaÝ˜�2œ; q™>œ>Ñ*Ô*Ð*Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ9 Q™<œ<Ñ(Ô(Ð(å�˜ˆ_‰_Œ_‰ˆÝ˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,å�!˜*Ð%Ñ%Ô%‰ˆˆ1Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,å˜1 5Ð)Ñ)Ô)‰‰
ˆˆc�AÝ˜�RœX q¨! fÑ-Ô-Ñ.Ô.Ð.Ý˜�RœX q d™^œ^Ñ,Ô,Ð,Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ð,Ð,r_   c                 ó4  — t          j        d¦  «        }t          j        d¦  «        }t          ||¦  «        \  }}t          |t          j        d¦  «        ¦  «         t          j        d¦  «        }t          j        d¦  «        }t          ||¦  «        \  }}t          |t          j        d¦  «        ¦  «         t          j        d¦  «        }t          j        d¦  «        }t          ||¦  «        \  }}t          |t          j        d¦  «        ¦  «         d S )NrŒ   r¤   r‘   )rS   r’   r   r   )r{   r|   rs  r©  ro  s        r]   Útest_multiply_emptyzTestQR.test_multiply_emptyi  sé   € ÝŒH�VÑÔˆÝŒH�VÑÔˆÝ˜A˜qÑ!Ô!‰ˆˆAÝ˜�BœH VÑ,Ô,Ñ-Ô-Ð-åŒH�VÑÔˆÝŒH�VÑÔˆÝ˜A˜qÑ!Ô!‰ˆˆAÝ˜�BœH VÑ,Ô,Ñ-Ô-Ð-åŒH�VÑÔˆÝŒH�VÑÔˆÝ˜A˜qÑ!Ô!‰ˆˆAÝ˜�BœH VÑ,Ô,Ñ-Ô-Ð-Ð-Ð-r_   N)>r”   r•   r–   r   rv  rx  r€  r…  r‡  r‰  rŒ  r�  r‘  r™  rœ  r¢  r¦  rª  r­  r±  r´  r·  r¹  r»  r½  r¿  rÁ  r…   rË  rÍ  rÐ  rÕ  r×  rÙ  rÛ  rÞ  rà  r  rè  rë  rï  rô  rö  rù  rü  rþ  r   r  r  r"  r	  r  r  r  r  r—   r˜   r™   rÞ  r>  r“   r  rœ   r_   r]   re  re  ò  s÷  € € € € € ð,ð ,ð ,ð)ð )ð )ð)ð )ð )ð	)ð 	)ð 	)ð-ð -ð -ð-ð -ð -ð,ð ,ð ,ð	)ð 	)ð 	)ð,ð ,ð ,ð
)ð 
)ð 
)ð&ð &ð &ð
)ð 
)ð 
)ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð&ð &ð &ð)ð )ð )ð&ð &ð &ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð,ð ,ð ,ð)ð )ð )ð)ð )ð )ð)ð )ð )ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð	)ð 	)ð 	)ð-ð -ð -ð-ð -ð -ð0ð 0ð 0ð
-ð 
-ð 
-ð
-ð 
-ð 
-ð-ð -ð -ð	0ð 	0ð 	0ð-ð -ð -ð-ð -ð -ð-ð -ð -ð *ð *ð *ð-ð -ð -ð$0ð 0ð 0ð-ð -ð -ð0ð 0ð 0ð
-ð 
-ð 
-ð
-ð 
-ð 
-ð-ð -ð -ð,ð ,ð ,ð9ð 9ð 9ð0 „[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜Z¨%°¨Ñ7Ô7Ø„[×Ò˜W fÑ-Ô-ð.,ð .,ñ .Ô-ñ 8Ô7ñ -Ô,ñ -Ô,ð.,ð` „[×Ò˜ZÐ)AÐ)AÐ)AÑBÔBð-ð -ñ CÔBð-ð2.ð .ð .ð .ð .r_   re  c                   ó|  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zej                             dg d¢¦  «        ej                             dg d¢¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestRQc                 ó°   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          ||j        z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S rg  ©r   r   rW   rF   ©r{   r|   ro  rn  s       r]   r   zTestRQ.test_simple{  s_   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�!‰uŒu‰ˆˆ1Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 ó‚   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          |d¬¦  «        }t          ||¦  «         d S )Nrh  rj  rk  ro  r”  )r   r   )r{   r|   ro  rn  ru  s        r]   Útest_rzTestRQ.test_r�  sN   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�!‰uŒu‰ˆˆ1Ý�˜ˆ_‰_Œ_ˆÝ! ! RÑ(Ô(Ð(Ð(Ð(r_   c                 ó.  — t           j                             d¦  «        }d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          ||j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S râ  ©rS   rT   r  r¨   r   r   rW   rF   ©r{   ri   rY   r  r|   ro  rn  s          r]   r  zTestRQ.test_random‡  s’   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqÝ% a¨!¬#¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 óª   — g d¢g d¢g}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S )Nrh  rj  rs   r#  r$  s       r]   r‰  zTestRQ.test_simple_trap�  rŠ  r_   c                 ó°   — ddgddgddgg}t          |¦  «        \  }}t          |j        |z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S rŽ  r#  r$  s       r]   r�  zTestRQ.test_simple_tall–  s_   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÝ�!‰uŒu‰ˆˆ1Ý! !¤#¨¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 óª   — g d¢g d¢g}t          |¦  «        \  }}t          ||j        z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S )Nr¯  rj  rs   r#  r$  s       r]   r±  zTestRQ.test_simple_fatœ  sY   € ØˆYˆY˜	˜	˜	Ð"ˆÝ�!‰uŒu‰ˆˆ1Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 óÔ   — g d¢g d¢g d¢g}t          |¦  «        \  }}t          ||                     ¦   «         j        z  t	          d¦  «        ¦  «         t          ||z  |¦  «         d S rÃ  )r   r   rV   rW   rF   r$  s       r]   r…   zTestRQ.test_simple_complex¢  sg   € Øˆ\ˆ\˜<˜<˜<¨¨¨Ð3ˆÝ�!‰uŒu‰ˆˆ1Ý! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&Ñ9Ô9Ð9Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   c                 ó2  — t           j                             d¦  «        }d}d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          ||j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S rñ  r(  ©r{   ri   r  rY   r  r|   ro  rn  s           r]   rô  zTestRQ.test_random_tall¨  ó—   € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a‘5”5‰DˆAˆqÝ% a¨!¬#¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 ó2  — t           j                             d¦  «        }d}d}t          d¦  «        D ]c}|                     ||g¦  «        }t	          |¦  «        \  }}t          ||j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œdd S r  r(  r/  s           r]   r  zTestRQ.test_random_trap²  r0  r_   c                 ó’  — t           j                             d¦  «        }d}d}t          d¦  «        D ]“}|                     ||g¦  «        }t	          |d¬¦  «        \  }}t          ||j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         t          |j	        ||f¦  «         t          |j	        ||f¦  «         Œ”d S )Nr  r  rò  rQ   r“  r”  )
rS   rT   r  r¨   r   r   rW   rF   r   r@   r/  s           r]   Útest_random_trap_economicz TestRQ.test_random_trap_economic¼  sÊ   € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 	*ð 	*ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ�a˜jÐ)Ñ)Ô)‰DˆAˆqÝ% a¨!¬#¡g­s°1©v¬vÑ6Ô6Ð6Ý% a¨!¡e¨QÑ/Ô/Ð/Ý˜œ 1 a &Ñ)Ô)Ð)Ý˜œ 1 a &Ñ)Ô)Ð)Ð)ð	*ð 	*r_   c                 óˆ  — t           j                             d¦  «        }d}t          d¦  «        D ]�}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |¦  «        \  }}t          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         Œ‘d S r  )	rS   rT   r  r¨   r   r   rV   rW   rF   r)  s          r]   r"  zTestRQ.test_random_complexÈ  s´   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	0ð 	0ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ�a‘5”5‰DˆAˆqÝ% a¨!¯&ª&©(¬(¬*¡nµc¸!±f´fÑ=Ô=Ð=Ý% a¨!¡e¨QÑ/Ô/Ð/Ð/ð		0ð 	0r_   c                 óì  — t           j                             d¦  «        }d}d}t          d¦  «        D ]À}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |d¬¦  «        \  }}t          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t          ||z  |¦  «         t          |j
        ||f¦  «         t          |j
        ||f¦  «         ŒÁd S )Nr  r  rò  rQ   rP   r“  r”  )rS   rT   r  r¨   r   r   rV   rW   rF   r   r@   r/  s           r]   Útest_random_complex_economicz#TestRQ.test_random_complex_economicÑ  sì   € ÝŒi×#Ò# DÑ)Ô)ˆØˆØˆÝ�q‘”ð 	*ð 	*ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ�a˜jÐ)Ñ)Ô)‰DˆAˆqÝ% a¨!¯&ª&©(¬(¬*¡nµc¸!±f´fÑ=Ô=Ð=Ý% a¨!¡e¨QÑ/Ô/Ð/Ý˜œ 1 a &Ñ)Ô)Ð)Ý˜œ 1 a &Ñ)Ô)Ð)Ð)ð	*ð 	*r_   c                 ó´   — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}t          ||j        z  t          d¦  «        ¦  «         t          ||z  |¦  «         d S r  r#  r$  s       r]   r  zTestRQ.test_check_finiteÝ  sf   € ØˆYˆY˜	˜	˜	 9 9 9Ð-ˆÝ�! %Ð(Ñ(Ô(‰ˆˆ1Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¡%¨Ñ+Ô+Ð+Ð+Ð+r_   r  r5  rY   r[   c                 ó|  — t          ||¦  «        }t          j        ||f|¬¦  «        }t          |¦  «        \  }}t	          |j        ||f¦  «         t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        |¦  «         t          |d¬¦  «        }t	          |j        ||f¦  «         t	          |j        |¦  «         t          |d¬¦  «        \  }}t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        ||f¦  «         t	          |j        |¦  «         d S )Nr�   ro  r”  r“  )r:  rS   r9   r   r   r@   r[   )r{   r  rY   r[   r  r|   ro  rn  s           r]   r>  zTestRQ.test_shape_dtypeã  s+  € õ ��1‰IŒIˆåŒH�a˜�V 5Ð)Ñ)Ô)ˆÝ�!‰uŒu‰ˆˆ1Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜eÑ$Ô$Ð$åˆq�sˆO‰OŒOˆÝ�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$å�!˜*Ð%Ñ%Ô%‰ˆˆ1Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ý�Q”W˜q !˜fÑ%Ô%Ð%Ý�Q”W˜eÑ$Ô$Ð$Ð$Ð$r_   r?  r@  c                 ó$  — t          ||¦  «        }t          j        ||f¦  «        }t          |¦  «        \  }}t	          |t          j        ||f¦  «        ¦  «         t	          |t          j        |¦  «        ¦  «         t          |d¬¦  «        }t	          |t          j        ||f¦  «        ¦  «         t          |d¬¦  «        \  }}t	          |t          j        ||f¦  «        ¦  «         t	          |t          j        ||f¦  «        ¦  «         d S )Nro  r”  r“  )r:  rS   r’   r   r   rè  )r{   r  rY   r  r|   ro  rn  s          r]   r“   zTestRQ.test_emptyú  sì   € å��1‰IŒIˆåŒH�a˜�VÑÔˆÝ�!‰uŒu‰ˆˆ1Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ; q™>œ>Ñ*Ô*Ð*åˆq�sˆO‰OŒOˆÝ˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,å�!˜*Ð%Ñ%Ô%‰ˆˆ1Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ8 Q¨ FÑ+Ô+Ñ,Ô,Ð,Ð,Ð,r_   N)r”   r•   r–   r   r&  r  r‰  r�  r±  r…   rô  r  r3  r"  r6  r  r—   r˜   r™   rÞ  r>  r“   rœ   r_   r]   r!  r!  z  s}  € € € € € ð,ð ,ð ,ð)ð )ð )ð0ð 0ð 0ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð0ð 0ð 0ð0ð 0ð 0ð
*ð 
*ð 
*ð0ð 0ð 0ð
*ð 
*ð 
*ð,ð ,ð ,ð „[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜W fÑ-Ô-ð%ð %ñ .Ô-ñ -Ô,ñ -Ô,ð%ð( „[×Ò˜ZÐ)AÐ)AÐ)AÑBÔBð-ð -ñ CÔBð-ð -ð -r_   r!  c                   ó   — e Zd Zd„ Zd„ Zej                             dd ej	        d¦  «         d ej	        d¦  «        dgfd ej	        d¦  «        d ej	        d¦  «         dgfd	dd ej	        d¦  «         ej	        d¦  «         gfd
 ej	        d¦  «         ej	        d¦  «         ddgfd„  ej	        d¦  «        d ej	        d¦  «         dgfg¦  «        d„ ¦   «         Z
d„ Zd„ Zej                             deeej        eej        g¦  «        d„ ¦   «         Zej                             dd	d
g¦  «        ej                             dddg¦  «        ej                             dej        ej        ej        ej        g¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dej        ej        ej        ej        g¦  «        d„ ¦   «         ¦   «         ZdS )Ú	TestSchurc                 ó  — t          ||z  |                     ¦   «         j        z  |||d¬¦  «         t          ||                     ¦   «         j        z  t          j        t          |¦  «        ¦  «        z
  dd|d¬¦  «         d S )Nz&Schur decomposition does not match 'a'r¾   r   zu is not unitary)r   rV   rW   rS   rF   re   )r{   r|   Útr“  r¿   rÀ   s         r]   Úcheck_schurzTestSchur.check_schur  sŠ   € å˜˜A™ §¢¡¤¤
Ñ*¨A°D¸tØ Hð	Jñ 	Jô 	Jð 	Jõ 	˜˜AŸFšF™HœHœJ™­¬µ°A±´©¬Ñ7¸ÀÈØ 2ð	4ñ 	4ô 	4ð 	4ð 	4ð 	4r_   c           	      óú  — g d¢g d¢g d¢g}t          |¦  «        \  }}|                      |||dd¬¦  «         t          |d¦  «        \  }}t          t          j        t          t          |¦  «        ¦  «        ¦  «        o-t          j        t          t          |¦  «        ¦  «        ¦  «        ¦  «         |                      |||dd¬¦  «         t          ||¦  «        \  }}|                      |||dd¬¦  «         d S )N©ri  é   rs   rj  ©rB  rs   rv   r+  ç›+¡†›„ö<©r¿   rÀ   r›   )r   r>  r   rS   r3  r=   r?   r   )r{   r|   r=  rã  ÚtcÚzcÚtc2Úzc2s           r]   r   zTestSchur.test_simple  só   € ØˆZˆZ˜˜˜ J J JÐ/ˆÝ�Q‰xŒx‰ˆˆ1Ø×Ò˜˜A˜q u°5ÐÑ9Ô9Ð9Ý�q˜)Ñ$Ô$‰ˆˆBÝ•”•u�Y r™]œ]Ñ+Ô+Ñ,Ô,ÐMµ´½½iÈ¹m¼mÑ8LÔ8LÑ1MÔ1MÑNÔNÐNØ×Ò˜˜B ¨°UÐÑ;Ô;Ð;Ý˜2˜r‘?”?‰ˆˆSØ×Ò˜˜C ¨5°uÐÑ=Ô=Ð=Ð=Ð=r_   zsort, expected_diagÚlhprQ   ç      à¿rb   ÚrhpÚiucÚoucc                 ó   — | dk    S )Nrh  rœ   )rÅ  s    r]   ú<lambda>zTestSchur.<lambda>&  s
   € �A˜’H€ r_   c                 óè   — g d¢g d¢g d¢g d¢g}t          ||¬¦  «        \  }}}|                      |||dd¬¦  «         t          t          j        |¦  «        |d	¬
¦  «         t          d|¦  «         d S )N©r'  r¡   rC  rD  ©g      Àg      ÀrD  rC  ©r   ç      @ç      Àg      @©rT  r'  rF  ç      @©rA   r+  rC  rD  çê-�™—q=©r¿   rQ   )r   r>  r   rS   r5   r   )r{   rA   Úexpected_diagr|   r=  r“  Úsdims          r]   Ú	test_sortzTestSchur.test_sort   s›   € ð ÐÐØ"Ð"Ð"ØÐÐØÐÐð!ˆõ ˜1 4Ð(Ñ(Ô(‰
ˆˆ1ˆdØ×Ò˜˜A˜q u°5ÐÑ9Ô9Ð9Ý�œ ™
œ
 M¸Ð>Ñ>Ô>Ð>Ý�Q˜ÑÔÐÐÐr_   c                 ó–   — g d¢g d¢g d¢g d¢g}t          t          t          |d¬¦  «         t          t          t          |d¬¦  «         d S )NrQ  rR  rS  rV  ÚunsupportedrX  ra   )r  r  r   r^  s     r]   Útest_sort_errorszTestSchur.test_sort_errors4  sc   € ØÐÐØ"Ð"Ð"ØÐÐØÐÐð!ˆõ 	•j¥%¨°Ð?Ñ?Ô?Ð?Ý•j¥%¨°Ð3Ñ3Ô3Ð3Ð3Ð3r_   c                 óž   — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}t          ||z  |                     ¦   «         j        z  |¦  «         d S )Nr@  rj  rB  Fr‡   )r   r   rV   rW   )r{   r|   r=  rã  s       r]   r  zTestSchur.test_check_finite<  sY   € ØˆZˆZ˜˜˜ J J JÐ/ˆÝ�Q UÐ+Ñ+Ô+‰ˆˆ1Ý! ! a¡%¨!¯&ª&©(¬(¬*Ñ"4°aÑ8Ô8Ð8Ð8Ð8r_   rŠ   c                 óŒ  — t          j        d|¬¦  «        }t          |¦  «        \  }}t          t          j        d|¬¦  «        ¦  «        \  }}t	          |t          j        d¦  «        ¦  «         t	          |t          j        d¦  «        ¦  «         |j        |j        k    sJ ‚|j        |j        k    sJ ‚t          |d¬¦  «        \  }}}t	          |t          j        d¦  «        ¦  «         t	          |t          j        d¦  «        ¦  «         t          |d¦  «         |j        |j        k    sJ ‚|j        |j        k    sJ ‚d S )NrŒ   r�   rQ   rI  rX  r   )rS   r’   r   rF   r   r[   r   )r{   rŠ   r|   r=  rã  Út0Úz0r\  s           r]   r“   zTestSchur.test_emptyA  s/  € åŒH�V 2Ð&Ñ&Ô&ˆÝ�Q‰xŒx‰ˆˆ1Ý•r”v˜a rÐ*Ñ*Ô*Ñ+Ô+‰ˆˆBÝ˜�2œ8 FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ8 FÑ+Ô+Ñ,Ô,Ð,ØŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"å˜1 5Ð)Ñ)Ô)‰
ˆˆ1ˆdÝ˜�2œ8 FÑ+Ô+Ñ,Ô,Ð,Ý˜�2œ8 FÑ+Ô+Ñ,Ô,Ð,Ý�T˜1ÑÔÐØŒw˜"œ(Ò"Ð"Ð"Ð"ØŒw˜"œ(Ò"Ð"Ð"Ð"Ð"Ð"r_   rA   ÚoutputrN  r›   r[   c                 ó¾   — t          j        ddgddgg¦  «        }t          |                     |¦  «        ||¬¦  «        d         }|dk    r|dk    sn|dk    sJ ‚d S d S )Nçš™™™™™¹?r¯   rQ   ©rA   re  r¢   rL  r   )rS   rC   r   rX   )r{   rA   re  r[   r\   r\  s         r]   Útest_gh_13137_sort_strz TestSchur.test_gh_13137_sort_strR  sl   € õ  ŒJ˜˜b˜	 A s 8Ð,Ñ-Ô-ˆõ �Q—X’X˜e‘_”_¨4¸Ð?Ñ?Ô?ÀÔCˆØ  EšM˜Mˆt�qŠyˆyˆy¨t°qªy¨y¨y¨y¨y¨yˆyˆyr_   c                 ó  ‡— t          j        ddgddgg¦  «        }|dk    o|t           j        t           j        hv Šd	ˆfd„	}t	          |                     |¦  «        ||¬¦  «        d         }‰r|dk    sn|dk    sJ ‚d S d S )
Nrg  r¯   rQ   rN  c                 óÄ   •— ‰r7t          j        | ¦  «        rJ ‚|�t          j        |¦  «        sJ ‚| |dz  z   }nt          j        | ¦  «        sJ ‚|�J ‚| }|j        dk    S )NrP   r÷  )rS   ÚiscomplexobjÚisrealrÊ   )rÅ  r�  rã  Úall_reals      €r]   rA   z1TestSchur.test_gh_13137_sort_custom.<locals>.sorty  su   ø€ Øð Ýœ?¨1Ñ-Ô-Ð-Ð-Ð-Ø�}­¬°1©¬�}�}�}Ø˜˜"™‘H��å” qÑ)Ô)Ð)Ð)Ð)Ø�y�y�yØ�Ø”6˜E’>Ð!r_   rh  r¢   ra   r=  )rS   rC   r;   r%  r   rX   )r{   re  r[   r\   rA   r\  rn  s         @r]   Útest_gh_13137_sort_customz#TestSchur.test_gh_13137_sort_customh  s¤   ø€ õ ŒJ˜˜b˜	 A s 8Ð,Ñ-Ô-ˆà˜6’>ÐG eµ´
½B¼JÐ/GÐ&Gˆð		"ð 		"ð 		"ð 		"ð 		"ð 		"õ �Q—X’X˜e‘_”_¨4¸Ð?Ñ?Ô?ÀÔCˆØ$Ð3ˆt�qŠyˆyˆy¨$°!ª)¨)¨)¨)¨)¨)ˆyˆyr_   N)r”   r•   r–   r>  r   r—   r˜   r™   rS   r>   r]  r`  r  rd   rš   r;   r›   r<   r“   r%  r&  ri  ro  rœ   r_   r]   r;  r;    sŒ  € € € € € ð4ð 4ð 4ð>ð >ð >ð „[×ÒØØ
�7�2”7˜1‘:”:�+˜t W R¤W¨Q¡Z¤Z°Ð5Ð	6Ø
�'�"”'˜!‘*”*˜c G B¤G¨A¡J¤J ;°Ð5Ð	6Ø
�$˜˜W˜RœW Q™ZœZ¨'¨"¬'°!©*¬*¨Ð5Ð	6Ø
�'�"”'˜!‘*”*˜w˜rœw q™zœz˜k¨4°Ð5Ð	6Ø
Ð
˜w˜rœw q™zœz¨3°°´¸±´°¸TÐBÐ	Cð		Eñô ð
ð 
ñô ð
ð4ð 4ð 4ð9ð 9ð 9ð
 „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð#ð #ñ TÔSð#ð  „[×Ò˜V e¨U ^Ñ4Ô4Ø„[×Ò˜X¨°	Ð':Ñ;Ô;Ø„[×Ò˜W r¤z°2´:Ø')¤|°R´]ð'Dñ Eô Eð9ð 9ñEô Eñ <Ô;ñ 5Ô4ð9ð$ „[×Ò˜X¨°	Ð':Ñ;Ô;Ø„[×Ò˜W r¤z°2´:Ø')¤|°R´]ð'Dñ Eô Eð4ð 4ñEô Eñ <Ô;ð4ð 4ð 4r_   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eeg¦  «        d
„ ¦   «         ZdS )ÚTestHessenbergc                 ó´   — g d¢g d¢g d¢g}g d¢g d¢g d¢g}t          |d¬¦  «        \  }}t          |j        |z  |z  |¦  «         t          ||d	¬
¦  «         d S )N©ikÿÿÿiÎÿÿÿifÿÿÿ©é  é´   é"  ©iåÿÿÿr  éçÿÿÿ©g      bÀgüs×E@gã¥›Ä ŠcÀ©gçŒ(mÍ€Àgkšwœ¢c@gÏfÕçjW�À©r   gÂ&S£²?g,eâX—@ra   ©Úcalc_qrÍ  ©Údecimal©r   r   rW   ©r{   r|   Úh1rm   rn  s        r]   r   zTestHessenberg.test_simple�  s‘   € ØÐÐØˆ_ˆ_Øˆ^ˆ^ðˆð .Ð-Ð-Ø.Ð.Ð.Ø!Ð!Ð!ð#ˆõ ˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !¤#¨¡'¨A¡+¨qÑ1Ô1Ð1Ý! ! R°Ð3Ñ3Ô3Ð3Ð3Ð3r_   c                 óž   — g d¢g d¢g d¢g}t          |d¬¦  «        \  }}t          |                     ¦   «         j        |z  |z  |¦  «         d S )Nrs  )ru  y             €f@rw  )y       €      ;Àr  ry  ra   r}  )r   r   rV   rW   ©r{   r|   rm   rn  s       r]   r…   z"TestHessenberg.test_simple_complex˜  sc   € ØÐÐØÐÐØˆ_ˆ_ðˆõ ˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !§&¢&¡(¤(¤*¨q¡.°1Ñ"4°aÑ8Ô8Ð8Ð8Ð8r_   c                 ó’   — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}t          |d¬	¦  «        \  }}t          |j        |z  |z  |¦  «         d S )
N)ra   rQ   rs   rÍ  ru   rv   râ  )r   rQ   rs   rÍ  rv   râ  rQ   )r   rQ   rQ   rs   r   rs   rQ   )r   r   rQ   ri  r   r   rQ   )r   rs   ra   rQ   r   ra   rQ   )r   ra   rQ   rs   r   ra   r   )r   r   r   r   r   ra   rQ   ra   r}  r�  r…  s       r]   Útest_simple2zTestHessenberg.test_simple2Ÿ  s€   € Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"ð$ˆõ ˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !¤#¨¡'¨A¡+¨qÑ1Ô1Ð1Ð1Ð1r_   c                 ó–   — t          j        d¦  «        }d|d<   t          |d¬¦  «        \  }}t          |j        |z  |z  |¦  «         d S )Nrs   rQ   )r¢   r   ra   r}  )rS   rF   r   r   rW   r…  s       r]   Útest_simple3zTestHessenberg.test_simple3ª  sN   € ÝŒF�1‰IŒIˆØˆˆ%‰Ý˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !¤#¨¡'¨A¡+¨qÑ1Ô1Ð1Ð1Ð1r_   c                 óø   — t           j                             d¦  «        }d}t          d¦  «        D ]H}|                     ||g¦  «        }t	          |d¬¦  «        \  }}t          |j        |z  |z  |¦  «         ŒId S )Nr  rÜ  rQ   ra   r}  )rS   rT   r  r¨   r   r   rW   ©r{   ri   rY   r  r|   rm   rn  s          r]   r  zTestHessenberg.test_random°  sƒ   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	6ð 	6ˆAØ—
’
˜A˜q˜6Ñ"Ô"ˆAÝ˜a¨Ð*Ñ*Ô*‰DˆAˆqÝ% a¤c¨A¡g°¡k°1Ñ5Ô5Ð5Ð5ð	6ð 	6r_   c                 óR  — t           j                             d¦  «        }d}t          d¦  «        D ]u}|                     ||g¦  «        d|                     ||g¦  «        z  z   }t	          |d¬¦  «        \  }}t          |                     ¦   «         j        |z  |z  |¦  «         Œvd S )Nr  rÜ  rQ   rP   ra   r}  )rS   rT   r  r¨   r   r   rV   rW   r‹  s          r]   r"  z"TestHessenberg.test_random_complex¸  s¦   € ÝŒi×#Ò# DÑ)Ô)ˆØˆÝ�q‘”ð 	=ð 	=ˆAØ—
’
˜A˜q˜6Ñ"Ô" R¨¯
ª
°A°q°6Ñ(:Ô(:Ñ%:Ñ:ˆAÝ˜a¨Ð*Ñ*Ô*‰DˆAˆqÝ% a§f¢f¡h¤h¤j°1¡n°qÑ&8¸!Ñ<Ô<Ð<Ð<ð	=ð 	=r_   c                 ó¶   — g d¢g d¢g d¢g}g d¢g d¢g d¢g}t          |dd¬	¦  «        \  }}t          |j        |z  |z  |¦  «         t          ||d
¬¦  «         d S )Nrs  rt  rx  rz  r{  r|  ra   F)r~  rˆ   rÍ  r  r�  r‚  s        r]   r  z TestHessenberg.test_check_finiteÀ  s“   € ØÐÐØˆ_ˆ_Øˆ^ˆ^ðˆð .Ð-Ð-Ø.Ð.Ð.Ø!Ð!Ð!ð#ˆõ ˜! A°EÐ:Ñ:Ô:‰ˆˆ1Ý! !¤#¨¡'¨A¡+¨qÑ1Ô1Ð1Ý! ! R°Ð3Ñ3Ô3Ð3Ð3Ð3r_   c                 ó>  — ddgddgg}t          |d¬¦  «        \  }}t          |t          j        d¦  «        ¦  «         t          ||¦  «         ddgdd	gg}t          |d¬¦  «        \  }}t          |t          j        d¦  «        ¦  «         t          ||¦  «         d S )
NrQ   ra   râ  rA  r}  y       @      Àr°   y      @      @y      (@       À)r   r   rS   rF   )r{   r|   rm   rn  r¹   Úh2r  s          r]   Útest_2x2zTestHessenberg.test_2x2Ë  s¨   € Ø�ˆV�a˜�WÐˆå˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !¥R¤V¨A¡Y¤YÑ/Ô/Ð/Ý! ! QÑ'Ô'Ð'à�Dˆ\˜D %˜=Ð)ˆÝ˜A aÐ(Ñ(Ô(‰ˆˆBÝ! "¥b¤f¨Q¡i¤iÑ0Ô0Ð0Ý! " aÑ(Ô(Ð(Ð(Ð(r_   rŠ   c                 óœ  — t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          t          j        d|¬¦  «        ¦  «        j        k    sJ ‚t          |d¬¦  «        \  }}t          |d¬¦  «        \  }}|j        dk    sJ ‚|j        |j        k    sJ ‚|j        dk    sJ ‚|j        |j        k    sJ ‚d S )NrŒ   r�   rs   Tr}  )rS   r’   r   r@   r[   rF   )r{   rŠ   r|   rm   rn  Úh3r  s          r]   r“   zTestHessenberg.test_empty×  sã   € åŒH�V 2Ð&Ñ&Ô&ˆÝ�q‰MŒMˆØŒw˜&Ò Ð Ð Ð ØŒw�*¥R¤V¨A°RÐ%8Ñ%8Ô%8Ñ9Ô9Ô?Ò?Ð?Ð?Ð?å˜! DÐ)Ñ)Ô)‰ˆˆ1Ý˜A dÐ+Ñ+Ô+‰ˆˆBØŒw˜&Ò Ð Ð Ð ØŒw˜"œ(Ò"Ð"Ð"Ð"àŒw˜&Ò Ð Ð Ð ØŒw˜"œ(Ò"Ð"Ð"Ð"Ð"Ð"r_   N)r”   r•   r–   r   r…   r‡  r‰  r  r"  r  r�  r—   r˜   r™   rd   rš   r;   r›   r<   r“   rœ   r_   r]   rq  rq  ‹  sÆ   € € € € € ð	4ð 	4ð 	4ð9ð 9ð 9ð	2ð 	2ð 	2ð2ð 2ð 2ð6ð 6ð 6ð=ð =ð =ð	4ð 	4ð 	4ð
)ð 
)ð 
)ð „[×Ò˜T C¨°¸À)Ð#LÑMÔMð#ð #ñ NÔMð#ð #ð #r_   rq  zBuild DependenciesÚblasÚnameÚversionc                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestQZc                 ó¢  — t           j                             d¦  «        }d}|                     ||g¦  «                             t          ¦  «        }|                     ||g¦  «                             t          ¦  «        }t          ||¦  «        \  }}}}t          ||z  |j        z  |d¬¦  «         t          ||z  |j        z  |d¬¦  «         t          ||j        z  t          |¦  «        d¬¦  «         t          ||j        z  t          |¦  «        d¬¦  «         t          t          j
        t          |¦  «        dk    ¦  «        ¦  «         d S )Né90  ru   r  r   )rS   rT   r  rX   r;   r   r   rW   rF   r   rÇ   r5   ©	r{   ri   rY   r\   rË   ÚAAÚBBÚQr  s	            r]   Útest_qz_singlezTestQZ.test_qz_singleî  s  € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�JŠJ˜˜1�vÑÔ×%Ò%¥gÑ.Ô.ˆØ�JŠJ˜˜1�vÑÔ×%Ò%¥gÑ.Ô.ˆÝ˜!˜Q‘x”x‰ˆˆB��1Ý! ! b¡&¨1¬3¡,°¸1Ð=Ñ=Ô=Ð=Ý! ! b¡&¨1¬3¡,°¸1Ð=Ñ=Ô=Ð=Ý! ! a¤c¡'­3¨q©6¬6¸1Ð=Ñ=Ô=Ð=Ý! ! a¤c¡'­3¨q©6¬6¸1Ð=Ñ=Ô=Ð=Ý•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&r_   c                 ó2  — t           j                             d¦  «        }d}|                     ||g¦  «        }|                     ||g¦  «        }t          ||¦  «        \  }}}}t	          ||z  |j        z  |¦  «         t	          ||z  |j        z  |¦  «         t	          ||j        z  t          |¦  «        ¦  «         t	          ||j        z  t          |¦  «        ¦  «         t          t          j        t          |¦  «        dk    ¦  «        ¦  «         d S )Nr™  ru   r   ©
rS   rT   r  r   r   rW   rF   r   rÇ   r5   rš  s	            r]   Útest_qz_doublezTestQZ.test_qz_doubleú  sï   € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�JŠJ˜˜1�vÑÔˆØ�JŠJ˜˜1�vÑÔˆÝ˜!˜Q‘x”x‰ˆˆB��1Ý! ! b¡&¨1¬3¡,°Ñ2Ô2Ð2Ý! ! b¡&¨1¬3¡,°Ñ2Ô2Ð2Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&r_   c                 óœ  — t           j                             d¦  «        }d}|                     ||g¦  «        d|                     ||g¦  «        z  z   }|                     ||g¦  «        d|                     ||g¦  «        z  z   }t          ||¦  «        \  }}}}t	          ||z  |                     ¦   «         j        z  |¦  «         t	          ||z  |                     ¦   «         j        z  |¦  «         t	          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t	          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t          t          j	        t          |¦  «        dk    ¦  «        ¦  «         t          t          j	        t          |¦  «        j        dk    ¦  «        ¦  «         d S )Nr™  ru   rP   r   )rS   rT   r  r   r   rV   rW   rF   r   rÇ   r5   rÊ   rš  s	            r]   Útest_qz_complexzTestQZ.test_qz_complex	  sj  € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�JŠJ˜˜1�vÑÔ  C§J¢J°°1¨vÑ$6Ô$6Ñ!6Ñ6ˆØ�JŠJ˜˜1�vÑÔ  C§J¢J°°1¨vÑ$6Ô$6Ñ!6Ñ6ˆÝ˜!˜Q‘x”x‰ˆˆB��1Ý! ! b¡&¨1¯6ª6©8¬8¬:Ñ"5°qÑ9Ô9Ð9Ý! ! b¡&¨1¯6ª6©8¬8¬:Ñ"5°qÑ9Ô9Ð9Ý! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&Ñ9Ô9Ð9Ý! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&Ñ9Ô9Ð9Ý•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ý•”•t˜B‘x”x”}¨Ò)Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r_   c                 ó  — t           j                             d¦  «        }d}|                     ||g¦  «        d|                     ||g¦  «        z  z                        t          ¦  «        }|                     ||g¦  «        d|                     ||g¦  «        z  z                        t          ¦  «        }t          ||¦  «        \  }}}}t          ||z  |                     ¦   «         j        z  |d¬¦  «         t          ||z  |                     ¦   «         j        z  |d¬¦  «         t          ||                     ¦   «         j        z  t          |¦  «        d¬¦  «         t          ||                     ¦   «         j        z  t          |¦  «        d¬¦  «         t          t          j        t          |¦  «        dk    ¦  «        ¦  «         t          t          j        t          |¦  «        j        dk    ¦  «        ¦  «         d S )Nr™  ru   rP   r  r   )rS   rT   r  rX   r<   r   r   rV   rW   rF   r   rÇ   r5   rÊ   rš  s	            r]   Útest_qz_complex64zTestQZ.test_qz_complex64	  sš  € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�ZŠZ˜˜A˜ÑÔ " S§Z¢Z°°A°Ñ%7Ô%7Ñ"7Ñ7×?Ò?Å	ÑJÔJˆØ�ZŠZ˜˜A˜ÑÔ " S§Z¢Z°°A°Ñ%7Ô%7Ñ"7Ñ7×?Ò?Å	ÑJÔJˆÝ˜!˜Q‘x”x‰ˆˆB��1Ý! ! b¡&¨1¯6ª6©8¬8¬:Ñ"5°qÀ!ÐDÑDÔDÐDÝ! ! b¡&¨1¯6ª6©8¬8¬:Ñ"5°qÀ!ÐDÑDÔDÐDÝ! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&À!ÐDÑDÔDÐDÝ! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&À!ÐDÑDÔDÐDÝ•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ý•”•t˜B‘x”x”}¨Ò)Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r_   c                 ó6  — t           j                             d¦  «        }d}|                     ||g¦  «        }|                     ||g¦  «        }t          ||d¬¦  «        \  }}}}||z  |                     ¦   «         j        z  }	t          |	j        |¦  «         t          |	j        d¦  «         ||z  |                     ¦   «         j        z  }
t          |
j        |¦  «         t          |
j        d¦  «         t          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t          ||                     ¦   «         j        z  t          |¦  «        ¦  «         t          t          j        t          |¦  «        dk    ¦  «        ¦  «         d S )Nr™  ru   r›   )re  r   )rS   rT   r  r   rV   rW   r   rN  rÊ   rF   r   rÇ   r5   )r{   ri   rY   r\   rË   r›  rœ  r�  r  ÚaaÚbbs              r]   Útest_qz_double_complexzTestQZ.test_qz_double_complex 	  sJ  € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�JŠJ˜˜1�vÑÔˆØ�JŠJ˜˜1�vÑÔˆÝ˜!˜Q yÐ1Ñ1Ô1‰ˆˆB��1Ø�‰V�a—f’f‘h”h”jÑ ˆÝ! "¤'¨1Ñ-Ô-Ð-Ý! "¤'¨1Ñ-Ô-Ð-Ø�‰V�a—f’f‘h”h”jÑ ˆÝ! "¤'¨1Ñ-Ô-Ð-Ý! "¤'¨1Ñ-Ô-Ð-Ý! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&Ñ9Ô9Ð9Ý! ! a§f¢f¡h¤h¤j¡.µ#°a±&´&Ñ9Ô9Ð9Ý•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&r_   c                 óÄ   — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g d¢g¦  «        }t          t          t          ||d	„ ¬
¦  «         d S )N)ç333333@ç      )@ç     @AÀg      @©ç333333@ç     €5@g     ÀGÀg      @)r¯  r   ç     ÀEÀrW  )çš™™™™™@rT  ç      GÀrT  )rC  rC  rF  rC  )rC  r¡   g      Àr²  )rC  r&  rU  rC  )rþ  r¡   rU  r'  c                 ó   — |dk    S )Nr   rœ   )ÚarÚaiÚbetas      r]   rO  z,TestQZ.test_qz_double_sort.<locals>.<lambda>H	  s
   € ÀbÈAÂg€ r_   rX  )	rS   r4   r  r  r   r   r   rW   rÉ   )r{   r\   rË   r›  rœ  r�  r  r\  s           r]   Útest_qz_double_sortzTestQZ.test_qz_double_sort0	  s¥   € õ ŒHÐ-Ð-Ð-Ø-Ð-Ð-Ø,Ð,Ð,Ø,Ð,Ð,ð.ñ /ô /ˆõ
 ŒHÐ+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ˆõ
 	•j¥" a¨Ð1MÐ1MÐNÑNÔNÐNð	Fð 	Fr_   c                 ó6  — t           j                             d¦  «        }d}|                     ||g¦  «        }|                     ||g¦  «        }t          ||d¬¦  «        \  }}}}t	          ||z  |j        z  |¦  «         t	          ||z  |j        z  |¦  «         t	          ||j        z  t          |¦  «        ¦  «         t	          ||j        z  t          |¦  «        ¦  «         t          t          j        t          |¦  «        dk    ¦  «        ¦  «         d S )Nr™  ru   Fr‡   r   r   rš  s	            r]   r  zTestQZ.test_check_finite“	  sö   € ÝŒi×#Ò# EÑ*Ô*ˆØˆØ�JŠJ˜˜1�vÑÔˆØ�JŠJ˜˜1�vÑÔˆÝ˜!˜Q¨UÐ3Ñ3Ô3‰ˆˆB��1Ý! ! b¡&¨1¬3¡,°Ñ2Ô2Ð2Ý! ! b¡&¨1¬3¡,°Ñ2Ô2Ð2Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý! ! a¤c¡'­3¨q©6¬6Ñ2Ô2Ð2Ý•”•t˜B‘x”x 1’}Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&r_   N)
r”   r•   r–   rž  r¡  r£  r¥  r©  r¸  r  rœ   r_   r]   r—  r—  í  s�   € € € € € ð
'ð 
'ð 
'ð
'ð 
'ð 
'ð,ð ,ð ,ð,ð ,ð ,ð'ð 'ð 'ð 5Fð 5Fð 5FðF
'ð 
'ð 
'ð 
'ð 
'r_   r—  c                   óf   — e Zd Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ ZdS )Ú	TestOrdQZc                 ó6  — t          j        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¦  «        }t          j        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¦  «        }t          j        d¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }	|||||	g| _        |||||	g| _        d S )N)yš™™™™5À     €6Ày     ÀJ@     @IÀy     @AÀ     à_@y      @      à?)yq=
×£pÝ¿…ëQ¸Ày      À     ÀBÀy      /À     @M@y      %À      ø¿)y333333@      Àyš™™™™ÙC@š™™™™1Ày      QÀ      )@y      À      À)y      @š™™™™™@yÍÌÌÌÌÌ,@fffff¦E@y     @@À      GÀy      3À     @@À)y      ð?      Àyš™™™™™ù?333333ó?y      À        y              ð¿)yš™™™™™é?333333ã¿y              Ày      À      @y333333Àš™™™™™	À)y      ð?        y333333@ÍÌÌÌÌÌü?y      À      Ày              À)rP   yÍÌÌÌÌÌü¿333333@y              Ày      @      À)r«  r¬  r­  rJ  r®  )r¯  r°  r±  rW  )r²  g      :@r³  rT  )ra   rQ   éýÿÿÿra   )ra   rs   éûÿÿÿrÍ  )ra   rs   éüÿÿÿrs   )ra   rs   r¿  rÍ  )r  rC  r¡   r¡   )r'  r'  r&  r*  )r*  r'  rC  r¡   )rh  r'  r-  r*  )r-  r(  rT  r(  )r*  r*  r&  r   )r   rC  rT  rT  )r  rC  r'  r*  rQ   r   ra   )rS   r4   rF   r5   r\   rË   )
ÚclsÚA1ÚB1ÚA2ÚB2ÚA3ÚB3ÚA4ÚB4ÚA5s
             r]   rË  zTestOrdQZ.setup_class¡	  s×  € õ ŒXð $ð $ð $ð&ð &ð &ð%ð %ð %ð'ð 'ð 'ð(ñ )ô )ˆõ ŒXÐDÐDÐDØDÐDÐDØDÐDÐDØDÐDÐDðFñ Gô Gˆõ ŒXÐ/Ð/Ð/Ø.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.ð0ñ 1ô 1ˆõ
 ŒX�}�}�}Ø$�}�}Ø$�}�}Ø$�}�}ð&ñ 'ô 'ˆõ ŒXÐ'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ ŒXÐ)Ð)Ð)Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ ŒV�A‰YŒYˆÝŒW�a˜�V‰_Œ_ˆõ ŒW�a˜�V‰_Œ_ˆà�R˜˜R Ð$ˆŒØ�R˜˜R Ð$ˆŒˆˆr_   c                 óÈ   ‡— t          j        d¬¦  «        5  ˆfd„t          | j        | j        ¦  «        D ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        S )NÚraiserû   c                 ó:   •— g | ]\  }}t          ||‰¬ ¦  «        ‘ŒS )rX  )r    )Ú.0ÚAiÚBirA   s      €r]   ú
<listcomp>z'TestOrdQZ.qz_decomp.<locals>.<listcomp>Ú	  s,   ø€ ÐNÐNÐN±°°B•5˜˜R dÐ+Ñ+Ô+ÐNÐNÐNr_   )rS   rü   Úzipr\   rË   Útuple)r{   rA   Úrets    ` r]   Ú	qz_decompzTestOrdQZ.qz_decompØ	  s¯   ø€ ÝŒ[˜WÐ%Ñ%Ô%ð 	Oð 	OØNÐNÐNÐN½#¸d¼fÀdÄfÑ:MÔ:MÐNÑNÔNˆCð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oå�S‰zŒzÐs   —'A
Á
AÁAc
           	      ó*  — t          j        |j        Ž }
t          ||j                             ¦   «         z  |
¦  «         t          |	|	j                             ¦   «         z  |
¦  «         t          ||z  ||	z  ¦  «         t          ||z  ||	z  ¦  «         t          t          j        |d¦  «        t          j        |j        ¦  «        ¦  «         t          t          j        |d¦  «        t          j        |j        ¦  «        ¦  «         t          |j        d         ¦  «        D �]{}|dk    r|||dz
  f         dk    rŒ||j        d         dz
  k     rª||dz   |f         dk    r™t          |||dz   …||dz   …f         |||dz   …||dz   …f         ¦  «        \  }}|d         j        dk     r
|ddg         }|||dz   …         |||dz   …         z  }|d         j        dk     r
|ddg         }t          ||¦  «         ŒÙ||         dk    r>||         dk    r2t          |||f         d¦  «         t          |||f         d¦  «         �Œ#||         dk    rt          |||f         d¦  «         �ŒIt          |||f         |||f         z  ||         ||         z  ¦  «         �Œ}t          |¦  «        }d}t          |j        d         ¦  «        D ]H} |t          j        ||         g¦  «        t          j        ||         g¦  «        ¦  «        }|s|rJ ‚|}ŒId S )Nr¯   r¢   r   ra   rQ   T)rS   rF   r@   r   rW   rV   r   Útrilr9   r¨   r
   rÊ   r   r   r2   r4   )r{   r\   rË   rA   r›  rœ  Úalphar·  r�  r  ÚIdr­   ÚevalsÚ_ÚtmpÚsortfunÚlastsortÚcursorts                     r]   ÚcheckzTestOrdQZ.checkÝ	  s  € ÝŒV�Q”WÐˆå! ! a¤c§h¢h¡j¤j¡.°"Ñ5Ô5Ð5Ý! ! a¤c§h¢h¡j¤j¡.°"Ñ5Ô5Ð5å! ! b¡&¨!¨a©%Ñ0Ô0Ð0Ý! ! b¡&¨!¨a©%Ñ0Ô0Ð0å�2œ7 2 r™?œ?­B¬H°R´XÑ,>Ô,>Ñ?Ô?Ð?Ý�2œ7 2 r™?œ?­B¬H°R´XÑ,>Ô,>Ñ?Ô?Ð?å�q”w˜q”zÑ"Ô"ð 	Mñ 	MˆAð �1Šuˆu˜˜1˜a !™e˜8œ¨Ò)Ð)Øà�2”8˜A”; ‘?Ò"Ð" r¨!¨a©%°¨(¤|°qÒ'8Ð'8Ý˜r ! A¨¡E '¨1¨Q°©U¨7Ð"2Ô3°R¸¸!¸a¹%¸ÀÀ1ÀqÁ5ÀÐ8HÔ5IÑJÔJ‘��qð ˜”8”= 1Ò$Ð$Ø! 1 a &œM�EØ˜A˜a !™e˜G”n T¨!¨A°©E¨'¤]Ñ2�Ø�q”6”; ’?�?Ø˜q !˜fœ+�CÝ)¨%°Ñ5Ô5Ð5Ð5à˜”8˜q’=�= T¨!¤W°¢\ \Ý   A q D¤¨1Ñ-Ô-Ð-Ý   A q D¤¨1Ñ-Ô-Ð-Ñ-Ø˜!”W ’\�\Ý   A q D¤¨1Ñ-Ô-Ð-Ñ-å'¨¨1¨a¨4¬°°A°q°D´Ñ(9¸5À¼8ÀDÈÄGÑ;KÑLÔLÐLÑLÝ" 4Ñ(Ô(ˆØˆÝ�q”w˜q”zÑ"Ô"ð 	ð 	ˆAØ�g�bœh¨¨a¬ zÑ2Ô2µB´H¸dÀ1¼g¸YÑ4GÔ4GÑHÔHˆGð ð #Ø"Ð"Ð"Ð"ØˆHˆHð	ð 	r_   c                 ó”   — |                       |¦  «        }t          || j        | j        ¦  «        D ]\  }}} | j        |||g|¢R Ž  Œd S r=  )rÔ  rÑ  r\   rË   rß  )r{   rA   rÓ  ÚretirÎ  rÏ  s         r]   Ú	check_allzTestOrdQZ.check_all
  sc   € Ø�nŠn˜TÑ"Ô"ˆå  T¤V¨T¬VÑ4Ô4ð 	,ð 	,‰LˆD�"�bØˆDŒJ�r˜2˜tÐ+ dÐ+Ð+Ð+Ð+Ð+ð	,ð 	,r_   c                 ó0   — |                       d¦  «         d S )NrI  ©râ  r?  s    r]   Útest_lhpzTestOrdQZ.test_lhp
  ó   € Ø�Š�uÑÔÐÐÐr_   c                 ó0   — |                       d¦  «         d S )NrK  rä  r?  s    r]   Útest_rhpzTestOrdQZ.test_rhp
  ræ  r_   c                 ó0   — |                       d¦  «         d S )NrL  rä  r?  s    r]   Útest_iuczTestOrdQZ.test_iuc
  ræ  r_   c                 ó0   — |                       d¦  «         d S )NrM  rä  r?  s    r]   Útest_ouczTestOrdQZ.test_ouc
  ræ  r_   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 óŽ   — t          j        | t          ¬¦  «        }|dk    }d|| <   | |         ||         z  j        dk    ||<   |S ©Nr�   r   F©rS   Ú
empty_likeÚboolrÊ   ©rÅ  r�  ÚoutÚnonzeros       r]   rA   z TestOrdQZ.test_ref.<locals>.sort
  óM   € Ý”- ­Ð.Ñ.Ô.ˆCØ˜A’vˆGØ!ˆC��‰MØ˜gœJ q¨¤zÑ1Ô7¸1Ò<ˆC�‰LØˆJr_   rä  ©r{   rA   s     r]   Útest_refzTestOrdQZ.test_ref
  ó+   € ð	ð 	ð 	ð 	�Š�tÑÔÐÐÐr_   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 óŽ   — t          j        | t          ¬¦  «        }|dk    }d|| <   | |         ||         z  j        dk    ||<   |S rï  rð  ró  s       r]   rA   z TestOrdQZ.test_cef.<locals>.sort*
  rö  r_   rä  r÷  s     r]   Útest_cefzTestOrdQZ.test_cef(
  rù  r_   c                 ó>  — t          | j        d         | j        d         d¬¦  «        } | j        | j        d         | j        d         dg|¢R Ž  t          | j        d         | j        d         d¬¦  «        } | j        | j        d         | j        d         dg|¢R Ž  d S )Nra   rQ   rI  rX  )r    r\   rË   rß  )r{   rÓ  s     r]   Útest_diff_input_typeszTestOrdQZ.test_diff_input_types3
  sœ   € Ý�D”F˜1”I˜tœv aœy¨uÐ5Ñ5Ô5ˆØˆŒ
�4”6˜!”9˜dœf Qœi¨Ð5°Ð5Ð5Ð5Ð5å�D”F˜1”I˜tœv aœy¨uÐ5Ñ5Ô5ˆØˆŒ
�4”6˜!”9˜dœf Qœi¨Ð5°Ð5Ð5Ð5Ð5Ð5Ð5r_   c                 óv  — t          j        d¦  «        }t          j        ddg¦  «        }dddgfdddgfdddgfdddgfg}t          j        d¦  «        }t          j        d	d
g¦  «        }dddgfdddgfdddgfdddgfg}t          j        d¦  «        }t          j        ddg¦  «        }ddt           j        gfddt           j        gfdt           j        dgfg}	t          j        d¦  «        }
t          j        ddg¦  «        }ddt           j        gfddt           j        gfdt           j        dgfg}t          j        ddg¦  «        }t          j        ddg¦  «        }ddt           j        gfddt           j        gfg}||||
|g}|||||g}|||	||g}t          |||¦  «        D ]“\  }}}|D ]Š\  }}t          |||¬¦  «        \  }}}}}}|dk    }|dk    }t          j        |¦  «        }t           j        |||z  <   t           j        || |z  <   ||          ||          z  || <   t          ||¦  «         Œ‹Œ”d S )NrQ   r¯   rb   rI  rJ  rK  rL  rM  y       À      ð?y      à?      à?yš™™™™™Ù¿š™™™™™É¿ù      ð?      ð¿r   ra   rX  )	rS   rF   r5   r¸   ÚnanrÑ  r    rñ  r   )r{   rÁ  rÂ  Ú	expected1rÃ  rÄ  Ú	expected2rÅ  rÆ  Ú	expected3rÇ  rÈ  Ú	expected4rÉ  ÚB5Ú	expected5r\   rË   ÚexpectedrÎ  rÏ  Ú	expectediÚsortstrÚexpected_eigvalsrÚ  r×  r·  ÚazeroÚbzerorÅ  s                                 r]   Útest_sort_explicitzTestOrdQZ.test_sort_explicit:
  s²  € õ ŒV�A‰YŒYˆÝŒW�b˜#�YÑÔˆØ˜d A˜YÐ'Ø˜a ˜YÐ'Ø˜d A˜YÐ'Ø˜a ˜YÐ'ð)ˆ	õ ŒV�A‰YŒYˆÝŒW�g˜zÐ*Ñ+Ô+ˆØ˜k¨>Ð:Ð;Ø˜n¨kÐ:Ð;Ø˜k¨>Ð:Ð;Ø˜n¨kÐ:Ð;ð=ˆ	õ
 ŒV�A‰YŒYˆÝŒW�a˜�V‰_Œ_ˆØ˜c¥2¤6˜]Ð+Ø˜c¥2¤6˜]Ð+Ø�bœf c˜]Ð+ð-ˆ	õ ŒV�A‰YŒYˆÝŒW�b˜!�WÑÔˆØ˜d¥B¤F˜^Ð,Ø˜d¥B¤F˜^Ð,Ø�bœf d˜^Ð,ð.ˆ	õ ŒW�a˜�V‰_Œ_ˆÝŒW�a˜�XÑÔˆà˜a¥¤˜[Ð)Ø˜a¥¤˜[Ð)ð+ˆ	ð ��R˜˜RÐ ˆØ��R˜˜RÐ ˆØ˜y¨)°YÀ	ÐJˆÝ!$ Q¨¨8Ñ!4Ô!4ð 		5ð 		5ÑˆB��IØ-6ð 5ð 5Ñ)�Ð)Ý*/°°B¸WÐ*EÑ*EÔ*EÑ'��1�e˜T 1 aØ !š�Ø š�Ý”M %Ñ(Ô(�Ý#%¤6��%˜%‘-Ñ Ý$&¤F��5�&˜5‘.Ñ!Ø! 5 &œM¨$°¨v¬,Ñ6��5�&‘	ÝÐ 0°!Ñ4Ô4Ð4Ð4ð5ð		5ð 		5r_   N)r”   r•   r–   ÚclassmethodrË  rÔ  rß  râ  rå  rè  rê  rì  rø  rü  rþ  r  rœ   r_   r]   r»  r»   	  sÔ   € € € € € Øð4%ð 4%ñ „[ð4%ðlð ð ð
,ð ,ð ,ð\,ð ,ð ,ðð ð ðð ð ðð ð ðð ð ð	ð 	ð 	ð	ð 	ð 	ð6ð 6ð 6ð-5ð -5ð -5ð -5ð -5r_   r»  c                   ó~   — e Zd Zej                             d¦  «        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )ÚTestOrdQZWorkspaceSizeru   c                 óT  — t           j                             d¦  «        }d}t           j        t           j        fD ]j}|                     ||f¦  «                             |¦  «        }|                     ||f¦  «                             |¦  «        }t          ||d„ d¬¦  «        }Œkt           j        t           j        fD ]j}|                     ||f¦  «                             |¦  «        }|                     ||f¦  «                             |¦  «        }t          ||d„ d¬¦  «        }Œkd S )Nr™  éÊ   c                 ó   — | |k     S r=  rœ   ©r×  r·  s     r]   rO  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>t
  ó
   € °U¸T²\€ r_   rN  rh  c                 ó   — | |k     S r=  rœ   r  s     r]   rO  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>z
  r  r_   r›   )	rS   rT   r  r;   r%  rX   r    r&  r<   )r{   ri   rX  Úddtyper\   rË   rÚ  s          r]   Útest_decomposez%TestOrdQZWorkspaceSize.test_decomposek
  s*  € åŒi×#Ò# EÑ*Ô*ˆØˆå”z¥2¤:Ð.ð 	%ð 	%ˆFØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAå�a˜Ð!AÐ!AØ#ð%ñ %ô %ˆAˆAõ ”}¥b¤lÐ3ð 	(ð 	(ˆFØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAÝ�a˜Ð!AÐ!AØ&ð(ñ (ô (ˆAˆAð	(ð 	(r_   c                 ó„  — t           j                             d¦  «        }d}t           j        t           j        t           j        t           j        fD ]o}|                     ||f¦  «                             |¦  «        }|                     ||f¦  «                             |¦  «        }t          ||d¬¦  «        \  }}}}	}
}Œpd S )Nr™  r  rM  rX  )	rS   rT   r  r;   r%  r&  r<   rX   r    )r{   ri   rX  r  r\   rË   ÚSrW   r×  r·  ÚUr4  s               r]   Útest_decompose_oucz)TestOrdQZWorkspaceSize.test_decompose_ouc}
  s¯   € åŒi×#Ò# EÑ*Ô*ˆØˆå”z¥2¤:­r¬}½b¼lÐKð 	>ð 	>ˆFØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨&Ñ1Ô1ˆAÝ&+¨A¨q°uÐ&=Ñ&=Ô&=Ñ#ˆAˆq�%˜˜q ! !ð	>ð 	>r_   N)	r”   r•   r–   r—   r˜   Ú	fail_slowr  rF  r  rœ   r_   r]   r  r  j
  s_   € € € € € Ø„[×Ò˜1ÑÔð(ð (ñ Ôð(ð" „[Ôð>ð >ñ Ôð>ð >ð >r_   r  c                   ó   — e Zd Zd„ ZdS )ÚTestDatacopiedc                 ó´  ‡— ddl m} t          ddgddgg¦  «        }t          |¦  «        Š|                     ¦   «         }|                     ¦   «         } G ˆfd„d¦  «        } G ˆfd„d	¦  «        } |¦   «         } |¦   «         }|d
f‰d
f|df|d
f|d
f|d
ffD ]=\  }	}
t          |	¦  «        }t           |||	¦  «        |
t          |	¦  «        ¬¦  «         Œ>d S )Nr   )Ú_datacopiedra   rQ   rs   c                   ó   •— e Zd Zdˆ fd„	ZdS )ú-TestDatacopied.test_datacopied.<locals>.Fake1Nc                 ó   •— ‰S r=  rœ   )r{   r[   r�   r\   s      €r]   Ú	__array__z7TestDatacopied.test_datacopied.<locals>.Fake1.__array__“
  s   ø€ Ø�r_   )NN)r”   r•   r–   r&  ©r\   s   €r]   ÚFake1r$  ’
  s3   ø€ € € € € ðð ð ð ð ð ð ð r_   r(  c                   ó   •— e Zd Z” j        ZdS )ú-TestDatacopied.test_datacopied.<locals>.Fake2N)r”   r•   r–   Ú__array_interface__r'  s   €r]   ÚFake2r*  –
  s   ø€ € € € € Ø"#Ô"7ÐÐÐr_   r,  FTrÃ   )Úscipy.linalg._decompr"  rH   rC   Útolistr�   r   Úrepr)r{   r"  r  ÚLÚM2r(  r,  ÚF1ÚF2ÚitemÚstatusÚarrr\   s               @r]   Útest_datacopiedzTestDatacopied.test_datacopiedŠ
  sV  ø€ Ø4Ð4Ð4Ð4Ð4Ð4å�Q˜�F˜Q ˜FÐ#Ñ$Ô$ˆÝ�A‰JŒJˆØ�HŠH‰JŒJˆØ�VŠV‰XŒXˆð	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð ˆU‰WŒWˆØˆU‰WŒWˆà ˜Z¨!¨U¨°a¸°YØ  %˜[¨2¨u¨+¸¸E°{ðDð 	-ð 	-‰LˆD�&å˜$‘-”-ˆCÝ˜˜ S¨$Ñ/Ô/°Ý!% d¡¤ð-ñ -ô -ð -ð -ð	-ð 	-r_   N)r”   r•   r–   r7  rœ   r_   r]   r   r   ˆ
  s#   € € € € € ð-ð -ð -ð -ð -r_   r   c                  óÜ   — t          dt          j        ¬¦  «        } t          j        | j        ddt
          ¬¦  «        }d|_        t          |d¬¦  «         t          |j        d¬¦  «         d	S )
z4Check linalg works with non-aligned memory (float32)i’  r�   rQ   r  ©ÚoffsetÚcountr[   ©rB  rB  T©Úoverwrite_aN)	r:   rS   Úuint8Ú
frombufferÚdatar;   r@   r
   rW   ©r|   rã  s     r]   Útest_aligned_mem_floatrC  £
  si   € õ 	ˆs�"œ(Ð#Ñ#Ô#€Aõ 	Œ�a”f Q¨c½ÐAÑAÔA€AØ€A„Gåˆ�tÐÑÔÐÝˆŒ˜ÐÑÔÐÐÐr_   Úppc64lezcrashes on ppc64lec                  óÜ   — t          dt          j        ¬¦  «        } t          j        | j        ddt
          ¬¦  «        }d|_        t          |d¬¦  «         t          |j        d¬¦  «         d	S )
z4Check linalg works with non-aligned memory (float64)i$  r�   rÍ  r  r9  r<  Tr=  N)	r:   rS   r?  r@  rA  rš   r@   r
   rW   rB  s     r]   Útest_aligned_memrF  °
  si   € õ
 	ˆs�"œ(Ð#Ñ#Ô#€Aõ 	Œ�a”f Q¨c½Ð?Ñ?Ô?€AØ€A„Gåˆ�tÐÑÔÐÝˆŒ˜ÐÑÔÐÐÐr_   c                  óÜ   — t          dt          j        ¬¦  «        } t          j        | j        ddt
          ¬¦  «        }d|_        t          |d¬¦  «         t          |j        d¬¦  «         d	S )
z>Check that complex objects don't need to be completely alignediH  r�   ri  r  r9  r<  Tr=  N)	r9   rS   r?  r@  rA  r›   r@   r
   rW   rB  s     r]   Útest_aligned_mem_complexrH  ¿
  si   € õ 	ˆd�"œ(Ð#Ñ#Ô#€Aõ 	Œ�a”f Q¨c½ÐAÑAÔA€AØ€A„Gåˆ�tÐÑÔÐåˆŒ˜ÐÑÔÐÐÐr_   c                 ób  — t          |¦  «        }t          t          |¦  «        ¦  «        D �]}|d d …         }t          ||         t          j        ¦  «        rÔt	          j        ||         j        ||         j        j	        z  dz   t          j
        ¬¦  «        }t	          j        |j        d||         j        ||         j        ¬¦  «        }||         j        |_        ||         |d<   |||<    | |i |¤Ž t          ||         j        ¦  «        dk    r||         j        ||<    | |i |¤Ž �Œd S )Nri  r�   rÍ  r9  .ra   )r!  r¨   re   rc   rS   rE   r9   rÆ   r[   Úitemsizer?  r@  rA  r@   rW   )Úfuncr[  Úkwargsr­   r|   r§  s         r]   Úcheck_lapack_misalignedrM  Í
  s)  € Ý�‰:Œ:€DÝ•3�t‘9”9ÑÔð #ñ #ˆØ���ŒGˆÝ�a˜”d�BœJÑ'Ô'ð 	#å”˜!˜Aœ$œ) A a¤D¤JÔ$7Ñ7¸Ñ9ÅÄÐJÑJÔJˆBÝ”˜rœw¨q¸¸!¼¼	Ø%& q¤T¤Zð1ñ 1ô 1ˆBà˜”t”zˆBŒHØ˜”dˆBˆs‰GØˆAˆa‰DØˆD�!Ð�vÐÐÐÝ�1�Q”4”:‰Œ Ò"Ð"Ø˜”t”v��!‘Ø��aÐ"˜6Ð"Ð"Ð"ùð#ð #r_   z0Ticket #1152, triggers a segfault in rare cases.)Úrunr0  c                  óŠ  — t          j        dt          ¬¦  «        } t          j        d¦  «        }d|_        t          j        dt           j        ¬¦  «        }t          j        |j        ddt          ¬¦  «        }d|_        t          j        d¦  «        }t          |¦  «        \  }}t          |ft          d¬	¦  «        ft          |ft          d¬	¦  «        ft          |ft          d¬	¦  «        ft          |ft          d¬	¦  «        ft          ||f|ft          d¬
¦  «        ft          ||ft          dd¬¦  «        ft           | ft          d¬	¦  «        ft           |ft          d¬	¦  «        ft           |ft          d¬	¦  «        ft"          |ft          ¦   «         ft"          |ft          d¬	¦  «        ft$          | ft          d¬	¦  «        ft&          |ft          d¬	¦  «        ft(          |ft          d¬	¦  «        ft*          |ft          d¬	¦  «        ft,          |ft          d¬	¦  «        ffD ]\  }}}t/          |||¦  «         Œd S )NrB  r�   r  r<  i N  rÍ  r9  Tr=  )Úoverwrite_b)r>  rP  )rS   rF   rš   r:   r@   r?  r@  rA  rÅ   r   r
   Údictr   r   r   r   r   r   r   r   r   r   r   rM  )	r  ÚRr  r¹   ÚLUÚpivrK  r[  rL  s	            r]   Útest_lapack_misalignedrU  ß
  s+  € õ 	Œˆr�ÐÑÔ€AÝ
Œ	�#‰Œ€AØ€A„GÝ
Œ	�%�rœxÐ(Ñ(Ô(€AÝ
Œ�a”f Q¨c½Ð?Ñ?Ô?€AØ€A„GÝ
Œ�‰Œ€AÝ˜‰lŒl�G€Bˆå�1�$�¨Ð.Ñ.Ô.Ð/Ý�q�d�D¨TÐ2Ñ2Ô2Ð3Ý�!�•t¨Ð-Ñ-Ô-Ð.Ý˜˜�d¨tÐ4Ñ4Ô4Ð5Ý˜˜S˜	 1�~¥t¸Ð'=Ñ'=Ô'=Ð>Ý�Q˜�F�D¨T¸tÐDÑDÔDÐEÝ�1�$�¨Ð.Ñ.Ô.Ð/Ý�1�$�¨Ð.Ñ.Ô.Ð/Ý�1�$�¨Ð.Ñ.Ô.Ð/Ý�q�d�D™FœFÐ#Ý�q�d�D¨TÐ2Ñ2Ô2Ð3Ý˜�t�T¨dÐ3Ñ3Ô3Ð4Ý�!�•t¨Ð-Ñ-Ô-Ð.Ý�!�•t¨Ð-Ñ-Ô-Ð.Ý˜!˜�t°Ð5Ñ5Ô5Ð6Ý�Q�D�$¨4Ð0Ñ0Ô0Ð1ð!!ð 4ð 4Ñˆˆt�Võ$ 	   d¨FÑ3Ô3Ð3Ð3ð%4ð 4r_   c                   ón   — 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S )ÚTestOverwritec                 ó`   — t          t          dg¦  «         t          t          ddg¦  «         d S ©Nr  )rG   r
   r?  s    r]   Útest_eigzTestOverwrite.test_eig  s/   € Ý�C & Ñ*Ô*Ð*Ý�C &¨&Ð!1Ñ2Ô2Ð2Ð2Ð2r_   c                 ó`   — t          t          dg¦  «         t          t          ddg¦  «         d S rY  )rG   r   r?  s    r]   Ú	test_eighzTestOverwrite.test_eigh  s/   € Ý�D 6 (Ñ+Ô+Ð+Ý�D 6¨6Ð"2Ñ3Ô3Ð3Ð3Ð3r_   c                 ó2   — t          t          dg¦  «         d S ©Nr–  )rG   r   r?  s    r]   rŒ  zTestOverwrite.test_eig_banded
  ó   € Ý�J¨¨Ñ1Ô1Ð1Ð1Ð1r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_eigvalszTestOverwrite.test_eigvals  ó   € Ý�G f XÑ.Ô.Ð.Ð.Ð.r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_eigvalshzTestOverwrite.test_eigvalsh  s   € Ý�H v hÑ/Ô/Ð/Ð/Ð/r_   c                 ó2   — t          t          dg¦  «         d S r^  )rG   r   r?  s    r]   r‚  z!TestOverwrite.test_eigvals_banded  s   € Ý�N¨V¨HÑ5Ô5Ð5Ð5Ð5r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_hessenbergzTestOverwrite.test_hessenberg  r_  r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_lu_factorzTestOverwrite.test_lu_factor  s   € Ý�I¨ xÑ0Ô0Ð0Ð0Ð0r_   c                 óˆ   ‡— t          j        g d¢g d¢g d¢g¦  «        }t          |¦  «        Št          ˆfd„dg¦  «         d S )Nrr   r  )râ  ri  ri  c                 ó$   •— t          ‰| ¦  «        S r=  )r   )r¹   Úxlus    €r]   rO  z-TestOverwrite.test_lu_solve.<locals>.<lambda>  s   ø€ ¥h¨s°AÑ&6Ô&6€ r_   )rs   )rS   r4   r   rG   )r{   rÅ  rl  s     @r]   Útest_lu_solvezTestOverwrite.test_lu_solve  sR   ø€ ÝŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7ˆÝ˜‰lŒlˆÝÐ6Ð6Ð6Ð6¸¸Ñ?Ô?Ð?Ð?Ð?r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_luzTestOverwrite.test_lu!  ó   € Ý�B  Ñ)Ô)Ð)Ð)Ð)r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_qrzTestOverwrite.test_qr$  rp  r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_rqzTestOverwrite.test_rq'  rp  r_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Ú
test_schurzTestOverwrite.test_schur*  s   € Ý�E F 8Ñ,Ô,Ð,Ð,Ð,r_   c                 óZ   — t          d„ dgt          j        t          j        g¬¦  «         d S )Nc                 ó"   — t          | d¦  «        S )Nr›   )r   ©r|   s    r]   rO  z2TestOverwrite.test_schur_complex.<locals>.<lambda>.  s   € ¥e¨A¨yÑ&9Ô&9€ r_   r  )Údtypes)rG   rS   r;   r%  r?  s    r]   Útest_schur_complexz TestOverwrite.test_schur_complex-  s9   € ÝÐ9Ð9¸F¸8Ý$&¤Jµ´
Ð#;ð	=ñ 	=ô 	=ð 	=ð 	=ð 	=r_   c                 óV   — t          t          dg¦  «         t          d„ dg¦  «         d S )Nr  c                 ó$   — t          | d¬¦  «        S )NrI  r¯  )r   ry  s    r]   rO  z(TestOverwrite.test_svd.<locals>.<lambda>3  s   € ¥c¨!¸7Ð&CÑ&CÔ&C€ r_   )rG   r   r?  s    r]   Útest_svdzTestOverwrite.test_svd1  s0   € Ý�C & Ñ*Ô*Ð*ÝÐCÐCÀfÀXÑNÔNÐNÐNÐNr_   c                 ó2   — t          t          dg¦  «         d S rY  )rG   r   r?  s    r]   Útest_svdvalszTestOverwrite.test_svdvals5  rb  r_   N)r”   r•   r–   rZ  r\  rŒ  ra  rd  r‚  rg  ri  rm  ro  rr  rt  rv  r{  r~  r€  rœ   r_   r]   rW  rW    s
  € € € € € ð3ð 3ð 3ð4ð 4ð 4ð2ð 2ð 2ð/ð /ð /ð0ð 0ð 0ð6ð 6ð 6ð2ð 2ð 2ð1ð 1ð 1ð@ð @ð @ð
*ð *ð *ð*ð *ð *ð*ð *ð *ð-ð -ð -ð=ð =ð =ðOð Oð Oð/ð /ð /ð /ð /r_   rW  c                 ó°  — t          j        | dft          ¬¦  «                             |¦  «        }t          j        |¦  «        j        }d|z  }t          |¦  «        }t          |j        | df¦  «         t          || 
                    ¦   «         |¬¦  «         t          |j        ¦  «        }t          |j        d¦  «         t          || 
                    ¦   «         |¬¦  «         | dk    rè|sèt           j                             d¦  «        }|                     | d¦  «        |                     d| ¦  «        z  }|d|                     | d¦  «        z  |                     d| ¦  «        z  z   }|                     |¦  «        }t          |d	¬
¦  «        }t          |j        | df¦  «         t          |d¬
¦  «        }t          |j        | df¦  «         d S d S d S )NrQ   r�   rñ  ra   r,  ©rQ   ra   ru   ç-Cëâ6?çü©ñÒMbP?©Úrcondç�íµ ÷Æ°>rv   )rS   rÅ   rš   rX   ró  rô  r   r   r@   r   ÚmeanrW   rT   r  rU   )rY   r[   Úskip_bigÚXrô  rÂ   ÚYri   s           r]   Ú_check_orthrŒ  9  s›  € Ý
Œ��A��eÐ$Ñ$Ô$×+Ò+¨EÑ2Ô2€Aå
Œ(�5‰/Œ/Ô
€CØ
�‰*€CåˆQ‰Œ€AÝ�”˜1˜a˜&Ñ!Ô!Ð!Ý�A�q—v’v‘x”x cÐ*Ñ*Ô*Ð*åˆQŒS‰	Œ	€AÝ�”˜&Ñ!Ô!Ð!Ý�A�q—v’v‘x”x cÐ*Ñ*Ô*Ð*àˆ1‚u€u�X€uÝŒi×#Ò# AÑ&Ô&ˆØ�HŠH�Q˜‰NŒN˜SŸXšX a¨™^œ^Ñ+ˆØ��s—x’x  1‘~”~Ñ%¨¯ª°°A©¬Ñ6Ñ6ˆØ�HŠH�U‰OŒOˆå�˜$ÐÑÔˆÝ�Q”W˜q !˜fÑ%Ô%Ð%å�˜$ÐÑÔˆÝ�Q”W˜q %˜jÑ)Ô)Ð)Ð)Ð)ð €u€u€ur_   ri  z"test only on 64-bit, else too slowc                  óˆ   — d} 	 t          | t          j        d¬¦  «         d S # t          $ r}t	          d¦  «        |‚d }~ww xY w)Ni€–˜ T)r‰  z.memory error perhaps caused by orth regression)rŒ  rS   r%  ÚMemoryErrorÚAssertionError)rY   r¬  s     r]   Útest_orth_memory_efficiencyr�  T  sb   € ð 	€AðÝ�A•r”z¨DÐ1Ñ1Ô1Ð1Ð1Ð1øÝð ð ð ÝØ<ñ
ô 
àð	øøøøðøøøs   „" ¢
A¬<¼Ac                  óÀ   — t           j        t           j        t           j        t           j        g} g d¢}t          j        | |¦  «        D ]\  }}t          ||¦  «         Œd S )N©ra   rQ   rs   rB  r  )rS   r;   r%  r<   r&  Ú	itertoolsÚproductrŒ  )rz  r'  rŠ   rY   s       r]   Ú	test_orthr•  e  s`   € ÝŒj�"œ*¥b¤lµB´MÐB€FØÐÐ€EÝÔ" 6¨5Ñ1Ô1ð ð ‰ˆˆAÝ�A�rÑÔÐÐðð r_   rŠ   c                 óÔ   — t          j        d| ¬¦  «        }t          j        d| ¬¦  «        }t          |¦  «        }|j        t          |¦  «        j        k    sJ ‚|j        dk    sJ ‚d S ©NrŒ   r�   rQ   )rS   r’   rF   r   r[   r@   )rŠ   r|   rB  Úoas       r]   Útest_orth_emptyr™  k  si   € å
Œ�˜rÐ"Ñ"Ô"€AÝ	Œ�˜Ð	Ñ	Ô	€Bå	ˆa‰Œ€BØŒ8•t˜B‘x”x”~Ò%Ð%Ð%Ð%ØŒ8�vÒÐÐÐÐÐr_   c                   óR  — e Zd Zd„ Zej                             deee	j
        ee	j        g¦  «        d„ ¦   «         Zej                             dddg¦  «        ej                             dddg¦  «        ej                             dd	d
g¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )ÚTestNullSpacec                 óð  — t           j                             d¦  «        }t           j        t           j        t           j        t           j        g}g d¢}t          j        ||¦  «        D �]\  }}t          j	        d|f|¬¦  «        }t          j
        |¦  «        j        }d|z  }t          |¦  «        }	t          |	j        ||dz
  f¦  «         t          ||	z  d|¬¦  «         t          |j        ¦  «        }	t          |	j        d¦  «         t          |j        |	z  d|¬¦  «         |                     d|dz  z   |¦  «        }t          |¦  «        }	t          |	j        ||dz
  |dz  z
  f¦  «         t          ||	z  d|¬¦  «         |d	k    rêt           j                             d¦  «        }|                     |d	¦  «        |                     d	|¦  «        z  }|d
|                     |d¦  «        z  |                     d|¦  «        z  z   }|                     |¦  «        }t          |d¬¦  «        }	t          |	j        ||d	z
  f¦  «         t          |d¬¦  «        }	t          |	j        ||dz
  f¦  «         �Œd S )Nra   r’  rQ   r�   rñ  r   r,  r‚  ru   rƒ  r„  r…  r‡  rv   )rS   rT   r  r;   r%  r<   r&  r“  r”  rÅ   ró  rô  r%   r   r@   r   rW   ÚrandnrU   rX   )
r{   ri   rz  r'  rŠ   rY   rŠ  rô  rÂ   r‹  s
             r]   Útest_null_spacezTestNullSpace.test_null_spacev  sA  € ÝŒi×#Ò# AÑ&Ô&ˆå”*�bœj­"¬,½¼ÐFˆØ"Ð"Ð"ˆåÔ& v¨uÑ5Ô5ð 	2ñ 	2‰EˆB�Ý”˜˜A˜ bÐ)Ñ)Ô)ˆAå”(˜2‘,”,Ô"ˆCØ˜‘*ˆCå˜1‘”ˆAÝ˜œ 1 a¨¡c (Ñ+Ô+Ð+Ý˜A ™E 1¨3Ð/Ñ/Ô/Ð/å˜1œ3‘”ˆAÝ˜œ &Ñ)Ô)Ð)Ý˜AœC !™G Q¨SÐ1Ñ1Ô1Ð1à—	’	˜!˜a ™d™( AÑ&Ô&ˆAÝ˜1‘”ˆAÝ˜œ 1 a¨!¡e¨a°©d¡lÐ"3Ñ4Ô4Ð4Ý˜A ™E 1¨3Ð/Ñ/Ô/Ð/à�1ŠuˆuÝ”i×+Ò+¨AÑ.Ô.�Ø—H’H˜Q ‘N”N S§X¢X¨a°¡^¤^Ñ3�Ø˜˜sŸxšx¨¨1™~œ~Ñ-°·²¸¸A±´Ñ>Ñ>�Ø—H’H˜R‘L”L�å˜q¨Ð-Ñ-Ô-�Ý˜QœW q¨!¨a©% jÑ1Ô1Ð1å˜q¨Ð-Ñ-Ô-�Ý˜QœW q¨!¨a©% jÑ1Ô1Ð1ùð;	2ð 	2r_   rŠ   c                 óÔ   — t          j        d|¬¦  «        }t          j        d|¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          |¦  «        j        k    sJ ‚d S r—  )rS   r’   rF   r%   r@   r[   )r{   rŠ   r|   rB  Únsas        r]   Útest_null_space_emptyz#TestNullSpace.test_null_space_empty›  sj   € åŒH�V 2Ð&Ñ&Ô&ˆÝŒV�A˜RÐ Ñ Ô ˆÝ˜‰mŒmˆàŒy˜FÒ"Ð"Ð"Ð"ØŒy�J r™NœNÔ0Ò0Ð0Ð0Ð0Ð0Ð0r_   r>  TFrˆ   r°  r  rI  c                 ó4  — t           j                             d¦  «        }d}|                     d|dz  z   |f¦  «        }t	          |                     ¦   «         |||¬¦  «        }t          ||z  dt          j        |j        ¦  «        j	        dz  ¬¦  «         d S )	Nl   š'–YþœeN rB  ra   rQ   )r>  rˆ   r°  r   r  r,  )
rS   rT   Údefault_rngÚstandard_normalr%   r�   r   ró  r[   rô  )r{   r>  rˆ   r°  ri   rY   rŠ  r‹  s           r]   Útest_null_space_optionsz%TestNullSpace.test_null_space_options¤  s–   € õ Œi×#Ò#Ð$;Ñ<Ô<ˆØˆØ×Ò  Q¨¡T¡¨1 Ñ.Ô.ˆÝ�q—v’v‘x”x¨[À|Ø%2ð4ñ 4ô 4ˆå˜˜A™˜q¥r¤x°´Ñ'8Ô'8Ô'<¸SÑ'@ÐAÑAÔAÐAÐAÐAr_   N)r”   r•   r–   rž  r—   r˜   r™   rd   rš   rS   r;   r›   r<   r¡  r¥  rœ   r_   r]   r›  r›  u  sÝ   € € € € € ð#2ð #2ð #2ðJ „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð1ð 1ñ TÔSð1ð „[×Ò˜]¨T°5¨MÑ:Ô:Ø„[×Ò˜^¨d°E¨]Ñ;Ô;Ø„[×Ò˜_¨w¸Ð.@ÑAÔAðBð Bñ BÔAñ <Ô;ñ ;Ô:ðBð Bð Br_   r›  c            	      ó¸	  — t          dt          ¦  «        } | d d …d d…f         }| d d …dd …f         }t          t          ||¦  «        t          j        dz  gdz  d¬¦  «         t          t          ||¦  «        t          j        dz  gdz  d¬¦  «         ||fD ]?}t          t          ||¦  «        t	          j        |j        d         ¦  «        d¬¦  «         Œ@t	          j        g d¢g d¢g d	¢g d
¢g¦  «        }d}t          t          |d d …d d…f         |d d …dd …f         ¦  «        d         |d¬¦  «         t          t          |d d …dd …f         |d d …d d…f         ¦  «        d         |d¬¦  «         d}t          t          |d d …d d…f         |d d …dgf         ¦  «        |d¬¦  «         t          t          |d d …dgf         |d d …d d…f         ¦  «        |d¬¦  «         d}t          t          |d d …d d…f         |d d …dgf         ¦  «        |d¬¦  «         t          t          |d d …dgf         |d d …d d…f         ¦  «        |d¬¦  «         d}t          t          |d d …d d…f         |d d …dd …f         ¦  «        |dgd¬¦  «         t          t          t          |d         |¦  «         t          t          t          ||d         ¦  «         t          t          t          |d d…         |¦  «         t	          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t	          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t	          j        t          j        dz  ddg¦  «        }t          t          ||¦  «        |d¬¦  «         dgdgg}ddgddgg}t          t          ||¦  «        dd¬¦  «         t          t          ||¦  «        dd¬¦  «         t	          j        d¦  «        }t	          j        d¦  «        }t          t          ||¦  «        t	          j        d¦  «        ¦  «         t	          j        d¦  «        }t	          j        d¦  «        }t          t          ||¦  «        t	          j        d¦  «        ¦  «         t	          j        d¦  «        }t	          j        d¦  «        }t          t          ||¦  «        t	          j        d¦  «        ¦  «         d S ) Nri  rs   r&  r+  r,  ra   )gñ�·‘4á?gVðR¦fÔ?g8Ô!“Ž @g•ÂÐë‚6ç?)gN÷$Ð—Wý?gÂã�Jìô¿gÑ~ý™Î'@gÊ÷3:]$°¿)g¢v•MÀg© çÀø¿Û¿g÷PT#™õ¿g eŸ‚,ßæ?)gºßÎ€ì–ë?gÜò¥+�íÕ?gòNô…G@g˜êS<Ê¿g™"Ó	´÷?rQ   r   rY  rZ  g¦®LÔ0âç?g•Ä¹»°-ß?gyßôv†Õ?r¢   rc  )r   ra   r   )r   r   ra   r   rG  r   rh  rŒ   rŽ   r‘   r¤   rP  )r"   rš   r   r!   rS   Úpir9   r@   r4   r  r  r’   )ÚHr\   rË   rÅ  r  r|   r¹   s          r]   Útest_subspace_anglesr©  °  s7  € Ý�•EÑÔ€AØ	ˆ!ˆ!ˆ!ˆRˆaˆRˆ%Œ€AØ	ˆ!ˆ!ˆ!ˆQˆRˆRˆ%Œ€AÝ•O A qÑ)Ô)­B¬E°B©J¨<¸!Ñ+;À%ÐHÑHÔHÐHÝ•O A qÑ)Ô)­B¬E°B©J¨<¸!Ñ+;À%ÐHÑHÔHÐHØ�ˆVð $ð $ˆÝ�¨¨1Ñ-Ô-­r¬x¸¼À¼
Ñ/CÔ/CØ"ð	$ñ 	$ô 	$ð 	$ð 	$õ 	ŒØ	UÐ	UÐ	UØ	WÐ	WÐ	WØ	XÐ	XÐ	XØ	VÐ	VÐ	Vð	Xñ	Yô 	Y€Að
 !€HÝ•O A a a a¨¨!¨ e¤H¨a°°°°1°2°2°¬hÑ7Ô7¸Ô:¸HØð ñ  ô  ð  å•O A a a a¨¨¨ e¤H¨a°°°°2°A°2°¬hÑ7Ô7¸Ô:¸HØð ñ  ô  ð  à €HÝ•O A a a a¨¨!¨ e¤H¨a°°°°A°3°¬iÑ8Ô8¸(ÈÐOÑOÔOÐOÝ•O A a a a¨!¨ f¤I¨q°°°°B°Q°B°¬xÑ8Ô8¸(ÈÐOÑOÔOÐOØ €HÝ•O A a a a¨¨!¨ e¤H¨a°°°°A°3°¬iÑ8Ô8¸(ÈÐOÑOÔOÐOÝ•O A a a a¨!¨ f¤I¨q°°°°B°Q°B°¬xÑ8Ô8¸(ÈÐOÑOÔOÐOØ €HÝ•O A a a a¨¨!¨ e¤H¨a°°°°1°2°2°¬hÑ7Ô7¸(ÀA¸Øð ñ  ô  ð  õ •*�o¨q°¬t°QÑ7Ô7Ð7Ý•*�o¨q°!°A´$Ñ7Ô7Ð7Ý•*�o¨q°°"°¬v°qÑ9Ô9Ð9õ 	Œ�)�)�)Ø�)�)Ø�)�)Ø�)�)Ø�)�)ð	ñ 	ô 	€Aõ
 	Œ�)�)�)Ø�)�)Ø�)�)Ø�)�)Ø�)�)ð	ñ 	ô 	€Aõ
 Œx�œ˜q™ ! Q˜Ñ(Ô(€HÝ•O A qÑ)Ô)¨8¸%Ð@Ñ@Ô@Ð@ð
 ˆ�A�3ˆ€AØ
�!ˆ�q˜!�fÐ€AÝ•O A qÑ)Ô)¨2°EÐ:Ñ:Ô:Ð:Ý•O A qÑ)Ô)¨2°EÐ:Ñ:Ô:Ð:õ 	Œ�ÑÔ€AÝ
Œ�ÑÔ€AÝ•O A qÑ)Ô)­2¬8°D©>¬>Ñ:Ô:Ð:Ý
Œ�ÑÔ€AÝ
Œ�ÑÔ€AÝ•O A qÑ)Ô)­2¬8°D©>¬>Ñ:Ô:Ð:Ý
Œ�ÑÔ€AÝ
Œ�ÑÔ€AÝ•O A qÑ)Ô)­2¬8°D©>¬>Ñ:Ô:Ð:Ð:Ð:r_   c                   ób   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCDF2RDFc                 ó.   — t          j        d||¦  «        S )Nz...ij,...jk->...ik)rS   Úeinsum)r{   r|   r¹   s      r]   ÚmatmulzTestCDF2RDF.matmul÷  s   € ÝŒyÐ-¨q°!Ñ4Ô4Ð4r_   c                 óv   — t          |                      ||¦  «        |                      ||¦  «        ¦  «         d S r=  )r   r®  )r{   r}   rl   rÅ  s       r]   Úassert_eig_validzTestCDF2RDF.assert_eig_validú  s@   € Ý!Ø�KŠK˜˜1ÑÔØ�KŠK˜˜1ÑÔñ	
ô 	
ð 	
ð 	
ð 	
r_   c                 óÒ   — t          j        d¦  «        }t          j        d¦  «        t          j        d¦  «        }}t          ||¦  «        \  }}|                      |||¦  «         d S )NrŒ   r   )rS   r’   r&   r°  ©r{   rŠ  r}   rl   Úwrr³   s         r]   Útest_single_array0x0realz$TestCDF2RDF.test_single_array0x0real   s[   € åŒH�VÑÔˆÝŒx˜‰{Œ{�BœH VÑ,Ô,ˆ1ˆÝ˜˜A‘”‰ˆˆBØ×Ò˜b " aÑ(Ô(Ð(Ð(Ð(r_   c                 óÒ   — t          j        ddgddgg¦  «        }t           j                             |¦  «        \  }}t	          ||¦  «        \  }}|                      |||¦  «         d S )Nra   rQ   rs   r¢   ©rS   r4   r7   r
   r&   r°  r²  s         r]   Útest_single_array2x2_realz%TestCDF2RDF.test_single_array2x2_real  sd   € ÝŒH�q˜!�f˜q "˜gÐ&Ñ'Ô'ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý˜˜A‘”‰ˆˆBØ×Ò˜b " aÑ(Ô(Ð(Ð(Ð(r_   c                 óÒ   — t          j        ddgddgg¦  «        }t           j                             |¦  «        \  }}t	          ||¦  «        \  }}|                      |||¦  «         d S )Nra   rQ   r¯   r¶  r²  s         r]   Útest_single_array2x2_complexz(TestCDF2RDF.test_single_array2x2_complex  sd   € ÝŒH�q˜!�f˜r 1˜gÐ&Ñ'Ô'ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý˜˜A‘”‰ˆˆBØ×Ò˜b " aÑ(Ô(Ð(Ð(Ð(r_   c                 óØ   — t          j        g d¢g d¢g d¢g¦  «        }t           j                             |¦  «        \  }}t	          ||¦  «        \  }}|                      |||¦  «         d S )Nrr   rt   r¶  r²  s         r]   Útest_single_array3x3_realz%TestCDF2RDF.test_single_array3x3_real  sj   € ÝŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý˜˜A‘”‰ˆˆBØ×Ò˜b " aÑ(Ô(Ð(Ð(Ð(r_   c                 óØ   — t          j        g d¢g d¢g d¢g¦  «        }t           j                             |¦  «        \  }}t	          ||¦  «        \  }}|                      |||¦  «         d S ©Nrr   )r   rÍ  ru   )r   r¾  rÍ  r¶  r²  s         r]   Útest_single_array3x3_complexz(TestCDF2RDF.test_single_array3x3_complex  sj   € ÝŒH�i�i�i   ¨J¨J¨JÐ7Ñ8Ô8ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý˜˜A‘”‰ˆˆBØ×Ò˜b " aÑ(Ô(Ð(Ð(Ð(r_   c                 óD  — t          dd¦  «        D ]Ž}t          j                             d¦  «         t          j                             d||¦  «        }t          j                             |¦  «        \  }}t          ||¦  «        \  }}|                      |||¦  «         Œ�d S )Nra   râ  iÿÉš;r  )	r¨   rS   rT   rÊ  rU   r7   r
   r&   r°  ©r{   r  rŠ  r}   rl   r³  r³   s          r]   Útest_random_1d_stacked_arraysz)TestCDF2RDF.test_random_1d_stacked_arrays  s‘   € å�q˜!‘”ð 	-ð 	-ˆAÝŒI�NŠN˜9Ñ%Ô%Ð%Ý”	—’˜s A qÑ)Ô)ˆAÝ”9—=’= Ñ#Ô#‰DˆAˆqÝ˜Q ‘]”]‰FˆB�Ø×!Ò! " b¨!Ñ,Ô,Ð,Ð,ð	-ð 	-r_   c                 ó  — t          dd¦  «        D ]p}t          j                             dd||¦  «        }t          j                             |¦  «        \  }}t          ||¦  «        \  }}|                      |||¦  «         Œqd S )Nra   râ  rB  )r¨   rS   rT   rU   r7   r
   r&   r°  rÀ  s          r]   Útest_random_2d_stacked_arraysz)TestCDF2RDF.test_random_2d_stacked_arrays(  s   € å�q˜!‘”ð 	-ð 	-ˆAÝ”	—’˜r 2 q¨!Ñ,Ô,ˆAÝ”9—=’= Ñ#Ô#‰DˆAˆqÝ˜Q ‘]”]‰FˆB�Ø×!Ò! " b¨!Ñ,Ô,Ð,Ð,ð		-ð 	-r_   c                 óŽ   — t          j        d¦  «        t          j        d¦  «        }}t          t          t
          ||¦  «         d S )Nrœ   )rQ   )rS   r’   r4   r  r  r&   ©r{   r}   rl   s      r]   Útest_low_dimensionality_errorz)TestCDF2RDF.test_low_dimensionality_error0  s5   € ÝŒx˜‰|Œ|�RœX d™^œ^ˆ1ˆÝ•j¥'¨1¨aÑ0Ô0Ð0Ð0Ð0r_   c                 ó¶   — t          j        d¦  «        t          j        d¦  «                             dd¦  «        }}t          t          t
          ||¦  «         d S )Nrs   rv   rQ   ©rS   r:   r  r  r  r&   rÅ  s      r]   r  z!TestCDF2RDF.test_not_square_error4  sE   € åŒy˜‰|Œ|�RœY q™\œ\×1Ò1°!°QÑ7Ô7ˆ1ˆÝ•j¥'¨1¨aÑ0Ô0Ð0Ð0Ð0r_   c                 ó¼   — t          j        g d¢g d¢g d¢g¦  «        }t           j                             |¦  «        \  }}t	          t
          t          ||¦  «         d S r½  ©rS   r4   r7   r
   r  r  r&   ©r{   rŠ  r}   rl   s       r]   Útest_swapped_v_w_errorz"TestCDF2RDF.test_swapped_v_w_error9  sU   € åŒH�i�i�i   ¨J¨J¨JÐ7Ñ8Ô8ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý•j¥'¨1¨aÑ0Ô0Ð0Ð0Ð0r_   c                 ó¶   — t          j        d¦  «        t          j        d¦  «                             dd¦  «        }}t          t          t
          ||¦  «         d S )Nrs   rõ   rÍ  rÈ  rÅ  s      r]   Útest_non_associated_errorz%TestCDF2RDF.test_non_associated_error?  sE   € åŒy˜‰|Œ|�RœY r™]œ]×2Ò2°1°aÑ8Ô8ˆ1ˆÝ•j¥'¨1¨aÑ0Ô0Ð0Ð0Ð0r_   c                 óˆ  — t          j        g d¢g d¢g d¢g¦  «        }t           j                             |¦  «        \  }}t	          t
          t          ||¦  «         t          j        g d¢g d¢g d¢gg d¢g d¢g d¢gg¦  «        }t           j                             |¦  «        \  }}t	          t
          t          ||¦  «         d S )Nrr   r„   )rQ   ru   y      @      ð¿rÊ  rË  s       r]   Útest_not_conjugate_pairsz$TestCDF2RDF.test_not_conjugate_pairsD  sÆ   € åŒH�i�i�i   ¨L¨L¨LÐ9Ñ:Ô:ˆÝŒy�}Š}˜QÑÔ‰ˆˆ1Ý•j¥'¨1¨aÑ0Ô0Ð0õ ŒHØˆYˆY˜	˜	˜	 < < <Ð0ØˆYˆY˜	˜	˜	 < < <Ð0ð
ñ ô ˆõ Œy�}Š}˜QÑÔ‰ˆˆ1Ý•j¥'¨1¨aÑ0Ô0Ð0Ð0Ð0r_   N)r”   r•   r–   r®  r°  r´  r·  r¹  r»  r¾  rÁ  rÃ  rÆ  r  rÌ  rÎ  rÐ  rœ   r_   r]   r«  r«  õ  sæ   € € € € € ð5ð 5ð 5ð
ð 
ð 
ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð-ð -ð -ð-ð -ð -ð1ð 1ð 1ð1ð 1ð 1ð
1ð 1ð 1ð1ð 1ð 1ð
1ð 1ð 1ð 1ð 1r_   r«  )F)’r“  ÚplatformÚsysÚnumpyrS   Únumpy.testingr   r   r   r   r   r   r—   r	   r  Úscipy.linalgr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   Úscipy.linalg.lapackr(   r)   r*   r+   r,   r-   r.   r/   r0   Úscipy.linalg._miscr1   Úscipy.linalg._decomp_qzr2   Úscipy.statsr3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   Úscipy.linalg._testutilsrG   Úscipy.sparse._sputilsrH   Úscipy._lib._testutilsrI   Úscipy.linalg.blasrJ   Úscipy.__config__rK   ÚImportErrorÚmachineÚIS_WASMrš   r^   r%  ÚREAL_DTYPESr&  rR   rÞ  rn   rp   rž   r;  r¨  rÈ  r  rH  r˜   rE  r  rL  rN  ra  re  r!  r;  rq  Úblas_providerÚblas_versionr—  r»  r  r   rC  rF  rH  rM  ÚxfailrU  rW  rŒ  rF  r[   ÚintprJ  r�  r•  r™   rd   r›   r™  r›  r©  r«  rœ   r_   r]   ú<module>rç     sn
  ðØ Ð Ð Ð Ø €€€Ø 
€
€
€
à Ð Ð Ð ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð €€€Ø *Ð *Ð *Ð *Ð *Ð *ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð NðAð Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að $Ð #Ð #Ð #Ð #Ð #Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø #Ð #Ð #Ð #Ð #Ð #ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø (Ð (Ð (Ð (Ð (Ð (à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðØ'Ð'Ð'Ð'Ð'Ð'Ð'øØð ð ð Ø€F€F€Fðøøøð Œ<˜<Ò'ÐUÐ+;¨8Ô+;Ñ+=Ô+=ÐAUÐ+U€ð (-°Eð ð ð ð ð Œz˜2œ:Ð&€Ø”, ¤Ð.€Ø	�~Ñ	%€ð
ð ð ð4'=ð '=ð '=ð '=ð '=ñ '=ô '=ð '=ðTO&ð O&ð O&ð O&ð O&ñ O&ô O&ð O&ðff$ð f$ð f$ð f$ð f$ñ f$ô f$ð f$ðP	~!ð ~!ð ~!ð ~!ð ~!ñ ~!ô ~!ð ~!ðBJ$ð J$ð J$ð J$ð J$ñ J$ô J$ð J$ðXM#ð M#ð M#ð M#ð M#ñ M#ô M#ð M#ð^ð ð ð ð �Mñ ô ð ð „×Ò�GÐ$;ÐÑ<Ô<Ø„×Ò�rÑÔðð ñ Ôñ =Ô<ðð;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð|Eð Eð Eð Eð Eñ Eô Eð EðE
.ð E
.ð E
.ð E
.ð E
.ñ E
.ô E
.ð E
.ðPN-ð N-ð N-ð N-ð N-ñ N-ô N-ð N-ðb}4ð }4ð }4ð }4ð }4ñ }4ô }4ð }4ð@Y#ð Y#ð Y#ð Y#ð Y#ñ Y#ô Y#ð Y#ðx  $Ð #€�Ø	ÐØÐ/Ô0°Ô8¸Ô@€MØÐ.Ô/°Ô7¸	ÔB€Lðp'ð p'ð p'ð p'ð p'ñ p'ô p'ð p'ðfG5ð G5ð G5ð G5ð G5ñ G5ô G5ð G5ðT>ð >ð >ð >ð >ñ >ô >ð >ð<-ð -ð -ð -ð -ñ -ô -ð -ð6
ð 
ð 
ð „×ÒÐ$�HÔ$Ñ&Ô&¨)Ò3Ø/ð ñ 1ô 1ð
ð 
ñ1ô 1ð
ðð ð ð#ð #ð #ð$ „×Ò�uØLð ñ Nô Nð4ð 4ñNô Nð4ð@5/ð 5/ð 5/ð 5/ð 5/ñ 5/ô 5/ð 5/ðp*ð *ð *ð *ð6 „ÔØ„×Ò�H�B”H˜RœWÑ%Ô%Ô.°Ò2Ø?ð ñ Aô Aðð ñAô Añ Ôððð ð ð „×Ò˜  U¨B¬J¸ÀÄÐNÑOÔOðð ñ PÔOðð8Bð 8Bð 8Bð 8Bð 8Bñ 8Bô 8Bð 8BðvB;ð B;ð B;ðJ[1ð [1ð [1ð [1ð [1ñ [1ô [1ð [1ð [1ð [1s   ÃC ÃC'Ã&C'