§
    ¢éUg	Á ã                   ó
  — 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.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z< d d	lm=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO d d
lPmQZQ d dlRmSZS d dlTmUZU d dlVmWZW 	 d dlXmYZY n# eZ$ r dZYY nw xY wde[fd„Z\ejD        ej]        gZ^ejE        ej_        gZ`e^e`z   Zad„ Zb G d„ d¦  «        Zc G d„ d¦  «        Zd G d„ d¦  «        Ze G d„ d¦  «        Zf G d„ d¦  «        Zg G d„ d¦  «        Zh G d„ deh¦  «        Ziejj         k                    d ¦  «        d!„ ¦   «         Zl G d"„ d#¦  «        Zm G d$„ d%¦  «        Zn G d&„ d'¦  «        Zo G d(„ d)¦  «        Zp G d*„ d+¦  «        Zq G d,„ d-¦  «        ZrdxZsZteY�(eYd.         d/         d0         ZseYd.         d/         d1         Zt G d2„ d3¦  «        Zu G d4„ d5¦  «        Zv G d6„ d7¦  «        Zw G d8„ d9¦  «        Zxd:„ Zyejj         z                     ej{        ¦   «         d;k    d<¬=¦  «        d>„ ¦   «         Z|d?„ Z}d@„ Z~ejj                             ddA¬B¦  «        dC„ ¦   «         Z€ G dD„ dE¦  «        Z�dRdF„Z‚ejj        jƒ        ejj         z                     ej„        ej…        ¦  «        j†        dGk     dH¬=¦  «        dI„ ¦   «         ¦   «         Z‡dJ„ Zˆejj         ‰                    dKeŠe[ejD        e‹ejE        g¦  «        dL„ ¦   «         ZŒdM„ Z�ejj         ‰                    dKeŠe[ejD        e‹ejE        g¦  «        dN„ ¦   «         ZŽdO„ Z� G dP„ dQ¦  «        Z�dS )Sé    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)ÚCONFIGFc                 ó¸  — |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       ú]/var/www/surfInsights/venv3-11/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'.
    rN   é   r   zinput type not supported.ç      à?)Ú
isinstanceÚintrQ   rE   Úlenr@   Ú	TypeErrorr3   ÚrvsrT   rS   r5   )Údim_or_eigvÚrngÚdimÚdÚvÚhs         rZ   Úsymrandrk   ?   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©r^   rN   é   ©rN   é   é   é	   é]   rN   r   ©r   r>   r   ©ÚselfÚaÚwÚexact_ws       rZ   Ú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 )Nro   rq   rh   rt   ru   rN   r   )r4   rT   Úcopyr   r>   r   rw   s       rZ   Útest_simple_trzTestEigVals.test_simple_tra   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 )Nro   ©rN   rr   y      @      ð?y      "@      ð?y      W@      @rN   r   rv   rw   s       rZ   Útest_simple_complexzTestEigVals.test_simple_complexi   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 )	Nro   rq   F©Úcheck_finitert   ru   rN   r   rv   rw   s       rZ   Útest_finitezTestEigVals.test_finiteq   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   ©rX   ©r   rN   T©Úhomogeneous_eigvals©rN   r   )rP   Úemptyr   r@   rX   rF   )rx   r‡   ry   rz   s       rZ   Ú
test_emptyzTestEigVals.test_emptyw   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Úparametrizera   Úfloatr;   Úcomplexr<   r�   © r\   rZ   rm   rm   Y   sŠ   € € € € € ð.ð .ð .ð.ð .ð .ð.ð .ð .ð.ð .ð .ð „[×Ò˜T C¨°¸À)Ð#LÑMÔMð=ð =ñ NÔMð=ð =ð =r\   rm   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 )Nro   rq   rt   ru   rN   r   r^   rp   ©ç      @r   éÿÿÿÿr‰   ©r   r^   ©r   rN   ©ÚleftÚright)r4   r
   r>   r1   r   rB   ÚrangerT   ©	rx   ry   rz   ri   r{   Úv0Úv1Úv2Úis	            rZ   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 )Nr^   rN   éþÿÿÿr¢   ù      ð?       @y      ð?       À)r4   r
   r   r¥   rS   rT   ©rx   ry   rz   ÚvlÚvrrª   s         rZ   Ú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 )Nro   r�   r^   r¢   rp   )r4   r
   r¥   r   rS   rT   r®   s         rZ   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 )Nr^   r   TrŒ   ©r^   r   r‰   )r
   r   r   r   rP   Úinf)rx   ry   Úbrz   r°   s        rZ   Ú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Œ   r^   r   ©ÚrtolÚatolÚerr_msggH¯¼šò×z>)r½   r¼   r¾   )r¾   r½   r¼   y       €      ð¿rM   g»½×Ùß|Û=)Útol©r¾   )rC   rP   rF   r@   r
   r   r¥   r   Úlexsortr�   rb   r1   ÚonesÚsizeÚallrD   Úreal_if_closer8   ÚabsÚimagrA   )rx   rY   ÚBÚ
atol_homogÚ
rtol_homogr½   r¼   ÚB0Úmsgrz   r°   ÚwtÚval1Úval2rª   ÚpermÚpermtÚlengthÚbeta_nonzeroÚwhÚresÚw_finÚwt_fins                          rZ   Ú_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   rP   ÚerrstaterØ   ©rx   rY   rÈ   s      rZ   Ú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)r^   r   rp   )rN   rŸ   rŸ   )rŸ   rN   rŸ   )rŸ   rŸ   rN   )r^   rŸ   r   )rŸ   r^   r   ©r   r   r   ©rp   rp   rp   r÷   rø   )r5   r4   r9   rF   rP   Úblockrù   rØ   )rx   ÚMÚKÚDÚZÚI3rY   rÈ   s           rZ   Ú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é÷ÿÿÿrN   )r^   r   r   r   )r   r^   r   r   r   )r   r   r^   r   )r   r   r   r^   r^   r™   )ÚomegaÚc1Úc2rY   rÈ   s        rZ   Ú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	  )rP   rù   r¥   rØ   )rx   r  ÚkrY   rÈ   s        rZ   Ú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éÒ  rp   rþ   rM   )rP   rQ   ÚRandomStaterk   rØ   )rx   rf   rY   rÈ   s       rZ   Útest_make_eigvalszTestEig.test_make_eigvals7  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 )Nro   rq   Fr„   rt   ru   rN   r   r^   rp   r�   r‰   r    r¡   )r
   r>   r4   r1   r   rB   r¥   r¦   s	            rZ   Útest_check_finitezTestEig.test_check_finiteE  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.rs   rp   rN   N)rP   r:   ÚreshapeÚassert_raisesÚ
ValueErrorr
   )rx   rY   s     rZ   Útest_not_square_errorzTestEig.test_not_square_errorV  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.rN   ç      "@rp   N)rF   rP   r:   r  r  r  r
   rú   s      rZ   Ú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½   ç       @)	rP   r4   r
   ÚtestingÚsuppress_warningsÚfilterÚRuntimeWarningÚiscloseÚany)rx   rY   rÈ   r  ÚVÚsups         rZ   Útest_gh_11577zTestEig.test_gh_11577c  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Š   rN   r‹   TrŒ   rŽ   )rP   r�   r
   rF   r@   rX   r   )rx   r‡   ry   rz   r°   Úw_nÚvr_ns          rZ   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  r3  r”   r•   r–   ra   r—   rP   r;   r˜   r<   r�   r™   r\   rZ   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©rx   s    rZ   Ú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`.é
   rN   ç      ð?r^   ç      ð¿rŸ   ç       Àr¬   rM   ç      À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)rx   ÚNÚewÚevÚargsÚLDABrª   s          rZ   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.r^   ©Ú	compute_vN)r,   rP  r8   r   rA   rL  rÆ   rM  ©rx   rz   ÚevecÚinfoÚevec_s        rZ   Ú
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.r^   r[  N)r-   rP  r8   r   rA   rL  rÆ   rM  r]  s        rZ   Ú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.ç        r^   rN   ©r\  r¥   N)
r@   rG  r.   rP  r8   r   rA   rL  rÆ   rM  ©rx   rU  rz   r^  ÚnumÚifailr_  r`  s           rZ   Ú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.r^   r[  N)r/   rQ  r8   r   rA   rN  rÆ   rO  r]  s        rZ   Ú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.re  r^   rN   rf  N)
r@   rH  r0   rQ  r8   r   rA   rN  rÆ   rO  rg  s           rZ   Ú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.rN   rs   rª   ©ÚselectÚselect_ranger^   çñhãˆµøä>ri   Fr„   N)
r   rP  rK  r   rA   rL  rQ  rN  rP   Úlonglong)rx   Úw_symÚw_hermÚind1Úind2Ú	w_sym_indÚ
w_herm_indÚv_lowerÚv_upperÚ	w_sym_valÚ
w_herm_vals              rZ   Ú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. NrN   rs   rª   rp  r^   rs  ri   Fr„   )r   rP  r8   rK  r   rA   rL  rÆ   rM  rQ  rN  rO  )rx   ru  Úevec_symÚ	evec_sym_rv  Ú	evec_hermÚ
evec_herm_rw  rx  ry  Úevec_sym_indrz  Úevec_herm_indr{  r|  r}  Úevec_sym_valr~  Úevec_herm_vals                      rZ   Útest_eig_bandedzTestEigBanded.test_eig_bandedC  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.rN   Nr^   r   ©Ú	permute_l)
r@   rI  r(   rR  rE  rF  r5   r¥   r   r   ©rx   r   rU  Úlu_symm_bandÚipivr_  Úurª   Úp_linÚl_linÚu_lins              rZ   Ú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.rN   Nr^   r   r‹  )
r@   rJ  r*   rS  rE  rF  r5   r¥   r   r   r�  s              rZ   Ú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(   rR  rE  rF  r)   r¶   r7   r   rI  r   ©rx   rŽ  r�  r_  ÚyÚy_lins         rZ   Ú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*   rS  rE  rF  r+   rT  r7   r   rJ  r   r™  s         rZ   Ú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   r^   r‹   T©Úeigvals_only)rP   r�   r   r4   r@   rX   )rx   r‡   Úa_bandrz   ri   r5  Úv_ns          rZ   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;  ra  rc  rj  rl  rn  r  r‰  r”  r—  rœ  rž  r”   r•   r–   ra   r—   rP   r;   r˜   r<   r�   r™   r\   rZ   r8  r8  –  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\   r8  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    rZ   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`.r?  r@  r^   rA  rŸ   N)r6   rh   Úer5   Úfull_matr7   r
   rK  r8   rz   r^  )rx   rU  rV  rW  rX  s        rZ   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Ÿ   rM   r@  ©Úlapack_driverÚfoorª   ©r   rŸ   rp  )r  r  r#   rh   r©  rc   r<  s    rZ   Ú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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    ©r­  rq  rr  ©r´  rµ  r¶  r   r^   ©rq  rr  r­  rN   rs   rs  ri   N)	r#   rh   r©  r   rA   rz   r  r  rb   )	rx   Údriverrz   Úw_indrw  rx  r{  r|  Úw_vals	            rZ   Ú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   r^   r¹  rN   rs   rs  ri   )r  r  r$   rh   r©  r8   r   rA   rz   rÆ   r^  rb   )	rx   rº  rz   r^  r`  rw  rx  r{  r|  s	            rZ   Ú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-20075rB  Tr   r^   rª   r‰   rp  rN   r@  ri   )r¬   r   r   r‹   r´   N)rP   r4   r$   Úndimr   rÃ   r@   )rx   ry   r¶   Úxr1  s        rZ   Ú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\   rZ   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  )rP   rQ   Úseedr<  s    rZ   Úsetup_classzTestEigh.setup_class@  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 )Nr^   rN   rp   é   )Útype)Úsubset_by_valueÚsubset_by_indexr   ©rÍ  r¬   ©rÌ  Úwrong©rº  ÚgvxÚevrÚgvd)rº  rÍ  )r  r  r   rP   rÂ   r<  s    rZ   Útest_wrong_inputszTestEigh.test_wrong_inputsC  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 )Nrp   )r  r'   r   rP   rÂ   r<  s    rZ   Útest_nonpositive_bzTestEigh.test_nonpositive_bi  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¬   rN   rÏ  r^   T)rW   rX   )Ú	enumerateÚDTYPESr[   r   r   r@   rb   rÄ   )rx   Úindr‡   ry   rz   ri   r¶   s          rZ   Útest_value_subsetszTestEigh.test_value_subsetsm  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 )Nr^   rN   é   rp   rr   )r4   r   )rx   ry   r¶   rz   Úzs        rZ   Útest_eigh_integerzTestEigh.test_eigh_integerz  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   rN   )	Úscipy.sparseÚsparseÚidentityÚtocscrP   Ú
atleast_2dr  r  r   )rx   Úscipyry   r¶   s       rZ   Útest_eigh_of_sparsezTestEigh.test_eigh_of_sparse€  sh   € àÐÐÐØŒL×!Ò! !Ñ$Ô$×*Ò*Ñ,Ô,ˆÝŒM˜!ÑÔˆÝ•j¥$¨Ñ*Ô*Ð*Ý•j¥$¨Ñ*Ô*Ð*Ð*Ð*r\   Údtype_rº  )rW  ÚevdrÓ  Úevxc                 ó¼   — t          d|¬¦  «        }t          ||¬¦  «        \  }}t          ||z  ||z  z
  ddt          j        |¦  «        j        z  d¬¦  «         d S )NrÙ  )rV   rX   rÑ  re  éè  ©r½   r¼   )r[   r   r   rP   ÚfinfoÚeps)rx   rº  rê  ry   rz   ri   s         rZ   Ú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 )Nr^   rÑ  r@  gVçž¯Ò<r)  rM   r   )r   r   r4   )rx   rº  rz   ri   s       rZ   Ú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Ë  ro   )Ú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)rW   )ry   r¶   rº  rË  r^   re  rï  rN   )rP   Úspacingr[   r   r   )rx   rº  rË  r½   ry   r¶   rz   ri   s           rZ   Ú 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 )
Nrr   r^   rN   rÎ  )r^   ç333333ó?çÍÌÌÌÌÌô?ç      ø?rN   gffffffö?rÏ  rú  rû  )r[   r   r   rb   r   rP   r5   r4   )rx   ry   rz   Úw2r¶   Úw3s         rZ   Ú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Š   rN   r‹   Tr   )rP   r�   r   rF   r@   rX   r   )rx   r‡   ry   rz   ri   r5  r£  s          rZ   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ÿ  ra   r—   rP   r;   r˜   r<   r�   r™   r\   rZ   rÅ  rÅ  ?  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 )Nr@  r¬  r®  )r  rc   r   r  r<  s    rZ   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 )Nro   ©r^   rÙ  rp   rq   ©TF©Úfull_matricesr­  rp   r   ©r   r­  r   rT   rF   r9   r@   rX   Úcharr¥   rb   ©rx   ry   r	  r�  ÚsÚvhÚsigmarª   s           rZ   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 )Nro   rq   r  r  rp   r   r
  r  s           rZ   Ú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 )Nro   ©rÊ  rr   rs   r  r  r   ©r   r­  r   rT   rF   r@   r9   rX   r  r¥   rb   r  s           rZ   Ú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 )	Nr^   rN   rÊ  rr   rp   r  r  r   r  r  s           rZ   Ú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è   rp   r  r  r^   r   )rP   rQ   r  r¥   r   r­  r   rT   rF   r@   r9   rX   r  rb   )rx   rf   rV   Úmrª   ry   r	  r�  r  r  r  s              rZ   Ú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 )Nro   )r^   y               @rp   rq   r  r  r^   r   )r   r­  r   rS   rT   rF   r@   r9   rX   r  r¥   rb   r  s           rZ   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è   rp   r  rM   r  r^   r   )rP   rQ   r  r¥   Úlistr@   r   r­  r   rS   rT   rF   r9   rX   r  rb   )rx   rf   rV   r  rª   r	  ry   r�  r  r  r  s              rZ   Ú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¬  )rP   rQ   r  r;   r"  r<   Ú
complex128rR   rU   r   r­  )rx   rf   ÚsizesÚszr‡   ry   s         rZ   Útest_crash_1580zTestSVD_GESDD.test_crash_15801  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 )Nro   r  rq   F)r…   r­  rp   r   r
  )rx   ry   r�  r  r  r  rª   s          rZ   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(  re  re  re  )re  r(  r)  r(  re  re  )re  re  r(  r)  r(  re  )re  re  re  r(  r)  r(  r¬  )rP   r4   r   r­  )rx   r¶   s     rZ   Útest_gh_5039zTestSVD_GESDD.test_gh_5039D  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_mbr^   l        rŠ   r¯  F©r	  r   r@  r‰   )rI   rP   r9   r;   r   r   )rx   rY   r�  r  r  s        rZ   Útest_large_matrixzTestSVD_GESDD.test_large_matrixU  s‡   € õ 	 %Ð(Ñ(Ô(Ð(ÝŒH�a˜�Z¥r¤zÐ2Ñ2Ô2ˆØˆˆ%‰Ý�q¨Ð.Ñ.Ô.‰ˆˆ1ˆbÝ˜˜!œ˜cÑ"Ô"Ð"Ý˜˜$œ " U¤)Ñ+¨SÑ1Ô1Ð1Ð1Ð1r\   r  ©r   r^   rN   rV   rX   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Š   ÚFDFr/  ©Ú
compute_uv)	rP   r9   ÚminrX   r  Úlowerr   r   r@   )rx   r  rV   rX   ry   r  ÚdcharÚ
real_dcharr�  r  ri   s              rZ   Útest_shape_dtypezTestSVD_GESDD.test_shape_dtype_  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  rV   ©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 )Nrp   rŠ   r‹   Fr/  r   r4  )rP   rF   r   r�   r   rå  rX   )rx   r‡   r  rV   Úa0Úu0Ús0r§   ry   r�  r  ri   s               rZ   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   Úslowr0  r–   rÛ  r:  ra   r—   rP   r;   r˜   r<   r�   r™   r\   rZ   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\   rZ   rD  rD  š  s   € € € € € Ø€M€M€Mr\   rD  rr   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Š   )rP   rÂ   r"  r  r  r   )Údfs    rZ   Útest_svd_gesdd_nofegfaultrH  ž  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   rp   rŠ   r   rN   )rP   r�   rÂ   r4   r   r   rF   rX   )rx   r‡   ry   r  r@  s        rZ   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 )Nro   rq   rp   r   r^   rN   ©r   r   rb   ©rx   ry   r  s      rZ   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 )Nro   r  rN   r   r^   rN  rO  s      rZ   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 )Nr^   rN   rÊ  rr   rp   r   rN  rO  s      rZ   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 )Nro   )r^   rÙ  ù              @rq   rp   r   r^   rN   rN  rO  s      rZ   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 )Nro   )rÊ  y              @rs   rN   r   r^   rN  rO  s      rZ   Ú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 )Nr^   rN   rÊ  rr   rS  r   rN  rO  s      rZ   Ú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 )	Nro   rq   Fr„   rp   r   r^   rN   rN  rO  s      rZ   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ð
  )rP   rQ   rÇ  rR   r   ©rx   ry   s     rZ   Útest_crash_2609zTestSVDVals.test_crash_2609Ý  s:   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜4 Ñ&Ô&ˆå�‰
Œ
ˆ
ˆ
ˆ
r\   N)r‘   r’   r“   r”   r•   r–   ra   r—   rP   r;   r˜   r<   r�   r|   r  r  r‚   rU  rW  r  rB  r[  r™   r\   rZ   rJ  rJ  §  sÚ   € € € € € à„[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSð'ð 'ñ TÔSð'ð&ð &ð &ðð ð ðð ð ð&ð &ð &ðð ð ðð ð ð&ð &ð &ð „[Ôðð ñ Ôðð ð r\   rJ  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©r^   r   r   rp   rý   )r   r   r<  s    rZ   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\   rZ   r]  r]  å  s(   € € € € € ðEð Eð Eð Eð Er\   r]  c                   ó²  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z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©é   rN   rp   ©rN   rt   rp   ©rr   rp   rs   rp   ©r   r   rT   rF   ©rx   ry   ÚqÚrs       rZ   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 )Nrd  rf  rg  ro   r£   rp   ©r   r   r   rF   ©rx   ry   rj  rk  ÚcÚqcÚr2s          rZ   Ú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 )Nrd  rf  rg  ro   rp   rm  rn  s          rZ   Ú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 )	Nrd  rf  rg  T©Úpivotingr^   rŸ   rp   ©
rP   rC   r   rÆ   r5   r   rÄ   r   rT   rF   ©rx   ry   rj  rk  Úprh   Úq2rq  s           rZ   Ú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 )Nrd  rf  rg  Trv  ro   r£   ©r   r   r   ©rx   ry   rj  rk  Újpvtro  rp  s          rZ   Ú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 )Nrd  rf  rg  Trv  ro   r~  r  s          rZ   Ú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 )Nrd  rf  rN   rh  ri  s       rZ   Ú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 )Nrd  rf  Trv  r^   rŸ   rN   rx  ry  s           rZ   Ú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 ©Nre  rN   rt   rr   rp   rh  ri  s       rZ   Útest_simple_tallzTestQR.test_simple_tall1  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 )
Nre  rN   rt   rr   rp   Trv  r^   rŸ   rx  ry  s           rZ   Útest_simple_tall_pivotingz TestQR.test_simple_tall_pivoting8  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 )
Nre  rN   rt   rr   rp   Úeconomic©Úmode©rp   rN   ©rN   rN   ©r   r   rT   rF   r   r@   ri  s       rZ   Útest_simple_tall_ezTestQR.test_simple_tall_eD  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 )Nre  rN   rt   rr   rp   Tr�  ©rw  r‘  r^   rŸ   r�  rx  ry  s           rZ   Útest_simple_tall_e_pivotingz"TestQR.test_simple_tall_e_pivotingM  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 )Nre  rN   rt   rr   rp   r�  r�  r^   r£   ©r^   rN   r   T©Úoverwrite_c©r   r   r   r4   rF   rn  s          rZ   Útest_simple_tall_leftzTestQR.test_simple_tall_leftY  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 )Nre  rN   rt   rr   rp   r�  T©r‘  rw  r^   r£   )r   r   r   r   rF   )rx   ry   rj  rk  r€  ro  rp  Úkpvts           rZ   Útest_simple_tall_left_pivotingz%TestQR.test_simple_tall_left_pivotingf  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 )	Nre  rN   rt   rr   rp   r�  r�  ro   rm  ©rx   ry   rj  rk  ro  Úcqrq  s          rZ   Útest_simple_tall_rightzTestQR.test_simple_tall_rightp  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 )Nre  rN   rt   rr   rp   Tr�  r—  ro   rv  rm  ©rx   ry   rj  rk  r€  ro  r¥  s          rZ   Útest_simple_tall_right_pivotingz&TestQR.test_simple_tall_right_pivotingz  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©re  rN   rr   rf  rN   r“  ©rN   rp   r”  ri  s       rZ   Ú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«  rf  Trv  r^   rŸ   rN   r“  r¬  ©rP   rC   r   rÆ   r5   r   rÄ   r   rT   rF   r   r@   ry  s           rZ   Ú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 )Nrd  ©rN   rt   rr   r�  r�  rN   r“  r¬  r”  ri  s       rZ   Ú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 )Nrd  r²  Tr�  r—  r^   rŸ   rN   r“  r¬  r�  r¯  ry  s           rZ   Ú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 )Nrd  r²  r�  r�  r^   rN   r£   rm  rn  s          rZ   Ú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 )	Nrd  r²  r�  Tr   r^   rN   r£   rm  r  s          rZ   Ú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 )Nrd  r²  r�  r�  r^   rN   rm  r¤  s          rZ   Ú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 )	Nrd  r²  Tr�  r—  r^   rN   rv  rm  r¨  s          rZ   Ú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©rp   ù      @      @rr   ©rr   rN   y       @      @©rp   rN   rß  rp   )r   r   rS   rT   rF   ri  s       rZ   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Ã  ©r^   rN   rÁ  r£   rp   rm  ©rx   ry   rj  rk  ro  rp  s         rZ   Ú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Å  rp   rm  rÆ  s         rZ   Ú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 )Nre  y       @      @rN   rt   y      @      @rp   r�  r�  r^   ù       @       @r£   rš  Tr›  r�  rn  s          rZ   Ú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   rS   rÆ  s         rZ   Ú"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 )Nrp   rÁ  rr   rË  rN   r�  r�  r^   r£   TrÎ  rÐ  rÆ  s         rZ   Ú'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   rP   r4   r   r   rS   rÆ  s         rZ   Ú#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Ã  Trv  r^   rŸ   rp   )r4   r   rÆ   r5   r   rP   rÄ   r   rS   rT   rF   ry  s           rZ   Ú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Ã  Trv  rÅ  r£   ©r4   r   r   r   r  s          rZ   Ú!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Ã  Trv  rÅ  rÙ  r  s          rZ   Ú"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Ù  rN   ©rP   rQ   r  r¥   r   r   rT   rF   ©rx   rf   rV   r  ry   rj  rk  s          rZ   r  zTestQR.test_random*  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Ù  rN   r£   ©rP   rQ   r  r¥   r   r   r   rF   ©	rx   rf   rV   r  ry   rj  rk  ro  rp  s	            rZ   Útest_random_leftzTestQR.test_random_left3  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â  ©	rx   rf   rV   r  ry   rj  rk  ro  r¥  s	            rZ   Útest_random_rightzTestQR.test_random_right?  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Ù  rN   Trv  r^   rŸ   ©rP   rQ   r  r¥   r   rÆ   r5   r   rÄ   r   rT   rF   ©rx   rf   rV   r  ry   rj  rk  rz  rh   r{  rq  s              rZ   Útest_random_pivotingzTestQR.test_random_pivotingK  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  rN   rß  ©rx   rf   r  rV   r  ry   rj  rk  s           rZ   Útest_random_tallzTestQR.test_random_tallY  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  rN   r�  r�  r£   râ  )
rx   rf   r  rV   r  ry   rj  rk  ro  rp  s
             rZ   Útest_random_tall_leftzTestQR.test_random_tall_leftd  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  rN   r�  r�  râ  )
rx   rf   r  rV   r  ry   rj  rk  ro  r¥  s
             rZ   Útest_random_tall_rightzTestQR.test_random_tall_rightr  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  rN   Trv  r^   rŸ   ré  ©rx   rf   r  rV   r  ry   rj  rk  rz  rh   r{  rq  s               rZ   Ú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ô  )
rP   rQ   r  r¥   r   r   rT   rF   r   r@   rï  s           rZ   Ú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  rN   Tr�  r—  r^   rŸ   r�  )rP   rQ   r  r¥   r   rÆ   r5   r   rÄ   r   rT   rF   r   r@   r÷  s               rZ   Ú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î  rN   rß  rï  s           rZ   Ú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î  rN   Trv  r^   rŸ   ré  r÷  s               rZ   Ú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Ù  rN   rM   )	rP   rQ   r  r¥   r   r   rS   rT   rF   rà  s          rZ   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Ù  rN   rM   r£   râ  rã  s	            rZ   Ú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	            rZ   Ú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Ù  rN   rM   Trv  r^   rŸ   )rP   rQ   r  r¥   r   rÆ   r5   r   rÄ   r   rS   rT   rF   rê  s              rZ   Ú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 ©Nrd  rf  rg  Fr„   rp   rh  ri  s       rZ   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 )Nrd  rf  rg  )Úlworkrp   r?  rŸ   r  r   rN   )r   r   r  Ú	Exception)
rx   ry   rj  rk  r{  rq  Úq3Úr3Úq4Úr4s
             rZ   Ú
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  r1  rV   rw  FTrX   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Š   rv  r^   r   rk  r   r�  Úraw)	r6  rP   r9   r   r   r@   rX   rb   Úint32)rx   r  rV   rw  rX   r  ry   rj  rk  Úotherrz  r  Útaus                rZ   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 )NTrv  rk  r�  r�  r  )r6  rP   r�   r   r   rå  r:   )
rx   r  rV   r  ry   rj  rk  rz  r  r  s
             rZ   r�   zTestQR.test_emptyI  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Ž   )rP   r�   r   r   )rx   ry   ro  r¥  rk  s        rZ   Útest_multiply_emptyzTestQR.test_multiply_emptyc  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|   rr  rt  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\   rZ   ra  ra  ì  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\   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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 rc  ©r   r   rT   rF   ©rx   ry   rk  rj  s       rZ   r|   zTestRQ.test_simpleu  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 )Nrd  rf  rg  rk  r�  )r   r   )rx   ry   rk  rj  rq  s        rZ   Ú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Þ  ©rP   rQ   r  r¥   r   r   rT   rF   ©rx   rf   rV   r  ry   rk  rj  s          rZ   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 )Nrd  rf  rp   r  r   s       rZ   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       rZ   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«  rf  rp   r  r   s       rZ   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   rS   rT   rF   r   s       rZ   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$  ©rx   rf   r  rV   r  ry   rk  rj  s           rZ   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           rZ   rÿ  zTestRQ.test_random_trap¬  r,  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î  rN   r�  r�  )
rP   rQ   r  r¥   r   r   rT   rF   r   r@   r+  s           rZ   Ú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  )	rP   rQ   r  r¥   r   r   rS   rT   rF   r%  s          rZ   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î  rN   rM   r�  r�  )rP   rQ   r  r¥   r   r   rS   rT   rF   r   r@   r+  s           rZ   Ú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       rZ   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  r1  rV   rX   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Š   rk  r�  r�  )r6  rP   r9   r   r   r@   rX   )rx   r  rV   rX   r  ry   rk  rj  s           rZ   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 )Nrk  r�  r�  )r6  rP   r�   r   r   rå  )rx   r  rV   r  ry   rk  rj  s          rZ   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ÿ  r/  r  r2  r  r”   r•   r–   rÛ  r:  r�   r™   r\   rZ   r  r  t  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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   rS   rT   rP   rF   rb   )rx   ry   Útr�  r¼   r½   s         rZ   Ú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©re  é   rp   rf  ©r?  rp   rs   r(  ç›+¡†›„ö<©r¼   r½   r˜   )r   r:  r   rP   r0  r=   r?   r   )rx   ry   r9  rà  ÚtcÚzcÚtc2Úzc2s           rZ   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ÚlhprN   ç      à¿r_   ÚrhpÚiucÚoucc                 ó   — | dk    S )Nre  r™   )rÂ  s    rZ   ú<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ž   r@  rA  ©g      Àg      ÀrA  r@  ©r  ç      @ç      Àg      @©rP  r$  rC  ç      @©rA   r(  r?  r@  çê-�™—q=©r¼   rN   )r   r:  r   rP   r5   r   )rx   rA   Úexpected_diagry   r9  r�  Úsdims          rZ   Ú	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 )NrM  rN  rO  rR  ÚunsupportedrT  r^   )r  r  r   rZ  s     rZ   Útest_sort_errorszTestSchur.test_sort_errors.  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<  rf  r>  Fr„   )r   r   rS   rT   )rx   ry   r9  rà  s       rZ   r  zTestSchur.test_check_finite6  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Š   rN   rE  rT  r   )rP   r�   r   rF   r   rX   r   )rx   r‡   ry   r9  rà  Út0Úz0rX  s           rZ   r�   zTestSchur.test_empty;  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\   N)r‘   r’   r“   r:  r|   r”   r•   r–   rP   r>   rY  r\  r  ra   r—   r;   r˜   r<   r�   r™   r\   rZ   r7  r7    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ð#ð #ð #r\   r7  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—@r^   ©Úcalc_qrÊ  ©Údecimal©r   r   rT   ©rx   ry   Úh1rj   rj  s        rZ   r|   zTestHessenberg.test_simpleO  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 )Nrd  )rf  y             €f@rh  )y       €      ;Àr  rj  r^   rn  )r   r   rS   rT   ©rx   ry   rj   rj  s       rZ   r‚   z"TestHessenberg.test_simple_complexZ  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)r^   rN   rp   rÊ  rr   rs   rß  )r   rN   rp   rÊ  rs   rß  rN   )r   rN   rN   rp   r   rp   rN   )r   r   rN   re  r   r   rN   )r   rp   r^   rN   r   r^   rN   )r   r^   rN   rp   r   r^   r   )r   r   r   r   r   r^   rN   r^   rn  rr  rv  s       rZ   Útest_simple2zTestHessenberg.test_simple2a  s€   € Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"ð$ˆõ ˜! AÐ&Ñ&Ô&‰ˆˆ1Ý! !¤#¨¡'¨A¡+¨qÑ1Ô1Ð1Ð1Ð1r\   c                 ó–   — t          j        d¦  «        }d|d<   t          |d¬¦  «        \  }}t          |j        |z  |z  |¦  «         d S )Nrp   rN   )rŸ   r   r^   rn  )rP   rF   r   r   rT   rv  s       rZ   Útest_simple3zTestHessenberg.test_simple3l  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Ù  rN   r^   rn  )rP   rQ   r  r¥   r   r   rT   ©rx   rf   rV   r  ry   rj   rj  s          rZ   r  zTestHessenberg.test_randomr  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Ù  rN   rM   r^   rn  )rP   rQ   r  r¥   r   r   rS   rT   r|  s          rZ   r  z"TestHessenberg.test_random_complexz  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 )Nrd  re  ri  rk  rl  rm  r^   F)ro  r…   rÊ  rp  rr  rs  s        rZ   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 )
NrN   r^   rß  r=  rn  y       @      Àr­   y      @      @y      (@       À)r   r   rP   rF   )rx   ry   rj   rj  r¶   Úh2r{  s          rZ   Ú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Š   rp   Trn  )rP   r�   r   r@   rX   rF   )rx   r‡   ry   rj   rj  Úh3r  s          rZ   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‚   rx  rz  r  r  r  r�  r”   r•   r–   ra   r—   r;   r˜   r<   r�   r™   r\   rZ   rb  rb  M  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\   rb  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  rr   rp  r   )rP   rQ   r  rU   r;   r   r   rT   rF   r   rÄ   r5   ©	rx   rf   rV   rY   rÈ   ÚAAÚBBÚQr  s	            rZ   Ú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Š  rr   r   ©
rP   rQ   r  r   r   rT   rF   r   rÄ   r5   r‹  s	            rZ   Ú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Š  rr   rM   r   )rP   rQ   r  r   r   rS   rT   rF   r   rÄ   r5   rÇ   r‹  s	            rZ   Ú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Š  rr   rM   rp  r   )rP   rQ   r  rU   r<   r   r   rS   rT   rF   r   rÄ   r5   rÇ   r‹  s	            rZ   Ú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Š  rr   r˜   )Úoutputr   )rP   rQ   r  r   rS   rT   r   rK  rÇ   rF   r   rÄ   r5   )rx   rf   rV   rY   rÈ   rŒ  r�  rŽ  r  ÚaaÚbbs              rZ   Ú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ÀrS  )çš™™™™™@rP  ç      GÀrP  )r@  r@  rC  r@  )r@  rž   g      Àr¤  )r@  r#  rQ  r@  )rú  rž   rQ  r$  c                 ó   — |dk    S )Nr   r™   )ÚarÚaiÚbetas      rZ   rK  z,TestQZ.test_qz_double_sort.<locals>.<lambda>
	  s
   € ÀbÈAÂg€ r\   rT  )	rP   r4   r  r  r   r   r   rT   rÆ   )rx   rY   rÈ   rŒ  r�  rŽ  r  rX  s           rZ   Útest_qz_double_sortzTestQZ.test_qz_double_sortò  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Š  rr   Fr„   r   r‘  r‹  s	            rZ   r  zTestQZ.test_check_finiteU	  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\   rZ   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              À)rM   yÍÌÌÌÌÌü¿333333@y              Ày      @      À)r�  rž  rŸ  rF  r   )r¡  r¢  r£  rS  )r¤  g      :@r¥  rP  )r^   rN   éýÿÿÿr^   )r^   rp   éûÿÿÿrÊ  )r^   rp   éüÿÿÿrp   )r^   rp   r±  rÊ  )r  r@  rž   rž   )r$  r$  r#  r'  )r'  r$  r@  rž   )re  r$  r*  r'  )r*  r%  rP  r%  )r'  r'  r#  r  )r  r@  rP  rP  )r  r@  r$  r'  rN   r   r^   )rP   r4   rF   r5   rY   rÈ   )
ÚclsÚA1ÚB1ÚA2ÚB2ÚA3ÚB3ÚA4ÚB4ÚA5s
             rZ   rÈ  zTestOrdQZ.setup_classc	  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 )rT  )r    )Ú.0ÚAiÚBirA   s      €rZ   ú
<listcomp>z'TestOrdQZ.qz_decomp.<locals>.<listcomp>œ	  s,   ø€ ÐNÐNÐN±°°B•5˜˜R dÐ+Ñ+Ô+ÐNÐNÐNr\   )rP   rù   ÚziprY   rÈ   Útuple)rx   rA   Úrets    ` rZ   Ú	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   r^   rN   T)rP   rF   r@   r   rT   rS   r   Útrilr9   r¥   r
   rÇ   r   r   r2   r4   )rx   rY   rÈ   rA   rŒ  r�  Úalphar©  rŽ  r  ÚIdrª   ÚevalsÚ_ÚtmpÚsortfunÚlastsortÚcursorts                     rZ   Ú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Ã  rY   rÈ   rÑ  )rx   rA   rÅ  ÚretirÀ  rÁ  s         rZ   Ú	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 )NrE  ©rÔ  r<  s    rZ   Útest_lhpzTestOrdQZ.test_lhpÓ	  ó   € Ø�Š�uÑÔÐÐÐr\   c                 ó0   — |                       d¦  «         d S )NrG  rÖ  r<  s    rZ   Útest_rhpzTestOrdQZ.test_rhpÖ	  rØ  r\   c                 ó0   — |                       d¦  «         d S )NrH  rÖ  r<  s    rZ   Útest_iuczTestOrdQZ.test_iucÙ	  rØ  r\   c                 ó0   — |                       d¦  «         d S )NrI  rÖ  r<  s    rZ   Ú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©rP   Ú
empty_likeÚboolrÇ   ©rÂ  rš  ÚoutÚnonzeros       rZ   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Ö  ©rx   rA   s     rZ   Ú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       rZ   rA   z TestOrdQZ.test_cef.<locals>.sortì	  rè  r\   rÖ  ré  s     rZ   Ú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 )Nr^   rN   rE  rT  )r    rY   rÈ   rÑ  )rx   rÅ  s     rZ   Útest_diff_input_typeszTestOrdQZ.test_diff_input_typesõ	  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 )NrN   r¬   r_   rE  rF  rG  rH  rI  y       À      ð?y      à?      à?yš™™™™™Ù¿š™™™™™É¿ù      ð?      ð¿r   r^   rT  )	rP   rF   r5   rµ   ÚnanrÃ  r    rã  r   )rx   r³  r´  Ú	expected1rµ  r¶  Ú	expected2r·  r¸  Ú	expected3r¹  rº  Ú	expected4r»  ÚB5Ú	expected5rY   rÈ   ÚexpectedrÀ  rÁ  Ú	expectediÚsortstrÚexpected_eigvalsrÌ  rÉ  r©  ÚazeroÚbzerorÂ  s                                 rZ   Ú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\   rZ   r­  r­  b	  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 )ÚTestOrdQZWorkspaceSizerN   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     rZ   rK  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>6
  ó
   € °U¸T²\€ r\   rK  )rA   r˜  c                 ó   — | |k     S r:  r™   r  s     rZ   rK  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda><
  r  r\   r˜   )	rP   rQ   r  r;   r"  rU   r    r"  r<   )rx   rf   rU  ÚddtyperY   rÈ   rÌ  s          rZ   Útest_decomposez%TestOrdQZWorkspaceSize.test_decompose-
  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  rI  rT  )	rP   rQ   r  r;   r"  r"  r<   rU   r    )rx   rf   rU  r
  rY   rÈ   ÚSrT   rÉ  r©  ÚUr1  s               rZ   Ú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  rB  r  r™   r\   rZ   r  r  ,
  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   )Ú_datacopiedr^   rN   rp   c                   ó   •— e Zd Zdˆ fd„	ZdS )ú-TestDatacopied.test_datacopied.<locals>.Fake1Nc                 ó   •— ‰S r:  r™   )rx   rX   r~   rY   s      €rZ   Ú	__array__z7TestDatacopied.test_datacopied.<locals>.Fake1.__array__U
  s   ø€ Ø�r\   )NN)r‘   r’   r“   r  ©rY   s   €rZ   ÚFake1r  T
  s3   ø€ € € € € ðð ð ð ð ð ð ð r\   r  c                   ó   •— e Zd Z” j        ZdS )ú-TestDatacopied.test_datacopied.<locals>.Fake2N)r‘   r’   r“   Ú__array_interface__r  s   €rZ   ÚFake2r  X
  s   ø€ € € € € Ø"#Ô"7ÐÐÐr\   r  FTrÀ   )Úscipy.linalg._decompr  rH   rC   Útolistr~   r   Úrepr)rx   r  r   ÚLÚM2r  r  ÚF1ÚF2ÚitemÚstatusÚarrrY   s               @rZ   Útest_datacopiedzTestDatacopied.test_datacopiedL
  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“   r)  r™   r\   rZ   r  r  J
  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Š   rN   r  ©ÚoffsetÚcountrX   ©r?  r?  T©Úoverwrite_aN)	r:   rP   Úuint8Ú
frombufferÚdatar;   r@   r
   rT   ©ry   rà  s     rZ   Útest_aligned_mem_floatr5  e
  si   € õ 	ˆs�"œ(Ð#Ñ#Ô#€Aõ 	Œ�a”f Q¨c½ÐAÑAÔA€AØ€A„Gåˆ�tÐÑÔÐÝˆŒ˜ÐÑÔÐÐÐr\   Úppc64lezcrashes on ppc64ler+  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 (float64)i$  rŠ   rÊ  r  r+  r.  Tr/  N)	r:   rP   r1  r2  r3  r—   r@   r
   rT   r4  s     rZ   Útest_aligned_memr8  r
  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Š   re  r  r+  r.  Tr/  N)	r9   rP   r1  r2  r3  r˜   r@   r
   rT   r4  s     rZ   Útest_aligned_mem_complexr:  �
  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 )Nre  rŠ   rÊ  r+  .r^   )r  r¥   rb   r`   rP   rE   r9   rÃ   rX   Úitemsizer1  r2  r3  r@   rT   )ÚfuncrX  Úkwargsrª   ry   r™  s         rZ   Úcheck_lapack_misalignedr?  �
  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.)Úrunr,  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 )Nr?  rŠ   r  r.  i N  rÊ  r+  Tr/  )Úoverwrite_b)r0  rB  )rP   rF   r—   r:   r@   r1  r2  r3  rÂ   r   r
   Údictr   r   r   r   r   r   r   r   r   r   r   r?  )	r   ÚRr  r¶   ÚLUÚpivr=  rX  r>  s	            rZ   Útest_lapack_misalignedrG  ¡
  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    rZ   Ú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 rK  )rG   r   r<  s    rZ   Ú	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    rZ   r‰  zTestOverwrite.test_eig_bandedÌ
  ó   € Ý�J¨¨Ñ1Ô1Ð1Ð1Ð1r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_eigvalszTestOverwrite.test_eigvalsÏ
  ó   € Ý�G f XÑ.Ô.Ð.Ð.Ð.r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_eigvalshzTestOverwrite.test_eigvalshÒ
  s   € Ý�H v hÑ/Ô/Ð/Ð/Ð/r\   c                 ó2   — t          t          dg¦  «         d S rP  )rG   r   r<  s    rZ   r  z!TestOverwrite.test_eigvals_bandedÕ
  s   € Ý�N¨V¨HÑ5Ô5Ð5Ð5Ð5r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_hessenbergzTestOverwrite.test_hessenbergØ
  rQ  r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Ú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 )Nro   r  )rß  re  re  c                 ó$   •— t          ‰| ¦  «        S r:  )r   )r¶   Úxlus    €rZ   rK  z-TestOverwrite.test_lu_solve.<locals>.<lambda>á
  s   ø€ ¥h¨s°AÑ&6Ô&6€ r\   )rp   )rP   r4   r   rG   )rx   rÂ  r^  s     @rZ   Ú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 rK  )rG   r   r<  s    rZ   Útest_luzTestOverwrite.test_luã
  ó   € Ý�B  Ñ)Ô)Ð)Ð)Ð)r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_qrzTestOverwrite.test_qræ
  rb  r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_rqzTestOverwrite.test_rqé
  rb  r\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Ú
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   ©ry   s    rZ   rK  z2TestOverwrite.test_schur_complex.<locals>.<lambda>ð
  s   € ¥e¨A¨yÑ&9Ô&9€ r\   rþ   )Údtypes)rG   rP   r;   r"  r<  s    rZ   Ú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 )NrE  r¬  )r   rk  s    rZ   rK  z(TestOverwrite.test_svd.<locals>.<lambda>õ
  s   € ¥c¨!¸7Ð&CÑ&CÔ&C€ r\   )rG   r   r<  s    rZ   Útest_svdzTestOverwrite.test_svdó
  s0   € Ý�C & Ñ*Ô*Ð*ÝÐCÐCÀfÀXÑNÔNÐNÐNÐNr\   c                 ó2   — t          t          dg¦  «         d S rK  )rG   r   r<  s    rZ   Útest_svdvalszTestOverwrite.test_svdvals÷
  rT  r\   N)r‘   r’   r“   rL  rN  r‰  rS  rV  r  rY  r[  r_  ra  rd  rf  rh  rm  rp  rr  r™   r\   rZ   rI  rI  Ã
  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\   rI  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¦  «         t           j                             | d¦  «        t           j                             d| ¦  «        z  }|dt           j                             | d¦  «        z  t           j                             d| ¦  «        z  z   }|                     |¦  «        }t          |d	¬
¦  «        }t          |j        | df¦  «         t          |d¬
¦  «        }t          |j        | df¦  «         d S d S d S )NrN   rŠ   rî  r^   r)  ©rN   r^   rr   ç-Cëâ6?çü©ñÒMbP?©Úrcondç�íµ ÷Æ°>rs   )rP   rÂ   r—   rU   rð  rñ  r   r   r@   r   ÚmeanrT   rQ   rÇ  rR   )rV   rX   Úskip_bigÚXrñ  r¿   ÚYs          rZ   Ú_check_orthr~  û
  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Ý
Œ	�Š�qÑÔÐÝŒI�NŠN˜1˜aÑ Ô ¥2¤9§>¢>°!°QÑ#7Ô#7Ñ7ˆØ�•r”y—~’~ a¨Ñ+Ô+Ñ+­b¬i¯nªn¸QÀÑ.BÔ.BÑBÑBˆØ�HŠH�U‰OŒOˆå�˜$ÐÑÔˆÝ�Q”W˜q !˜fÑ%Ô%Ð%å�˜$ÐÑÔˆÝ�Q”W˜q %˜jÑ)Ô)Ð)Ð)Ð)ð €u€u€ur\   re  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~  rP   r"  ÚMemoryErrorÚAssertionError)rV   r©  s     rZ   Útest_orth_memory_efficiencyr‚    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©r^   rN   rp   r?  r  )rP   r;   r"  r<   r"  Ú	itertoolsÚproductr~  )rl  r#  r‡   rV   s       rZ   Ú	test_orthr‡  '  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Š   rN   )rP   r�   rF   r   rX   r@   )r‡   ry   r>  Úoas       rZ   Útest_orth_emptyr‹  -  si   € å
Œ�˜rÐ"Ñ"Ô"€AÝ	Œ�˜Ð	Ñ	Ô	€Bå	ˆa‰Œ€BØŒ8•t˜B‘x”x”~Ò%Ð%Ð%Ð%ØŒ8�vÒÐÐÐÐÐr\   c                  óV  — 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|¬¦  «         t           j                             d|dz  z   |¦  «        }t          |¦  «        }t          |j        ||dz
  |dz  z
  f¦  «         t          ||z  d|¬¦  «         |d	k    �rt           j                             d¦  «         t           j                             |d	¦  «        t           j                             d	|¦  «        z  }|d
t           j                             |d¦  «        z  t           j                             d|¦  «        z  z   }|                     |¦  «        }t          |d¬¦  «        }t          |j        ||d	z
  f¦  «         t          |d¬¦  «        }t          |j        ||dz
  f¦  «         �ŒBd S )Nr^   r„  rN   rŠ   rî  r   r)  rt  rr   ru  rv  rw  ry  rs   )rP   rQ   rÇ  r;   r"  r<   r"  r…  r†  rÂ   rð  rñ  r%   r   r@   r   rT   ÚrandnrR   rU   )rl  r#  r‡   rV   r|  rñ  r¿   r}  s           rZ   Útest_null_spacerŽ  7  sQ  € Ý„I‡N‚N�1ÑÔÐåŒj�"œ*¥b¤lµB´MÐB€FØÐÐ€EåÔ" 6¨5Ñ1Ô1ð .ñ .‰ˆˆAÝŒG�Q˜�F "Ð%Ñ%Ô%ˆåŒh�r‰lŒlÔˆØ�S‰jˆå�q‰MŒMˆÝ�Q”W˜q ! A¡#˜hÑ'Ô'Ð'Ý˜˜A™˜q sÐ+Ñ+Ô+Ð+å�q”s‰OŒOˆÝ�Q”W˜fÑ%Ô%Ð%Ý˜œ˜a™ ¨Ð-Ñ-Ô-Ð-åŒI�OŠO˜A  1¡™H aÑ(Ô(ˆÝ�q‰MŒMˆÝ�Q”W˜q ! a¡%¨!¨Q©$¡,Ð/Ñ0Ô0Ð0Ý˜˜A™˜q sÐ+Ñ+Ô+Ð+àˆqŠ5‰5ÝŒI�NŠN˜1ÑÔÐÝ”	—’˜q !Ñ$Ô$¥r¤y§~¢~°a¸Ñ';Ô';Ñ;ˆAØ�D�2œ9Ÿ>š>¨!¨QÑ/Ô/Ñ/µ"´)·.².ÀÀAÑ2FÔ2FÑFÑFˆAØ—’˜‘”ˆAå˜1 DÐ)Ñ)Ô)ˆAÝ˜œ 1 a¨!¡e *Ñ-Ô-Ð-å˜1 DÐ)Ñ)Ô)ˆAÝ˜œ 1 a¨!¡e *Ñ-Ô-Ð-ùð;.ð .r\   c                 óÔ   — t          j        d| ¬¦  «        }t          j        d| ¬¦  «        }t          |¦  «        }|j        dk    sJ ‚|j        t          |¦  «        j        k    sJ ‚d S r‰  )rP   r�   rF   r%   r@   rX   )r‡   ry   r>  Únsas       rZ   Útest_null_space_emptyr‘  ]  sj   € å
Œ�˜rÐ"Ñ"Ô"€AÝ	Œ�˜Ð	Ñ	Ô	€BÝ
�Q‰-Œ-€CàŒ9˜ÒÐÐÐØŒ9�
 2™œÔ,Ò,Ð,Ð,Ð,Ð,Ð,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 ) Nre  rp   r#  r(  r)  r^   )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™"Ó	´÷?rN   r   rU  rV  g¦®LÔ0âç?g•Ä¹»°-ß?gyßôv†Õ?rŸ   r_  )r   r^   r   )r   r   r^   rý   rD  rò  re  r‰   r‹   rŽ   r¡   rL  )r"   r—   r   r!   rP   Úpir9   r@   r4   r  r  r�   )ÚHrY   rÈ   rÂ  rú  ry   r¶   s          rZ   Útest_subspace_anglesr•  g  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)rP   Úeinsum)rx   ry   r¶   s      rZ   ÚmatmulzTestCDF2RDF.matmul®  s   € ÝŒyÐ-¨q°!Ñ4Ô4Ð4r\   c                 óv   — t          |                      ||¦  «        |                      ||¦  «        ¦  «         d S r:  )r   rš  )rx   rz   ri   rÂ  s       rZ   Ú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   )rP   r�   r&   rœ  ©rx   r|  rz   ri   Úwrr°   s         rZ   Ú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 )Nr^   rN   rp   rŸ   ©rP   r4   r7   r
   r&   rœ  rž  s         rZ   Ú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 )Nr^   rN   r¬   r¢  rž  s         rZ   Ú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 )Nro   rq   r¢  rž  s         rZ   Ú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 ©Nro   )r   rÊ  rr   )r   r°  rÊ  r¢  rž  s         rZ   Ú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 )Nr^   rß  iÿÉš;r  )	r¥   rP   rQ   rÇ  rR   r7   r
   r&   rœ  ©rx   r   r|  rz   ri   rŸ  r°   s          rZ   Ú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 )Nr^   rß  r?  )r¥   rP   rQ   rR   r7   r
   r&   rœ  r¬  s          rZ   Ú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™   )rN   )rP   r�   r4   r  r  r&   ©rx   rz   ri   s      rZ   Útest_low_dimensionality_errorz)TestCDF2RDF.test_low_dimensionality_errorç  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 )Nrp   rs   rN   ©rP   r:   r  r  r  r&   r±  s      rZ   r  z!TestCDF2RDF.test_not_square_errorë  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©  ©rP   r4   r7   r
   r  r  r&   ©rx   r|  rz   ri   s       rZ   Útest_swapped_v_w_errorz"TestCDF2RDF.test_swapped_v_w_errorð  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 )Nrp   rò   rÊ  r´  r±  s      rZ   Ú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 )Nro   r�   )rN   rr   y      @      ð¿r¶  r·  s       rZ   Útest_not_conjugate_pairsz$TestCDF2RDF.test_not_conjugate_pairsû  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\   rZ   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ÚnumpyrP   Ú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   ÚImportErrorr—   r[   r"  ÚREAL_DTYPESr"  rO   rÛ  rk   rm   r›   r8  r¥  rÅ  r  rD  r•   r  rH  rJ  r]  ra  r  r7  rb  Úblas_providerÚblas_versionrˆ  r­  r  r  r5  rA  Úmachiner8  r:  r?  ÚxfailrG  rI  r~  rB  rX   Úintpr<  r‚  r‡  r–   ra   r˜   r‹  rŽ  r‘  r•  r—  r™   r\   rZ   ú<module>rÑ     s<
  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð ð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ðøøøð (-°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ñ ô ð ð „×Ò�qÑÔðð ñ Ôðð;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð|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E#ð E#ð E#ð E#ð E#ñ E#ô E#ð E#ðP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ðð#.ð #.ð #.ðL „×Ò˜  U¨B¬J¸ÀÄÐNÑOÔOð-ð -ñ PÔOð-ðB;ð B;ð B;ðJ[1ð [1ð [1ð [1ð [1ñ [1ô [1ð [1ð [1ð [1s   ÃC ÃC#Ã"C#