Ë
    qwjnÖ ã                   ót  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
mZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 d dl9m:Z: d dl;m<Z< d dl=m>Z> d d	lm?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ d d
lRmSZS d dlTmUZU d dlVmWZW d dlXmYZY d dlZm[Z[ d dl\m]Z] ej                  dk(  xs  ej¼                  «       dv Z_de`fd„ZaejŒ                  ejÄ                  gZcejŽ                  ejÈ                  gZeeceez   Zfd„ Zg G d„ d«      Zh G d„ d«      Zi G d„ d«      Zj G d„ d«      Zk G d„ d«      Zl G d„ d «      Zm G d!„ d"em«      ZnejÞ                  já                  e_d#¬$«      ejÞ                  jã                  d%«      ejÞ                  jå                  d&«      ejÞ                  jç                  d'«      d(„ «       «       «       «       Ztd)„ Zu G d*„ d+«      Zv G d,„ d-«      Zw G d.„ d/«      Zx G d0„ d1«      Zy G d2„ d3«      Zz G d4„ d5«      Z{dxZ|Z}e]d6   d7   d8   Z|e]d6   d7   d9   Z} G d:„ d;«      Z~ G d<„ d=«      Z G d>„ d?«      Z€ G d@„ dA«      Z�dB„ Z‚ejÞ                  já                   ej¼                  «       dCk(  dD¬$«      dE„ «       ZƒdF„ Z„dG„ Z…ejÞ                  �j                  ddH¬I«      dJ„ «       Z‡ G dK„ dL«      ZˆdYdM„Z‰ejÞ                  �j                  ejÞ                  já                   e�j                  e�j                  «      �j                  dNk  dO¬$«      dP„ «       «       ZŽdQ„ Z�ejÞ                  �j!                  dRe‘e`ejŒ                  e’ejŽ                  g«      dS„ «       Z“ G dT„ dU«      Z”dV„ Z• G dW„ dX«      Z–y)Zé    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)Úskip_xp_invalid_arg)ÚCONFIGÚ
emscripten)Úwasm32Úwasm64Fc                 ó´  — |t         v ret        j                  j                  | | «      t        j                  j                  | | «      dz  z   }||j	                  «       j
                  z   dz  }n2t        j                  j                  | | «      }||j
                  z   dz  }|r'|t        d| z  «      t        j                  | «      z  z  }|j                  |«      S )z7Generate random sym/hermitian array of the given size nù              ð?é   )	ÚCOMPLEX_DTYPESÚnpÚrandomÚrandÚconjÚTr>   rF   Úastype)ÚnÚposdefÚdtypeÚAs       úc/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp.pyÚ_random_hermitian_matrixr_   +   s¦   € ð ”ÑÜ�I‰I�N‰N˜1˜aÓ ¤2§9¡9§>¡>°!°QÓ#7¸Ñ#<Ñ<ˆØ�—‘“—‘‰^˜QÑ‰ä�I‰I�N‰N˜1˜aÓ ˆØ�—‘‰W�a‰KˆáØ	ŒT�!�A‘#‹Y”r—v‘v˜a“yÑ Ñ ˆà�8‰8�E‹?Ðó    c                 ó„  — t        | t        «      r| }|j                  |«      dz  dz
  }nEt        | t        «      r*t	        | j
                  «      dk(  r| j
                  d   }| }nt        d«      ‚t        j                  |«      }|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'.
    rR   é   r   zinput type not supported.ç      à?)Ú
isinstanceÚintrU   rE   Úlenr@   Ú	TypeErrorr3   ÚrvsrX   rW   r5   )Údim_or_eigvÚrngÚdimÚdÚvÚhs         r^   Úsymrandro   B   s©   € ô �+œsÔ#ØˆØ�J‰J�s‹O˜AÑ Ñ!‰Ü
�[¤'Ô
*Ü
ˆk×ÑÓ
  AÒ
%Ø×Ñ Ñ"ˆØ‰äÐ3Ó4Ð4ä�‰˜Ó€AØ	�‰�‰‹
”T˜!“WÑ˜qÑ €AàˆQ�S‰S�‰U‰€AØ€Hr`   c                   ór   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  de
eeeeg«      d„ «       Zy)ÚTestEigValsc                 óŽ   — g d¢g d¢g d¢g}t        |«      }dt        d«      z   dz  ddt        d«      z
  dz  g}t        ||«       y )N©rb   rR   é   ©rR   é   é   é	   é]   rR   r   ©r   r>   r   ©ÚselfÚaÚwÚexact_ws       r^   Útest_simplezTestEigVals.test_simple^   sE   € Úš	¢9Ð-ˆÜ�A‹JˆØ”d˜2“h‘J ‘> 1 q¬¨b«¡z°1¡nÐ5ˆÜ! ! WÕ-r`   c                 óî   — t        g d¢g d¢g d¢gd«      j                  }|j                  «       }|j                  }t        |«      }dt	        d«      z   dz  ddt	        d«      z
  dz  g}t        ||«       y )Nrs   ru   rl   rx   ry   rR   r   )r4   rX   Úcopyr   r>   r   r{   s       r^   Útest_simple_trzTestEigVals.test_simple_trd   sf   € Ü’9šiªÐ3°SÓ9×;Ñ;ˆØ�F‰F‹HˆØ�C‰CˆÜ�A‹JˆØ”d˜2“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        ||«       y )Nrs   ©rR   rv   y      @      ð?y      "@      ð?y      W@      @rR   r   rz   r{   s       r^   Útest_simple_complexzTestEigVals.test_simple_complexl   sO   € Úš	¢<Ð0ˆÜ�A‹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        ||«       y )	Nrs   ru   F©Úcheck_finiterx   ry   rR   r   rz   r{   s       r^   Útest_finitezTestEigVals.test_finitet   sH   € Úš	¢9Ð-ˆÜ�A EÔ*ˆØ”d˜2“h‘J ‘> 1 q¬¨b«¡z°1¡nÐ5ˆÜ! ! WÕ-r`   Údtc                 óŠ  — 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 ‚y )N©r   r   ©r\   ©r   rR   T©Úhomogeneous_eigvals©rR   r   )rT   Úemptyr   r@   r\   rF   )r|   r‹   r}   r~   s       r^   Ú
test_emptyzTestEigVals.test_emptyz   s™   € ä�H‰H�V 2Ô&ˆÜ�A‹JˆØ�w‰w˜$ŠÐˆØ�w‰wœ'¤"§&¡&¨°"Ô"5Ó6×<Ñ<Ò<Ð<Ð<ä�A¨4Ô0ˆØ�w‰w˜&Ò Ð Ð Ø�w‰wœ'¤"§&¡&¨°"Ô"5Ó6×<Ñ<Ò<Ð<Ñ<r`   N)Ú__name__Ú
__module__Ú__qualname__r€   rƒ   r†   rŠ   ÚpytestÚmarkÚparametrizere   Úfloatr;   Úcomplexr<   r”   © r`   r^   rq   rq   \   sG   „ ò.ò.ò.ò.ð ‡[�[×Ñ˜T C¨°¸À)Ð#LÓMñ=ó Nñ=r`   rq   c            	       óN  — 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"                  j%                  deeej,                  eej0                  g«      d„ «       Zej"                  j%                  dddg«      ej"                  j%                  dddg«      ej"                  j%                  dddg«      ej"                  j%                  dddg«      ej"                  j%                  dej,                  ej4                  g«      d„ «       «       «       «       «       Zy)ÚTestEigc                 ób  — 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 ]%  }t	        ||d d …|f   z  ||   |d d …|f   z  «       Œ' t        |dd¬«      \  }}t        d«      D ]/  }t	        |j                  |d d …|f   z  ||   |d d …|f   z  «       Œ1 y )Nrs   ru   rx   ry   rR   r   rb   rt   ©ç      @r   éÿÿÿÿr�   ©r   rb   ©r   rR   ©ÚleftÚright)r4   r
   r>   r1   r   rB   ÚrangerX   ©	r|   r}   r~   rm   r   Úv0Úv1Úv2Úis	            r^   r€   zTestEig.test_simpleˆ   sž  € Ü’9šiªÐ3Ó4ˆÜ�1‹v‰ˆˆ1Ø”d˜2“h‘J ‘> 1 q¬¨b«¡z°1¡nÐ5ˆÜ�A�q˜1œT "›X a™Z™<¨Ñ*Ð+Ó,ˆÜ’;ÓˆÜ�A�q˜1œT "›X a™Z™<¨Ñ*Ð+Ó,ˆØ”$�r“(‰]ˆØ”$�r“(‰]ˆØ”$�r“(‰]ˆÜ! ! WÔ-Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü�q–ˆAÜ% a¨!ªA¨q¨D©'¡k°1°Q±4¸º!¸Q¸$¹±<Õ@ð ä�1˜1 AÔ&‰ˆˆ1Ü�q–ˆAÜ% a§c¡c¨Aªa°¨d©G¡m°Q°q±T¸!ºA¸q¸D¹'±\ÕBñ r`   c                 ó�  — t        ddgddgg«      }t        |dd¬«      \  }}}t        |t        ddg«      «       t        d«      D ]%  }t        ||d d …|f   z  ||   |d d …|f   z  «       Œ' t        d«      D ]K  }t        |j	                  «       j
                  |d d …|f   z  ||   j	                  «       |d d …|f   z  «       ŒM y )Nrb   rR   éþÿÿÿr¦   ù      ð?       @y      ð?       À)r4   r
   r   r©   rW   rX   ©r|   r}   r~   ÚvlÚvrr®   s         r^   Útest_simple_complex_eigzTestEig.test_simple_complex_eigœ   s½   € Ü�A�q�6˜B ˜7Ð#Ó$ˆÜ˜ ¨Ô+‰	ˆˆ2ˆrÜ! !¤U¨D°$¨<Ó%8Ô9Ü�q–ˆAÜ% a¨"ªQ°¨T©(¡l°A°a±D¸ºA¸q¸D¹±MÕBð ä�q–ˆAÜ% a§f¡f£h§j¡j°2²a¸°d±8Ñ&;Ø&'¨¡d§i¡i£k°"²Q¸°T±(Ñ&:õ<ñ r`   c                 óh  — t        g d¢g d¢g d¢g«      }t        |dd¬«      \  }}}t        d«      D ]%  }t        ||d d …|f   z  ||   |d d …|f   z  «       Œ' t        d«      D ]K  }t        |j	                  «       j
                  |d d …|f   z  ||   j	                  «       |d d …|f   z  «       ŒM y )Nrs   r…   rb   r¦   rt   )r4   r
   r©   r   rW   rX   r²   s         r^   r†   zTestEig.test_simple_complex¦   s¤   € Ü’9šiªÐ6Ó7ˆÜ˜ ¨Ô+‰	ˆˆ2ˆrÜ�q–ˆAÜ% a¨"ªQ°¨T©(¡l°A°a±D¸ºA¸q¸D¹±MÕBð ä�q–ˆAÜ% a§f¡f£h§j¡j°2²a¸°d±8Ñ&;Ø&'¨¡d§i¡i£k°"²Q¸°T±(Ñ&:õ<ñ r`   c                 óø   — dgg}dgg}t        ||d¬«      \  }}t        |d   d«       t        |d   dk7  «       t        |d«       t        ||«      \  }}t        |t        j
                  «       t        |d«       y )Nrb   r   Tr�   ©rb   r   r�   )r
   r   r   r   rT   Úinf)r|   r}   Úbr~   r´   s        r^   Útest_gh_3054zTestEig.test_gh_3054¯   su   € ØˆSˆEˆØˆSˆEˆÜ�A�q¨dÔ3‰ˆˆ2Ü˜˜$™ Ô#Ü��$‘˜1‘ÔÜ˜˜AÔä�A�q“	‰ˆˆ2Ü�QœŸ™ÔÜ˜˜AÕr`   c           	      óT  — |�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   |||¬«       Œ" |€&t        |	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k7  }|	d|f   |	d|f   z  }t	        ||«      \  }	}
t        ||«      }||
z  }||
z  |	z  }||z
  }t        |j                  d   «      D ]?  }t        j                  t        |d d …|f   «      «      sŒ)t        |d d …|f   d|||¬«       ŒA |	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                  |	«         «      «       y )NÚ
Tr�   rb   r   ©ÚrtolÚatolÚerr_msggH¯¼šò×z>)rÀ   r¿   rÁ   )rÁ   rÀ   r¿   y       €      ð¿rQ   g»½×Ùß|Û=)Útol©rÁ   )rC   rT   rF   r@   r
   r   r©   r   Úlexsortr“   rf   r1   ÚonesÚsizeÚallrD   Úreal_if_closer8   ÚabsÚimagrA   )r|   r]   ÚBÚ
atol_homogÚ
rtol_homogrÀ   r¿   ÚB0Úmsgr~   r´   ÚwtÚval1Úval2r®   ÚpermÚpermtÚlengthÚbeta_nonzeroÚwhÚresÚw_finÚwt_fins                          r^   Ú_check_gen_eigzTestEig._check_gen_eig»   sg  € àˆ=Ü˜1“:œw q›zˆqˆAØ‰Bä˜“
ˆAØˆBÜ—‘˜Ÿ™Ð ˆAØ�1�%�r˜!˜Ðˆô �A�r¨tÔ4‰ˆˆ2Ü�Q˜°Ô5ˆØ�2‰v˜˜!šQ˜$™ÑˆØ�2‰v˜˜!šQ˜$™ÑˆÜ�t—z‘z !‘}Ö%ˆAÜ˜D¢ A ™J¨ªQ°¨T©
Ø!+°*ÀcöKð &ð ˆ:Ü˜A˜a¢˜d™G QÔ'Ü˜B˜q¢!˜t™H aÔ(ä�z‰z˜!‹}ˆÜ—
‘
˜2“ˆÜ˜š!˜T˜'™
 B¢q¨% x¡L°tÀ$Ø #õ	%ô —‘œ#˜b›'Ó"ˆä”s˜2“w–ˆAÜ˜R¢ 1 ™X›ˆF�1ŠIð  ô 	˜¤§¡¨¯©Ó 4¸cØ!¨õ	.ð ˜!šQ˜$™ 1™ˆØˆq�,ˆÑ ! A | OÑ"4Ñ4ˆô �A�r“
‰ˆˆ2Ü�Q˜‹^ˆØ�2‰vˆØ�2‰v˜‰zˆØ�T‰kˆÜ�s—y‘y ‘|Ö$ˆAÜ�v‰v”h˜s¢1 a 4™yÓ)Õ*Ü ¢A q D¡	¨1Ø%)°¸cöCð %ð ”(˜1“+‘ˆØ”H˜R“LÑ!ˆð ”b×&Ñ& r¨%¡x°UÔ;Ñ;ˆØ”r×'Ñ'¨¨6©	°uÔ=Ñ=ˆä”s˜5“z E§J¡JÑ.Ó/ˆÜœ˜F› f§k¡kÑ1Ó2ˆä˜˜d™ V¨E¡]Ø!¨°cõ	;ô —‘œ#˜b›'Ó"ˆÜ”s˜2“w–ˆAÜ˜R¢ 1 ™X›ˆF�1ŠIð  ä˜¤§¡¨¯©Ó 4¸cÕBô 	œ˜R›¤$ q¬¯©°Q«Ñ'8Ó"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  | j                  ||dd¬«       d d d «       y # 1 sw Y   y xY w)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   rT   ÚerrstaterÛ   ©r|   r]   rË   s      r^   Útest_singularzTestEig.test_singular  ss   € ô Ò'Ú'Ú'Ú'Ú'ð	)ó *ˆô
 Ò'Ú'Ú'Ú'Ú'ð	)ó *ˆô �[‰[˜XÖ&Ø×Ñ  1°¸UÐÔC÷ '×&Ñ&ús   ÁA*Á*A3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  | j                  ||«       d d d «       y # 1 sw Y   y xY w)N)rb   r   rt   )rR   r£   r£   )r£   rR   r£   )r£   r£   rR   )rb   r£   r   )r£   rb   r   ©r   r   r   ©rt   rt   rt   rú   rû   )r5   r4   r9   rF   rT   Úblockrü   rÛ   )r|   ÚMÚKÚDÚZÚI3r]   rË   s           r^   Útest_falkerzTestEig.test_falker  s¥   € ä”’yÓ!Ó"ˆÜ’;¢ª[Ð9Ó:ˆÜ’:šzª9Ð5Ó6ˆÜ�&‹MˆÜ�‹VˆÜ�H‰H�r˜1�g  A 2˜wÐ'Ó(ˆÜ�H‰H�q˜"�g  1˜vÐ&Ó'ˆä�[‰[˜XÖ&Ø×Ñ  1Ô%÷ '×&Ñ&ús   Â"B>Â>Cc                 óÊ   — d„ }t        j                  d¬«      5  t        d«      D ]&  } ||dz  dz  ¬«      \  }}| j                  ||«       Œ( 	 d d d «       y # 1 sw Y   y xY w)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é÷ÿÿÿrR   )rb   r   r   r   )r   rb   r   r   r   )r   r   rb   r   )r   r   r   rb   rb   r�   )ÚomegaÚc1Úc2r]   rË   s        r^   Úmatricesz)TestEig.test_bad_geneig.<locals>.matrices&  sm   € Ø�e˜Q‘h‘ˆBØ�5‘ˆBÚÚØ�Q˜˜A�Ø�Q˜˜2�ð ˆAò ÚØ�Q˜˜B˜3�Ø�Q˜˜A�ð ˆAð �a�4ˆKr`   rú   rû   éd   ç      @)r  )rT   rü   r©   rÛ   )r|   r  Úkr]   rË   s        r^   Útest_bad_geneigzTestEig.test_bad_geneig#  sU   € ò	ô �[‰[˜XÖ&Ü˜3–Z�Ù a¨¡d¨3¡hÔ/‘��1Ø×#Ñ# A qÕ)ñ  ÷ '×&Ñ&ús   š5AÁA"c                 óš  — t         j                  j                  d«      }t        d|«      }| j	                  |d «       t        d|«      }| j	                  ||«       |j                  d«      d|j                  d«      z  z   }| j	                  |d «       |j                  d«      d|j                  d«      z  z   }| j	                  ||«       y )NéÒ  rt   r  rQ   )rT   rU   ÚRandomStatero   rÛ   )r|   rj   r]   rË   s       r^   Útest_make_eigvalszTestEig.test_make_eigvals:  s°   € ô �i‰i×#Ñ# DÓ)ˆÜ�A�s‹OˆØ×Ñ˜A˜tÔ$Ü�A�s‹OˆØ×Ñ˜A˜qÔ!à�J‰J�vÓ  C§J¡J¨vÓ$6Ñ!6Ñ6ˆØ×Ñ˜A˜tÔ$Ø�J‰J�vÓ  C§J¡J¨vÓ$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 ]%  }t	        ||d d …|f   z  ||   |d d …|f   z  «       Œ' y )Nrs   ru   Frˆ   rx   ry   rR   r   rb   rt   r¡   r�   r¤   r¥   )r
   r>   r4   r1   r   rB   r©   rª   s	            r^   Útest_check_finitezTestEig.test_check_finiteH  sR  € Úš	¢9Ð-ˆÜ�1 5Ô)‰ˆˆ1Ø”d˜2“h‘J ‘> 1 q¬¨b«¡z°1¡nÐ5ˆÜ�A�q˜1œT "›X a™Z™<¨Ñ*Ð+Ó,ˆÜ’;ÓˆÜ�A�q˜1œT "›X a™Z™<¨Ñ*Ð+Ó,ˆØ”$�r“(‰]ˆØ”$�r“(‰]ˆØ”$�r“(‰]ˆÜ! ! WÔ-Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü! " aª¨1¨¡g¬d°1°T±7«mÑ&;Ô<Ü�q–ˆAÜ% a¨!ªA¨q¨D©'¡k°1°Q±4¸º!¸Q¸$¹±<Õ@ñ r`   c                 óx   — t        j                  d«      j                  dd«      }t        t        t
        |«       y)z:Check that passing a non-square array raises a ValueError.rw   rt   rR   N)rT   r:   ÚreshapeÚassert_raisesÚ
ValueErrorr
   )r|   r]   s     r^   Útest_not_square_errorzTestEig.test_not_square_errorY  s(   € ä�I‰I�a‹L× Ñ   AÓ&ˆÜ”j¤# qÕ)r`   c                 ó¼   — t        d«      }t        j                  d«      j                  dd«      }t	        t
        t        ||«       t	        t
        t        ||«       y)zOCheck that passing arrays of with different shapes
        raises a ValueError.rR   ç      "@rt   N)rF   rT   r:   r  r  r  r
   rý   s      r^   Útest_shape_mismatchzTestEig.test_shape_mismatch^  sC   € ô �‹FˆÜ�I‰I�c‹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        j
                  ddt        «       t        j                  |dd¬«      j                  «       sJ ‚t        j                  |dd¬«      j                  «       sJ ‚	 d d d «       y # 1 sw Y   y xY w)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@rú   z%invalid value encountered in multiplyr'  ç›+¡†›„=©rÀ   ç       @)	rT   r4   r
   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningÚiscloseÚany)r|   r]   rË   r  ÚVs        r^   Útest_gh_11577zTestEig.test_gh_11577f  sÒ   € ô �H‰HÒ/Ú/Ú/Ú0ð2ð :CôDˆô �H‰HÒ,Ú,Ú,Ú-ð/ð 7@ôAˆô
 �1�a‹y‰ˆˆ1ô ×$Ñ$Õ&ä×#Ñ#ØÐAÄ>ôSä—:‘:˜a ¨5Ô1×5Ñ5Ô7Ð7Ð7Ü—:‘:˜a ¨5Ô1×5Ñ5Ô7Ð7Ñ7÷ '×&Ñ&ús   Á*A,C Ã C)r‹   c                 óR  — 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 ‚y )Nr�   rŽ   rR   r�   Tr�   r’   )rT   r“   r
   rF   r@   r\   r   )r|   r‹   r}   r~   r´   Úw_nÚvr_ns          r^   r”   zTestEig.test_emptyƒ  sù   € ä�H‰H�V 2Ô&ˆÜ�A“‰ˆˆ2äœŸ™˜q¨Ô+Ó,‰	ˆˆTà�w‰w˜$ŠÐˆØ�w‰w˜#Ÿ)™)Ò#Ð#Ð#ä˜œBŸH™H VÓ,Ô-Ø�x‰x˜6Ò!Ð!Ð!Ø�x‰x˜4Ÿ:™:Ò%Ð%Ð%ä�A¨4Ô0‰ˆˆ2Ø�w‰w˜&Ò Ð Ð Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#à�x‰x˜6Ò!Ð!Ð!Ø�x‰x˜4Ÿ:™:Ò%Ð%Ñ%r`   Ú	include_BFTr§   r¨   r‘   r\   c                 óf  — d}d}t         j                  j                  d«      }|j                  ||z   «      j                  |«      }	|j                  ||z   «      j                  |«      }
t	        ||¬«      }|rt        |	f|
|dœ|¤Ž}nt        |	fd|i|¤Ž}t        |d   «      D ]Š  }t        |d   «      D ]w  }|rt        |	||f   f|
||f   |dœ|¤Ž}nt        |	||f   fd|i|¤Ž}|s|r1t        t        |«      «      D ]  }t        ||   ||f   ||   «       Œ Œgt        |||f   |«       Œy ŒŒ y )	N©rt   rR   )é   r<  l   ›F)QÒ)r¨   r‘   )rº   r§   r§   r   rb   )	rT   rU   Údefault_rngrY   Údictr
   r©   rf   r   )r|   r9  r§   r¨   r‘   r\   Úbatch_shapeÚ
core_shaperj   r]   rË   ÚkwargsrØ   r®   ÚjÚrefr  s                    r^   Útest_nd_inputzTestEig.test_nd_input˜  sH  € ð ˆØˆ
Ü�i‰i×#Ñ# MÓ2ˆØ�J‰J�{ ZÑ/Ó0×7Ñ7¸Ó>ˆØ�J‰J�{ ZÑ/Ó0×7Ñ7¸Ó>ˆÜ˜EÐ7JÔKˆáÜ�aÐ2˜1 4Ñ2¨6Ñ2‰Cä�aÑ-˜dÐ- fÑ-ˆCä�{ 1‘~Ö&ˆAÜ˜; q™>Ö*�ÙÜ˜a  1 ™gÐF¨¨1¨a¨4©°tÑF¸vÑF‘Cä˜a  1 ™gÑ;¨DÐ;°FÑ;�Cá™5Ü"¤3 s£8ž_˜Ü'¨¨A©¨q°!¨t©°c¸!±fÕ=ñ -ô $ C¨¨1¨¡I¨sÕ3ñ +ñ 'r`   N)ç‚vIhÂ%<=rE  rE  rE  )r•   r–   r—   r€   rµ   r†   r»   rÛ   rþ   r  r  r  r  r  r!  r5  r˜   r™   rš   re   r›   rT   r;   rœ   r<   r”   Ú
complex128rD  r�   r`   r^   rŸ   rŸ   †   s4  „ òCò(<ò<ò
ð AFØ49óH;òTDò"&ò*ò."òAò"*ò
-ò8ð: ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ&ó Tð&ð( ‡[�[×Ñ˜[¨5°$¨-Ó8Ø‡[�[×Ñ˜V e¨T ]Ó3Ø‡[�[×Ñ˜W u¨d mÓ4Ø‡[�[×ÑÐ2°U¸D°MÓBØ‡[�[×Ñ˜W r§z¡z°2·=±=Ð&AÓBñ4ó Có Có 5ó 4ó 9ñ
4r`   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"                  j%                  deeej,                  eej0                  g«      d„ «       Zy)ÚTestEigBandedc                 ó$   — | j                  «        y ©N)Úcreate_bandmat©r|   s    r^   Úsetup_methodzTestEigBanded.setup_method¹  s   € Ø×ÑÕr`   c                 ó  — d}d| _         d| _        t        t        |d«      «      t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   | _        t        t        |d«      «      d	t        t        |dz
  d«      d«      z  z   d	t        t        |dz
  d«      d«      z  z
  t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   | _        t        t        |d«      «      t        t        |dz
  d«      d«      z   t        t        |dz
  d
«      d«      z   t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   | _        d	t        t        |d«      «      z  t        t        |dz
  d«      d«      z   d	t        t        |dz
  d
«      d«      z  z   t        t        |dz
  d«      d«      z   t        t        |dz
  d«      d«      z   | _        t        j                  | j                  «      \  }}|j                  }t        |«      }||   | _        |dd…|f   | _        t        j                  | j
                  «      \  }}|j                  }t        |«      }||   | _        |dd…|f   | _        | j                  dz   }t!        ||ft"        ¬«      | _        t!        ||ft&        ¬«      | _        t+        |«      D ]\  }t        | j                  |«      | j$                  ||z
  dz
  ||…f<   t        | j
                  |«      | j(                  ||z
  dz
  ||…f<   Œ^ d| j                   z  | j                  z   dz   }t!        ||ft"        ¬«      | _        t        | j                  «      | j,                  d| j                   z  dd…f<   t+        | j                   «      D ]†  }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<   Œˆ t!        ||ft&        ¬«      | _        t        | j                  «      | j.                  d| j                   z  dd…f<   t+        | j                   «      D ]†  }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<   Œˆ dt1        |«      z  | _        | j2                  dz  | _        y)zbCreate the full matrix `self.fullmat` and
           the corresponding band matrix `self.bandmat`.é
   rR   ç      ð?rb   ç      ð¿r£   ç       Àr°   rQ   ç      Àr&  NrŽ   r   ù      ð?      ð?)ÚKLÚKUr5   r6   Úsym_matÚherm_matÚreal_matÚcomp_matr7   r
   Úrealr8   Ú	w_sym_linÚevec_sym_linÚ
w_herm_linÚevec_herm_linr9   r›   Úbandmat_symrœ   Úbandmat_hermr©   Úbandmat_realÚbandmat_compr:   rº   Úbc)r|   ÚNÚewÚevÚargsÚLDABr®   s          r^   rK  zTestEigBanded.create_bandmat¼  s  € ð ˆØˆŒØˆŒô œT ! S›\Ó*Üœt A a¡C¨›°Ó3ñ4Ü6:¼4ÀÀ!ÁÀT»?ÈAÓ6NñOäœt A a¡C¨›°Ó3ñ4ä6:¼4ÀÀ!ÁÀT»?ÈAÓ6NñOˆŒô
 œd 1 d›mÓ,Øœd¤4¨¨!©¨S£>°2Ó6Ñ6ñ7àœd¤4¨¨!©¨S£>°1Ó5Ñ5ñ6ô  ¤ Q q¡S¨$£°Ó4ñ5ô  ¤ Q q¡S¨$£°Ó3ñ	4ˆŒô œd 1 c›lÓ+Ü¤ Q q¡S¨$£°Ó4ñ5Ü7;¼DÀÀ1ÁÀd»OÈQÓ7OñPä¤ Q q¡S¨#£°Ó3ñ4ä6:¼4ÀÀ!ÁÀT»?ÈAÓ6NñOˆŒð
 œD¤ a¨£Ó.Ñ.Ü¤ Q q¡S¨$£°Ó4ñ5àœd¤4¨¨!©¨T£?°AÓ6Ñ6ñ7ô  ¤ Q q¡S¨#£°Ó3ñ4ô  ¤ Q q¡S¨$£°Ó3ñ	4ˆŒô —‘˜DŸL™LÓ)‰ˆˆBØ�W‰WˆÜ�r‹{ˆØ˜D™ˆŒØšq $˜w™KˆÔä—‘˜DŸM™MÓ*‰ˆˆBØ�W‰WˆÜ�r‹{ˆØ˜T™(ˆŒØ¢ 4 ™[ˆÔð
 �w‰w˜‰{ˆÜ  $¨ ´%Ô8ˆÔÜ! 4¨ )´7Ô;ˆÔÜ�t–ˆAÜ.2°4·<±<ÀÓ.CˆD×Ñ˜T !™V A™X q¨ s˜]Ñ+Ü/3°D·M±MÀ1Ó/EˆD×Ñ˜d 1™f Q™h¨¨!¨˜mÒ,ð ð �—‘‰y˜4Ÿ7™7Ñ" QÑ&ˆÜ! 4¨ )´5Ô9ˆÔÜ*.¨t¯}©}Ó*=ˆ×Ñ˜!˜DŸG™G™)¢Q˜,Ñ'Ü�t—w‘w–ˆAä6:¸4¿=¹=È!ÈAÉ#Ó6NˆD×Ñ˜a §¡™i¨™k¨!™m¨Q¨q©S°¨UÐ2Ñ3ä8<¸T¿]¹]Ø>?¸RÀ¹Tó9CˆD×Ñ˜a §¡™i¨™k¨!™m¨Q¨q°©s°1©u¨WÐ4Ò5ð	  ô " 4¨ )´7Ô;ˆÔÜ*.¨t¯}©}Ó*=ˆ×Ñ˜!˜DŸG™G™)¢Q˜,Ñ'Ü�t—w‘w–ˆAä6:¸4¿=¹=È!ÈAÉ#Ó6NˆD×Ñ˜a §¡™i¨™k¨!™m¨Q¨q©S°¨UÐ2Ñ3ä8<¸T¿]¹]Ø>?¸RÀ¹Tó9CˆD×Ñ˜a §¡™i¨™k¨!™m¨Q¨q°©s°1©u¨WÐ4Ò5ð	  ð ”V˜A“Y‘ˆŒØ—&‘&˜FÑ#ˆ�r`   c                 óì   — t        | j                  d¬«      \  }}}|dd…t        |«      f   }t        t	        |«      | j
                  «       t        t        |«      t        | j                  «      «       y)zTCompare dsbev eigenvalues and eigenvectors with
           the result of linalg.eig.rb   ©Ú	compute_vN)r,   r`  r8   r   rA   r\  rÉ   r]  ©r|   r~   ÚevecÚinfoÚevec_s        r^   Ú
test_dsbevzTestEigBanded.test_dsbev  sY   € ô ˜d×.Ñ.¸!Ô<‰ˆˆ4�Ø’Qœ ›
�]Ñ#ˆÜ!¤$ q£'¨4¯>©>Ô:Ü!¤# e£*¬c°$×2CÑ2CÓ.DÕEr`   c                 óì   — t        | j                  d¬«      \  }}}|dd…t        |«      f   }t        t	        |«      | j
                  «       t        t        |«      t        | j                  «      «       y)zUCompare dsbevd eigenvalues and eigenvectors with
           the result of linalg.eig.rb   rk  N)r-   r`  r8   r   rA   r\  rÉ   r]  rm  s        r^   Útest_dsbevdzTestEigBanded.test_dsbevd  sY   € ô ˜t×/Ñ/¸1Ô=‰ˆˆ4�Ø’Qœ ›
�]Ñ#ˆÜ!¤$ q£'¨4¯>©>Ô:Ü!¤# e£*¬c°$×2CÑ2CÓ.DÕEr`   c           	      ó*  — t        | j                  «      \  }}t        | j                  ddd|dd¬«      \  }}}}}|dd…t	        |«      f   }t        t        |«      | j                  «       t        t        |«      t        | j                  «      «       y)zUCompare dsbevx eigenvalues and eigenvectors
           with the result of linalg.eig.ç        rb   rR   ©rl  r©   N)
r@   rW  r.   r`  r8   r   rA   r\  rÉ   r]  ©r|   re  r~   rn  ÚnumÚifailro  rp  s           r^   Útest_dsbevxzTestEigBanded.test_dsbevx  s~   € ô �T—\‘\Ó"‰ˆˆ1ä$*¨4×+;Ñ+;¸SÀ#ÀqÈ!Ø56¸aô%AÑ!ˆˆ4��e˜Tà’Qœ ›
�]Ñ#ˆÜ!¤$ q£'¨4¯>©>Ô:Ü!¤# e£*¬c°$×2CÑ2CÓ.DÕEr`   c                 óì   — t        | j                  d¬«      \  }}}|dd…t        |«      f   }t        t	        |«      | j
                  «       t        t        |«      t        | j                  «      «       y)zUCompare zhbevd eigenvalues and eigenvectors
           with the result of linalg.eig.rb   rk  N)r/   ra  r8   r   rA   r^  rÉ   r_  rm  s        r^   Útest_zhbevdzTestEigBanded.test_zhbevd(  sY   € ô ˜t×0Ñ0¸AÔ>‰ˆˆ4�Ø’Qœ ›
�]Ñ#ˆÜ!¤$ q£'¨4¯?©?Ô;Ü!¤# e£*¬c°$×2DÑ2DÓ.EÕFr`   c           	      ó*  — t        | j                  «      \  }}t        | j                  ddd|dd¬«      \  }}}}}|dd…t	        |«      f   }t        t        |«      | j                  «       t        t        |«      t        | j                  «      «       y)zUCompare zhbevx eigenvalues and eigenvectors
           with the result of linalg.eig.ru  rb   rR   rv  N)
r@   rX  r0   ra  r8   r   rA   r^  rÉ   r_  rw  s           r^   Útest_zhbevxzTestEigBanded.test_zhbevx0  s~   € ô �T—]‘]Ó#‰ˆˆ1ä$*¨4×+<Ñ+<¸cÀ3ÈÈ1Ø56¸aô%AÑ!ˆˆ4��e˜Tà’Qœ ›
�]Ñ#ˆÜ!¤$ q£'¨4¯?©?Ô;Ü!¤# e£*¬c°$×2DÑ2DÓ.EÕFr`   c                 ó>  — 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
                  «       y
)z?Compare eigenvalues of eigvals_banded with those of linalg.eig.rR   rw   r®   ©ÚselectÚselect_rangerb   çñhãˆµøä>rm   Frˆ   N)
r   r`  r[  r   rA   r\  ra  r^  rT   Úlonglong)r|   Úw_symÚw_hermÚind1Úind2Ú	w_sym_indÚ
w_herm_indÚv_lowerÚv_upperÚ	w_sym_valÚ
w_herm_vals              r^   Útest_eigvals_bandedz!TestEigBanded.test_eigvals_banded;  sä  € ä˜t×/Ñ/Ó0ˆØ—
‘
ˆÜ!¤$ u£+¨t¯~©~Ô>ä × 1Ñ 1Ó2ˆØ—‘ˆÜ!¤$ v£,°·±Ô@ð ˆÜ�{‰{˜1‹~ˆÜ" 4×#3Ñ#3Ø*-¸TÀ4¸LôJˆ	ä!¤$ y£/Ø"&§.¡.°°d¸1±fÐ"=ô	?ä# D×$5Ñ$5Ø+.¸dÀD¸\ôKˆ
ä!¤$ zÓ"2Ø"&§/¡/°$°t¸A±vÐ">ô	@ð —.‘. Ñ&¨Ñ/ˆØ—.‘. Ñ&¨Ñ/ˆÜ" 4×#3Ñ#3Ø*-¸WÀgÐ<NôPˆ	ä!¤$ y£/Ø"&§.¡.°°d¸1±fÐ"=ô	?ð —/‘/ $Ñ'¨&Ñ0ˆØ—/‘/ $Ñ'¨&Ñ0ˆÜ# D×$5Ñ$5Ø+.Ø29¸7Ð1CôEˆ
ô 	"¤$ zÓ"2Ø"&§/¡/°$°t¸A±vÐ">ô	@ô ˜t×/Ñ/¸eÔDˆØ—
‘
ˆÜ!¤$ u£+¨t¯~©~Õ>r`   c           
      ó2  — 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                  «      «       y)zXCompare eigenvalues and eigenvectors of eig_banded
           with those of linalg.eig. NrR   rw   r®   r€  rb   rƒ  rm   Frˆ   )r   r`  r8   r[  r   rA   r\  rÉ   r]  ra  r^  r_  )r|   r…  Úevec_symÚ	evec_sym_r†  Ú	evec_hermÚ
evec_herm_r‡  rˆ  r‰  Úevec_sym_indrŠ  Úevec_herm_indr‹  rŒ  r�  Úevec_sym_valrŽ  Úevec_herm_vals                      r^   Útest_eig_bandedzTestEigBanded.test_eig_bandede  s>  € ô % T×%5Ñ%5Ó6‰ˆˆxØšQ¤¨¯
©
Ó 3Ð3Ñ4ˆ	Ü!¤$ u£+¨t¯~©~Ô>Ü!¤# i£.´#°d×6GÑ6GÓ2HÔIä& t×'8Ñ'8Ó9Ñˆ�	Øšq¤'¨&¯+©+Ó"6Ð6Ñ7ˆ
Ü!¤$ v£,°·±Ô@Ü!¤# j£/´3°t×7IÑ7IÓ3JÔKð ˆØˆÜ",¨T×-=Ñ-=Ø47Ø;?À¸,ô#HÑˆ	�<ô 	"¤$ y£/Ø"&§.¡.°°d¸1±fÐ"=ô	?ä!¤# lÓ"3Ü"% d×&7Ñ&7º¸4ÀÀQÁ¸;¸Ñ&GÓ"Hô	Jô %/¨t×/@Ñ/@Ø69Ø=AÀ4¸Lô%JÑ!ˆ
�Mô 	"¤$ zÓ"2Ø"&§/¡/°$°t¸A±vÐ">ô	@ä!¤# mÓ"4Ü"% d×&8Ñ&8º¸DÀÀaÁ¸K¸Ñ&HÓ"Iô	Kð —.‘. Ñ&¨Ñ/ˆØ—.‘. Ñ&¨Ñ/ˆÜ",¨T×-=Ñ-=Ø47Ø;BÀGÐ:Lô#NÑˆ	�<ô 	"¤$ y£/Ø"&§.¡.°°d¸1±fÐ"=ô	?ä!¤# lÓ"3Ü"% d×&7Ñ&7º¸4ÀÀQÁ¸;¸Ñ&GÓ"Hô	Jð —/‘/ $Ñ'¨&Ñ0ˆØ—/‘/ $Ñ'¨&Ñ0ˆÜ$.¨t×/@Ñ/@Ø69Ø=DÀgÐ<Nô%PÑ!ˆ
�Mô 	"¤$ zÓ"2Ø"&§/¡/°$°t¸A±vÐ">ô	@ä!¤# mÓ"4Ü"% d×&8Ñ&8º¸DÀÀaÁ¸K¸Ñ&HÓ"Iô	Kô % T×%5Ñ%5ÀEÔJ‰ˆˆxØšQ¤¨¯
©
Ó 3Ð3Ñ4ˆ	Ü!¤$ u£+¨t¯~©~Ô>Ü!¤# i£.´#°d×6GÑ6GÓ2HÕIr`   c                 óÊ  — t        | j                  «      \  }}t        | j                  | j                  | j
                  «      \  }}}t        |d| j                  z  dd…f   «      }t        | j                  | j
                  z   «      D ]1  }|t        |d| j                  z  dz
  |z
  |dz   |…f   |dz   «      z  }Œ3 t        | j                  d¬«      \  }}	}
t        ||
«       y)zZCompare dgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.rR   Nrb   r   ©Ú	permute_l)
r@   rY  r(   rb  rU  rV  r5   r©   r   r   ©r|   r  re  Úlu_symm_bandÚipivro  Úur®   Úp_linÚl_linÚu_lins              r^   Útest_dgbtrfzTestEigBanded.test_dgbtrfŸ  óÌ   € ô �T—]‘]Ó#‰ˆˆ1Ü#)¨$×*;Ñ*;¸T¿W¹WÀdÇgÁgÓ#NÑ ˆ�d˜Dô �˜a §¡™iª˜lÑ+Ó,ˆÜ�t—w‘w §¡Ñ(Ö)ˆAØ”�l 1 T§W¡W¡9¨Q¡;¨q¡=°!°A±#°a°%Ð#7Ñ8¸!¸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 ]1  }|t        |d| j                  z  dz
  |z
  |dz   |…f   |dz   «      z  }Œ3 t        | j                  d¬«      \  }}	}
t        ||
«       y)zZCompare zgbtrf  LU factorisation with the LU factorisation result
           of linalg.lu.rR   Nrb   r   r›  )
r@   rZ  r*   rc  rU  rV  r5   r©   r   r   r�  s              r^   Útest_zgbtrfzTestEigBanded.test_zgbtrf­  r¥  r`   c                 ó.  — t        | j                  | j                  | j                  «      \  }}}t	        || j                  | j                  | j
                  |«      \  }}t        j                  | j                  | j
                  «      }t        ||«       y)zhCompare dgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N)
r(   rb  rU  rV  r)   rº   r7   r   rY  r   ©r|   rž  rŸ  ro  ÚyÚy_lins         r^   Útest_dgbtrszTestEigBanded.test_dgbtrs»  sk   € ô $*¨$×*;Ñ*;¸T¿W¹WÀdÇgÁgÓ#NÑ ˆ�d˜DÜ˜ t§w¡w°·±¸¿¹ÀÓF‰ˆˆ4ä—‘˜TŸ]™]¨D¯F©FÓ3ˆÜ! ! UÕ+r`   c                 ó.  — t        | j                  | j                  | j                  «      \  }}}t	        || j                  | j                  | j
                  |«      \  }}t        j                  | j                  | j
                  «      }t        ||«       y)zhCompare zgbtrs  solutions for linear equation system  A*x = b
           with solutions of linalg.solve.N)
r*   rc  rU  rV  r+   rd  r7   r   rZ  r   r©  s         r^   Útest_zgbtrszTestEigBanded.test_zgbtrsÅ  sk   € ô $*¨$×*;Ñ*;¸T¿W¹WÀdÇgÁgÓ#NÑ ˆ�d˜DÜ˜ t§w¡w°·±¸¿¹À$ÓG‰ˆˆ4ä—‘˜TŸ]™]¨D¯G©GÓ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 ‚y )Nr�   rŽ   r   rb   r�   T©Úeigvals_only)rT   r“   r   r4   r@   r\   )r|   r‹   Úa_bandr~   rm   r7  Úv_ns          r^   r”   zTestEigBanded.test_emptyÏ  sÆ   € ä—‘˜&¨Ô+ˆÜ˜&Ó!‰ˆˆ1äœbŸh™h¨¨A¨°°A°Ð'7¸rÔBÓC‰ˆˆSà�w‰w˜$ŠÐˆØ�w‰w˜#Ÿ)™)Ò#Ð#Ð#à�w‰w˜&Ò Ð Ð Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#ä�v¨DÔ1ˆØ�w‰w˜$ŠÐˆØ�w‰w˜#Ÿ)™)Ò#Ð#Ñ#r`   N)r•   r–   r—   rM  rK  rq  rs  rz  r|  r~  r�  r™  r¤  r§  r¬  r®  r˜   r™   rš   re   r›   rT   r;   rœ   r<   r”   r�   r`   r^   rH  rH  ¸  s†   „ òòM$òbFòFò	FòGò	Gò(?òT8Jòt,ò,ò,ò,ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ$ó Tñ$r`   rH  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestEigTridiagonalc                 ó$   — | j                  «        y rJ  )Úcreate_trimatrL  s    r^   rM  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   | _
        y)z>Create the full matrix `self.fullmat`, `self.d`, and `self.e`.rO  rP  rb   rQ  r£   N)r6   rl   Úer5   Úfull_matr7   r
   r[  r8   r~   rn  )r|   re  rf  rg  rh  s        r^   r·  z TestEigTridiagonal.create_trimatä  s—   € àˆô �a˜“ˆŒÜ�a˜‘c˜4“ˆŒÜ˜dŸf™f›¬¨T¯V©V°RÓ(8Ñ8¼4ÀÇÁÈ»?ÑJˆŒä—‘˜DŸM™MÓ*‰ˆˆBØ�W‰WˆÜ�r‹{ˆØ�D‘ˆŒØ’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¬	«       y)
zTest error conditions.Nr£   rQ   rP  ©Úlapack_driverÚfoor®   ©r   r£   r€  )r  r  r#   rl   r¹  rg   rL  s    r^   Útest_degeneratez"TestEigTridiagonal.test_degenerateó  s”   € ô 	”jÔ"6¸¿¹ÀÇÁÀsÈÀÔLä”iÔ!5°t·v±v¸t¿v¹vÈ¹{ÔKä”iÔ!5°t·v±v¸t¿v¹vØ$&õ	(ä”jÔ"6¸¿¹ÀÇÁØ$)õ	+ô 	”jÔ"6¸¿¹ÀÇÁØ ¨wö	8r`   c           
      óB  — dD ]C  }t        | j                  | j                  |¬«      }t        t	        |«      | j
                  «       ŒE dD ]0  }t        t        t         | j                  | j                  |dd¬«       Œ2 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    «       �Œ y)z>Compare eigenvalues of eigvalsh_tridiagonal with those of eig.)ÚsterfÚstevÚstevdÚstebzÚstemrÚautor¼  )rÂ  rÃ  rÄ  r®   r¤   ©r½  r�  r‚  ©rÅ  rÆ  rÇ  r   rb   ©r�  r‚  r½  rR   rw   rƒ  rm   N)	r#   rl   r¹  r   rA   r~   r  r  rf   )	r|   Údriverr~   Úw_indr‡  rˆ  r‹  rŒ  Úw_vals	            r^   Útest_eigvalsh_tridiagonalz,TestEigTridiagonal.test_eigvalsh_tridiagonal  si  € ó KˆFÜ$ T§V¡V¨T¯V©VÀ6ÔJˆAÜ%¤d¨1£g¨t¯v©vÕ6ð Kó 1ˆFÜœ*Ô&:¸D¿F¹FÀDÇFÁFØ(.°sØ'-ö/ð 1ô 1ˆFä(Ø—‘˜Ÿ™ s¸!¼SÀÇÁ»[È¹]Ð9KØ$ô&ˆEô &¤d¨5£k°4·6±6Ô:ð ˆDØˆDÜ(Ø—‘˜Ÿ™ s¸$À¸Ø$ô&ˆEô &¤d¨5£k°4·6±6¸$¸tÀA¹vÐ3FÔGð —f‘f˜T‘l VÑ+ˆGØ—f‘f˜T‘l VÑ+ˆGÜ(Ø—‘˜Ÿ™ s¸'À7Ð9KØ$ô&ˆEô &¤d¨5£k°4·6±6¸$¸tÀA¹vÐ3FÖGñ+ 1r`   c                 ó@  — 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   «      «       �Œ¼ y)zWCompare eigenvalues and eigenvectors of eigh_tridiagonal
           with those of eig. rÂ  r¼  )rÅ  rÃ  rÄ  rÆ  rÇ  NrÃ  r®   r¤   rÈ  rÉ  r   rb   rÊ  rR   rw   rƒ  rm   )r  r  r$   rl   r¹  r8   r   rA   r~   rÉ   rn  rf   )	r|   rË  r~   rn  rp  r‡  rˆ  r‹  rŒ  s	            r^   Útest_eigh_tridiagonalz(TestEigTridiagonal.test_eigh_tridiagonal$  s%  € ô 	”jÔ"2°D·F±F¸D¿F¹FØ$+õ	-ãAˆFÜ& t§v¡v¨t¯v©vÀVÔL‰GˆAˆtØšœG A›J˜Ñ'ˆEÜ%¤d¨1£g¨t¯v©vÔ6Ü%¤c¨%£j´#°d·i±i³.ÕAð	 Bô 	”jÔ"2°D·F±F¸D¿F¹FØ$*°3ÀVõ	Mä0ˆFàˆDÜ�t—v‘v“;˜q‘=ˆDÜ&Ø—‘˜Ÿ™ s¸$À¸Ø$ô&‰GˆAˆtô &¤d¨1£g¨t¯v©vÔ6Ü%¤c¨$£i´°T·Y±Y³Ô@ØˆDØˆDÜ&Ø—‘˜Ÿ™ s¸$À¸Ø$ô&‰GˆAˆtô &¤d¨1£g¨t¯v©v°d¸4À¹6Ð/BÔCÜ%¤c¨$£iÜ&)¨$¯)©)²A°t¸DÀ¹F°{°NÑ*CÓ&DôFð —f‘f˜T‘l VÑ+ˆGØ—f‘f˜T‘l VÑ+ˆGÜ&Ø—‘˜Ÿ™ s¸'À7Ð9KØ$ô&‰GˆAˆtô &¤d¨1£g¨t¯v©v°d¸4À¹6Ð/BÔCÜ%¤c¨$£iÜ&)¨$¯)©)²A°t¸DÀ¹F°{°NÑ*CÓ&DöFñ3 1r`   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 ‚y)zSee gh-20075rR  Tr°  rb   r®   r�   r€  rR   rP  rm   )r°   r   r   r�   r¸   N)rT   r4   r$   Úndimr   rÆ   r@   )r|   r}   rº   Úxr4  s        r^   Útest_eigh_tridiagonal_1x1z,TestEigTridiagonal.test_eigh_tridiagonal_1x1N  sÝ   € ä�H‰H�d�VÓˆÜ�H‰H�R‹LˆÜ˜Q °Ô5ˆØ�v‰v˜Š{Ðˆ{Ü˜˜1ÔÜ  1¨S¸vÔF‰ˆˆ1Ø�v‰v˜Š{Ðˆ{Ø�v‰v˜Š{Ðˆ{Ü˜˜1ÔÜ˜œ5 2 $ ›=Ô)ä  1¨S¸wÔG‰ˆˆ1Ø�v‰v˜Š{Ðˆ{Ø�w‰w˜$ŠÐˆØ�w‰w˜&Ò Ð Ñ r`   N)	r•   r–   r—   rM  r·  rÀ  rÎ  rÐ  rÔ  r�   r`   r^   rµ  rµ  à  s$   „ òò ò8ò HòD(FóT!r`   rµ  c                   óø  — e Zd Zd„ Zd„ Zd„ Zd„ Zed„ «       Ze	j                  j                  de«      e	j                  j                  dd«      d	„ «       «       Ze	j                  j                  dd«      d
„ «       Ze	j                  j                  dd«      e	j                  j                  dd«      d„ «       «       Zd„ Ze	j                  j                  deeej(                  eej,                  g«      d„ «       Zy)ÚTestEighc           	      óÔ  — 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¬«       y )Nrb   rR   rt   r<  )Útype)Úsubset_by_valueÚsubset_by_indexr   ©rÚ  r°   ©rÙ  Úwrong©rË  ÚgvxÚevrÚgvd)rË  rÚ  )r  r  r   rT   rÅ   rL  s    r^   Útest_wrong_inputszTestEigh.test_wrong_inputsb  sT  € ä”j¤$¬¯©°°A°«Ô8ä”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»ÔIä”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»ÔIä”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Øõ	ô 	”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Ø'(¨! f¸qÀ!¸fõ	Fô 	”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Ø'(¨! fõ	.ô 	”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Ø')¨1 gõ	/ô 	”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Ø'(¨! fõ	.ô 	”j¤$¬¯©°°A°«¼¿¹À!ÀQÀ»Ø'(¨! fõ	.ô 	”j¤$¬¯©°°A°«ÀÕHä”j¤$¬¯©°°A°«¸ÀeÕ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«      «       y )Nrt   )r  r'   r   rT   rÅ   rL  s    r^   Útest_nonpositive_bzTestEigh.test_nonpositive_bˆ  s(   € Ü”k¤4¬¯©°!°Q°«¼"¿'¹'À1ÀaÀ&»/ÕJr`   c                 ó’  — t        t        «      D ]µ  \  }}t        d|¬«      }t        |ddg¬«      \  }}t	        |j
                  d   t        |«      «       t        |dkD  |dk  z  «      sJ ‚t        dd|¬«      }t        ||ddg¬«      \  }}t	        |j
                  d   t        |«      «       t        |dkD  |dk  z  «      rŒµJ ‚ y )	Né   rŽ   r°   rR   rÜ  rb   T)r[   r\   )Ú	enumerateÚDTYPESr_   r   r   r@   rf   rÇ   )r|   Úindr‹   r}   r~   rm   rº   s          r^   Útest_value_subsetszTestEigh.test_value_subsetsŒ  s»   € Ü ¤Ö(‰GˆC�ä(¨°2Ô6ˆAÜ˜¨B°¨7Ô3‰DˆAˆqÜ˜Ÿ™ ™¤S¨£VÔ,Ü˜˜B™ 1 q¡5Ñ)Ô*Ð*Ð*ä(¨°DÀÔCˆAÜ˜˜1¨r°1¨gÔ6‰DˆAˆqÜ˜Ÿ™ ™¤S¨£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        ||«      \  }}y )Nrb   rR   é   rt   rv   )r4   r   )r|   r}   rº   r~   Úzs        r^   Útest_eigh_integerzTestEigh.test_eigh_integer™  sL   € Ü�A�q�6˜A˜q˜6Ð"Ó#ˆÜ�A�q�6˜A˜q˜6Ð"Ó#ˆÜ�A‹w‰ˆˆ1Ü�A�q‹z‰ˆ‰1r`   c                 óÜ   — dd l }|j                  j                  d«      j                  «       }t	        j
                  |«      }t        t        t        |«       t        t        t        |«       y )Nr   rR   )	Úscipy.sparseÚsparseÚidentityÚtocscrT   Ú
atleast_2dr  r  r   )r|   Úscipyr}   rº   s       r^   Útest_eigh_of_sparsezTestEigh.test_eigh_of_sparseŸ  sJ   € ó 	Ø�L‰L×!Ñ! !Ó$×*Ñ*Ó,ˆÜ�M‰M˜!ÓˆÜ”j¤$¨Ô*Ü”j¤$¨Õ*r`   Údtype_rË  )rg  Úevdrà  Úevxc                 ó®   — t        d|¬«      }t        ||¬«      \  }}t        ||z  ||z  z
  ddt        j                  |«      j
                  z  d¬«       y )Nræ  )rZ   r\   rÞ  ru  éè  ©rÀ   r¿   )r_   r   r   rT   ÚfinfoÚeps)r|   rË  r÷  r}   r~   rm   s         r^   Útest_various_drivers_standardz&TestEigh.test_various_drivers_standard¨  sR   € ô % r°Ô8ˆÜ�A˜fÔ%‰ˆˆ1Ü˜˜A™  Q¡™¨Ø!¤"§(¡(¨6Ó"2×"6Ñ"6Ñ6Øö	!r`   c                 ó  — 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¬«       y )Nrb   rÞ  rP  çVçž¯Ò<r,  rQ   r   )r   r   r4   )r|   rË  r~   rm   s       r^   Útest_1x1_lworkzTestEigh.test_1x1_lwork±  sx   € ä�a�S�E &Ô)‰ˆˆ1Ü˜œ5 " ›;¨UÕ3Ü˜œ5 2 $ ›=¨uÕ5ô �b�T�F 6Ô*‰ˆˆ1Ü˜œ5 ! ›:¨EÕ2Ü˜œ5 2 $ ›=¨uÖ5r`   rØ  rs   )Úgvrá  rß  c                 ó<  — t        j                  d«      }t        d«      }t        dd¬«      }t        ||||¬«      \  }}|dk(  rt	        ||z  |||z  z  z
  d|d¬«       y |d	k(  rt	        ||z  |z  ||z  z
  d|d¬«       y t	        ||z  |z  ||z  z
  d|d¬«       y )
Ng     ˆ³@ræ  T)r[   )r}   rº   rË  rØ  rb   ru  rü  rR   )rT   Úspacingr_   r   r   )r|   rË  rØ  rÀ   r}   rº   r~   rm   s           r^   Ú test_various_drivers_generalizedz)TestEigh.test_various_drivers_generalized¼  s§   € ô �z‰z˜%Ó ˆÜ$ RÓ(ˆÜ$ R°Ô5ˆÜ�a˜1 V°$Ô7‰ˆˆ1Ø�1Š9Ü˜A ™E A q¨1¡u¡IÑ-¨r¸À2ÖFØ�QŠYÜ˜A ™E A™I¨¨A©Ñ-¨r¸À2ÖFä˜A ™E A™I¨¨A©Ñ-¨r¸À2ÖFr`   c                 óz  — 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«      «       y )
Nrv   rb   rR   rÛ  )rb   ç333333ó?çÍÌÌÌÌÌô?ç      ø?rR   gffffffö?rÜ  r  r	  )r_   r   r   rf   r   rT   r5   r4   )r|   r}   r~   Úw2rº   Úw3s         r^   Útest_eigvalsh_new_argszTestEigh.test_eigvalsh_new_argsÊ  s–   € Ü$ QÓ'ˆÜ�Q¨¨A¨Ô/ˆÜ”S˜“V˜QÔä�a¨!¨Q¨Ô0ˆÜ”S˜“W˜aÔ Ü˜˜2Ôä�G‰GÒ)Ó*ˆÜ�a¨!¨S¨Ô2ˆÜ”S˜“W˜aÔ Ü˜œBŸH™H c¨3 ZÓ0Õ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 ‚y )Nr�   rŽ   rR   r�   Tr°  )rT   r“   r   rF   r@   r\   r   )r|   r‹   r}   r~   rm   r7  r³  s          r^   r”   zTestEigh.test_emptyØ  sÊ   € ä�H‰H�V 2Ô&ˆÜ�A‹w‰ˆˆ1äœŸ™˜q¨Ô+Ó,‰ˆˆSà�w‰w˜$ŠÐˆØ�w‰w˜#Ÿ)™)Ò#Ð#Ð#à�w‰w˜&Ò Ð Ð Ø�w‰w˜#Ÿ)™)Ò#Ð#Ð#ä� Ô&ˆÜ˜œ2Ÿ8™8 D›>Ô*à�w‰w˜$ŠÐˆØ�w‰w˜#Ÿ)™)Ò#Ð#Ñ#r`   N)r•   r–   r—   râ  rä  rê  rî  rK   rö  r˜   r™   rš   rè  rÿ  r  r  r  re   r›   rT   r;   rœ   r<   r”   r�   r`   r^   rÖ  rÖ  a  s  „ ò$<òLKò+òð ñ+ó ð+ð ‡[�[×Ñ˜X vÓ.Ø‡[�[×Ñ˜XÐ'BÓCñ!ó Dó /ð!ð ‡[�[×Ñ˜XÐ'BÓCñ6ó Dð6ð ‡[�[×Ñ˜V YÓ/Ø‡[�[×Ñ˜XÐ';Ó<ñ
Gó =ó 0ð
Gò2ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ$ó Tñ$r`   rÖ  c                   óL  — 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                   j#                  e d¬«      ej                   j&                  d„ «       «       Zej                   j+                  dg d¢«      ej                   j+                  dg d¢«      ej                   j+                  de«      d„ «       «       «       Zej                   j+                  deeej6                  eej:                  g«      ej                   j+                  dg d¢«      d„ «       «       Zy)ÚTestSVD_GESDDÚgesddc                 óh   — t        t        t        dggd¬«       t        t        t        dggd¬«       y )NrP  r¼  r¾  )r  rg   r   r  rL  s    r^   rÀ  zTestSVD_GESDD.test_degenerateî  s&   € Ü”i¤¨ t f¸BÕ?Ü”j¤#¨¨ v¸UÖ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  |«       ŒÕ y )Nrs   ©rb   ræ  rt   ru   ©TF©Úfull_matricesr½  rt   r   ©r   r½  r   rX   rF   r9   r@   r\   Úcharr©   rf   ©r|   r}   r  r   ÚsÚvhÚsigmar®   s           r^   r€   zTestSVD_GESDD.test_simpleò  s¿   € Úš
¢IÐ.ˆÛ*ˆMÜ˜1¨MØ)-×);Ñ);ô=‰HˆAˆq�"ä% a§c¡c¨A¡g¬s°1«vÔ6Ü% b§d¡d¨R¡i´°Q³Ô8Ü˜1Ÿ7™7 1™: r§x¡x°¡{Ð3°Q·W±W·\±\ÓBˆEÜœ3˜q›6–]�Ø ™d��a˜�d’ð #ä% a¨%¡i°"¡n°aÕ8ñ +r`   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  |«       ŒÕ y )Nrs   ru   r  r  rt   r   r  r  s           r^   Útest_simple_singularz"TestSVD_GESDD.test_simple_singularþ  s¿   € Úš	¢9Ð-ˆÛ*ˆMÜ˜1¨MØ)-×);Ñ);ô=‰HˆAˆq�"ä% a§c¡c¨A¡g¬s°1«vÔ6Ü% b§d¡d¨R¡i´°Q³Ô8Ü˜1Ÿ7™7 1™: r§x¡x°¡{Ð3°Q·W±W·\±\ÓBˆEÜœ3˜q›6–]�Ø ™d��a˜�d’ð #ä% a¨%¡i°"¡n°aÕ8ñ +r`   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  |«       ŒÀ y )Nrs   ©r<  rv   rw   r  r  r   ©r   r½  r   rX   rF   r@   r9   r\   r  r©   rf   r  s           r^   Útest_simple_underdetz"TestSVD_GESDD.test_simple_underdet
  s¯   € Úš	Ð"ˆÛ*ˆMÜ˜1¨MØ)-×);Ñ);ô=‰HˆAˆq�"ä% a§c¡c¨A¡g¬s°1·7±7¸1±:«Ô?Ü˜1Ÿ7™7 1™: r§x¡x°¡{Ð3°Q·W±W·\±\ÓBˆEÜœ3˜q›6–]�Ø ™d��a˜�d’ð #ä% a¨%¡i°"¡n°aÕ8ñ +r`   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  |«       Œâ y )	Nrb   rR   r<  rv   rt   r  r  r   r"  r  s           r^   Útest_simple_overdetz!TestSVD_GESDD.test_simple_overdet  sÓ   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÛ*ˆMÜ˜1¨MØ)-×);Ñ);ô=‰HˆAˆq�"ä% a§c¡c¨A¡g¬s°1·7±7¸1±:«Ô?Ü% b§d¡d¨R¡i´°Q³Ô8Ü˜1Ÿ7™7 1™: r§x¡x°¡{Ð3°Q·W±W·\±\ÓBˆEÜœ3˜q›6–]�Ø ™d��a˜�d’ð #ä% a¨%¡i°"¡n°aÕ8ñ +r`   c           
      ó¨  — t         j                  j                  d«      }d}d}t        d«      D �]   }|j                  ||g«      |j                  ||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  |«       Œï Œö �Œ# y )	Nr  ræ  rë   rt   r  r  rb   r   )rT   rU   r  r©   r   r½  r   rX   rF   r@   r9   r\   r  rf   )r|   rj   rZ   Úmr®   r}   r  r   r  r  r  s              r^   Útest_randomzTestSVD_GESDD.test_random!  s  € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q—ˆAØ—j‘j ! Q Ó(¨#¯*©*°a¸°VÓ*<Ó=�Û%2�MÜ" 1°MØ15×1CÑ1Cô E‘H�A�q˜"ä-¨a¯c©c°A©g´s¸1¿7¹7À1¹:³ÔGÜ-¨b°2·4±4©i¼¸R¿X¹XÀa¹[Ó9IÔJÜ! 1§7¡7¨1¡:¨r¯x©x¸©{Ð";¸Q¿W¹W¿\¹\ÓJ�EÜ"¤3 q£6ž]˜Ø&'¨¡d˜˜a ˜dšð +ä-¨a°%©i¸"©n¸aÕ@ñ &3ò >ñ r`   c                 ó:  — g d¢g d¢g d¢g}dD �]
  }t        ||| j                  ¬«      \  }}}t        |j                  «       j                  |z  t        |j                  d   «      «       t        |j                  «       j                  |z  t        |j                  d   «      «       t        |j                  d   |j                  d   f|j                  j                  «      }t        t        |«      «      D ]  }||   |||f<   Œ t        ||z  |z  |«       �Œ y )Nrs   )rb   y               @rt   ru   r  r  rb   r   )r   r½  r   rW   rX   rF   r@   r9   r\   r  r©   rf   r  s           r^   r†   z!TestSVD_GESDD.test_simple_complex1  sÝ   € Úš
¢IÐ.ˆÜ*ˆMÜ˜1¨MØ)-×);Ñ);ô=‰HˆAˆq�"ä% a§f¡f£h§j¡j°1¡n´c¸!¿'¹'À!¹*³oÔFÜ% b§g¡g£i§k¡k°BÑ&6¼¸B¿H¹HÀQ¹KÓ8HÔIÜ˜1Ÿ7™7 1™: r§x¡x°¡{Ð3°Q·W±W·\±\ÓBˆEÜœ3˜q›6–]�Ø ™d��a˜�d’ð #ä% a¨%¡i°"¡n°aÖ8ñ +r`   c           
      ó¾  — t         j                  j                  d«      }d}d}t        d«      D �]+  }dD �]"  }|j                  ||g«      |j                  ||g«      fD ]ö  }|d|j                  t	        |j
                  «      «      z  z   }t        ||| j                  ¬«      \  }}}	t        |j                  «       j                  |z  t        |j
                  d   «      «       t        |j
                  d   |	j
                  d	   f|j                  j                  «      }
t        t        |«      «      D ]  }||   |
||f<   Œ t        ||
z  |	z  |«       Œø �Œ% �Œ. y )
Nr  ræ  rë   rt   r  rQ   r  rb   r   )rT   rU   r  r©   Úlistr@   r   r½  r   rW   rX   rF   r9   r\   r  rf   )r|   rj   rZ   r'  r®   r  r}   r   r  r  r  s              r^   Útest_random_complexz!TestSVD_GESDD.test_random_complex=  s'  € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q—ˆAÜ!.�ØŸ*™* a¨ VÓ,¨c¯j©j¸!¸Q¸Ó.@ÓA�AØ˜B˜sŸz™z¬$¨q¯w©w«-Ó8Ñ8Ñ8�AÜ" 1°MØ15×1CÑ1Cô E‘H�A�q˜"ä-¨a¯f©f«h¯j©j¸1©nÜ.1°!·'±'¸!±*«oô?ô
 " 1§7¡7¨1¡:¨r¯x©x¸©{Ð";¸Q¿W¹W¿\¹\ÓJ�EÜ"¤3 q£6ž]˜Ø&'¨¡d˜˜a ˜dšð +ä-¨a°%©i¸"©n¸aÕ@ò Bò "/ñ r`   c                 óH  — t         j                  j                  d«      }g d¢}|D ]z  }t         j                  t         j                  t         j
                  t         j                  fD ]7  } |j                  |Ž j                  |«      }t        || j                  ¬«       Œ9 Œ| y )Nr  ))rð   r÷   )rï   é2   )é<   r  r¼  )rT   rU   r  r;   r%  r<   rF  rV   rY   r   r½  )r|   rj   ÚsizesÚszr‹   r}   s         r^   Útest_crash_1580zTestSVD_GESDD.test_crash_1580Q  ss   € Ü�i‰i×#Ñ# DÓ)ˆÚ/ˆÛˆBÜ—z‘z¤2§:¡:¬r¯|©|¼R¿]¹]ÓK�Ø�C—H‘H˜b�M×(Ñ(¨Ó,�ä�A T×%7Ñ%7Ö8ñ Lñ r`   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  |«       y )Nrs   r  ru   F)r‰   r½  rt   r   r  )r|   r}   r   r  r  r  r®   s          r^   r  zTestSVD_GESDD.test_check_finiteZ  s²   € Úš
¢IÐ.ˆÜ�q u¸D×<NÑ<NÔO‰ˆˆ1ˆbÜ! !§#¡#¨¡'¬3¨q«6Ô2Ü! "§$¡$¨¡)¬S°«VÔ4Ü�q—w‘w˜q‘z 2§8¡8¨A¡;Ð/°·±·±Ó>ˆÜ”s˜1“v–ˆAØ˜A™$ˆE�!�Q�$ŠKð ä! ! e¡)¨b¡.°!Õ4r`   c                 ót   — t        j                  g d¢g d¢g d¢g d¢g«      }t        || j                  ¬«       y )N)çKÚ}\UUÅ?ç“vWUUå?r5  ru  ru  ru  )ru  r5  r6  r5  ru  ru  )ru  ru  r5  r6  r5  ru  )ru  ru  ru  r5  r6  r5  r¼  )rT   r4   r   r½  )r|   rº   s     r^   Útest_gh_5039zTestSVD_GESDD.test_gh_5039d  s6   € ô �H‰HÚ=Ú=Ú=Ú=ð?ó@ˆô
 	ˆA˜T×/Ñ/Ö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
«       y )NihB  )Úfree_mbrb   l        rŽ   r¿  F©r  r   rP  r�   )rI   rT   r9   r;   r   r   )r|   r]   r   r  r  s        r^   Útest_large_matrixzTestSVD_GESDD.test_large_matrixu  sd   € ô 	 %Õ(Ü�H‰H�a˜�Z¤r§z¡zÔ2ˆØˆˆ%‰Ü�q¨Ô.‰ˆˆ1ˆbÜ˜˜!™˜cÔ"Ü˜˜$™ " U¡)Ñ+¨SÕ1r`   r'  ©r   rb   rR   rZ   r\   c                 óð  — t        j                  ||f|¬«      }t        ||«      }|j                  j                  }|dv r|j                  «       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                  |«      «       y )NrŽ   ÚFDFr<  ©Ú
compute_uv)	rT   r9   Úminr\   r  Úlowerr   r   r@   )r|   r'  rZ   r\   r}   r  ÚdcharÚ
real_dcharr   r  rm   s              r^   Útest_shape_dtypezTestSVD_GESDD.test_shape_dtype  se  € ô �H‰H�a˜�V 5Ô)ˆÜ��1‹IˆØ—‘—‘ˆØ&+¨t¡m�U—[‘[”]¸ˆ
ä�a“&‰ˆˆ1ˆaÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜q˜dÔ#Ü�Q—W‘WœbŸh™h zÓ2Ô3Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$ä�a uÔ-‰ˆˆ1ˆaÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜q˜dÔ#Ü�Q—W‘WœbŸh™h zÓ2Ô3Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$ä�˜eÔ$ˆÜ�Q—W‘W˜q˜dÔ#Ü�Q—W‘WœbŸh™h zÓ2Õ3r`   r‹   ©r'  rZ   ©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 ‚y )Nrt   rŽ   r�   Fr<  r   rA  )rT   rF   r   r“   r   rò  r\   )r|   r‹   r'  rZ   Úa0Úu0Ús0r«   r}   r   r  rm   s               r^   r”   zTestSVD_GESDD.test_emptyœ  s†  € ô �V‰V�A˜RÔ ˆÜ˜“W‰
ˆˆB�ä�H‰H�a˜�V 2Ô&ˆÜ�a“&‰ˆˆ1ˆaÜ˜œ2Ÿ;™; q›>Ô*Ü˜œ2Ÿ8™8 D›>Ô*Ü˜œ2Ÿ;™; q›>Ô*à�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"ä�a uÔ-‰ˆˆ1ˆaÜ˜œ2Ÿ8™8 Q¨ FÓ+Ô,Ü˜œ2Ÿ8™8 D›>Ô*Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,à�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"ä�˜eÔ$ˆÜ˜œ2Ÿ8™8 D›>Ô*à�w‰w˜"Ÿ(™(Ò"Ð"Ñ"r`   N)r•   r–   r—   r½  rÀ  r€   r  r#  r%  r(  r†   r,  r2  r  r7  r˜   r™   ÚskipifrJ   Úslowr=  rš   rè  rG  re   r›   rT   r;   rœ   r<   r”   r�   r`   r^   r  r  ë  s*  „ Ø€MòDò
9ò
9ò	9ò
9òAò 
9òAò(9ò5ò1ð" ‡[�[×Ñ˜I˜Ð.FÐÓGØ‡[�[×Ññ2ó ó Hð2ð ‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜W fÓ-ñ4ó .ó -ó -ð4ð4 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜ZÒ)AÓBñ#ó Có Tñ#r`   r  c                   ó   — e Zd ZdZy)ÚTestSVD_GESVDÚgesvdN)r•   r–   r—   r½  r�   r`   r^   rQ  rQ  º  s   „ Ø�Mr`   rQ  zout of memory in WASMr8  z#out of memory in 32-bit CI workflowrR   rO  c                  ó¬   — t        j                  dt         j                  ¬«      } t        t        «      5  t        | «       d d d «       y # 1 sw Y   y xY w)N)i¿  iŠÏ  rŽ   )rT   rÅ   r%  r  r  r   )Údfs    r^   Útest_svd_gesdd_nofegfaultrU  À  s3   € ô 
‡w�wˆ}¤B§J¡JÔ/€BÜ	”zÕ	"ÜˆBŒ÷ 
#×	"Ñ	"ús   µA
Á
Ac                  óÎ   — t        j                  d«      } t         j                  | d<   t        j                  t
        d¬«      5  t        | d¬«       d d d «       y # 1 sw Y   y xY w)NrR   r�   ÚNaN)ÚmatchFrˆ   )rT   rF   Únanr˜   r	   r  r   ©r]   s    r^   Útest_gesdd_nan_error_messager[  Ì  s@   € Ü
�‰ˆq‹	€AÜ�f‰f€A€d�GÜ	�‰”z¨Ö	/ÜˆA˜EÕ"÷ 
0×	/Ñ	/ús   ÁAÁA$c                   óä   — e Zd Zej                  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y)ÚTestSVDValsr‹   c                 ó^  — g gt        j                  d«      t        j                  d«      fD ]~  }t        j                  ||¬«      }t	        |«      }t        |t        j                  d«      «       t	        t        j                  d|¬«      «      }|j                  |j                  k(  rŒ~J ‚ y )Nr’   ©r   rt   rŽ   r   rR   )rT   r“   rÅ   r4   r   r   rF   r\   )r|   r‹   r}   r  rM  s        r^   r”   zTestSVDVals.test_emptyÕ  s|   € à�”r—x‘x Ó'¬¯©°«Ó8ˆAÜ—‘˜ "Ô%ˆAÜ˜“
ˆAÜ˜œBŸH™H Q›KÔ(äœŸ™ ¨Ô,Ó-ˆBØ—7‘7˜bŸh™hÓ&Ð&Ð&ñ 9r`   c                 ó¬   — g d¢g d¢g d¢g}t        |«      }t        t        |«      dk(  «       t        |d   |d   cxk\  xr |d   k\  «       y c «       y )Nrs   ru   rt   r   rb   rR   ©r   r   rf   ©r|   r}   r  s      r^   r€   zTestSVDVals.test_simpleß  sK   € Úš	¢9Ð-ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™Ö$  !¡Ñ$Õ%Ñ$Õ%r`   c                 ó€   — g d¢g d¢g}t        |«      }t        t        |«      dk(  «       t        |d   |d   k\  «       y )Nrs   r!  rR   r   rb   ra  rb  s      r^   r#  z TestSVDVals.test_simple_underdetå  s9   € Úš	Ð"ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™‘Õr`   c                 ó†   — ddgddgddgg}t        |«      }t        t        |«      dk(  «       t        |d   |d   k\  «       y )Nrb   rR   r<  rv   rt   r   ra  rb  s      r^   r%  zTestSVDVals.test_simple_overdetë  sG   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™‘Õr`   c                 ó¬   — g d¢g d¢g d¢g}t        |«      }t        t        |«      dk(  «       t        |d   |d   cxk\  xr |d   k\  «       y c «       y )Nrs   )rb   ræ  ù              @ru   rt   r   rb   rR   ra  rb  s      r^   r†   zTestSVDVals.test_simple_complexñ  sK   € Úš¢YÐ/ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™Ö$  !¡Ñ$Õ%Ñ$Õ%r`   c                 ó€   — g d¢g d¢g}t        |«      }t        t        |«      dk(  «       t        |d   |d   k\  «       y )Nrs   )r<  y              @rw   rR   r   rb   ra  rb  s      r^   Útest_simple_underdet_complexz(TestSVDVals.test_simple_underdet_complex÷  s9   € Úš
Ð#ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™‘Õr`   c                 ó†   — ddgddgddgg}t        |«      }t        t        |«      dk(  «       t        |d   |d   k\  «       y )Nrb   rR   r<  rv   rf  r   ra  rb  s      r^   Útest_simple_overdet_complexz'TestSVDVals.test_simple_overdet_complexý  sG   € Ø�ˆV�a˜�V˜b !˜WÐ%ˆÜ�A‹JˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™‘Õr`   c                 ó°   — g d¢g d¢g d¢g}t        |d¬«      }t        t        |«      dk(  «       t        |d   |d   cxk\  xr |d   k\  «       y c «       y )	Nrs   ru   Frˆ   rt   r   rb   rR   ra  rb  s      r^   r  zTestSVDVals.test_check_finite  sN   € Úš	¢9Ð-ˆÜ�A EÔ*ˆÜ”�A“˜!‘ÔÜ��!‘˜˜!™Ö$  !¡Ñ$Õ%Ñ$Õ%r`   c                 óz   — t         j                  j                  d«      }|j                  d«      }t        |«       y )Nr  )iÜ  ið
  )rT   rU   r=  r   )r|   rj   r}   s      r^   Útest_crash_2609zTestSVDVals.test_crash_2609	  s+   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J�|Ó$ˆä��
r`   N)r•   r–   r—   r˜   r™   rš   re   r›   rT   r;   rœ   r<   r”   r€   r#  r%  r†   rh  rj  r  rO  rm  r�   r`   r^   r]  r]  Ó  sz   „ à‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ'ó Tð'ò&òòò&òòò&ð ‡[�[×Ññó ñr`   r]  c                   ó   — e Zd Zd„ Zy)ÚTestDiagSVDc                 óH   — t        t        g d¢dd«      g d¢g d¢g d¢g«       y )N©rb   r   r   rt   r   )r   r   rL  s    r^   r€   zTestDiagSVD.test_simple  s    € Ü!¤'ª)°Q¸Ó":Ú#,ªiºÐ"Cõ	Er`   N)r•   r–   r—   r€   r�   r`   r^   ro  ro    s   „ óEr`   ro  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„ Z6e7jp                  js                  d5g d6¢«      e7jp                  js                  d7g d6¢«      e7jp                  js                  d8d9d:g«      e7jp                  js                  d;e:«      d<„ «       «       «       «       Z;e7jp                  js                  d=g d>¢«      d?„ «       Z<d@„ Z=yA)BÚTestQRc                 ó˜   — g d¢g d¢g d¢g}t        |«      \  }}t        |j                  |z  t        d«      «       t        ||z  |«       y ©N©é   rR   rt   ©rR   rx   rt   ©rv   rt   rw   rt   ©r   r   rX   rF   ©r|   r}   ÚqÚrs       r^   r€   zTestQR.test_simple  s?   € Úš	¢9Ð-ˆÜ�!‹u‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨Õ+r`   c                 óÞ   — g d¢g d¢g d¢g}t        |«      \  }}g d¢}t        ||d«      \  }}t        ||z  |«       t        ||«       t        |t        d«      d«      \  }}t        ||«       y )Nrv  rx  ry  rs   r§   rt   ©r   r   r   rF   ©r|   r}   r|  r}  ÚcÚqcÚr2s          r^   Útest_simple_leftzTestQR.test_simple_left  sj   € Úš	¢9Ð-ˆÜ�!‹u‰ˆˆ1ÚˆÜ˜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        ||«       y )Nrv  rx  ry  rs   rt   r  r€  s          r^   Útest_simple_rightzTestQR.test_simple_right)  sf   € Úš	¢9Ð-ˆÜ�!‹u‰ˆˆ1ÚˆÜ˜Q Ó"‰ˆˆBÜ! ! a¡%¨Ô,Ü! ! RÔ(Ü˜Aœs 1›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        ||«       y )	Nrv  rx  ry  T©Úpivotingrb   r£   rt   ©
rT   rC   r   rÉ   r5   r   rÇ   r   rX   rF   ©r|   r}   r|  r}  Úprl   Úq2rƒ  s           r^   Útest_simple_pivotingzTestQR.test_simple_pivoting3  s¬   € Ü�J‰Jš	¢9ªiÐ8Ó9ˆÜ�Q Ô&‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�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  |«       y )Nrv  rx  ry  Trˆ  rs   r§   ©r   r   r   ©r|   r}   r|  r}  Újpvtr�  r‚  s          r^   Útest_simple_left_pivotingz TestQR.test_simple_left_pivoting>  sI   € Úš	¢9Ð-ˆÜ˜ DÔ)‰
ˆˆ1ˆdÚˆÜ! ! Q¨°Ó5‰ˆˆAˆtÜ! ! a¡%¨Õ,r`   c                 ó†   — g d¢g d¢g d¢g}t        |d¬«      \  }}}g d¢}t        ||d¬«      \  }}}t        ||z  |«       y )Nrv  rx  ry  Trˆ  rs   r�  r‘  s          r^   Útest_simple_right_pivotingz!TestQR.test_simple_right_pivotingE  sG   € Úš	¢9Ð-ˆÜ˜ DÔ)‰
ˆˆ1ˆdÚˆÜ! ! Q°Ô6‰ˆˆAˆtÜ! ! a¡%¨Õ,r`   c                 ó’   — g d¢g d¢g}t        |«      \  }}t        |j                  |z  t        d«      «       t        ||z  |«       y )Nrv  rx  rR   rz  r{  s       r^   Útest_simple_trapzTestQR.test_simple_trapL  ó=   € Úš	Ð"ˆÜ�!‹u‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô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        ||«       y )Nrv  rx  Trˆ  rb   r£   rR   rŠ  r‹  s           r^   Útest_simple_trap_pivotingz TestQR.test_simple_trap_pivotingR  sª   € Ü�J‰Jš	¢9Ð-Ó.ˆÜ�Q Ô&‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�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  |«       y ©Nrw  rR   rx   rv   rt   rz  r{  s       r^   Útest_simple_tallzTestQR.test_simple_tall]  sK   € à�ˆV�a˜�V˜a ˜VÐ$ˆÜ�!‹u‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô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        ||«       y )
Nrw  rR   rx   rv   rt   Trˆ  rb   r£   rŠ  r‹  s           r^   Útest_simple_tall_pivotingz TestQR.test_simple_tall_pivotingd  s¸   € ä�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�Q Ô&‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�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	«       y )
Nrw  rR   rx   rv   rt   Úeconomic©Úmoder;  ©rR   rR   ©r   r   rX   rF   r   r@   r{  s       r^   Útest_simple_tall_ezTestQR.test_simple_tall_ep  sj   € à�ˆV�a˜�V˜a ˜VÐ$ˆÜ�!˜*Ô%‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨Ô+Ü�Q—W‘W˜fÔ%Ü�Q—W‘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        ||«       y )Nrw  rR   rx   rv   rt   Tr¡  ©r‰  r£  rb   r£   r¢  rŠ  r‹  s           r^   Útest_simple_tall_e_pivotingz"TestQR.test_simple_tall_e_pivotingy  s½   € ä�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�Q ¨JÔ7‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�A’a˜�d‘G *Ô-‰ˆˆBÜ! ! RÔ(Ü! ! RÕ(r`   c                 óD  — 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        ||«       y )Nrw  rR   rx   rv   rt   r¡  r¢  rb   r§   ©rb   rR   r   T©Úoverwrite_c©r   r   r   r4   rF   r€  s          r^   Útest_simple_tall_leftzTestQR.test_simple_tall_left…  s¯   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ�!˜*Ô%‰ˆˆ1Ø�ˆFˆÜ˜Q  6Ó*‰ˆˆBÜ! ! a¡%¨Ô,Ü! ! RÔ(Ü’)ÓˆÜ˜Q  6°tÔ<‰ˆˆBÜ! ! a¨¨ e¡)¨RÔ0Ü˜Aœs 1›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        ||«       y )Nrw  rR   rx   rv   rt   r¡  T©r£  r‰  rb   r§   )r   r   r   r   rF   )r|   r}   r|  r}  r’  r�  r‚  Úkpvts           r^   Útest_simple_tall_left_pivotingz%TestQR.test_simple_tall_left_pivoting’  s‰   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ˜ 
°TÔ:‰
ˆˆ1ˆdØ�ˆFˆÜ! ! Q¨°Ó5‰ˆˆAˆtÜ˜4 Ô&Ü! ! a¡%¨Ô,Ü! !¤S¨£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        ||«       y )	Nrw  rR   rx   rv   rt   r¡  r¢  rs   r  ©r|   r}   r|  r}  r�  Úcqrƒ  s          r^   Útest_simple_tall_rightzTestQR.test_simple_tall_rightœ  su   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ�!˜*Ô%‰ˆˆ1ÚˆÜ˜Q Ó"‰ˆˆBÜ! ! a¡%¨Ô,Ü! ! RÔ(Ü˜Aœs 1›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        ||«       y )Nrw  rR   rx   rv   rt   Tr¡  r¨  rs   rˆ  r  ©r|   r}   r|  r}  r’  r�  r¶  s          r^   Útest_simple_tall_right_pivotingz&TestQR.test_simple_tall_right_pivoting¦  sw   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ˜ D¨zÔ:‰
ˆˆ1ˆdÚˆÜ! ! Q°Ô6‰ˆˆAˆtÜ! ! a¡%¨Ô,Ü! !¤S¨£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«       y )N©rw  rR   rv   rx  rR   r¤  ©rR   rt   r¥  r{  s       r^   Útest_simple_fatzTestQR.test_simple_fat¯  sY   € âš	Ð"ˆÜ�!‹u‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨Ô+Ü�Q—W‘W˜fÔ%Ü�Q—W‘W˜fÕ%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        |j                  d«       t        |j                  d	«       t        |d d …|f   «      \  }}t        ||«       t        ||«       y )
Nr¼  rx  Trˆ  rb   r£   rR   r¤  r½  ©rT   rC   r   rÉ   r5   r   rÇ   r   rX   rF   r   r@   r‹  s           r^   Útest_simple_fat_pivotingzTestQR.test_simple_fat_pivoting¸  sÆ   € ä�J‰Jš	¢9Ð-Ó.ˆÜ�Q Ô&‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�Q—W‘W˜fÔ%Ü�Q—W‘W˜fÔ%Ü�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«       y )Nrv  ©rR   rx   rv   r¡  r¢  rR   r¤  r½  r¥  r{  s       r^   Útest_simple_fat_ezTestQR.test_simple_fat_eÆ  s\   € âš	Ð"ˆÜ�!˜*Ô%‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨Ô+Ü�Q—W‘W˜fÔ%Ü�Q—W‘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        ||«       y )Nrv  rÃ  Tr¡  r¨  rb   r£   rR   r¤  r½  r¢  rÀ  r‹  s           r^   Útest_simple_fat_e_pivotingz!TestQR.test_simple_fat_e_pivotingÏ  sË   € ä�J‰Jš	¢9Ð-Ó.ˆÜ�Q ¨JÔ7‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�Q—W‘W˜fÔ%Ü�Q—W‘W˜fÔ%Ü�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        ||«       y )Nrv  rÃ  r¡  r¢  rb   rR   r§   r  r€  s          r^   Útest_simple_fat_leftzTestQR.test_simple_fat_leftÝ  so   € Úš	Ð"ˆÜ�!˜*Ô%‰ˆˆ1Ø�ˆFˆÜ˜Q  6Ó*‰ˆˆ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d«      \  }}}t        ||z  |«       t        |t        d«      dd«      \  }}}t        ||«       y )	Nrv  rÃ  r¡  Tr±  rb   rR   r§   r  r‘  s          r^   Útest_simple_fat_left_pivotingz$TestQR.test_simple_fat_left_pivotingç  sq   € Úš	Ð"ˆÜ˜ 
°TÔ:‰
ˆˆ1ˆdØ�ˆFˆÜ! ! Q¨°Ó5‰ˆˆAˆtÜ! ! a¡%¨Ô,Ü! !¤S¨£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        ||«       y )Nrv  rÃ  r¡  r¢  rb   rR   r  rµ  s          r^   Útest_simple_fat_rightzTestQR.test_simple_fat_rightð  sk   € Úš	Ð"ˆÜ�!˜*Ô%‰ˆˆ1Ø�ˆFˆÜ˜Q Ó"‰ˆˆBÜ! ! a¡%¨Ô,Ü! ! RÔ(Ü˜Aœs 1›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        ||«       y )	Nrv  rÃ  Tr¡  r¨  rb   rR   rˆ  r  r¹  s          r^   Útest_simple_fat_right_pivotingz%TestQR.test_simple_fat_right_pivotingú  sm   € Úš	Ð"ˆÜ˜ D¨zÔ:‰
ˆˆ1ˆdØ�ˆFˆÜ! ! Q°Ô6‰ˆˆAˆtÜ! ! a¡%¨Ô,Ü! !¤S¨£V°dÔ;‰ˆˆAˆtÜ! " aÕ(r`   c                 ó´   — g d¢g d¢g d¢g}t        |«      \  }}t        |j                  «       j                  |z  t	        d«      «       t        ||z  |«       y ©N©rt   ù      @      @rv   ©rv   rR   y       @      @©rt   rR   rì  rt   )r   r   rW   rX   rF   r{  s       r^   r†   zTestQR.test_simple_complex  sE   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1Ü! !§&¡&£(§*¡*¨q¡.´#°a³&Ô9Ü! ! a¡%¨Õ+r`   c                 óÆ   — g d¢g d¢g d¢g}t        |«      \  }}g d¢}t        ||d«      \  }}t        ||z  |«       t        |t        d«      d«      \  }}t        ||«       y )NrÑ  rÓ  rÔ  ©rb   rR   rÒ  r§   rt   r  ©r|   r}   r|  r}  r�  r‚  s         r^   Útest_simple_complex_leftzTestQR.test_simple_complex_left	  s`   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1ÚˆÜ˜A˜q &Ó)‰ˆˆAÜ! ! a¡%¨Ô,Ü˜Aœs 1›v vÓ.‰ˆˆAÜ! ! RÕ(r`   c                 óÂ   — g d¢g d¢g d¢g}t        |«      \  }}g d¢}t        ||«      \  }}t        ||z  |«       t        |t        d«      «      \  }}t        ||«       y )NrÑ  rÓ  rÔ  rÖ  rt   r  r×  s         r^   Útest_simple_complex_rightz TestQR.test_simple_complex_right  s\   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1ÚˆÜ˜A˜qÓ!‰ˆˆAÜ! ! a¡%¨Ô,Ü˜Aœs 1›vÓ&‰ˆˆAÜ! ! RÕ(r`   c                 óD  — 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        ||«       y )Nrw  y       @      @rR   rx   y      @      @rt   r¡  r¢  rb   ù       @       @r§   r«  Tr¬  r®  r€  s          r^   Útest_simple_tall_complex_leftz$TestQR.test_simple_tall_complex_left  s¯   € Ø�ˆY˜˜A˜  q 	Ð*ˆÜ�!˜*Ô%‰ˆˆ1Ø�ˆIˆÜ˜Q  6Ó*‰ˆˆBÜ! ! a¡%¨Ô,Ü! ! RÔ(Ü’)ÓˆÜ˜Q  6°tÔ<‰ˆˆBÜ! ! a¨¨ e¡)¨RÔ0Ü˜Aœs 1›v vÓ.‰ˆˆAÜ! " aÕ(r`   c                 óœ   — g d¢g d¢g d¢g}t        |«      \  }}g d¢}t        ||dd¬«      \  }}t        |j                  «       |z  |«       y )NrÑ  rÓ  rÔ  rÖ  r§   T©Ú	conjugate©r   r   r   rW   r×  s         r^   Ú"test_simple_complex_left_conjugatez)TestQR.test_simple_complex_left_conjugate(  sH   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1ÚˆÜ˜A˜q &°DÔ9‰ˆˆAÜ! !§&¡&£(¨Q¡,°Õ3r`   c                 ó    — ddgddgddgg}t        |d¬«      \  }}ddg}t        ||d	d
¬«      \  }}t        |j                  «       |z  |«       y )Nrt   rÒ  rv   rÜ  rR   r¡  r¢  rb   r§   Trß  rá  r×  s         r^   Ú'test_simple_complex_tall_left_conjugatez.TestQR.test_simple_complex_tall_left_conjugate/  s[   € Ø�ˆY˜˜D˜	 A q 6Ð*ˆÜ�!˜*Ô%‰ˆˆ1Ø�ˆIˆÜ˜A˜q &°DÔ9‰ˆˆAÜ! !§&¡&£(¨Q¡,°Õ3r`   c                 óÀ   — g d¢g d¢g d¢g}t        |«      \  }}t        j                  g d¢«      }t        ||d¬«      \  }}t	        ||j                  «       z  |«       y )NrÑ  rÓ  rÔ  rÖ  Trß  )r   rT   r4   r   r   rW   r×  s         r^   Ú#test_simple_complex_right_conjugatez*TestQR.test_simple_complex_right_conjugate6  sO   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1Ü�H‰H’\Ó"ˆÜ˜A˜q¨DÔ1‰ˆˆAÜ! ! a§f¡f£h¡,°Õ3r`   c                 óª  — t        g d¢g d¢g d¢g«      }t        |d¬«      \  }}}t        t        |«      «      }t	        t        j                  |dd  |d d k  «      «       t        |j                  «       j                  |z  t        d«      «       t        ||z  |d d …|f   «       t        |d d …|f   «      \  }}t        ||«       t        ||«       y )	NrÑ  rÓ  rÔ  Trˆ  rb   r£   rt   )r4   r   rÉ   r5   r   rT   rÇ   r   rW   rX   rF   r‹  s           r^   Útest_simple_complex_pivotingz#TestQR.test_simple_complex_pivoting=  s®   € Ü’<¢ªyÐ9Ó:ˆÜ�Q Ô&‰ˆˆ1ˆaÜ”�Q“‹LˆÜ”—‘�q˜˜�u  # 2 ‘Ó'Ô(Ü! !§&¡&£(§*¡*¨q¡.´#°a³&Ô9Ü! ! a¡%¨ª1¨a¨4©Ô1Ü�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  |«       y )NrÑ  rÓ  rÔ  Trˆ  rÖ  r§   ©r4   r   r   r   r‘  s          r^   Ú!test_simple_complex_left_pivotingz(TestQR.test_simple_complex_left_pivotingH  sN   € Ü’<¢ªyÐ9Ó:ˆÜ˜ DÔ)‰
ˆˆ1ˆdÚˆÜ! ! Q¨°Ó5‰ˆˆAˆtÜ! ! a¡%¨Õ,r`   c                 ó˜   — t        g d¢g d¢g d¢g«      }t        |d¬«      \  }}}g d¢}t        ||d¬«      \  }}}t        ||z  |«       y )NrÑ  rÓ  rÔ  Trˆ  rÖ  rê  r‘  s          r^   Ú"test_simple_complex_right_pivotingz)TestQR.test_simple_complex_right_pivotingO  sL   € Ü’<¢ªyÐ9Ó:ˆÜ˜ DÔ)‰
ˆˆ1ˆdÚˆÜ! ! Q°Ô6‰ˆˆAˆtÜ! ! a¡%¨Õ,r`   c                 ó
  — t         j                  j                  d«      }d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        |j                  |z  t        |«      «       t        ||z  |«       ŒV y ©Nr  ræ  rR   ©rT   rU   r  r©   r   r   rX   rF   ©r|   rj   rZ   r  r}   r|  r}  s          r^   r(  zTestQR.test_randomV  sl   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqÜ% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨QÕ/ñ	 r`   c                 óT  — t         j                  j                  d«      }d}t        d«      D ]y  }|j                  ||g«      }t	        |«      \  }}|j                  |g«      }t        ||d«      \  }}t        ||z  |«       t        |t        |«      d«      \  }}t        ||«       Œ{ y )Nr  ræ  rR   r§   ©rT   rU   r  r©   r   r   r   rF   ©	r|   rj   rZ   r  r}   r|  r}  r�  r‚  s	            r^   Útest_random_leftzTestQR.test_random_left_  s—   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqØ—
‘
˜A˜3“ˆAÜ  1 fÓ-‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6¨6Ó2‰EˆB�Ü% a¨Õ,ñ r`   c                 óP  — t         j                  j                  d«      }d}t        d«      D ]w  }|j                  ||g«      }t	        |«      \  }}|j                  |g«      }t        ||«      \  }}t        ||z  |«       t        |t        |«      «      \  }}t        ||«       Œy y rï  ró  ©	r|   rj   rZ   r  r}   r|  r}  r�  r¶  s	            r^   Útest_random_rightzTestQR.test_random_rightk  s“   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqØ—
‘
˜A˜3“ˆAÜ  1Ó%‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6Ó*‰EˆB�Ü% a¨Õ,ñ r`   c           	      óî  — t         j                  j                  d«      }d}t        d«      D ]Æ  }|j                  ||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        ||
«       ŒÈ y )Nr  ræ  rR   Trˆ  rb   r£   ©rT   rU   r  r©   r   rÉ   r5   r   rÇ   r   rX   rF   ©r|   rj   rZ   r  r}   r|  r}  rŒ  rl   r�  rƒ  s              r^   Útest_random_pivotingzTestQR.test_random_pivotingw  sÐ   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜ TÔ*‰GˆAˆq�!Ü”D˜“G“ˆAÜ”B—F‘F˜1˜Q˜R˜5 A c r F™?Ó+Ô,Ü% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨Qªq°!¨t©WÔ5Ü˜š!˜Q˜$™“[‰FˆB�Ü% a¨Ô,Ü% a¨Õ,ñ r`   c                 ó  — t         j                  j                  d«      }d}d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        |j                  |z  t        |«      «       t        ||z  |«       ŒV y ©Nr  éÈ   r  rR   rð  ©r|   rj   r'  rZ   r  r}   r|  r}  s           r^   Útest_random_tallzTestQR.test_random_tall…  sq   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqÜ% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨QÕ/ñ	 r`   c                 ó\  — t         j                  j                  d«      }d}d}t        d«      D ]{  }|j                  ||g«      }t	        |d¬«      \  }}|j                  |g«      }t        ||d«      \  }	}t        ||z  |	«       t        |t        |«      d«      \  }	}t        |	|«       Œ} y )Nr  rÿ  r  rR   r¡  r¢  r§   ró  )
r|   rj   r'  rZ   r  r}   r|  r}  r�  r‚  s
             r^   Útest_random_tall_leftzTestQR.test_random_tall_left�  sŸ   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜jÔ)‰DˆAˆqØ—
‘
˜A˜3“ˆAÜ  1 fÓ-‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6¨6Ó2‰EˆB�Ü% b¨!Õ,ñ r`   c                 óX  — t         j                  j                  d«      }d}d}t        d«      D ]y  }|j                  ||g«      }t	        |d¬«      \  }}|j                  |g«      }t        ||«      \  }	}t        ||z  |	«       t        |t        |«      «      \  }	}t        |	|«       Œ{ y ©Nr  rÿ  r  rR   r¡  r¢  ró  )
r|   rj   r'  rZ   r  r}   r|  r}  r�  r¶  s
             r^   Útest_random_tall_rightzTestQR.test_random_tall_rightž  s›   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜jÔ)‰DˆAˆqØ—
‘
˜A˜3“ˆAÜ  1Ó%‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6Ó*‰EˆB�Ü% b¨!Õ,ñ r`   c           	      óò  — t         j                  j                  d«      }d}d}t        d«      D ]Æ  }|j                  ||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        ||«       ŒÈ y )	Nr  rÿ  r  rR   Trˆ  rb   r£   rú  ©r|   rj   r'  rZ   r  r}   r|  r}  rŒ  rl   r�  rƒ  s               r^   Útest_random_tall_pivotingz TestQR.test_random_tall_pivoting¬  sÕ   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜ TÔ*‰GˆAˆq�!Ü”D˜“G“ˆAÜ”B—F‘F˜1˜Q˜R˜5 A c r F™?Ó+Ô,Ü% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨Qªq°!¨t©WÔ5Ü˜š!˜Q˜$™“[‰FˆB�Ü% a¨Ô,Ü% a¨Õ,ñ r`   c                 ór  — t         j                  j                  d«      }d}d}t        d«      D ]†  }|j                  ||g«      }t	        |d¬«      \  }}t        |j                  |z  t        |«      «       t        ||z  |«       t        |j                  ||f«       t        |j                  ||f«       Œˆ y r  )
rT   rU   r  r©   r   r   rX   rF   r   r@   r   s           r^   Útest_random_tall_ezTestQR.test_random_tall_e¼  s˜   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜jÔ)‰DˆAˆqÜ% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨QÔ/Ü˜Ÿ™ 1 a &Ô)Ü˜Ÿ™ 1 a &Õ)ñ r`   c           	      óX  — t         j                  j                  d«      }d}d}t        d«      D ]ù  }|j                  ||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        ||«       Œû y )Nr  rÿ  r  rR   Tr¡  r¨  rb   r£   r¢  )rT   rU   r  r©   r   rÉ   r5   r   rÇ   r   rX   rF   r   r@   r  s               r^   Útest_random_tall_e_pivotingz"TestQR.test_random_tall_e_pivotingÉ  sþ   € Ü�i‰i×#Ñ# DÓ)ˆàˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜ T°
Ô;‰GˆAˆq�!Ü”D˜“G“ˆAÜ”B—F‘F˜1˜Q˜R˜5 A c r F™?Ó+Ô,Ü% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨Qªq°!¨t©WÔ5Ü˜Ÿ™ 1 a &Ô)Ü˜Ÿ™ 1 a &Ô)Ü˜š!˜Q˜$™ jÔ1‰FˆB�Ü% a¨Ô,Ü% a¨Õ,ñ r`   c                 ó  — t         j                  j                  d«      }d}d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        |j                  |z  t        |«      «       t        ||z  |«       ŒV y ©Nr  r  rÿ  rR   rð  r   s           r^   Útest_random_trapzTestQR.test_random_trapÛ  sq   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqÜ% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨QÕ/ñ	 r`   c           	      óò  — t         j                  j                  d«      }d}d}t        d«      D ]Æ  }|j                  ||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        ||«       ŒÈ y )	Nr  r  rÿ  rR   Trˆ  rb   r£   rú  r  s               r^   Útest_random_trap_pivotingz TestQR.test_random_trap_pivotingå  sÕ   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜ TÔ*‰GˆAˆq�!Ü”D˜“G“ˆAÜ”B—F‘F˜1˜Q˜R˜5 A c r F™?Ó+Ô,Ü% a§c¡c¨A¡g¬s°1«vÔ6Ü% a¨!¡e¨Qªq°!¨t©WÔ5Ü˜š!˜Q˜$™“[‰FˆB�Ü% a¨Ô,Ü% a¨Õ,ñ r`   c                 óT  — t         j                  j                  d«      }d}t        d«      D ]y  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |«      \  }}t        |j                  «       j                  |z  t        |«      «       t        ||z  |«       Œ{ y ©Nr  ræ  rR   rQ   )	rT   rU   r  r©   r   r   rW   rX   rF   rñ  s          r^   r,  zTestQR.test_random_complexô  s‰   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ�a“5‰DˆAˆqÜ% a§f¡f£h§j¡j°1¡n´c¸!³fÔ=Ü% a¨!¡e¨QÕ/ñ	 r`   c                 ó®  — t         j                  j                  d«      }d}t        d«      D ]¦  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |«      \  }}|j                  |g«      d|j                  |g«      z  z   }t        ||d«      \  }}t        ||z  |«       t        |t        |«      d«      \  }}t        ||«       Œ¨ y )Nr  ræ  rR   rQ   r§   ró  rô  s	            r^   Útest_random_complex_leftzTestQR.test_random_complex_leftý  sÂ   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ�a“5‰DˆAˆqØ—
‘
˜A˜3“ " S§Z¡Z°°£_Ñ"4Ñ4ˆAÜ  1 fÓ-‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6¨6Ó2‰EˆB�Ü% a¨Õ,ñ r`   c                 óª  — t         j                  j                  d«      }d}t        d«      D ]¤  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |«      \  }}|j                  |g«      d|j                  |g«      z  z   }t        ||«      \  }}t        ||z  |«       t        |t        |«      «      \  }}t        ||«       Œ¦ y r  ró  r÷  s	            r^   Útest_random_complex_rightz TestQR.test_random_complex_right	  s¾   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ�a“5‰DˆAˆqØ—
‘
˜A˜3“ " S§Z¡Z°°£_Ñ"4Ñ4ˆAÜ  1Ó%‰EˆB�Ü% a¨!¡e¨RÔ0Ü ¤3 q£6Ó*‰EˆB�Ü% a¨Õ,ñ r`   c           	      ó8  — t         j                  j                  d«      }d}t        d«      D ]ë  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |d¬«      \  }}}t        t        |«      «      }t        t        j                  |dd  |d d k  «      «       t        |j                  «       j                  |z  t        |«      «       t        ||z  |d d …|f   «       t	        |d d …|f   «      \  }	}
t        ||	«       t        ||
«       Œí y )	Nr  ræ  rR   rQ   Trˆ  rb   r£   )rT   rU   r  r©   r   rÉ   r5   r   rÇ   r   rW   rX   rF   rû  s              r^   Útest_random_complex_pivotingz#TestQR.test_random_complex_pivoting  sí   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ˜ TÔ*‰GˆAˆq�!Ü”D˜“G“ˆAÜ”B—F‘F˜1˜Q˜R˜5 A c r F™?Ó+Ô,Ü% a§f¡f£h§j¡j°1¡n´c¸!³fÔ=Ü% a¨!¡e¨Qªq°!¨t©WÔ5Ü˜š!˜Q˜$™“[‰FˆB�Ü% a¨Ô,Ü% a¨Õ,ñ r`   c                 óœ   — g d¢g d¢g d¢g}t        |d¬«      \  }}t        |j                  |z  t        d«      «       t        ||z  |«       y ©Nrv  rx  ry  Frˆ   rt   rz  r{  s       r^   r  zTestQR.test_check_finite#  sB   € Úš	¢9Ð-ˆÜ�! %Ô(‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô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«       y )Nrv  rx  ry  )Úlworkrt   rO  r£   r  r   rR   )r   r   r  Ú	Exception)
r|   r}   r|  r}  r�  rƒ  Úq3Úr3Úq4Úr4s
             r^   Ú
test_lworkzTestQR.test_lwork)  s·   € Úš	¢9Ð-ˆä�!˜4Ô ‰ˆˆ1ô �A˜Q”‰ˆˆBÜ! " aÔ(Ü! " aÔ(ô �A˜R”‰ˆˆBÜ! " aÔ(Ü! " aÔ(ô �A˜R”‰ˆˆBÜ! " aÔ(Ü! " aÔ(ô 	”i¤ a T¨G°Q¨<Ô8Ü”i¤ a T¨G°Q¨<Õ8r`   r'  r>  rZ   r‰  FTr\   c                 ó`  — t        ||«      }t        j                  ||f|¬«      }t        ||¬«      ^}}}	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                  «       t        |d|¬«      ^}}	t	        |j
                  ||f«       t	        |j                  |«       t        |	«      |rdndk(  sJ ‚|r?|	\  }
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 ‚|r?|	\  }
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                  «       y y )	NrŽ   rˆ  rb   r   r}  r±  r¡  Úraw)	rC  rT   r9   r   r   r@   r\   rf   Úint32)r|   r'  rZ   r‰  r\   r  r}   r|  r}  ÚotherrŒ  r&  Útaus                r^   rG  zTestQR.test_shape_dtypeA  s  € ô
 ��1‹Iˆä�H‰H�a˜�V 5Ô)ˆÜ˜! hÔ/ˆˆˆ1ˆuÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�5‹z¡8™a°Ò3Ð3Ð3ÙØ‰BˆAÜ˜Ÿ™ 1 $Ô'Ü˜Ÿ™¤"§(¡(Ô+ä�q˜s¨XÔ6ˆ	ˆˆEÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�5‹z¡8™a°Ò3Ð3Ð3ÙØ‰BˆAÜ˜Ÿ™ 1 $Ô'Ü˜Ÿ™¤"§(¡(Ô+ä˜! *°xÔ@ˆˆˆ1ˆuÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�5‹z¡8™a°Ò3Ð3Ð3ÙØ‰BˆAÜ˜Ÿ™ 1 $Ô'Ü˜Ÿ™¤"§(¡(Ô+ä " 1¨5¸8Ô DÐ‰
ˆˆc�A˜Ü�S—Y‘Y  A Ô'Ü�S—Y‘Y Ô&Ü�S—Y‘Y  Ô%Ü�S—Y‘Y Ô&Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�5‹z¡8™a°Ò3Ð3Ð3ÙØ‰BˆAÜ˜Ÿ™ 1 $Ô'Ü˜Ÿ™¤"§(¡(Õ+ð r`   rH  rI  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«      «       y )NTrˆ  r}  r¢  r¡  r&  )rC  rT   r“   r   r   rò  r:   )
r|   r'  rZ   r  r}   r|  r}  rŒ  r&  r)  s
             r^   r”   zTestQR.test_emptyu  sZ  € ä��1‹Iˆä�H‰H�a˜�VÓˆÜ�!‹u‰ˆˆ1Ü˜œ2Ÿ;™; q›>Ô*Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,ä�Q Ô&‰ˆˆ1ˆaÜ˜œ2Ÿ;™; q›>Ô*Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,Ü˜œ2Ÿ9™9 Q›<Ô(ä�˜Œ_‰ˆÜ˜œ2Ÿ8™8 Q¨ FÓ+Ô,ä�!˜*Ô%‰ˆˆ1Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,ä˜1 5Ô)‰‰
ˆˆc�AÜ˜œRŸX™X q¨! fÓ-Ô.Ü˜œRŸX™X q d›^Ô,Ü˜œ2Ÿ8™8 Q¨ FÓ+Õ,r`   c                 ó  — 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«      «       y )Nr�   r¥   r’   )rT   r“   r   r   )r|   r}   r�  r¶  r}  s        r^   Útest_multiply_emptyzTestQR.test_multiply_empty�  s¿   € Ü�H‰H�VÓˆÜ�H‰H�VÓˆÜ˜A˜qÓ!‰ˆˆAÜ˜œBŸH™H VÓ,Ô-ä�H‰H�VÓˆÜ�H‰H�VÓˆÜ˜A˜qÓ!‰ˆˆAÜ˜œBŸH™H VÓ,Ô-ä�H‰H�VÓˆÜ�H‰H�VÓˆÜ˜A˜qÓ!‰ˆˆAÜ˜œBŸH™H VÓ,Õ-r`   N)>r•   r–   r—   r€   r„  r†  rŽ  r“  r•  r—  rš  r�  rŸ  r¦  r©  r¯  r³  r·  rº  r¾  rÁ  rÄ  rÆ  rÈ  rÊ  rÌ  rÎ  r†   rØ  rÚ  rÝ  râ  rä  ræ  rè  rë  rí  r(  rõ  rø  rü  r  r  r  r	  r  r  r  r  r,  r  r  r  r  r$  r˜   r™   rš   rè  rG  r”   r,  r�   r`   r^   rs  rs    s§  „ ò,ò)ò)ò	)ò-ò-ò,ò	)ò,ò
)ò&ò
)ò)ò)ò)ò)ò&ò)ò&ò)ò)ò)ò)ò)ò,ò)ò)ò)ò4ò4ò4ò	)ò-ò-ò0ò
-ò
-ò-ò	0ò-ò-ò-ò *ò-ò$0ò-ò0ò
-ò
-ò-ò,ò9ð0 ‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜Z¨%°¨Ó7Ø‡[�[×Ñ˜W fÓ-ñ.,ó .ó 8ó -ó -ð.,ð` ‡[�[×Ñ˜ZÒ)AÓBñ-ó Cð-ó2.r`   rs  c                   ój  — 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"                  j%                  dg d¢«      ej"                  j%                  dg d¢«      ej"                  j%                  de«      d„ «       «       «       Zej"                  j%                  dg d¢«      d„ «       Zy)ÚTestRQc                 ó˜   — g d¢g d¢g d¢g}t        |«      \  }}t        ||j                  z  t        d«      «       t        ||z  |«       y ru  ©r   r   rX   rF   ©r|   r}   r}  r|  s       r^   r€   zTestRQ.test_simple¡  s?   € Úš	¢9Ð-ˆÜ�!‹u‰ˆˆ1Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü! ! a¡%¨Õ+r`   c                 óh   — g d¢g d¢g d¢g}t        |«      \  }}t        |d¬«      }t        ||«       y )Nrv  rx  ry  r}  r¢  )r   r   )r|   r}   r}  r|  rƒ  s        r^   Útest_rzTestRQ.test_r§  s0   € Úš	¢9Ð-ˆÜ�!‹u‰ˆˆ1Ü�˜Œ_ˆÜ! ! RÕ(r`   c                 ó
  — t         j                  j                  d«      }d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        ||j                  z  t        |«      «       t        ||z  |«       ŒV y rï  ©rT   rU   r  r©   r   r   rX   rF   ©r|   rj   rZ   r  r}   r}  r|  s          r^   r(  zTestRQ.test_random­  sl   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqÜ% a¨!¯#©#¡g¬s°1«vÔ6Ü% a¨!¡e¨QÕ/ñ	 r`   c                 ó’   — g d¢g d¢g}t        |«      \  }}t        |j                  |z  t        d«      «       t        ||z  |«       y )Nrv  rx  rt   r0  r1  s       r^   r—  zTestRQ.test_simple_trap¶  r˜  r`   c                 ó˜   — ddgddgddgg}t        |«      \  }}t        |j                  |z  t        d«      «       t        ||z  |«       y rœ  r0  r1  s       r^   r�  zTestRQ.test_simple_tall¼  sK   € Ø�ˆV�a˜�V˜a ˜VÐ$ˆÜ�!‹u‰ˆˆ1Ü! !§#¡#¨¡'¬3¨q«6Ô2Ü! ! a¡%¨Õ+r`   c                 ó’   — g d¢g d¢g}t        |«      \  }}t        ||j                  z  t        d«      «       t        ||z  |«       y )Nr¼  rx  rt   r0  r1  s       r^   r¾  zTestRQ.test_simple_fatÂ  s=   € Úš	Ð"ˆÜ�!‹u‰ˆˆ1Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü! ! a¡%¨Õ+r`   c                 ó´   — g d¢g d¢g d¢g}t        |«      \  }}t        ||j                  «       j                  z  t	        d«      «       t        ||z  |«       y rÐ  )r   r   rW   rX   rF   r1  s       r^   r†   zTestRQ.test_simple_complexÈ  sE   € Úš<ªÐ3ˆÜ�!‹u‰ˆˆ1Ü! ! a§f¡f£h§j¡j¡.´#°a³&Ô9Ü! ! a¡%¨Õ+r`   c                 ó  — t         j                  j                  d«      }d}d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        ||j                  z  t        |«      «       t        ||z  |«       ŒV y rþ  r5  ©r|   rj   r'  rZ   r  r}   r}  r|  s           r^   r  zTestRQ.test_random_tallÎ  óq   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a“5‰DˆAˆqÜ% a¨!¯#©#¡g¬s°1«vÔ6Ü% a¨!¡e¨QÕ/ñ	 r`   c                 ó  — t         j                  j                  d«      }d}d}t        d«      D ]T  }|j                  ||g«      }t	        |«      \  }}t        ||j                  z  t        |«      «       t        ||z  |«       ŒV y r  r5  r<  s           r^   r  zTestRQ.test_random_trapØ  r=  r`   c                 ór  — t         j                  j                  d«      }d}d}t        d«      D ]†  }|j                  ||g«      }t	        |d¬«      \  }}t        ||j                  z  t        |«      «       t        ||z  |«       t        |j                  ||f«       t        |j                  ||f«       Œˆ y )Nr  r  rÿ  rR   r¡  r¢  )
rT   rU   r  r©   r   r   rX   rF   r   r@   r<  s           r^   Útest_random_trap_economicz TestRQ.test_random_trap_economicâ  s˜   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ�a˜jÔ)‰DˆAˆqÜ% a¨!¯#©#¡g¬s°1«vÔ6Ü% a¨!¡e¨QÔ/Ü˜Ÿ™ 1 a &Ô)Ü˜Ÿ™ 1 a &Õ)ñ r`   c                 óT  — t         j                  j                  d«      }d}t        d«      D ]y  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |«      \  }}t        ||j                  «       j                  z  t        |«      «       t        ||z  |«       Œ{ y r  )	rT   rU   r  r©   r   r   rW   rX   rF   r6  s          r^   r,  zTestRQ.test_random_complexî  s‰   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ�a“5‰DˆAˆqÜ% a¨!¯&©&«(¯*©*¡n´c¸!³fÔ=Ü% a¨!¡e¨QÕ/ñ	 r`   c                 ó¼  — t         j                  j                  d«      }d}d}t        d«      D ]«  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |d¬«      \  }}t        ||j                  «       j                  z  t        |«      «       t        ||z  |«       t        |j                  ||f«       t        |j                  ||f«       Œ­ y )Nr  r  rÿ  rR   rQ   r¡  r¢  )rT   rU   r  r©   r   r   rW   rX   rF   r   r@   r<  s           r^   Útest_random_complex_economicz#TestRQ.test_random_complex_economic÷  sµ   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ�a˜jÔ)‰DˆAˆqÜ% a¨!¯&©&«(¯*©*¡n´c¸!³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  |«       y r  r0  r1  s       r^   r  zTestRQ.test_check_finite  sB   € Úš	¢9Ð-ˆÜ�! %Ô(‰ˆˆ1Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü! ! a¡%¨Õ+r`   r'  r>  rZ   r\   c                 óp  — 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                  |«       y )NrŽ   r}  r¢  r¡  )rC  rT   r9   r   r   r@   r\   )r|   r'  rZ   r\   r  r}   r}  r|  s           r^   rG  zTestRQ.test_shape_dtype	  së   € ô ��1‹Iˆä�H‰H�a˜�V 5Ô)ˆÜ�!‹u‰ˆˆ1Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜eÔ$äˆq�sŒOˆÜ�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$ä�!˜*Ô%‰ˆˆ1Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÔ$Ü�Q—W‘W˜q !˜fÔ%Ü�Q—W‘W˜eÕ$r`   rH  rI  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«      «       y )Nr}  r¢  r¡  )rC  rT   r“   r   r   rò  )r|   r'  rZ   r  r}   r}  r|  s          r^   r”   zTestRQ.test_empty   sµ   € ä��1‹Iˆä�H‰H�a˜�VÓˆÜ�!‹u‰ˆˆ1Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,Ü˜œ2Ÿ;™; q›>Ô*äˆq�sŒOˆÜ˜œ2Ÿ8™8 Q¨ FÓ+Ô,ä�!˜*Ô%‰ˆˆ1Ü˜œ2Ÿ8™8 Q¨ FÓ+Ô,Ü˜œ2Ÿ8™8 Q¨ FÓ+Õ,r`   N)r•   r–   r—   r€   r3  r(  r—  r�  r¾  r†   r  r  r@  r,  rC  r  r˜   r™   rš   rè  rG  r”   r�   r`   r^   r.  r.     sÁ   „ ò,ò)ò0ò,ò,ò,ò,ò0ò0ò
*ò0ò
*ò,ð ‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜W fÓ-ñ%ó .ó -ó -ð%ð( ‡[�[×Ñ˜ZÒ)AÓBñ-ó Cñ-r`   r.  c                   ón  — e Zd Zd„ Zd„ Zej                  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                  j                  deeej                  eej"                  g«      d„ «       Zej                  j                  dd	d
g«      ej                  j                  dddg«      ej                  j                  dej                  ej&                  ej"                  ej(                  g«      d„ «       «       «       Zej                  j                  dddg«      ej                  j                  dej                  ej&                  ej"                  ej(                  g«      d„ «       «       Zy)Ú	TestSchurc                 óô   — t        ||z  |j                  «       j                  z  |||d¬«       t        ||j                  «       j                  z  t        j                  t        |«      «      z
  dd|d¬«       y )Nz&Schur decomposition does not match 'a'r¾   r   zu is not unitary)r   rW   rX   rT   rF   rf   )r|   r}   Útr   r¿   rÀ   s         r^   Úcheck_schurzTestSchur.check_schur3  s]   € ä˜˜A™ §¡£§
¡
Ñ*¨A°D¸tØ Hõ	Jô 	˜˜AŸF™F›HŸJ™J™¬¯©´°A³«Ñ7¸ÀÈØ 2ö	4r`   c           	      ó¨  — g d¢g d¢g d¢g}t        |«      \  }}| j                  |||dd¬«       t        |d«      \  }}t        t        j                  t        t        |«      «      «      xr' t        j                  t        t        |«      «      «      «       | j                  |||dd¬«       t        ||«      \  }}| j                  |||dd¬«       y )N©rw  é   rt   rx  ©rO  rt   rw   r+  ç›+¡†›„ö<©r¿   rÀ   rœ   )r   rK  r   rT   r3  r=   r?   r   )r|   r}   rJ  rí  ÚtcÚzcÚtc2Úzc2s           r^   r€   zTestSchur.test_simple<  s¶   € Úš¢JÐ/ˆÜ�Q‹x‰ˆˆ1Ø×Ñ˜˜A˜q u°5ÐÔ9Ü�q˜)Ó$‰ˆˆBÜ”—‘”uœY r›]Ó+Ó,ÒM´·±¼¼iÈ»mÓ8LÓ1MÔNØ×Ñ˜˜B ¨°UÐÔ;Ü˜2˜r“?‰ˆˆSØ×Ñ˜˜C ¨5°uÐÕ=r`   zsort, expected_diagÚlhprR   ç      à¿rc   ÚrhpÚiucÚoucc                 ó   — | dk\  S )Nru  r�   )rÓ  s    r^   Ú<lambda>zTestSchur.<lambda>L  s   € �A˜’Hr`   c                 óÈ   — g d¢g d¢g d¢g d¢g}t        ||¬«      \  }}}| j                  |||dd¬«       t        t        j                  |«      |d	¬
«       t        d|«       y )N©r'  r¢   rP  rQ  ©g      Àg      ÀrQ  rP  ©r   ç      @ç      Àg      @©ra  r'  rS  ç      @©rA   r+  rP  rQ  çê-�™—q=©r¿   rR   )r   rK  r   rT   r5   r   )r|   rA   Úexpected_diagr}   rJ  r   Úsdims          r^   Ú	test_sortzTestSchur.test_sortF  sb   € ò Ú"ÚÚð!ˆô ˜1 4Ô(‰
ˆˆ1ˆdØ×Ñ˜˜A˜q u°5ÐÔ9ÜœŸ™ ›
 M¸Õ>Ü�Q˜Õr`   c                 ó|   — g d¢g d¢g d¢g d¢g}t        t        t        |d¬«       t        t        t        |d¬«       y )Nr^  r_  r`  rc  Úunsupportedre  rb   )r  r  r   )r|   r}   s     r^   Útest_sort_errorszTestSchur.test_sort_errorsZ  s3   € ÚÚ"ÚÚð!ˆô 	”j¤%¨°Õ?Ü”j¤%¨°Ö3r`   c                 óŽ   — g d¢g d¢g d¢g}t        |d¬«      \  }}t        ||z  |j                  «       j                  z  |«       y )NrM  rx  rO  Frˆ   )r   r   rW   rX   )r|   r}   rJ  rí  s       r^   r  zTestSchur.test_check_finiteb  s;   € Úš¢JÐ/ˆÜ�Q UÔ+‰ˆˆ1Ü! ! a¡%¨!¯&©&«(¯*©*Ñ"4°aÕ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 ‚y )Nr�   rŽ   rR   rV  re  r   )rT   r“   r   rF   r   r\   r   )r|   r‹   r}   rJ  rí  Út0Úz0ri  s           r^   r”   zTestSchur.test_emptyg  sø   € ä�H‰H�V 2Ô&ˆÜ�Q‹x‰ˆˆ1Ü”r—v‘v˜a rÔ*Ó+‰ˆˆBÜ˜œ2Ÿ8™8 FÓ+Ô,Ü˜œ2Ÿ8™8 FÓ+Ô,Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"ä˜1 5Ô)‰
ˆˆ1ˆdÜ˜œ2Ÿ8™8 FÓ+Ô,Ü˜œ2Ÿ8™8 FÓ+Ô,Ü�T˜1ÔØ�w‰w˜"Ÿ(™(Ò"Ð"Ð"Ø�w‰w˜"Ÿ(™(Ò"Ð"Ñ"r`   rA   Úoutputr[  rœ   r\   c                 ó¢   — t        j                  ddgddgg«      }t        |j                  |«      ||¬«      d   }|dk(  r|dk(  s
J ‚|dk(  sJ ‚y y )Nçš™™™™™¹?r°   rR   ©rA   rr  r£   rY  r   )rT   rC   r   rY   )r|   rA   rr  r\   r]   ri  s         r^   Útest_gh_13137_sort_strz TestSchur.test_gh_13137_sort_strx  s_   € ô  �J‰J˜˜b˜	 A s 8Ð,Ó-ˆô �Q—X‘X˜e“_¨4¸Ô?ÀÑCˆØ  EšMˆt�qŠyÐ8Ð8¨t°qªyÐ8Ð8¨yˆyr`   c                 óü   ‡— t        j                  ddgddgg«      }|dk(  xr" |t         j                  t         j                  hv Šd	ˆfd„	}t	        |j                  |«      ||¬«      d   }‰r|dk(  s
J ‚|dk(  sJ ‚y y )
Nrt  r°   rR   r[  c                 óÒ   •— ‰r9t        j                  | «      rJ ‚|�t        j                  |«      sJ ‚| |dz  z   }nt        j                  | «      sJ ‚|�J ‚| }|j                  dkD  S )NrQ   r  )rT   ÚiscomplexobjÚisrealrÊ   )rÓ  rª  rí  Úall_reals      €r^   rA   z1TestSchur.test_gh_13137_sort_custom.<locals>.sortŸ  si   ø€ ÙÜŸ?™?¨1Ô-Ð-Ð-Ø�}¬¯©°1¬Ð5Ð5Ø˜˜"™‘H‘ä—‘ qÔ)Ð)Ð)Ø�yÐ �yØ�Ø—6‘6˜E‘>Ð!r`   ru  r£   rb   rJ  )rT   rC   r;   r%  r   rY   )r|   rr  r\   r]   rA   ri  r{  s         @r^   Útest_gh_13137_sort_customz#TestSchur.test_gh_13137_sort_customŽ  s�   ø€ ô �J‰J˜˜b˜	 A s 8Ð,Ó-ˆà˜6‘>ÒG e´·
±
¼B¿J¹JÐ/GÐ&Gˆõ		"ô �Q—X‘X˜e“_¨4¸Ô?ÀÑCˆÙ$ˆt�qŠyÐ3Ð3¨$°!ª)Ð3Ð3¨)ˆyr`   N)r•   r–   r—   rK  r€   r˜   r™   rš   rT   r>   rj  rm  r  re   r›   r;   rœ   r<   r”   r%  rF  rv  r|  r�   r`   r^   rH  rH  1  s#  „ ò4ò>ð ‡[�[×ÑØØ
�7�2—7‘7˜1“:�+˜t W R§W¡W¨Q£Z°Ð5Ð	6Ø
�'�"—'‘'˜!“*˜c G B§G¡G¨A£J ;°Ð5Ð	6Ø
�$˜˜W˜RŸW™W Q›Z¨'¨"¯'©'°!«*¨Ð5Ð	6Ø
�'�"—'‘'˜!“*˜w˜rŸw™w q›z˜k¨4°Ð5Ð	6Ù
˜w˜rŸw™w q›z¨3°°·±¸³°¸TÐBÐ	Cð		Eóñ
óð
ò4ò9ð
 ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ#ó Tð#ð  ‡[�[×Ñ˜V e¨U ^Ó4Ø‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W r§z¡z°2·:±:Ø')§|¡|°R·]±]ð'Dó Eñ9óEó <ó 5ð9ð$ ‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W r§z¡z°2·:±:Ø')§|¡|°R·]±]ð'Dó Eñ4óEó <ñ4r`   rH  c                   óŠ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	eeeeeg«      d
„ «       Zy)ÚTestHessenbergc                 ó¤   — g d¢g d¢g d¢g}g d¢g d¢g d¢g}t        |d¬«      \  }}t        |j                  |z  |z  |«       t        ||d	¬
«       y )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—@rb   ©Úcalc_qr<  ©Údecimal©r   r   rX   ©r|   r}   Úh1rn   r|  s        r^   r€   zTestHessenberg.test_simple³  sX   € ÚÚÚðˆò .Ú.Ú!ð#ˆô ˜! AÔ&‰ˆˆ1Ü! !§#¡#¨¡'¨A¡+¨qÔ1Ü! ! R°Ö3r`   c                 óŽ   — g d¢g d¢g d¢g}t        |d¬«      \  }}t        |j                  «       j                  |z  |z  |«       y )Nr€  )r‚  y             €f@r„  )y       €      ;Àr  r†  rb   rŠ  )r   r   rW   rX   ©r|   r}   rn   r|  s       r^   r†   z"TestHessenberg.test_simple_complex¾  sA   € ÚÚÚðˆô ˜! AÔ&‰ˆˆ1Ü! !§&¡&£(§*¡*¨q¡.°1Ñ"4°aÕ8r`   c                 óŠ   — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}t        |d¬	«      \  }}t        |j                  |z  |z  |«       y )
N)rb   rR   rt   r<  rv   rw   rì  )r   rR   rt   r<  rw   rì  rR   )r   rR   rR   rt   r   rt   rR   )r   r   rR   rw  r   r   rR   )r   rt   rb   rR   r   rb   rR   )r   rb   rR   rt   r   rb   r   )r   r   r   r   r   rb   rR   rb   rŠ  rŽ  r’  s       r^   Útest_simple2zTestHessenberg.test_simple2Å  sF   € Ú"Ú"Ú"Ú"Ú"Ú"Ú"ð$ˆô ˜! AÔ&‰ˆˆ1Ü! !§#¡#¨¡'¨A¡+¨qÕ1r`   c                 ó�   — t        j                  d«      }d|d<   t        |d¬«      \  }}t        |j                  |z  |z  |«       y )Nrt   rR   )r£   r   rb   rŠ  )rT   rF   r   r   rX   r’  s       r^   Útest_simple3zTestHessenberg.test_simple3Ð  s>   € Ü�F‰F�1‹IˆØˆˆ%‰Ü˜! AÔ&‰ˆˆ1Ü! !§#¡#¨¡'¨A¡+¨qÕ1r`   c                 óä   — t         j                  j                  d«      }d}t        d«      D ]A  }|j                  ||g«      }t	        |d¬«      \  }}t        |j                  |z  |z  |«       ŒC y )Nr  ræ  rR   rb   rŠ  )rT   rU   r  r©   r   r   rX   ©r|   rj   rZ   r  r}   rn   r|  s          r^   r(  zTestHessenberg.test_randomÖ  sa   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó"ˆAÜ˜a¨Ô*‰DˆAˆqÜ% a§c¡c¨A¡g°¡k°1Õ5ñ r`   c                 ó.  — t         j                  j                  d«      }d}t        d«      D ]f  }|j                  ||g«      d|j                  ||g«      z  z   }t	        |d¬«      \  }}t        |j                  «       j                  |z  |z  |«       Œh y )Nr  ræ  rR   rQ   rb   rŠ  )rT   rU   r  r©   r   r   rW   rX   r˜  s          r^   r,  z"TestHessenberg.test_random_complexÞ  s   € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�q–ˆAØ—
‘
˜A˜q˜6Ó" R¨¯
©
°A°q°6Ó(:Ñ%:Ñ:ˆAÜ˜a¨Ô*‰DˆAˆqÜ% a§f¡f£h§j¡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
¬«       y )Nr€  r�  r…  r‡  rˆ  r‰  rb   F)r‹  r‰   r<  rŒ  rŽ  r�  s        r^   r  z TestHessenberg.test_check_finiteæ  sZ   € ÚÚÚðˆò .Ú.Ú!ð#ˆô ˜! A°EÔ:‰ˆˆ1Ü! !§#¡#¨¡'¨A¡+¨qÔ1Ü! ! R°Ö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        ||«       y )
NrR   rb   rì  rN  rŠ  y       @      Àr±   y      @      @y      (@       À)r   r   rT   rF   )r|   r}   rn   r|  rº   Úh2r�  s          r^   Útest_2x2zTestHessenberg.test_2x2ñ  s~   € Ø�ˆV�a˜�WÐˆä˜! AÔ&‰ˆˆ1Ü! !¤R§V¡V¨A£YÔ/Ü! ! QÔ'à�Dˆ\˜D %˜=Ð)ˆÜ˜A aÔ(‰ˆˆBÜ! "¤b§f¡f¨Q£iÔ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 ‚y )Nr�   rŽ   rt   TrŠ  )rT   r“   r   r@   r\   rF   )r|   r‹   r}   rn   r|  Úh3r   s          r^   r”   zTestHessenberg.test_emptyý  sÅ   € ä�H‰H�V 2Ô&ˆÜ�q‹MˆØ�w‰w˜&Ò Ð Ð Ø�w‰wœ*¤R§V¡V¨A°RÔ%8Ó9×?Ñ?Ò?Ð?Ð?ä˜! DÔ)‰ˆˆ1Ü˜A dÔ+‰ˆˆBØ�w‰w˜&Ò Ð Ð Ø�w‰w˜"Ÿ(™(Ò"Ð"Ð"à�w‰w˜&Ò Ð Ð Ø�w‰w˜"Ÿ(™(Ò"Ð"Ñ"r`   N)r•   r–   r—   r€   r†   r”  r–  r(  r,  r  r�  r˜   r™   rš   re   r›   r;   rœ   r<   r”   r�   r`   r^   r~  r~  ±  s[   „ ò	4ò9ò	2ò2ò6ò=ò	4ò
)ð ‡[�[×Ñ˜T C¨°¸À)Ð#LÓMñ#ó Nñ#r`   r~  zBuild DependenciesÚblasÚnameÚversionc                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestQZc                 ó\  — t         j                  j                  d«      }d}|j                  ||g«      j                  t        «      }|j                  ||g«      j                  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\  «      «       y )Né90  rv   rŒ  r   )rT   rU   r  rY   r;   r   r   rX   rF   r   rÇ   r5   ©	r|   rj   rZ   r]   rË   ÚAAÚBBÚQr  s	            r^   Útest_qz_singlezTestQZ.test_qz_single	  sá   € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�J‰J˜˜1�vÓ×%Ñ%¤gÓ.ˆØ�J‰J˜˜1�vÓ×%Ñ%¤gÓ.ˆÜ˜!˜Q“x‰ˆˆB��1Ü! ! b¡&¨1¯3©3¡,°¸1Õ=Ü! ! b¡&¨1¯3©3¡,°¸1Õ=Ü! ! a§c¡c¡'¬3¨q«6¸1Õ=Ü! ! a§c¡c¡'¬3¨q«6¸1Õ=Ü”—‘”t˜B“x 1‘}Ó%Õ&r`   c                 ó   — t         j                  j                  d«      }d}|j                  ||g«      }|j                  ||g«      }t        ||«      \  }}}}t	        ||z  |j
                  z  |«       t	        ||z  |j
                  z  |«       t	        ||j
                  z  t        |«      «       t	        ||j
                  z  t        |«      «       t        t        j                  t        |«      dk\  «      «       y )Nr¦  rv   r   ©
rT   rU   r  r   r   rX   rF   r   rÇ   r5   r§  s	            r^   Útest_qz_doublezTestQZ.test_qz_double	  sÃ   € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆÜ˜!˜Q“x‰ˆˆB��1Ü! ! b¡&¨1¯3©3¡,°Ô2Ü! ! b¡&¨1¯3©3¡,°Ô2Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü”—‘”t˜B“x 1‘}Ó%Õ&r`   c                 ó4  — t         j                  j                  d«      }d}|j                  ||g«      d|j                  ||g«      z  z   }|j                  ||g«      d|j                  ||g«      z  z   }t        ||«      \  }}}}t	        ||z  |j                  «       j                  z  |«       t	        ||z  |j                  «       j                  z  |«       t	        ||j                  «       j                  z  t        |«      «       t	        ||j                  «       j                  z  t        |«      «       t        t        j                  t        |«      dk\  «      «       t        t        j                  t        |«      j                  dk(  «      «       y )Nr¦  rv   rQ   r   )rT   rU   r  r   r   rW   rX   rF   r   rÇ   r5   rÊ   r§  s	            r^   Útest_qz_complexzTestQZ.test_qz_complex+	  s)  € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�J‰J˜˜1�vÓ  C§J¡J°°1¨vÓ$6Ñ!6Ñ6ˆØ�J‰J˜˜1�vÓ  C§J¡J°°1¨vÓ$6Ñ!6Ñ6ˆÜ˜!˜Q“x‰ˆˆB��1Ü! ! b¡&¨1¯6©6«8¯:©:Ñ"5°qÔ9Ü! ! b¡&¨1¯6©6«8¯:©:Ñ"5°qÔ9Ü! ! a§f¡f£h§j¡j¡.´#°a³&Ô9Ü! ! a§f¡f£h§j¡j¡.´#°a³&Ô9Ü”—‘”t˜B“x 1‘}Ó%Ô&Ü”—‘”t˜B“x—}‘}¨Ñ)Ó*Õ+r`   c                 ó�  — t         j                  j                  d«      }d}|j                  ||g«      d|j                  ||g«      z  z   j                  t        «      }|j                  ||g«      d|j                  ||g«      z  z   j                  t        «      }t        ||«      \  }}}}t        ||z  |j                  «       j                  z  |d¬«       t        ||z  |j                  «       j                  z  |d¬«       t        ||j                  «       j                  z  t        |«      d¬«       t        ||j                  «       j                  z  t        |«      d¬«       t        t        j                  t        |«      dk\  «      «       t        t        j                  t        |«      j                  dk(  «      «       y )Nr¦  rv   rQ   rŒ  r   )rT   rU   r  rY   r<   r   r   rW   rX   rF   r   rÇ   r5   rÊ   r§  s	            r^   Útest_qz_complex64zTestQZ.test_qz_complex648	  sG  € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�Z‰Z˜˜A˜Ó " S§Z¡Z°°A°Ó%7Ñ"7Ñ7×?Ñ?Ä	ÓJˆØ�Z‰Z˜˜A˜Ó " S§Z¡Z°°A°Ó%7Ñ"7Ñ7×?Ñ?Ä	ÓJˆÜ˜!˜Q“x‰ˆˆB��1Ü! ! b¡&¨1¯6©6«8¯:©:Ñ"5°qÀ!ÕDÜ! ! b¡&¨1¯6©6«8¯:©:Ñ"5°qÀ!ÕDÜ! ! a§f¡f£h§j¡j¡.´#°a³&À!ÕDÜ! ! a§f¡f£h§j¡j¡.´#°a³&À!ÕDÜ”—‘”t˜B“x 1‘}Ó%Ô&Ü”—‘”t˜B“x—}‘}¨Ñ)Ó*Õ+r`   c                 óü  — t         j                  j                  d«      }d}|j                  ||g«      }|j                  ||g«      }t        ||d¬«      \  }}}}||z  |j	                  «       j
                  z  }	t        |	j                  |«       t        |	j                  d«       ||z  |j	                  «       j
                  z  }
t        |
j                  |«       t        |
j                  d«       t        ||j	                  «       j
                  z  t        |«      «       t        ||j	                  «       j
                  z  t        |«      «       t        t        j                  t        |«      dk\  «      «       y )Nr¦  rv   rœ   )rr  r   )rT   rU   r  r   rW   rX   r   r[  rÊ   rF   r   rÇ   r5   )r|   rj   rZ   r]   rË   r¨  r©  rª  r  ÚaaÚbbs              r^   Útest_qz_double_complexzTestQZ.test_qz_double_complexE	  s  € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆÜ˜!˜Q yÔ1‰ˆˆB��1Ø�‰V�a—f‘f“h—j‘jÑ ˆÜ! "§'¡'¨1Ô-Ü! "§'¡'¨1Ô-Ø�‰V�a—f‘f“h—j‘jÑ ˆÜ! "§'¡'¨1Ô-Ü! "§'¡'¨1Ô-Ü! ! a§f¡f£h§j¡j¡.´#°a³&Ô9Ü! ! a§f¡f£h§j¡j¡.´#°a³&Ô9Ü”—‘”t˜B“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	„ ¬
«       y )N)ç333333@ç      )@ç     @AÀg      @©ç333333@ç     €5@g     ÀGÀg      @)r¼  r
  ç     ÀEÀrd  )çš™™™™™@ra  ç      GÀra  )rP  rP  rS  rP  )rP  r¢   g      Àr¿  )rP  r&  rb  rP  )r  r¢   rb  r'  c                 ó   — |dk(  S )Nr   r�   )ÚarÚaiÚbetas      r^   r\  z,TestQZ.test_qz_double_sort.<locals>.<lambda>m	  s   € ÀbÈAÂgr`   re  )	rT   r4   r  r  r   r   r   rX   rÉ   )r|   r]   rË   r¨  r©  rª  r  ri  s           r^   Útest_qz_double_sortzTestQZ.test_qz_double_sortU	  sZ   € ô �H‰HÒ-Ú-Ú,Ú,ð.ó /ˆô
 �H‰HÒ+Ú+Ú+Ú+ð-ó .ˆô
 	”j¤" a¨Ñ1MÕNØr`   c                 ó  — t         j                  j                  d«      }d}|j                  ||g«      }|j                  ||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\  «      «       y )Nr¦  rv   Frˆ   r   r­  r§  s	            r^   r  zTestQZ.test_check_finite¸	  sÆ   € Ü�i‰i×#Ñ# EÓ*ˆØˆØ�J‰J˜˜1�vÓˆØ�J‰J˜˜1�vÓˆÜ˜!˜Q¨UÔ3‰ˆˆB��1Ü! ! b¡&¨1¯3©3¡,°Ô2Ü! ! b¡&¨1¯3©3¡,°Ô2Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü! ! a§c¡c¡'¬3¨q«6Ô2Ü”—‘”t˜B“x 1‘}Ó%Õ&r`   N)
r•   r–   r—   r«  r®  r°  r²  r¶  rÅ  r  r�   r`   r^   r¤  r¤  	  s'   „ ò
'ò
'ò,ò,ò'ò 5FóF
'r`   r¤  c                   ó^   — 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y)Ú	TestOrdQZc                 óF  — 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| _        y )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              À)rQ   yÍÌÌÌÌÌü¿333333@y              Ày      @      À)r¸  r¹  rº  rW  r»  )r¼  r½  r¾  rd  )r¿  g      :@rÀ  ra  )rb   rR   éýÿÿÿrb   )rb   rt   éûÿÿÿr<  )rb   rt   éüÿÿÿrt   )rb   rt   rÌ  r<  )r  rP  r¢   r¢   )r'  r'  r&  r*  )r*  r'  rP  r¢   )ru  r'  r-  r*  )r-  r(  ra  r(  )r*  r*  r&  r   )r   rP  ra  ra  )r  rP  r'  r*  rR   r   rb   )rT   r4   rF   r5   r]   rË   )
ÚclsÚA1ÚB1ÚA2ÚB2ÚA3ÚB3ÚA4ÚB4ÚA5s
             r^   Úsetup_classzTestOrdQZ.setup_classÆ	  s(  € ô �X‰Xò $ò&ò%ò'ð(ó )ˆô �X‰XÒDÚDÚDÚDðFó Gˆô �X‰XÒ/Ú.Ú.Ú.ð0ó 1ˆô
 �X‰X’}Ú$Ú$Ú$ð&ó 'ˆô �X‰XÒ'Ú'Ú'Ú'ð)ó *ˆô �X‰XÒ)Ú'Ú'Ú'ð)ó *ˆô �V‰V�A‹YˆÜ�W‰W�a˜�V‹_ˆô �W‰W�a˜�V‹_ˆà�R˜˜R Ð$ˆŒØ�R˜˜R Ð$ˆ�r`   c           
      ó
  — t        j                  d¬«      5  t        | j                  | j                  «      D ��cg c]  \  }}t        |||¬«      ‘Œ }}}d d d «       t        |«      S c c}}w # 1 sw Y   t        «      S xY w)NÚraiserû   re  )rT   rü   Úzipr]   rË   r    Útuple)r|   rA   ÚAiÚBiÚrets        r^   Ú	qz_decompzTestOrdQZ.qz_decompý	  se   € Ü�[‰[˜WÖ%Ü:=¸d¿f¹fÀdÇfÁfÔ:MÔNÑ:M±°°B”5˜˜R dÖ+Ð:MˆCÑN÷ &ä�S‹zÐùó O÷ &ä�S‹zÐús   —$A/»A)ÁA/Á)A/Á/Bc
           	      óh  — t        j                  |j                  Ž }
t        ||j                  j                  «       z  |
«       t        |	|	j                  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kD  r|||dz
  f   dk7  rŒ||j                  d   dz
  k  rŠ||dz   |f   dk7  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(  r#t        |||f   d«       t        |||f   d«       Œé||   dk(  rt        |||f   d«       �Œt        |||f   |||f   z  ||   ||   z  «       �Œ( t        |«      }d}t        |j                  d   «      D ]A  } |t        j                  ||   g«      t        j                  ||   g«      «      }|s|rJ ‚|}ŒC y )Nr°   r£   r   rb   rR   T)rT   rF   r@   r   rX   rW   r   Útrilr9   r©   r
   rÊ   r   r   r2   r4   )r|   r]   rË   rA   r¨  r©  ÚalpharÄ  rª  r  ÚIdr®   ÚevalsÚ_ÚtmpÚsortfunÚlastsortÚcursorts                     r^   ÚcheckzTestOrdQZ.check
  s”  € Ü�V‰V�Q—W‘WÐˆä! ! a§c¡c§h¡h£j¡.°"Ô5Ü! ! a§c¡c§h¡h£j¡.°"Ô5ä! ! b¡&¨!¨a©%Ô0Ü! ! b¡&¨!¨a©%Ô0äœ2Ÿ7™7 2 r›?¬B¯H©H°R·X±XÓ,>Ô?Üœ2Ÿ7™7 2 r›?¬B¯H©H°R·X±XÓ,>Ô?ä�q—w‘w˜q‘z×"ˆAð �1Šu˜˜1˜a !™e˜8™¨Ò)Øà�2—8‘8˜A‘; ‘?Ò" r¨!¨a©%°¨(¡|°qÒ'8Ü˜r ! A¨¡E '¨1¨Q°©U¨7Ð"2Ñ3°R¸¸!¸a¹%¸ÀÀ1ÀqÁ5ÀÐ8HÑ5IÓJ‘��qð ˜‘8—=‘= 1Ò$Ø! 1 a &™M�EØ˜A˜a !™e�n T¨!¨A°©E ]Ñ2�Ø�q‘6—;‘; ’?Ø˜q !˜f™+�CÜ)¨%°Õ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ð/ #ô0 # 4Ó(ˆØˆÜ�q—w‘w˜q‘zÖ"ˆAÙœbŸh™h¨¨a© zÓ2´B·H±H¸dÀ1¹g¸YÓ4GÓHˆGñ Ù"Ð"�{Ø‰Hñ #r`   c                 ó¤   — | j                  |«      }t        || j                  | j                  «      D ]  \  }}} | j                  |||g|¢­Ž  Œ y rJ  )rß  rÚ  r]   rË   rê  )r|   rA   rÞ  ÚretirÜ  rÝ  s         r^   Ú	check_allzTestOrdQZ.check_all0
  sH   € Ø�n‰n˜TÓ"ˆä  T§V¡V¨T¯V©VÖ4‰LˆD�"�bØˆD�J‰J�r˜2˜tÐ+ dÔ+ñ 5r`   c                 ó&   — | j                  d«       y )NrV  ©rí  rL  s    r^   Útest_lhpzTestOrdQZ.test_lhp6
  ó   € Ø�‰�uÕr`   c                 ó&   — | j                  d«       y )NrX  rï  rL  s    r^   Útest_rhpzTestOrdQZ.test_rhp9
  rñ  r`   c                 ó&   — | j                  d«       y )NrY  rï  rL  s    r^   Útest_iuczTestOrdQZ.test_iuc<
  rñ  r`   c                 ó&   — | j                  d«       y )NrZ  rï  rL  s    r^   Útest_ouczTestOrdQZ.test_ouc?
  rñ  r`   c                 ó,   — d„ }| j                  |«       y )Nc                 óˆ   — t        j                  | t        ¬«      }|dk7  }d|| <   | |   ||   z  j                  dk(  ||<   |S ©NrŽ   r   F©rT   Ú
empty_likeÚboolrÊ   ©rÓ  rª  ÚoutÚnonzeros       r^   rA   z TestOrdQZ.test_ref.<locals>.sortD
  óL   € Ü—-‘- ¬Ô.ˆCØ˜A‘vˆGØ!ˆC��‰MØ˜g™J q¨¡zÑ1×7Ñ7¸1Ñ<ˆC�‰LØˆJr`   rï  ©r|   rA   s     r^   Útest_refzTestOrdQZ.test_refB
  ó   € ò	ð 	�‰�tÕr`   c                 ó,   — d„ }| j                  |«       y )Nc                 óˆ   — t        j                  | t        ¬«      }|dk7  }d|| <   | |   ||   z  j                  dk7  ||<   |S rú  rû  rþ  s       r^   rA   z TestOrdQZ.test_cef.<locals>.sortO
  r  r`   rï  r  s     r^   Útest_cefzTestOrdQZ.test_cefM
  r  r`   c                 ó`  — t        | j                  d   | j                  d   d¬«      } | j                  | j                  d   | j                  d   dg|¢­Ž  t        | j                  d   | j                  d   d¬«      } | j                  | j                  d   | j                  d   dg|¢­Ž  y )Nrb   rR   rV  re  )r    r]   rË   rê  )r|   rÞ  s     r^   Útest_diff_input_typeszTestOrdQZ.test_diff_input_typesX
  sŒ   € Ü�D—F‘F˜1‘I˜tŸv™v a™y¨uÔ5ˆØˆ�
‰
�4—6‘6˜!‘9˜dŸf™f Q™i¨Ð5°Ó5ä�D—F‘F˜1‘I˜tŸv™v a™y¨uÔ5ˆØˆ�
‰
�4—6‘6˜!‘9˜dŸf™f Q™i¨Ð5°Ô5r`   c                 óº  — 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        ||«       Œ… Œ� y )NrR   r°   rc   rV  rW  rX  rY  rZ  y       À      ð?y      à?      à?yš™™™™™Ù¿š™™™™™É¿ù      ð?      ð¿r   rb   re  )	rT   rF   r5   r¹   rY  rÚ  r    rü  r   )r|   rÎ  rÏ  Ú	expected1rÐ  rÑ  Ú	expected2rÒ  rÓ  Ú	expected3rÔ  rÕ  Ú	expected4rÖ  ÚB5Ú	expected5r]   rË   ÚexpectedrÜ  rÝ  Ú	expectediÚsortstrÚexpected_eigvalsrå  râ  rÄ  ÚazeroÚbzerorÓ  s                                 r^   Útest_sort_explicitzTestOrdQZ.test_sort_explicit_
  s–  € ô �V‰V�A‹YˆÜ�W‰W�b˜#�YÓˆØ˜d A˜YÐ'Ø˜a ˜YÐ'Ø˜d A˜YÐ'Ø˜a ˜YÐ'ð)ˆ	ô �V‰V�A‹YˆÜ�W‰W�g˜zÐ*Ó+ˆØ˜k¨>Ð:Ð;Ø˜n¨kÐ:Ð;Ø˜k¨>Ð:Ð;Ø˜n¨kÐ:Ð;ð=ˆ	ô
 �V‰V�A‹YˆÜ�W‰W�a˜�V‹_ˆØ˜c¤2§6¡6˜]Ð+Ø˜c¤2§6¡6˜]Ð+ØœbŸf™f c˜]Ð+ð-ˆ	ô �V‰V�A‹YˆÜ�W‰W�b˜!�WÓˆØ˜d¤B§F¡F˜^Ð,Ø˜d¤B§F¡F˜^Ð,ØœbŸf™f d˜^Ð,ð.ˆ	ô �W‰W�a˜�V‹_ˆÜ�W‰W�a˜�XÓˆà˜a¤§¡˜[Ð)Ø˜a¤§¡˜[Ð)ð+ˆ	ð ��R˜˜RÐ ˆØ��R˜˜RÐ ˆØ˜y¨)°YÀ	ÐJˆÜ!$ Q¨¨8Ö!4ÑˆB��IÛ-6Ñ)�Ð)Ü*/°°B¸WÔ*EÑ'��1�e˜T 1 aØ !™�Ø ™�Ü—M‘M %Ó(�Ü#%§6¡6��%˜%‘-Ñ Ü$&§F¡F��5�&˜5‘.Ñ!Ø! 5 &™M¨$°¨v©,Ñ6��5�&‘	ÜÐ 0°!Õ4ñ .7ñ "5r`   N)r•   r–   r—   Úclassmethodr×  rß  rê  rí  rð  ró  rõ  r÷  r  r  r	  r  r�   r`   r^   rÈ  rÈ  Å	  sM   „ Øñ4%ó ð4%òlò
,ò\,òòòòò	ò	ò6ó-5r`   rÈ  c                   ó†   — e Zd Zej                  j                  d«      d„ «       Zej                  j                  d„ «       Zy)ÚTestOrdQZWorkspaceSizerv   c                 ó*  — t         j                  j                  d«      }d}t         j                  t         j                  fD ]V  }|j                  ||f«      j                  |«      }|j                  ||f«      j                  |«      }t        ||d„ d¬«      }ŒX t         j                  t         j                  fD ]V  }|j                  ||f«      j                  |«      }|j                  ||f«      j                  |«      }t        ||d„ d¬«      }ŒX y )Nr¦  éÊ   c                 ó   — | |k  S rJ  r�   ©râ  rÄ  s     r^   r\  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>™
  ó   € °U¸T²\r`   r[  ru  c                 ó   — | |k  S rJ  r�   r  s     r^   r\  z7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>Ÿ
  r   r`   rœ   )	rT   rU   r  r;   r%  rY   r    rF  r<   )r|   rj   re  Úddtyper]   rË   rå  s          r^   Útest_decomposez%TestOrdQZWorkspaceSize.test_decompose�
  sç   € ä�i‰i×#Ñ# EÓ*ˆØˆä—z‘z¤2§:¡:Ó.ˆFØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAä�a˜Ñ!AØ#ô%‰Að	 /ô —}‘}¤b§l¡lÓ3ˆFØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAÜ�a˜Ñ!AØ&ô(‰Añ 4r`   c                 ó~  — t         j                  j                  d«      }d}t         j                  t         j                  t         j
                  t         j                  fD ][  }|j                  ||f«      j                  |«      }|j                  ||f«      j                  |«      }t        ||d¬«      \  }}}}	}
}Œ] y )Nr¦  r  rZ  re  )	rT   rU   r  r;   r%  rF  r<   rY   r    )r|   rj   re  r"  r]   rË   ÚSrX   râ  rÄ  ÚUr4  s               r^   Útest_decompose_oucz)TestOrdQZWorkspaceSize.test_decompose_ouc¢
  s”   € ä�i‰i×#Ñ# EÓ*ˆØˆä—z‘z¤2§:¡:¬r¯}©}¼b¿l¹lÓKˆFØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAØ—
‘
˜A˜q˜6Ó"×)Ñ)¨&Ó1ˆAÜ&+¨A¨q°uÔ&=Ñ#ˆAˆq�%˜˜q¡!ñ Lr`   N)	r•   r–   r—   r˜   r™   Ú	fail_slowr#  rO  r'  r�   r`   r^   r  r  �
  sA   „ Ø‡[�[×Ñ˜1Óñ(ó ð(ð" ‡[�[×Ññ>ó ñ>r`   r  c                   ó   — e Zd Zd„ Zy)ÚTestDatacopiedc                 ó`  ‡— ddl m} t        ddgddgg«      }t        |«      Š|j	                  «       }|j                  «       } 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        |	«      ¬«       Œ0 y )Nr   )Ú_datacopiedrb   rR   rt   c                   ó   •— e Zd Zdˆ fd„	Zy)ú-TestDatacopied.test_datacopied.<locals>.Fake1Nc                 ó   •— ‰S rJ  r�   )r|   r\   r‚   r]   s      €r^   Ú	__array__z7TestDatacopied.test_datacopied.<locals>.Fake1.__array__¸
  s   ø€ Ø�r`   )NN)r•   r–   r—   r0  rZ  s   €r^   ÚFake1r.  ·
  s   ø„ ör`   r1  c                   ó(   •— e Zd ZW ° j                  Zy)ú-TestDatacopied.test_datacopied.<locals>.Fake2N)r•   r–   r—   Ú__array_interface__rZ  s   €r^   ÚFake2r3  »
  s   ø„ Ù"#×"7Ñ"7Ñr`   r5  FTrÃ   )Úscipy.linalg._decompr,  rH   rC   Útolistr‚   r   Úrepr)r|   r,  r  ÚLÚM2r1  r5  ÚF1ÚF2ÚitemÚstatusÚarrr]   s               @r^   Útest_datacopiedzTestDatacopied.test_datacopied¯
  s»   ø€ Ý4ä�Q˜�F˜Q ˜FÐ#Ó$ˆÜ�A‹JˆØ�H‰H‹JˆØ�V‰V‹Xˆ÷	ó 	÷	8ó 	8ñ ‹WˆÙ‹Wˆà ˜Z¨!¨U¨°a¸°YØ  %˜[¨2¨u¨+¸¸E°{óD‰LˆD�&ä˜$“-ˆCÜ™ S¨$Ó/°Ü!% d£ö-ñDr`   N)r•   r–   r—   r@  r�   r`   r^   r*  r*  ­
  s   „ ó-r`   r*  c                  óò   — t        dt        j                  ¬«      } t        j                  | j                  ddt
        ¬«      }|j                  d«      }t        |d¬«       t        |j                  d¬«       y	)
z4Check linalg works with non-aligned memory (float32)i’  rŽ   rR   r  ©ÚoffsetÚcountr\   ©rO  rO  T©Úoverwrite_aN)	r:   rT   Úuint8Ú
frombufferÚdatar;   r  r
   rX   ©r}   rí  s     r^   Útest_aligned_mem_floatrL  È
  sT   € ô 	ˆsœ"Ÿ(™(Ô#€Aô 	�‰�a—f‘f Q¨c¼ÔA€AØ	�	‰	�(Ó€Aäˆ�tÕÜˆ�‰˜Ör`   Úppc64lezcrashes on ppc64lec                  óò   — t        dt        j                  ¬«      } t        j                  | j                  ddt
        ¬«      }|j                  d«      }t        |d¬«       t        |j                  d¬«       y	)
z4Check linalg works with non-aligned memory (float64)i$  rŽ   r<  r  rB  rE  TrF  N)	r:   rT   rH  rI  rJ  r›   r  r
   rX   rK  s     r^   Útest_aligned_memrO  Õ
  sT   € ô
 	ˆsœ"Ÿ(™(Ô#€Aô 	�‰�a—f‘f Q¨c¼Ô?€AØ	�	‰	�(Ó€Aäˆ�tÕÜˆ�‰˜Ör`   c                  óò   — t        dt        j                  ¬«      } t        j                  | j                  ddt
        ¬«      }|j                  d«      }t        |d¬«       t        |j                  d¬«       y	)
z>Check that complex objects don't need to be completely alignediH  rŽ   rw  r  rB  rE  TrF  N)	r9   rT   rH  rI  rJ  rœ   r  r
   rX   rK  s     r^   Útest_aligned_mem_complexrQ  ä
  sT   € ô 	ˆdœ"Ÿ(™(Ô#€Aô 	�‰�a—f‘f Q¨c¼ÔA€AØ	�	‰	�(Ó€Aäˆ�tÕäˆ�‰˜Ör`   c                 ó‚  — t        |«      }t        t        |«      «      D �]  }|d d  }t        ||   t        j
                  «      sŒ't	        j                  ||   j                  ||   j                  j                  z  dz   t        j                  ¬«      }t	        j                  |j                  d||   j                  ||   j                  ¬«      }|j                  ||   j                  «      }||   |d<   |||<    | |i |¤Ž t        ||   j                  «      dkD  s�Œ||   j                  ||<    | |i |¤Ž �Œ y )Nrw  rŽ   r<  rB  .rb   )r+  r©   rf   rd   rT   rE   r9   rÆ   r\   ÚitemsizerH  rI  rJ  r  r@   rX   )Úfuncrh  rA  r®   r}   r´  s         r^   Úcheck_lapack_misalignedrU  ò
  s  € Ü�‹:€DÜ”3�t“9×ˆØ‘ˆGˆÜ�a˜‘dœBŸJ™JÕ'ä—‘˜!˜A™$Ÿ)™) A a¡D§J¡J×$7Ñ$7Ñ7¸Ñ9ÄÇÁÔJˆBÜ—‘˜rŸw™w¨q¸¸!¹¿	¹	Ø%& q¡T§Z¡Zô1ˆBà—‘˜A˜a™DŸJ™JÓ'ˆBØ˜‘dˆBˆs‰GØˆAˆa‰DÙ�!Ð�vÒÜ�1�Q‘4—:‘:‹ Ô"Ø˜‘t—v‘v��!‘Ù�aÐ"˜6Ô"ñ r`   z0Ticket #1152, triggers a segfault in rare cases.)Úrunr9  c                  ó  — t        j                  dt        ¬«      } t        j                  d«      j	                  d«      }t        j                  dt         j
                  ¬«      }t        j                  |j                  ddt        ¬«      }|j	                  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/        |||«       Œ y )NrO  rŽ   r  rE  i N  r<  rB  TrF  )Úoverwrite_b)rG  rX  )rT   rF   r›   r:   r  rH  rI  rJ  rÅ   r   r
   r>  r   r   r   r   r   r   r   r   r   r   r   rU  )	r  ÚRr%  rº   ÚLUÚpivrT  rh  rA  s	            r^   Útest_lapack_misalignedr\    s¸  € ô 	�‰ˆrœÔ€AÜ
�	‰	�#‹×Ñ˜xÓ(€AÜ
�	‰	�%œrŸx™xÔ(€AÜ
�‰�a—f‘f Q¨c¼Ô?€AØ	�	‰	�(Ó€AÜ
�‰�‹€AÜ˜‹l�G€Bˆä�1�$œ¨Ô.Ð/Ü�q�dœD¨TÔ2Ð3Ü�!�”t¨Ô-Ð.Ü˜˜œd¨tÔ4Ð5Ü˜˜S˜	 1�~¤t¸Ô'=Ð>Ü�Q˜�FœD¨T¸tÔDÐEÜ�1�$œ¨Ô.Ð/Ü�1�$œ¨Ô.Ð/Ü�1�$œ¨Ô.Ð/Ü�q�dœD›FÐ#Ü�q�dœD¨TÔ2Ð3Ü˜�tœT¨dÔ3Ð4Ü�!�”t¨Ô-Ð.Ü�!�”t¨Ô-Ð.Ü˜!˜œt°Ô5Ð6Ü�Q�Dœ$¨4Ô0Ð1ó!!Ñˆˆt�Vô$ 	   d¨FÕ3ñ%!r`   c                   ól   — 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y)ÚTestOverwritec                 óJ   — t        t        dg«       t        t        ddg«       y ©Nr  )rG   r
   rL  s    r^   Útest_eigzTestOverwrite.test_eig&  s   € ÜœC & Ô*ÜœC &¨&Ð!1Õ2r`   c                 óJ   — t        t        dg«       t        t        ddg«       y r`  )rG   r   rL  s    r^   Ú	test_eighzTestOverwrite.test_eigh*  s   € ÜœD 6 (Ô+ÜœD 6¨6Ð"2Õ3r`   c                 ó&   — t        t        dg«       y ©Nr;  )rG   r   rL  s    r^   r™  zTestOverwrite.test_eig_banded.  ó   € ÜœJ¨¨Õ1r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_eigvalszTestOverwrite.test_eigvals1  ó   € ÜœG f XÕ.r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_eigvalshzTestOverwrite.test_eigvalsh4  s   € ÜœH v hÕ/r`   c                 ó&   — t        t        dg«       y re  )rG   r   rL  s    r^   r�  z!TestOverwrite.test_eigvals_banded7  s   € ÜœN¨V¨HÕ5r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_hessenbergzTestOverwrite.test_hessenberg:  rf  r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_lu_factorzTestOverwrite.test_lu_factor=  s   € ÜœI¨ xÕ0r`   c                 óx   ‡— t        j                  g d¢g d¢g d¢g«      }t        |«      Št        ˆfd„dg«       y )Nrs   r!  )rì  rw  rw  c                 ó   •— t        ‰| «      S rJ  )r   )rº   Úxlus    €r^   r\  z-TestOverwrite.test_lu_solve.<locals>.<lambda>C  s   ø€ ¤h¨s°AÔ&6r`   )rt   )rT   r4   r   rG   )r|   rÓ  rs  s     @r^   Útest_lu_solvezTestOverwrite.test_lu_solve@  s.   ø€ Ü�H‰H’i¢ªIÐ6Ó7ˆÜ˜‹lˆÜÓ6¸¸Õ?r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_luzTestOverwrite.test_luE  ó   € ÜœB  Õ)r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_qrzTestOverwrite.test_qrH  rw  r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_rqzTestOverwrite.test_rqK  rw  r`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Ú
test_schurzTestOverwrite.test_schurN  s   € ÜœE F 8Õ,r`   c                 ó`   — t        d„ dgt        j                  t        j                  g¬«       y )Nc                 ó   — t        | d«      S )Nrœ   )r   ©r}   s    r^   r\  z2TestOverwrite.test_schur_complex.<locals>.<lambda>R  s   € ¤e¨A¨yÔ&9r`   r  )Údtypes)rG   rT   r;   r%  rL  s    r^   Útest_schur_complexz TestOverwrite.test_schur_complexQ  s!   € ÜÑ9¸F¸8Ü$&§J¡J´·
±
Ð#;ö	=r`   c                 óB   — t        t        dg«       t        d„ dg«       y )Nr  c                 ó   — t        | d¬«      S )NrR  r¼  )r   r€  s    r^   r\  z(TestOverwrite.test_svd.<locals>.<lambda>W  s   € ¤c¨!¸7Õ&Cr`   )rG   r   rL  s    r^   Útest_svdzTestOverwrite.test_svdU  s   € ÜœC & Ô*ÜÑCÀfÀXÕNr`   c                 ó&   — t        t        dg«       y r`  )rG   r   rL  s    r^   Útest_svdvalszTestOverwrite.test_svdvalsY  ri  r`   N)r•   r–   r—   ra  rc  r™  rh  rk  r�  rn  rp  rt  rv  ry  r{  r}  r‚  r…  r‡  r�   r`   r^   r^  r^  %  sT   „ ò3ò4ò2ò/ò0ò6ò2ò1ò@ò
*ò*ò*ò-ò=òOó/r`   r^  c                 óX  — t        j                  | dft        ¬«      j                  |«      }t        j                  |«      j
                  }d|z  }t        |«      }t        |j                  | df«       t        ||j                  «       |d¬«       t        |j                  «      }t        |j                  d«       t        ||j                  «       |¬«       | d	kD  rÎ|sËt         j                  j                  d«      }|j                  | d	«      |j                  d	| «      z  }|d
|j                  | d«      z  |j                  d| «      z  z   }|j                  |«      }t        |d¬«      }t        |j                  | d	f«       t        |d¬«      }t        |j                  | df«       y y y )NrR   rŽ   rû  rb   g³zê]Ê‚>rü  ©rR   rb   r,  rv   ç-Cëâ6?çü©ñÒMbP?©Úrcondç�íµ ÷Æ°>rw   )rT   rÅ   r›   rY   rý  rþ  r   r   r@   r   ÚmeanrX   rU   r  rV   )rZ   r\   Úskip_bigÚXrþ  rÂ   ÚYrj   s           r^   Ú_check_orthr“  ]  sL  € Ü
�‰��A�œeÔ$×+Ñ+¨EÓ2€Aä
�(‰(�5‹/×
Ñ
€CØ
�‰*€CäˆQ‹€AÜ�—‘˜1˜a˜&Ô!Ü�A�q—v‘v“x c°Õ7äˆQ�S‰S‹	€AÜ�—‘˜&Ô!Ü�A�q—v‘v“x cÕ*àˆ1‚u‘XÜ�i‰i×#Ñ# AÓ&ˆØ�H‰H�Q˜‹N˜SŸX™X a¨›^Ñ+ˆØ��s—x‘x  1“~Ñ%¨¯©°°A«Ñ6Ñ6ˆØ�H‰H�U‹Oˆä�˜$ÔˆÜ�Q—W‘W˜q !˜fÔ%ä�˜$ÔˆÜ�Q—W‘W˜q %˜jÕ)ð €ur`   rw  z"test only on 64-bit, else too slowc                  ó|   — d} 	 t        | t        j                  d¬«       y # t        $ r}t	        d«      |‚d }~ww xY w)Ni€–˜ T)r�  z.memory error perhaps caused by orth regression)r“  rT   r%  ÚMemoryErrorÚAssertionError)rZ   r¹  s     r^   Útest_orth_memory_efficiencyr—  x  sA   € ð 	€AðÜ�A”r—z‘z¨DÖ1øÜò ÜØ<ó
àð	ûðús   „! ¡	;ª6¶;c                  óÜ   — t         j                  t         j                  t         j                  t         j                  g} g d¢}t        j                  | |«      D ]  \  }}t        ||«       Œ y )N©rb   rR   rt   rO  r  )rT   r;   r%  r<   rF  Ú	itertoolsÚproductr“  )r�  r0  r‹   rZ   s       r^   Ú	test_orthrœ  ‰  sJ   € Ü�j‰jœ"Ÿ*™*¤b§l¡l´B·M±MÐB€FÚ€EÜ×"Ñ" 6¨5Ö1‰ˆˆAÜ�A�rÕñ 2r`   r‹   c                 óà   — t        j                  d| ¬«      }t        j                  d| ¬«      }t        |«      }|j                  t        |«      j                  k(  sJ ‚|j
                  dk(  sJ ‚y ©Nr�   rŽ   rR   )rT   r“   rF   r   r\   r@   )r‹   r}   rK  Úoas       r^   Útest_orth_emptyr   �  sW   € ä
�‰�˜rÔ"€AÜ	�‰�˜Ô	€Bä	ˆa‹€BØ�8‰8”t˜B“x—~‘~Ò%Ð%Ð%Ø�8‰8�vÒÐÑr`   c                   óT  — e Zd Zd„ Zej
                  j                  deee	j                  ee	j                  g«      d„ «       Zej
                  j                  dddg«      ej
                  j                  dddg«      ej
                  j                  dd	d
g«      d„ «       «       «       Zy)ÚTestNullSpacec                 óÒ  — t         j                  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|¬«       |j#                  d|dz  z   |«      }t        |«      }	t        |	j                  ||dz
  |dz  z
  f«       t        ||	z  d|¬«       |d	kD  s�Œt         j                  j                  d«      }|j%                  |d	«      |j%                  d	|«      z  }|d
|j%                  |d«      z  |j%                  d|«      z  z   }|j'                  |«      }t        |d¬«      }	t        |	j                  ||d	z
  f«       t        |d¬«      }	t        |	j                  ||dz
  f«       �Œï y )Nrb   r™  rR   rŽ   rû  r   r,  r‰  rv   rŠ  r‹  rŒ  rŽ  rw   )rT   rU   r  r;   r%  r<   rF  rš  r›  rÅ   rý  rþ  r%   r   r@   r   rX   ÚrandnrV   rY   )
r|   rj   r�  r0  r‹   rZ   r‘  rþ  rÂ   r’  s
             r^   Útest_null_spacezTestNullSpace.test_null_spaceš  sä  € Ü�i‰i×#Ñ# AÓ&ˆä—*‘*œbŸj™j¬"¯,©,¼¿¹ÐFˆÚ"ˆä×&Ñ& v¨u×5‰EˆB�Ü—‘˜˜A˜ bÔ)ˆAä—(‘(˜2“,×"Ñ"ˆCØ˜‘*ˆCä˜1“ˆAÜ˜Ÿ™ 1 a¨¡c (Ô+Ü˜A ™E 1¨3Õ/ä˜1Ÿ3™3“ˆAÜ˜Ÿ™ &Ô)Ü˜AŸC™C !™G Q¨SÕ1à—	‘	˜!˜a ™d™( AÓ&ˆAÜ˜1“ˆAÜ˜Ÿ™ 1 a¨!¡e¨a°©d¡lÐ"3Ô4Ü˜A ™E 1¨3Õ/à�1ŒuÜ—i‘i×+Ñ+¨AÓ.�Ø—H‘H˜Q “N S§X¡X¨a°£^Ñ3�Ø˜˜sŸx™x¨¨1›~Ñ-°·±¸¸A³Ñ>Ñ>�Ø—H‘H˜R“L�ä˜q¨Ô-�Ü˜QŸW™W q¨!¨a©% jÔ1ä˜q¨Ô-�Ü˜QŸW™W q¨!¨a©% jÖ1ñ; 6r`   r‹   c                 óà   — t        j                  d|¬«      }t        j                  d|¬«      }t        |«      }|j                  dk(  sJ ‚|j
                  t        |«      j
                  k(  sJ ‚y rž  )rT   r“   rF   r%   r@   r\   )r|   r‹   r}   rK  Únsas        r^   Útest_null_space_emptyz#TestNullSpace.test_null_space_empty¿  sY   € ä�H‰H�V 2Ô&ˆÜ�V‰V�A˜RÔ ˆÜ˜‹mˆà�y‰y˜FÒ"Ð"Ð"Ø�y‰yœJ r›N×0Ñ0Ò0Ð0Ñ0r`   rG  TFr‰   r½  r  rR  c                 ó(  — t         j                  j                  d«      }d}|j                  d|dz  z   |f«      }t	        |j                  «       |||¬«      }t        ||z  dt        j                  |j                  «      j                  dz  ¬«       y )	Nl   š'–YþœeN rO  rb   rR   )rG  r‰   r½  r   r  r,  )
rT   rU   r=  Ústandard_normalr%   r‚   r   rý  r\   rþ  )r|   rG  r‰   r½  rj   rZ   r‘  r’  s           r^   Útest_null_space_optionsz%TestNullSpace.test_null_space_optionsÈ  s{   € ô �i‰i×#Ñ#Ð$;Ó<ˆØˆØ×Ñ  Q¨¡T¡¨1 Ó.ˆÜ�q—v‘v“x¨[À|Ø%2ô4ˆä˜˜A™˜q¤r§x¡x°·±Ó'8×'<Ñ'<¸SÑ'@ÖAr`   N)r•   r–   r—   r¥  r˜   r™   rš   re   r›   rT   r;   rœ   r<   r¨  r«  r�   r`   r^   r¢  r¢  ™  s¨   „ ò#2ðJ ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSñ1ó Tð1ð ‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜^¨d°E¨]Ó;Ø‡[�[×Ñ˜_¨w¸Ð.@ÓAñBó Bó <ó ;ñBr`   r¢  c            	      óB  — 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«      «       y ) Nrw  rt   r&  r+  r,  rb   )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™"Ó	´÷?rR   r   rf  rg  g¦®LÔ0âç?g•Ä¹»°-ß?gyßôv†Õ?r£   rq  )r   rb   r   )r   r   rb   r   rT  r  ru  r�   r�   r’   r¥   r_  )r"   r›   r   r!   rT   Úpir9   r@   r4   r  r  r“   )ÚHr]   rË   rÓ  r  r}   rº   s          r^   Útest_subspace_anglesr¯  Ô  s¯  € Ü�”EÓ€AØ	Š!ˆRˆaˆRˆ%‰€AØ	Š!ˆQ‰Rˆ%‰€AÜ”O A qÓ)¬B¯E©E°B©J¨<¸!Ñ+;À%ÕHÜ”O A qÓ)¬B¯E©E°B©J¨<¸!Ñ+;À%ÕHØ�‹VˆÜœ¨¨1Ó-¬r¯x©x¸¿¹À¹
Ó/CØ"ö	$ð ô
 	�‰Ú	UÚ	WÚ	XÚ	Vð	Xó	Y€Að
 !€HÜ”O A¢a¨¨!¨ e¡H¨a²°1±2°©hÓ7¸Ñ:¸HØõ ä”O A¢a¨© e¡H¨a²°2°A°2°©hÓ7¸Ñ:¸HØõ à €HÜ”O A¢a¨¨!¨ e¡H¨a²°A°3°©iÓ8¸(ÈÕOÜ”O A¢a¨!¨ f¡I¨q²°B°Q°B°©xÓ8¸(ÈÕOØ €HÜ”O A¢a¨¨!¨ e¡H¨a²°A°3°©iÓ8¸(ÈÕOÜ”O A¢a¨!¨ f¡I¨q²°B°Q°B°©xÓ8¸(ÈÕOØ €HÜ”O A¢a¨¨!¨ e¡H¨a²°1±2°©hÓ7¸(ÀA¸Øõ ô ”*œo¨q°©t°QÔ7Ü”*œo¨q°!°A±$Ô7Ü”*œo¨q°°"¨v°qÔ9ô 	�‰’)ÚÚÚÚð	ó 	€Aô
 	�‰’)ÚÚÚÚð	ó 	€Aô
 �x‰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©8°D«>Ô:Ü
�‰�Ó€AÜ
�‰�Ó€AÜ”O A qÓ)¬2¯8©8°D«>Ô:Ü
�‰�Ó€AÜ
�‰�Ó€AÜ”O A qÓ)¬2¯8©8°D«>Õ: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y)ÚTestCDF2RDFc                 ó0   — t        j                  d||«      S )Nz...ij,...jk->...ik)rT   Úeinsum)r|   r}   rº   s      r^   ÚmatmulzTestCDF2RDF.matmul  s   € Ü�y‰yÐ-¨q°!Ó4Ð4r`   c                 ó\   — t        | j                  ||«      | j                  ||«      «       y rJ  )r   r´  )r|   r~   rm   rÓ  s       r^   Úassert_eig_validzTestCDF2RDF.assert_eig_valid  s&   € Ü!Ø�K‰K˜˜1ÓØ�K‰K˜˜1Óõ	
r`   c                 óÆ   — t        j                  d«      }t        j                  d«      t        j                  d«      }}t        ||«      \  }}| j                  |||«       y )Nr�   r   )rT   r“   r&   r¶  ©r|   r‘  r~   rm   Úwrr´   s         r^   Útest_single_array0x0realz$TestCDF2RDF.test_single_array0x0real$  sK   € ä�H‰H�VÓˆÜ�x‰x˜‹{œBŸH™H VÓ,ˆ1ˆÜ˜˜A“‰ˆˆBØ×Ñ˜b " aÕ(r`   c                 óÂ   — t        j                  ddgddgg«      }t         j                  j                  |«      \  }}t	        ||«      \  }}| j                  |||«       y )Nrb   rR   rt   r£   ©rT   r4   r7   r
   r&   r¶  r¸  s         r^   Útest_single_array2x2_realz%TestCDF2RDF.test_single_array2x2_real+  sT   € Ü�H‰H�q˜!�f˜q "˜gÐ&Ó'ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü˜˜A“‰ˆˆBØ×Ñ˜b " aÕ(r`   c                 óÂ   — t        j                  ddgddgg«      }t         j                  j                  |«      \  }}t	        ||«      \  }}| j                  |||«       y )Nrb   rR   r°   r¼  r¸  s         r^   Útest_single_array2x2_complexz(TestCDF2RDF.test_single_array2x2_complex1  sT   € Ü�H‰H�q˜!�f˜r 1˜gÐ&Ó'ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü˜˜A“‰ˆˆBØ×Ñ˜b " aÕ(r`   c                 óÈ   — t        j                  g d¢g d¢g d¢g«      }t         j                  j                  |«      \  }}t	        ||«      \  }}| j                  |||«       y )Nrs   ru   r¼  r¸  s         r^   Útest_single_array3x3_realz%TestCDF2RDF.test_single_array3x3_real7  sN   € Ü�H‰H’i¢ªIÐ6Ó7ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü˜˜A“‰ˆˆBØ×Ñ˜b " aÕ(r`   c                 óÈ   — t        j                  g d¢g d¢g d¢g«      }t         j                  j                  |«      \  }}t	        ||«      \  }}| j                  |||«       y ©Nrs   )r   r<  rv   )r   rË  r<  r¼  r¸  s         r^   Útest_single_array3x3_complexz(TestCDF2RDF.test_single_array3x3_complex=  sN   € Ü�H‰H’i¢ªJÐ7Ó8ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü˜˜A“‰ˆˆBØ×Ñ˜b " aÕ(r`   c                 ó  — t         j                  j                  d«      }t        dd«      D ]Z  }|j                  d||f«      }t         j                  j                  |«      \  }}t        ||«      \  }}| j                  |||«       Œ\ y )Nr  rb   rì  r  ©rT   rU   r=  r©   r7   r
   r&   r¶  ©r|   rj   r  r‘  r~   rm   r¹  r´   s           r^   Útest_random_1d_stacked_arraysz)TestCDF2RDF.test_random_1d_stacked_arraysC  sq   € Ü�i‰i×#Ñ# DÓ)ˆä�q˜!–ˆAØ—
‘
˜C  A˜;Ó'ˆAÜ—9‘9—=‘= Ó#‰DˆAˆqÜ˜Q “]‰FˆB�Ø×!Ñ! " b¨!Õ,ñ	 r`   c                 ó  — t         j                  j                  d«      }t        dd«      D ][  }|j                  dd||f«      }t         j                  j                  |«      \  }}t        ||«      \  }}| j                  |||«       Œ] y )Nr  rb   rì  rO  rÆ  rÇ  s           r^   Útest_random_2d_stacked_arraysz)TestCDF2RDF.test_random_2d_stacked_arraysL  ss   € Ü�i‰i×#Ñ# DÓ)ˆä�q˜!–ˆAØ—
‘
˜B  A q˜>Ó*ˆAÜ—9‘9—=‘= Ó#‰DˆAˆqÜ˜Q “]‰FˆB�Ø×!Ñ! " b¨!Õ,ñ	 r`   c                 ó„   — t        j                  d«      t        j                  d«      }}t        t        t
        ||«       y )Nr�   )rR   )rT   r“   r4   r  r  r&   ©r|   r~   rm   s      r^   Útest_low_dimensionality_errorz)TestCDF2RDF.test_low_dimensionality_errorU  s)   € Ü�x‰x˜‹|œRŸX™X d›^ˆ1ˆÜ”j¤'¨1¨aÕ0r`   c                 ó¤   — t        j                  d«      t        j                  d«      j                  dd«      }}t        t        t
        ||«       y )Nrt   rw   rR   ©rT   r:   r  r  r  r&   rÌ  s      r^   r  z!TestCDF2RDF.test_not_square_errorY  s6   € ä�y‰y˜‹|œRŸY™Y q›\×1Ñ1°!°QÓ7ˆ1ˆÜ”j¤'¨1¨aÕ0r`   c                 ó°   — t        j                  g d¢g d¢g d¢g«      }t         j                  j                  |«      \  }}t	        t
        t        ||«       y rÃ  ©rT   r4   r7   r
   r  r  r&   ©r|   r‘  r~   rm   s       r^   Útest_swapped_v_w_errorz"TestCDF2RDF.test_swapped_v_w_error^  s;   € ä�H‰H’i¢ªJÐ7Ó8ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü”j¤'¨1¨aÕ0r`   c                 ó¤   — t        j                  d«      t        j                  d«      j                  dd«      }}t        t        t
        ||«       y )Nrt   rõ   r<  rÏ  rÌ  s      r^   Útest_non_associated_errorz%TestCDF2RDF.test_non_associated_errord  s6   € ä�y‰y˜‹|œRŸY™Y r›]×2Ñ2°1°aÓ8ˆ1ˆÜ”j¤'¨1¨aÕ0r`   c                 ór  — t        j                  g d¢g d¢g d¢g«      }t         j                  j                  |«      \  }}t	        t
        t        ||«       t        j                  g d¢g d¢g d¢gg d¢g d¢g d¢gg«      }t         j                  j                  |«      \  }}t	        t
        t        ||«       y )Nrs   r…   )rR   rv   y      @      ð¿rÑ  rÒ  s       r^   Útest_not_conjugate_pairsz$TestCDF2RDF.test_not_conjugate_pairsi  sŠ   € ä�H‰H’i¢ªLÐ9Ó:ˆÜ�y‰y�}‰}˜QÓ‰ˆˆ1Ü”j¤'¨1¨aÔ0ô �H‰HÚš	¢<Ð0Úš	¢<Ð0ð
ó ˆô �y‰y�}‰}˜QÓ‰ˆˆ1Ü”j¤'¨1¨aÕ0r`   N)r•   r–   r—   r´  r¶  rº  r½  r¿  rÁ  rÄ  rÈ  rÊ  rÍ  r  rÓ  rÕ  r×  r�   r`   r^   r±  r±    sH   „ ò5ò
ò)ò)ò)ò)ò)ò-ò-ò1ò1ò
1ò1ó
1r`   r±  )F)—rš  ÚplatformÚsysr.  ÚnumpyrT   Ú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.conftestrK   Úscipy.__config__rL   ÚmachineÚIS_WASMr›   r_   r%  ÚREAL_DTYPESrF  rS   rè  ro   rq   rŸ   rH  rµ  rÖ  r  rQ  r™   rN  Úxfail_on_32bitÚparallel_threads_limitr(  rU  r[  r]  ro  rs  r.  rH  r~  Úblas_providerÚblas_versionr¤  rÈ  r  r*  rL  rO  rQ  rU  Úxfailr\  r^  r“  rO  r\   ÚintprS  r—  rœ  rš   re   rœ   r   r¢  r¯  r±  r�   r`   r^   Ú<module>rð     sÌ  ðÛ Û Û 
Û ã ÷5÷ 5ó Ý *÷N÷ N÷ N÷ N÷ N÷ N÷ N÷ N÷A÷ Aõ Aõ $Ý 4Ý #÷;÷ ;÷ ;÷ ;÷ ;ñ ;õ 8Ý (å 3Ý 'Ý .Ý #à�<‰<˜<Ñ'ÒUÐ+;¨8×+;Ñ+;Ó+=ÐAUÐ+U€ð (-°Eó ð  �z‰z˜2Ÿ:™:Ð&€Ø—,‘, §¡Ð.€Ø	�~Ñ	%€ò
÷4'=ñ '=÷To4ñ o4÷d	f$ñ f$÷P	~!ñ ~!÷BH$ñ H$÷TM#ñ M#ô^�Mô ð ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×ÑÐAÓBØ‡�×#Ñ# AÓ&Ø‡�×Ñ�rÓñó ó 'ó Có =ðò#÷;ñ ;÷|Eñ E÷E
.ñ E
.÷PN-ñ N-÷b}4ñ }4÷@Y#ñ Y#ðx  $Ð #€�ØÐ+Ñ,¨VÑ4°VÑ<€ØÐ*Ñ+¨FÑ3°IÑ>€÷p'ñ p'÷fG5ñ G5÷T>ñ >÷<-ñ -ò6
ð ‡�×ÑÐ$�H×$Ñ$Ó&¨)Ñ3Ø/ð ó 1ñ
ó1ð
òò#ð$ ‡�×Ò�uØLð ó Nñ4óNð4÷>5/ñ 5/óp*ð6 ‡�×ÒØ‡�×Ñ�H�B—H’H˜RŸWšWÓ%×.Ò.°Ñ2Ø?ð ó AñóAó ðòð ‡�×Ò˜  U¨B¯J©J¸ÀÇÁÐNÓOñó Pð÷8Bñ 8BòvB;÷J\1ò \1r`   