Ë
    qwjÊp  ã                   óÂ   — d dl Z d dlZd dlZd dlmZ d dlmZmZ ej                  ej                  gZej                  ej                  gZeez   Zd„ Zd„ Z G d„ d«      Zy)é    N)Úassert_allclose)ÚlinalgÚsparsec                ó¼   — |j                  | «      }t        j                  |t        j                  «      r||j                  | «      dz  z   }|j	                  |«      S )Ny              ð?)ÚrandomÚnpÚ
issubdtypeÚcomplexfloatingÚastype)ÚshapeÚdtypeÚrngÚAs       úb/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_batch.pyÚ
get_randomr      sJ   € Ø�
‰
�5Ó€AÜ	‡}�}�UœB×.Ñ.Ô/Ø�—
‘
˜5Ó! BÑ&Ñ&ˆØ�8‰8�E‹?Ðó    c                 óø   — |j                  | «      j                  |«      }t        j                  |j	                  dd«      «      }|j                  |j                  ¬«      j                  |«      |z  }||z   |z   S )Néÿÿÿÿéþÿÿÿ©Úsize)r   r   r   ÚconjÚswapaxesÚstandard_normalr   )r   r   Úatolr   r   ÚAtÚnoises          r   Úget_nearly_hermitianr      sk   € ð 	�
‰
�5Ó× Ñ  Ó'€AÜ	�‰�—‘˜B Ó#Ó	$€BØ×Ñ Q§W¡WÐÓ-×4Ñ4°UÓ;¸dÑB€EØˆr‰6�E‰>Ðr   c                   óÌ  — e Zd Zdddddddœd„Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d	„ «       Z	ej
                  j                  de«      d
„ «       Z
ej
                  j                  de«      d„ «       Zej
                  j                  dej                  ej                  ej                  ej                   ej"                  ej$                  ej&                  ej(                  ej$                  ej*                  ej,                  ej.                  g«      ej
                  j                  de«      d„ «       «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zej
                  j                  dej@                  dfejB                  dfejD                  dfg«      ej
                  j                  de«      d„ «       «       Z#ej
                  j                  dddg«      ej
                  j                  de«      d„ «       «       Z$ej
                  j                  dejJ                  ejL                  ejN                  g«      ej
                  j                  de«      d„ «       «       Z(ej
                  j                  dg d¢«      ej
                  j                  de«      d„ «       «       Z)ej
                  j                  dd d!gd"d#gg«      ej
                  j                  de«      d$„ «       «       Z*ej
                  j                  d%d d&g«      ej
                  j                  d'd(d)g«      ej
                  j                  de«      d*„ «       «       «       Z+ej
                  j                  d'd(d)g«      ej
                  j                  de«      d+„ «       «       Z,ej
                  j                  dejZ                  ej\                  g«      ej
                  j                  de«      d,„ «       «       Z/ej
                  j                  d-ddg«      ej
                  j                  de«      d.„ «       «       Z0ej
                  j                  d/ddg«      ej
                  j                  de«      d0„ «       «       Z1ej
                  j                  de«      d1„ «       Z2ej
                  j                  d2ddg«      ej
                  j                  d3ejf                  dfejf                  dfejh                  dfejj                  dfg«      ej
                  j                  de«      d4„ «       «       «       Z6ej
                  j                  d5ddg«      ej
                  j                  de«      d6„ «       «       Z7ej
                  j                  de«      d7„ «       Z8ej
                  j                  dejr                  g«      ej
                  j                  de«      d8„ «       «       Z:ej
                  j                  dejv                  dfejx                  dfejz                  dfej|                  dfej~                  d9fej€                  d:fg«      ej
                  j                  de«      d;„ «       «       ZAej
                  j                  de«      d<„ «       ZBej
                  j                  de«      d=„ «       ZCej
                  j                  dejˆ                  ejŠ                  g«      ej
                  j                  de«      d>„ «       «       ZFej
                  j                  de«      d?„ «       ZGej
                  j                  de«      d@„ «       ZHej
                  j                  de«      dA„ «       ZIej
                  j                  dej”                  dfej–                  dfg«      ej
                  j                  deL«      dB„ «       «       ZMej
                  j                  dCg d¢«      ej
                  j                  de«      dD„ «       «       ZNej
                  j                  dCg d¢«      ej
                  j                  de«      dE„ «       «       ZOej
                  j                  dFdGg dH¢g dI¢fg«      ej
                  j                  dCg d¢«      ej
                  j                  de«      dJ„ «       «       «       ZPej
                  j                  dKddg«      ej
                  j                  dCg d¢«      ej
                  j                  de«      dL„ «       «       «       ZQej
                  j                  dKddg«      ej
                  j                  dMg d¢«      ej
                  j                  de«      dN„ «       «       «       ZRej
                  j                  dCg d¢«      ej
                  j                  de«      dO„ «       «       ZSej
                  j                  dPddg«      ej
                  j                  dCg d¢«      ej
                  j                  de«      dQ„ «       «       «       ZTej
                  j                  dCg d¢«      ej
                  j                  de«      dR„ «       «       ZUej
                  j                  dCg d¢«      ej
                  j                  de«      dS„ «       «       ZVej
                  j                  dCg dT¢«      ej
                  j                  de«      dU„ «       «       ZWej
                  j                  de«      dV„ «       ZXdW„ ZYej
                  j                  dXej´                   e[j¸                  dY«      ffejº                   e[j¸                  dZ«      ffg«      d[„ «       Z^y)\Ú	TestBatché   é   NT)Úcore_dimÚn_outÚkwargsr   Ú	broadcastÚcheck_kwargsc          
      ó¾  ‡‡— |€i n|}t        t        j                  |«      j                  j	                  «       «      }	t        |t        «      s|fn|} ||i |¤Ž}
|rQ |di t        t        |	|«      «      ¤|¤Ž}t        ||
«      D ]%  \  }}t        j                  j                  ||«       Œ' |dk(  r|
fn|
}|rt        j                  |Ž }|d   j                  d |  }t        |d   «      D ]¬  Št        |d   «      D ]™  Šˆˆfd„|D «       } ||i |¤Ž}|dk(  rt        j                  |«      fnt        d„ |D «       «      }t        |«      D ]H  }t!        ||   ‰‰f   ||   «       t        j                  ||   ‰‰f   «      ||   j                  k(  rŒHJ ‚ Œ› Œ® t        t#        «      «      D ])  }|€||   j$                  n|}||   j$                  |k(  rŒ)J ‚ |
S )Nr"   r   c              3   ó,   •K  — | ]  }|‰‰f   –— Œ y ­w©N© )Ú.0ÚarrayÚiÚjs     €€r   Ú	<genexpr>z'TestBatch.batch_test.<locals>.<genexpr>?   s   øè ø€ Ð=±f¨U˜U 1 a 4�[±fùs   ƒc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr*   )r   Úasarray)r,   Úrefks     r   r0   z'TestBatch.batch_test.<locals>.<genexpr>B   s   è ø€ Ð>¹#°$œRŸZ™Z¨×-¹#ùs   ‚!r+   )ÚlistÚinspectÚ	signatureÚ
parametersÚkeysÚ
isinstanceÚtupleÚdictÚzipr   ÚtestingÚassert_equalÚbroadcast_arraysr   Úranger2   r   Úlenr   )ÚselfÚfunÚarraysr#   r$   r%   r   r&   r'   r7   Úres2Úres1Úout1Úout2ÚresÚbatch_shapeÚ	arrays_ijÚrefÚkÚ	out_dtyper.   r/   s                       @@r   Ú
batch_testzTestBatch.batch_test    sÙ  ù€ ð �~‘¨6ˆÜœ'×+Ñ+¨CÓ0×;Ñ;×@Ñ@ÓBÓCˆ
Ü",¨V´UÔ";�&‘Àˆñ �FÐ%˜fÑ%ˆÙÙÑAœœc *¨fÓ5Ó6ÐA¸&ÑAˆDÜ! $¨žo‘
��dÜ—
‘
×'Ñ'¨¨dÕ3ð .ð  !šˆt‰g¨ˆñ Ü×(Ñ(¨&Ð1ˆFØ˜Q‘i—o‘o j¨ yÐ1ˆÜ�{ 1‘~Ö&ˆAÜ˜; q™>Ö*�Ü=±fÓ=�	Ù˜9Ð/¨Ñ/�Ø-2°aªZœŸ
™
 3›Ñ)ÜÑ>¹#Ó>Ó>ð ä˜už�AÜ# C¨¡F¨1¨a¨4¡L°#°a±&Ô9ÜŸ8™8 C¨¡F¨1¨a¨4¡LÓ1°S¸±V·\±\ÓAÐAÐAñ &ñ +ð 'ô ”s˜3“x–ˆAØ(-¨˜˜A™Ÿš¸5ˆIØ�q‘6—<‘< 9Ó,Ð,Ð,ð !ð ˆr   r   c                 óÂ   — t         j                  j                  d«      }|j                  d«      j                  |«      }| j	                  t
        j                  |«       y )Nì   ³TÁAH4fC©é   é   é   rU   )r   r   Údefault_rngr   rO   r   Ú	expm_cond©rB   r   r   r   s       r   Útest_expm_condzTestBatch.test_expm_condM   sD   € ä�i‰i×#Ñ#Ð$:Ó;ˆØ�J‰J�|Ó$×+Ñ+¨EÓ2ˆØ�‰œ×(Ñ(¨!Õ,r   c                 ó  — t         j                  j                  d«      }t        d|d|«      }| j	                  t
        j                  |t        d¬«      ¬«      }t        j                  |«      rJ ‚t        j                  |«      sJ ‚y ©NrQ   rR   ga2U0*©3?gü©ñÒMbP?©r   ©r%   )
r   r   rV   r   rO   r   Úissymmetricr;   ÚallÚany©rB   r   r   r   rI   s        r   Útest_issymmetriczTestBatch.test_issymmetricS   óe   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ  ¨u°d¸CÓ@ˆØ�o‰oœf×0Ñ0°!¼DÀd¼OˆoÓLˆÜ—6‘6˜#”;ÐˆÜ�v‰v�cŒ{Ð‰{r   c                 ó  — t         j                  j                  d«      }t        d|d|«      }| j	                  t
        j                  |t        d¬«      ¬«      }t        j                  |«      rJ ‚t        j                  |«      sJ ‚y r[   )
r   r   rV   r   rO   r   Úishermitianr;   r_   r`   ra   s        r   Útest_ishermitianzTestBatch.test_ishermitian[   rc   r   c                 óL  — t         j                  j                  d«      }|j                  d«      j                  |«      }| j	                  t
        j                  |t        dd¬«      d¬«      }t        j                  |dd«      }t         j                  j                  ||«       y )NrQ   )rS   rT   rU   é   rU   )ÚMÚNr"   )r%   r#   )
r   r   rV   r   rO   r   Údiagsvdr;   r=   r>   ©rB   r   r   r   rF   rE   s         r   Útest_diagsvdzTestBatch.test_diagsvdc   sw   € ä�i‰i×#Ñ#Ð$:Ó;ˆØ�J‰J�yÓ!×(Ñ(¨Ó/ˆØ�‰œvŸ~™~¨q¼ÀÀQ¼ÐRSˆÓTˆä�~‰~˜a  AÓ&ˆÜ
�
‰
×Ñ  dÕ+r   rC   c                 óâ   — t         j                  j                  d«      }t        d||¬«      }|t        j
                  k(  r|dt        j                  d|¬«      z  z   }| j                  ||«       y )NrQ   rR   ©r   r   rT   rU   ©r   )r   r   rV   r   r   ÚsqrtmÚeyerO   ©rB   rC   r   r   r   s        r   Útest_matmatzTestBatch.test_matmatl   s]   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆð ”&—,‘,ÒØ�A”b—f‘f˜Q eÔ,Ñ,Ñ,ˆAà�‰˜˜QÕr   c                 óž   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |«       y )NrQ   ©rS   rT   rU   rh   ro   )r   r   rV   r   rO   r   Ú
null_spacerX   s       r   Útest_null_spacezTestBatch.test_null_space|   s9   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œ×)Ñ)¨1Õ-r   c                 óÒ   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |t        t         j                  ¬«      ¬«       y )NrQ   ©r!   rU   rT   rT   ro   )Úfuncr]   )	r   r   rV   r   rO   r   Úfunmr;   ÚsinrX   s       r   Ú	test_funmzTestBatch.test_funm‚   sD   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œŸ™ Q¬t¼¿¹Ô/@ˆÕAr   c                 ó  — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |ddi¬«      }t        j                  |d«      }t         j                  j                  ||«       y )NrQ   rz   ro   Útg      ø?r]   )	r   r   rV   r   rO   r   Úfractional_matrix_powerr=   r>   rl   s         r   Útest_fractional_matrix_powerz&TestBatch.test_fractional_matrix_powerˆ   si   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œv×=Ñ=¸qÈ#ÈcÈˆÓSˆä×-Ñ-¨a°Ó5ˆÜ
�
‰
×Ñ  dÕ+r   c                 óf  — t         j                  j                  d«      }t        d||¬«      }|dt        j                  d«      z  z   }| j                  t        j                  |«      }t        j                  |«      }t        ||«      D ]%  \  }}t         j                  j                  ||«       Œ' y )Nl	   8ÜÀ*k "¥XtlèTC rR   ro   rT   rU   )r   r   rV   r   rr   rO   r   Úlogmr<   r=   r>   )rB   r   r   r   rF   rE   Úres1iÚres2is           r   Ú	test_logmzTestBatch.test_logm‘   s…   € ô �i‰i×#Ñ#Ð$JÓKˆÜ�|¨5°cÔ:ˆØ�”"—&‘&˜“)‘‰OˆØ�‰œvŸ{™{¨AÓ.ˆä�{‰{˜1‹~ˆÜ  džO‰LˆE�5Ü�J‰J×#Ñ# E¨5Õ1ñ ,r   c                 ó¸   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |dt        d¬«      ¬«       y )NrQ   rR   ro   r!   T)Úreturn_rank©r$   r%   )r   r   rV   r   rO   r   Úpinvr;   rX   s       r   Ú	test_pinvzTestBatch.test_pinv�   sB   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œŸ™ Q¨a¼ÈÔ8NˆÕOr   c                 óì   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |d¬«       | j	                  t
        j                  |dddi¬«       y )	NrQ   rR   ro   r!   ©r$   ÚseparateTrŠ   )r   r   rV   r   rO   r   Úmatrix_balancerX   s       r   Útest_matrix_balancezTestBatch.test_matrix_balance£   s\   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œ×-Ñ-¨q¸ˆÔ:Ø�‰œ×-Ñ-¨q¸À:ÈdÐBSˆÕTr   c           	      óL  — t         j                  j                  d«      }t        d||¬«      }t        j                  t        dd«      D �cg c]  }t        j                  ||«      ‘Œ c}«      j                  d«      }| j                  t        j                  |d¬«       y c c}w )	NrQ   )rU   rU   ro   éýÿÿÿrT   ©r!   rT   rU   rU   r!   rŽ   )r   r   rV   r   r2   r@   ÚtriuÚreshaperO   r   Ú	bandwidth)rB   r   r   r   rM   s        r   Útest_bandwidthzTestBatch.test_bandwidthª   sz   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�v U°Ô4ˆÜ�J‰J¬u°R¸¬|Ó<©|¨!œŸ™  1�¨|Ñ<Ó=×EÑEÀlÓSˆØ�‰œ×(Ñ(¨!°1ˆÕ5ùò =s   ÁB!Ú	fun_n_outrT   c                 óÊ   — t         j                  j                  d«      }|\  }}t        d|d|«      }|dt        j                  d|¬«      z  z   }| j                  |||¬«       y )NrQ   rR   r   rU   rp   rŽ   )r   r   rV   r   rr   rO   )rB   r™   r   r   rC   r$   r   s          r   Útest_ldl_choleskyzTestBatch.test_ldl_cholesky±   s^   € ô �i‰i×#Ñ#Ð$:Ó;ˆØ‰
ˆˆUÜ  ¨u°a¸Ó=ˆØ�”"—&‘&˜ %Ô(Ñ(Ñ(ˆØ�‰˜˜Q eˆÕ,r   Ú
compute_uvFc                 óÄ   — t         j                  j                  d«      }t        d||¬«      }|rdnd}| j	                  t
        j                  ||t        |¬«      ¬«       y )NrQ   ©rS   rT   r!   rU   ro   rT   r"   )rœ   rŠ   )r   r   rV   r   rO   r   Úsvdr;   )rB   rœ   r   r   r   r$   s         r   Útest_svdzTestBatch.test_svd»   sM   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÙ‘ QˆØ�‰œŸ
™
 A¨U¼4È:Ô;VˆÕWr   c                 ó†   — t         j                  j                  d«      }t        d||¬«      }| j	                  ||d¬«       y )NrQ   rž   ro   r!   rŽ   ©r   r   rV   r   rO   rs   s        r   Útest_polar_qr_rqzTestBatch.test_polar_qr_rqÃ   ó9   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰˜˜Q aˆÕ(r   Úcdim)©rS   )rS   rU   )r!   rT   rS   rU   c                 ót  — t         j                  j                  d«      }t        d||¬«      }t        |||¬«      }t	        j
                  ||d¬«      }t	        j                  |«      \  }}||z  }	|t         j                  t         j                  hv rdnd}
t        |d   |	|
¬	«       t        |d
   ||
¬	«       y )NrQ   ©r!   rT   rS   rS   ro   Úleft)Úmodeç�íµ ÷Æ°>çê-�™—q=r   r\   r"   )
r   r   rV   r   r   Úqr_multiplyÚqrÚfloat32Ú	complex64r   )rB   r¥   r   r   r   ÚcrI   ÚqÚrrL   r   s              r   Útest_qr_multiplyzTestBatch.test_qr_multiplyÊ   sž   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�t 5¨cÔ2ˆÜ× Ñ   A¨FÔ3ˆÜ�y‰y˜‹|‰ˆˆ1Ø�!‰eˆØ¤§¡¬R¯\©\Ð :Ñ:‰tÀˆÜ˜˜A™ ¨$Õ/Ü˜˜A™ ¨Ö-r   Úuvdimr¦   )rT   )rU   rS   r!   )rU   rT   r!   c                 óø  — t         j                  j                  d«      }|\  }}t        d||¬«      }t        |||¬«      }t        |||¬«      }t	        j
                  |«      \  }	}
t	        j                  |	|
||«      }t        d«      D ]n  }|	|   |
|   }}|j                  dk(  r||fn	||   ||   f\  }}t	        j                  ||||«      }t        |d   |   |d   «       t        |d   |   |d   «       Œp y )NrQ   ©rU   rS   rT   ro   rU   r"   r   )
r   r   rV   r   r   r®   Ú	qr_updater@   Úndimr   )rB   rµ   r   r   ÚudimÚvdimr   ÚuÚvr²   r³   rI   r.   ÚqiÚriÚuiÚviÚref_is                     r   Útest_qr_updatezTestBatch.test_qr_update×   sù   € ô �i‰i×#Ñ#Ð$:Ó;ˆØ‰
ˆˆdÜ�y¨°3Ô7ˆÜ�t 5¨cÔ2ˆÜ�t 5¨cÔ2ˆÜ�y‰y˜‹|‰ˆˆ1Ü×Ñ˜q ! Q¨Ó*ˆÜ�q–ˆAØ�q‘T˜1˜Q™4�ˆBØ Ÿv™v¨š{�a˜‘V°°1±°q¸±t°‰FˆB�Ü×$Ñ$ R¨¨R°Ó4ˆEÜ˜C ™F 1™I u¨Q¡xÔ0Ü˜C ™F 1™I u¨Q¡xÕ0ñ r   rº   )rU   rT   rS   Úkdimr+   ©rU   c                 ó  — t         j                  j                  d«      }t        d||¬«      }t        |||¬«      }|j	                  dd|¬«      }t        j                  |«      \  }}	t        j                  ||	||«      }
t        d«      D ]z  }||   |	|   }}|j                  dk(  r|n||   }|j                  dk(  r|n||   }t        j                  ||||«      }t        |
d   |   |d   «       t        |
d   |   |d   «       Œ| y )	NrQ   ©rU   rS   rS   ro   r   rS   r   rU   r"   )r   r   rV   r   Úintegersr   r®   Ú	qr_insertr@   r¹   r   )rB   rº   rÄ   r   r   r   r¼   rM   r²   r³   rI   r.   r¾   r¿   ÚkirÀ   rÂ   s                    r   Útest_qr_insertzTestBatch.test_qr_insertè   sû   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�y¨°3Ô7ˆÜ�t 5¨cÔ2ˆØ�L‰L˜˜A DˆLÓ)ˆÜ�y‰y˜‹|‰ˆˆ1Ü×Ñ˜q ! Q¨Ó*ˆÜ�q–ˆAØ�q‘T˜1˜Q™4�ˆBØ—f‘f ’k‘ q¨¡tˆBØ—f‘f ’k‘ q¨¡tˆBÜ×$Ñ$ R¨¨R°Ó4ˆEÜ˜C ™F 1™I u¨Q¡xÔ0Ü˜C ™F 1™I u¨Q¡xÕ0ñ r   c                 óÆ  — t         j                  j                  d«      }t        d||¬«      }|j	                  dd|¬«      }t        j                  |«      \  }}t        j                  |||«      }t        d«      D ]c  }	||	   ||	   }}
|j                  dk(  r|n||	   }t        j                  |
||«      }t        |d   |	   |d   «       t        |d   |	   |d   «       Œe y )NrQ   rÇ   ro   r   rU   r   r"   )r   r   rV   r   rÈ   r   r®   Ú	qr_deleter@   r¹   r   )rB   rÄ   r   r   r   rM   r²   r³   rI   r.   r¾   r¿   rÊ   rÂ   s                 r   Útest_qr_deletezTestBatch.test_qr_deleteú   sÔ   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�y¨°3Ô7ˆØ�L‰L˜˜A DˆLÓ)ˆÜ�y‰y˜‹|‰ˆˆ1Ü×Ñ˜q ! QÓ'ˆÜ�q–ˆAØ�q‘T˜1˜Q™4�ˆBØ—f‘f ’k‘ q¨¡tˆBÜ×$Ñ$ R¨¨RÓ0ˆEÜ˜C ™F 1™I u¨Q¡xÔ0Ü˜C ™F 1™I u¨Q¡xÕ0ñ r   c                 ó†   — t         j                  j                  d«      }t        d||¬«      }| j	                  ||d¬«       y )NrQ   rR   ro   r!   rŽ   r¢   rs   s        r   Útest_schur_luzTestBatch.test_schur_lu	  r¤   r   Úcalc_qc                 óÄ   — t         j                  j                  d«      }t        d||¬«      }|rdnd}| j	                  t
        j                  ||t        |¬«      ¬«       y )NrQ   rR   ro   r!   r"   )rÑ   rŠ   )r   r   rV   r   rO   r   Ú
hessenbergr;   )rB   rÑ   r   r   r   r$   s         r   Útest_hessenbergzTestBatch.test_hessenberg  sO   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÙ‘ ˆØ�‰œ×)Ñ)¨1°EÄ$ÈfÔBUˆÕVr   Úeigvals_onlyc                 óÄ   — t         j                  j                  d«      }t        d||¬«      }|rdnd}| j	                  t
        j                  ||t        |¬«      ¬«       y )NrQ   rR   ro   r"   r!   ©rÕ   rŠ   )r   r   rV   r   rO   r   Ú
eig_bandedr;   )rB   rÕ   r   r   r   r$   s         r   Útest_eig_bandedzTestBatch.test_eig_banded  sV   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÙ!‘ qˆØ�‰œ×)Ñ)¨1°EÜ#°Ô>ð 	õ 	@r   c                 óž   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |«       y )NrQ   rR   ro   )r   r   rV   r   rO   r   Úeigvals_bandedrX   s       r   Útest_eigvals_bandedzTestBatch.test_eigvals_banded!  s9   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œ×-Ñ-¨qÕ1r   Útwo_inÚ
fun_n_noutc                 ó`  — t         j                  j                  d«      }|\  }}t        d|d|«      }t        d|d|«      }|dt        j                  d«      j                  |«      z  z   }|r||fn|f}	|dk(  r|t        j                  k(  rt        d¬«      ni }
| j                  ||	||
¬	«       y )
NrQ   ©r"   rT   rU   rU   r   ©r!   r"   rU   rU   rU   r"   Tr×   rŠ   )
r   r   rV   r   rr   r   r   Úeighr;   rO   )rB   rÝ   rÞ   r   r   rC   r$   r   ÚBÚargsr%   s              r   Ú	test_eighzTestBatch.test_eigh'  s¥   € ô
 �i‰i×#Ñ#Ð$:Ó;ˆØ‰
ˆˆUÜ  ¨u°a¸Ó=ˆÜ  ¨u°a¸Ó=ˆØ�”"—&‘&˜“)×"Ñ" 5Ó)Ñ)Ñ)ˆÙ��1‰v a TˆØ-2°aªZ¸CÄÇÁÒ<L” 4Õ(ÐSUˆØ�‰˜˜T¨°vˆÕ>r   Úcompute_expmc                 óä   — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }|rdnd}| j	                  t
        j                  ||f|t        |¬«      ¬«       y )	NrQ   rà   ro   rá   r!   r"   )ræ   rŠ   )r   r   rV   r   rO   r   Úexpm_frechetr;   )rB   ræ   r   r   r   ÚEr$   s          r   Útest_expm_frechetzTestBatch.test_expm_frechet5  sh   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆÙ!‘ qˆØ�‰œ×+Ñ+¨a°¨V¸5Ü#°Ô>ð 	õ 	@r   c                 óv  — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }| j	                  t
        j                  ||f«       d\  }}}t        dd||f||¬«      }t        dd||f||¬«      }t        j                  ||«      j                  ddt        ||«      fk(  sJ ‚y )	NrQ   )r"   rT   rU   rT   ro   )r!   r"   rU   rT   r·   r"   rT   r!   )	r   r   rV   r   rO   r   Úsubspace_anglesr   Úmin)rB   r   r   r   rã   ri   rj   ÚKs           r   Útest_subspace_angleszTestBatch.test_subspace_angles?  s°   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆØ�‰œ×.Ñ.°°A°Ô7à‰ˆˆ1ˆaÜ˜˜1˜a �|¨5°cÔ:ˆÜ˜˜1˜a �|¨5°cÔ:ˆÜ×%Ñ% a¨Ó+×1Ñ1°a¸¼CÀÀ1»IÐ5FÒFÐFÑFr   c                 ó‚   — t         j                  j                  d«      }t        d||¬«      }| j	                  ||«       y )NrQ   ©r!   rT   rU   rS   ro   r¢   rs   s        r   Útest_svdvalszTestBatch.test_svdvalsK  s5   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰˜˜QÕr   rU   rh   c                 ó°   — t         j                  j                  d«      }|\  }}t        d||¬«      }t        d||¬«      }| j	                  |||f|¬«       y )NrQ   r”   ro   rŽ   r¢   )rB   r™   r   r   rC   r$   r   rã   s           r   Útest_two_generic_matrix_inputsz(TestBatch.test_two_generic_matrix_inputsR  sT   € ô �i‰i×#Ñ#Ð$:Ó;ˆØ‰
ˆˆUÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆØ�‰˜˜a ˜V¨5ˆÕ1r   c                 ó€  — t         j                  j                  d«      }d\  }}t        d||¬«      }|dd |…d |…f   |dd |…|d …f   |d|d …d |…f   |d|d …|d …f   f\  }}}}	t	        j
                  |||«      }
t	        j
                  ||||	f«      }t        |
|«      D ]%  \  }}t         j                  j                  ||«       Œ' t        d«      D ]g  }t        d«      D ]W  }t	        j
                  |||f   ||«      }t        |
|«      D ]*  \  }}t         j                  j                  |||f   |«       Œ, ŒY Œi y )NrQ   )rT   rU   )r!   rT   é
   rö   ro   .r!   rT   )
r   r   rV   r   r   Úcossinr<   r=   r>   r@   )rB   r   r   Úpr²   ÚXÚx11Úx12Úx21Úx22rI   rL   Úres_irÂ   r/   rM   Úref_jkÚref_ijks                     r   Útest_cossinzTestBatch.test_cossin`  sB  € ä�i‰i×#Ñ#Ð$:Ó;ˆØ‰ˆˆ1Ü�~¨U¸Ô<ˆØ  R a R¨¨!¨ ™n¨a°°R°a°R¸¹°©nØ  Q¡R¨¨!¨ ™n¨a°°Q±R¸¹°©nð>ÑˆˆS�#�sä�m‰m˜A˜q !Ó$ˆÜ�m‰m˜S # s¨CÐ0Ó1ˆÜ  SžM‰LˆE�5Ü�J‰J×#Ñ# E¨5Õ1ð *ô �q–ˆAÜ˜1–X�ÜŸ™ q¨¨A¨¡w°°1Ó5�Ü&)¨#¨vÖ&6‘N�E˜7Ü—J‘J×+Ñ+¨E°!°Q°$©K¸ÕAñ '7ñ ñ r   c                 óÜ   — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }t        d||¬«      }| j	                  t
        j                  |||f«       y )NrQ   r¨   ro   )r   r   rV   r   rO   r   Úsolve_sylvester)rB   r   r   r   rã   ÚCs         r   Útest_sylvesterzTestBatch.test_sylvesterr  s[   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆØ�‰œ×.Ñ.°°A°q°	Õ:r   c           	      óÜ  — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }t	        d|d|¬«      }t	        d|d|¬«      }|dt        j
                  d«      z  z   }|dt        j
                  d«      z  z   }|dt        j
                  d«      z  z   }|dt        j
                  d«      z  z   }t        j
                  d«      }t        j                  d«      }	| j                  |||||f«       | j                  ||||||f«       | j                  |||||||	f«        |||||«      }
 ||||||	¬«      }t         j                  j                  |
|«       y )	NrQ   r¨   ro   r   ©r   r   r   rS   )rS   rS   )Ús)
r   r   rV   r   r   rr   ÚzerosrO   r=   r   )rB   rC   r   r   ÚaÚbr²   r³   Úer  rI   rL   s               r   Útest_arezTestBatch.test_arez  sB  € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆÜ  °UÀÈÔLˆÜ  °UÀÈÔLˆØ�”"—&‘&˜“)‘‰OˆØ�”"—&‘&˜“)‘‰OˆØ�”"—&‘&˜“)‘‰OˆØ�”"—&‘&˜“)‘‰OˆÜ�F‰F�1‹IˆÜ�H‰H�VÓˆØ�‰˜˜a  A q˜\Ô*Ø�‰˜˜a  A q¨!˜_Ô-Ø�‰˜˜a  A q¨!¨QÐ/Ô0á�!�Q˜˜1‹oˆÙ�!�Q˜˜1 Ô"ˆÜ
�
‰
×"Ñ" 3¨Õ,r   c                 óÖ   — t         j                  j                  d«      }t        d||¬«      }t	        j
                  |«      \  }}| j                  t        j                  ||fd¬«       y )NrQ   r”   ro   r!   rŽ   )r   r   rV   r   r   ÚschurrO   Úrsf2csf)rB   r   r   r   ÚTÚZs         r   Útest_rsf2cszTestBatch.test_rsf2cs‘  sP   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|‰|˜A‹‰ˆˆ1Ø�‰œŸ™¨¨A¨°aˆÕ8r   c                 ó²   — t         j                  j                  d«      }t        d||¬«      }d|ddd d …f<   | j	                  t
        j                  |«       y )NrQ   )rS   rU   rT   rh   ro   rö   .r   )r   r   rV   r   rO   r   Úcholesky_banded)rB   r   r   Úabs       r   Útest_cholesky_bandedzTestBatch.test_cholesky_banded˜  sH   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ˜¨E°sÔ;ˆØˆˆ3�’Aˆ:‰Ø�‰œ×.Ñ.°Õ3r   c                 ó¬  — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }t        d||¬«      }t        j                  |d«      }t        j                  |d«      }t        j                  |d«      }| j                  t        j                  |||fd	d	¬
«      }	t        j                  |||«      }
t        |
|	«       y )NrQ   )r"   rT   r"   rT   ro   )r!   r"   rT   rh   )r"   r"   rT   r!   )r!   rT   r"   rT   )r!   rT   rT   rh   )r!   rT   rT   r!   F)r'   r&   )	r   r   rV   r   Úbroadcast_torO   r   Ú
block_diagr   )rB   r   r   r
  r  r±   Úa2Úb2Úc2rL   rI   s              r   Útest_block_diagzTestBatch.test_block_diagŸ  s¼   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆÜ�|¨5°cÔ:ˆô �_‰_˜Q Ó-ˆÜ�_‰_˜Q Ó-ˆÜ�_‰_˜Q Ó-ˆØ�o‰oœf×/Ñ/°"°b¸"°Ø+0¸Eð ó Cˆô ×Ñ  1 aÓ(ˆÜ˜˜SÕ!r   c                 ó´   — t         j                  j                  d«      }|\  }}t        d||¬«      }t        d||¬«      }| j	                  |||fd|d¬«       y )NrQ   )rT   rU   rS   ro   )rT   rU   rU   r"   F)r#   r$   r&   r¢   )rB   r™   r   r   rC   r$   Údr  s           r   Útest_eigh_tridiagonalzTestBatch.test_eigh_tridiagonal²  sX   € ô
 �i‰i×#Ñ#Ð$:Ó;ˆØ‰
ˆˆUÜ�y¨°3Ô7ˆÜ�y¨°3Ô7ˆØ�‰˜˜a ˜V¨a°uÈˆÕNr   Úbdimc                 ó–  — t         j                  j                  d«      }t        d||¬«      }t        |||¬«      }t	        j
                  ||«      }t        |«      dk(  r*|dt         j                  f   }|dt         j                  f   }t        ||z  |z
  dd¬«       t        |t         j                  j                  ||«      d	¬«       y ©
NrQ   r¨   ro   r"   .r   ç�íµ ÷ÆÀ>r\   gTäqs*É>)	r   r   rV   r   r   ÚsolverA   Únewaxisr   )rB   r"  r   r   r   r  Úxs          r   Ú
test_solvezTestBatch.test_solve½  s£   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�t 5¨cÔ2ˆÜ�L‰L˜˜AÓˆÜˆt‹9˜Š>Ø�#”r—z‘z�/Ñ"ˆAØ�#”r—z‘z�/Ñ"ˆAÜ˜˜A™ ™	 1¨4Õ0Ü˜œ2Ÿ9™9Ÿ?™?¨1¨aÓ0°tÖ<r   c                 óÀ  — t         j                  j                  d«      }t        d||¬«      }t        |||¬«      }t	        j
                  |«      }t	        j                  ||«      }t        |«      dk(  r*|dt         j                  f   }|dt         j                  f   }t        ||z  |z
  dd¬«       t        |t         j                  j                  ||«      d	¬«       y r$  )r   r   rV   r   r   Ú	lu_factorÚlu_solverA   r'  r   r&  )rB   r"  r   r   r   r  Ú
lu_and_pivr(  s           r   Útest_lu_solvezTestBatch.test_lu_solveÊ  s³   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�t 5¨cÔ2ˆÜ×%Ñ% aÓ(ˆ
Ü�O‰O˜J¨Ó*ˆÜˆt‹9˜Š>Ø�#”r—z‘z�/Ñ"ˆAØ�#”r—z‘z�/Ñ"ˆAÜ˜˜A™ ™	 1¨4Õ0Ü˜œ2Ÿ9™9Ÿ?™?¨1¨aÓ0°tÖ<r   Úl_and_u)r"   r"   )r!   r"   r   )r   r"   r!   c                 óþ  — t         j                  j                  d«      }|\  }}t        d||¬«      }t        |||¬«      }t	        j
                  ||f||«      }	t        d«      D ]–  }
t        d«      D ]†  }t        |«      dk  r|n||
|f   }t        j                  |«      dk(  r|n||   }t        j                  |«      dk(  r|n||   }t	        j
                  ||f||
|f   |«      }t        |	|
|f   |«       Œˆ Œ˜ y )NrQ   ©r!   rT   rT   rS   ro   r!   rT   r   )
r   r   rV   r   r   Úsolve_bandedr@   rA   r¹   r   )rB   r/  r"  r   r   Úlr¼   r  r  r(  r.   r/   ÚbijÚljÚujÚxijs                   r   Útest_solve_bandedzTestBatch.test_solve_bandedØ  sï   € ô �i‰i×#Ñ#Ð$:Ó;ˆØ‰ˆˆ1Ü˜¨E°sÔ;ˆÜ�t 5¨cÔ2ˆÜ×Ñ  A ¨¨AÓ.ˆÜ�q–ˆAÜ˜1–X�Ü˜t›9¨š>‘a¨q°°A°©w�ÜŸ'™' !›*¨š/‘Q¨q°©t�ÜŸ'™' !›*¨š/‘Q¨q°©t�Ü×)Ñ)¨2¨r¨(°B°q¸!°t±H¸cÓB�Ü  ! Q $¡¨Õ-ñ ñ r   Ú
separate_rc                 ó¼  — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }|r||fn|}t        |||¬«      }t	        j
                  ||«      }	t        d«      D ]g  }
t        d«      D ]W  }t        |«      dk  r|n||
|f   }|r||
|f   ||
|f   fn||
|f   }t	        j
                  ||«      }t        |	|
|f   |«       ŒY Œi y )NrQ   ©r!   rT   rS   ro   r!   rT   )	r   r   rV   r   r   Úsolve_toeplitzr@   rA   r   )rB   r9  r"  r   r   r±   r³   Úc_or_crr  r(  r.   r/   r4  Ú
c_or_cr_ijr7  s                  r   Útest_solve_toeplitzzTestBatch.test_solve_toeplitzé  sá   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�y¨°3Ô7ˆÜ�y¨°3Ô7ˆÙ&�1�a‘&¨AˆÜ�t 5¨cÔ2ˆÜ×!Ñ! '¨1Ó-ˆÜ�q–ˆAÜ˜1–X�Ü˜t›9¨š>‘a¨q°°A°©w�Ù3=˜a  1 ™g q¨¨A¨¡wÑ/À1ÀQÈÀTÁ7�
Ü×+Ñ+¨J¸Ó<�Ü  ! Q $¡¨Õ-ñ	 ñ r   Úxdimc                 ó¢  — t         j                  j                  d«      }t        d||¬«      }t        d||¬«      }|r||fn|}t        |||¬«      }t	        j
                  ||«      }	|rt	        j                  ||«      |z  }
nt	        j                  |«      |z  }
|t         j                  t         j                  hv rdnd}t        |	|
|¬«       y )NrQ   r;  ro   r«   r¬   r\   )
r   r   rV   r   r   Úmatmul_toeplitzÚtoeplitzr¯   r°   r   )rB   r9  r@  r   r   r±   r³   r=  r(  rI   rL   r   s               r   Útest_matmul_toeplitzzTestBatch.test_matmul_toeplitzú  s´   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�y¨°3Ô7ˆÜ�y¨°3Ô7ˆÙ&�1�a‘&¨AˆÜ�t 5¨cÔ2ˆÜ×$Ñ$ W¨aÓ0ˆÙÜ—/‘/ ! QÓ'¨!Ñ+‰Cä—/‘/ !Ó$ qÑ(ˆCØ¤§¡¬R¯\©\Ð :Ñ:‰tÀˆÜ˜˜S tÖ,r   c                 óø  — t         j                  j                  d«      }t        d|d|¬«      }|dt        j                  d«      z  z   }t        j                  |«      }t        |||¬«      }t        j                  ||«      }t        |«      dk(  r*|dt         j                  f   }|dt         j                  f   }t        ||z  |z
  dd	¬
«       t        |t         j
                  j                  ||«      d¬
«       y )NrQ   r¨   r   r  rS   ro   r"   .r«   r\   r%  )r   r   rV   r   rr   r   Ú
cho_factorr   Ú	cho_solverA   r'  r   r&  )rB   r"  r   r   r   Úc_and_lowerr  r(  s           r   Útest_cho_solvezTestBatch.test_cho_solve  sÌ   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ  °UÀÈÔLˆØ�”"—&‘&˜“)‘‰OˆÜ×'Ñ'¨Ó*ˆÜ�t 5¨cÔ2ˆÜ×Ñ˜[¨!Ó,ˆÜˆt‹9˜Š>Ø�#”r—z‘z�/Ñ"ˆAØ�#”r—z‘z�/Ñ"ˆAÜ˜˜A™ ™	 1¨4Õ0Ü˜œ2Ÿ9™9Ÿ?™?¨1¨aÓ0°tÖ<r   Úlowerc                 óÆ  — t         j                  j                  d«      }t        d||¬«      }|rdnd}d|d d …d d …|f<   t	        j
                  ||¬«      }t        |||¬«      }t	        j                  ||f|«      }	t        d«      D ]W  }
t        d	«      D ]G  }t        |«      dk  r|n||
|f   }t	        j                  ||
|f   |f|«      }t        |	|
|f   |«       ŒI ŒY y )
NrQ   r1  ro   r   r   rö   ©rJ  r!   rT   )
r   r   rV   r   r   r  Úcho_solve_bandedr@   rA   r   )rB   rJ  r"  r   r   r   Úrow_diagÚcbr  r(  r.   r/   r4  r7  s                 r   Útest_cho_solve_bandedzTestBatch.test_cho_solve_banded  sÜ   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÙ‘1 2ˆØˆŠ!ŠQ�ˆ.ÑÜ×#Ñ# A¨UÔ3ˆÜ�t 5¨cÔ2ˆÜ×#Ñ# R¨ K°Ó3ˆÜ�q–ˆAÜ˜1–X�Ü˜t›9¨š>‘a¨q°°A°©w�Ü×-Ñ-¨r°!°Q°$©x¸Ð.?ÀÓE�Ü  ! Q $¡¨Õ-ñ ñ r   c                 ó„  — t         j                  j                  d«      }t        d||¬«      }d|d d …d d …df<   t        |||¬«      }t	        j
                  ||«      }t        d«      D ]U  }t        d«      D ]E  }t        |«      dk  r|n|||f   }	t	        j
                  |||f   |	«      }
t        |||f   |
«       ŒG ŒW y )NrQ   r1  ro   rö   r   r!   rT   )	r   r   rV   r   r   Úsolveh_bandedr@   rA   r   )rB   r"  r   r   r   r  r(  r.   r/   r4  r7  s              r   Útest_solveh_bandedzTestBatch.test_solveh_banded+  s·   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØˆŠ!ŠQ�ˆ(‰Ü�t 5¨cÔ2ˆÜ× Ñ   AÓ&ˆÜ�q–ˆAÜ˜1–X�Ü˜t›9¨š>‘a¨q°°A°©w�Ü×*Ñ*¨1¨Q°¨T©7°CÓ8�Ü  ! Q $¡¨Õ-ñ ñ r   c                 ó  — t         j                  j                  d«      }t        d||¬«      }t        j                  |«      }t        |||¬«      }t        j                  ||d¬«      }t        |«      dk(  r*|dt         j                  f   }|dt         j                  f   }|t         j                  t         j                  fv rdnd	}t        ||z  |z
  d
|¬«       t        |t         j
                  j                  ||«      d|z  ¬«       y )NrQ   r¨   ro   TrL  r"   .g»½×Ùß|Û=g-Cëâ6*?r   r\   rS   )r   r   rV   r   Útrilr   Úsolve_triangularrA   r'  Ú
complex128Úfloat64r   r&  )rB   r"  r   r   r   r  r(  r   s           r   Útest_solve_triangularzTestBatch.test_solve_triangular9  sÓ   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�G‰G�A‹JˆÜ�t 5¨cÔ2ˆÜ×#Ñ# A q°Ô5ˆÜˆt‹9˜Š>Ø�#”r—z‘z�/Ñ"ˆAØ�#”r—z‘z�/Ñ"ˆAØ¤"§-¡-´·±Ð!<Ñ<‰uÀ$ˆÜ˜˜A™ ™	 1¨4Õ0Ü˜œ2Ÿ9™9Ÿ?™?¨1¨aÓ0°q¸±vÖ>r   )rÅ   )rU   rT   )r!   rT   rU   rT   c                 óh  — t         j                  j                  d«      }t        d||¬«      }t        |||¬«      }t	        j
                  ||«      }|d   }t        |«      dk(  r*|dt         j                  f   }|dt         j                  f   }t        ||z  |z
  dd¬«       t        |«      d	k(  sJ ‚y )
NrQ   rñ   ro   r   r"   .r%  r\   rU   )	r   r   rV   r   r   ÚlstsqrA   r'  r   )rB   r"  r   r   r   r  rI   r(  s           r   Ú
test_lstsqzTestBatch.test_lstsqH  s¡   € ô �i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆÜ�t 5¨cÔ2ˆÜ�l‰l˜1˜aÓ ˆØ�‰FˆÜˆt‹9˜Š>Ø�#”r—z‘z�/Ñ"ˆAØ�#”r—z‘z�/Ñ"ˆAÜ˜˜A™ ™	 1¨4Õ0Ü�3‹x˜1Š}Ð‰}r   c                 ó¸   — t         j                  j                  d«      }t        d||¬«      }| j	                  t
        j                  |t        dd¬«      ¬«       y )NrQ   rv   ro   rT   i¸¿ ©Úsketch_sizer   r]   )r   r   rV   r   rO   r   Úclarkson_woodruff_transformr;   rX   s       r   Ú test_clarkson_woodruff_transformz*TestBatch.test_clarkson_woodruff_transformV  sK   € ä�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¨5°cÔ:ˆØ�‰œ×:Ñ:¸AÜ#°°vÔ>ð 	õ 	@r   c                 ó8  — t         j                  j                  d«      }t        dt         j                  |¬«      }t        j                  |«      }d}t        j                  t        |¬«      5  t        j                  |d|¬«       d d d «       y # 1 sw Y   y xY w)NrQ   rv   ro   z1Batch support for sparse arrays is not available.©ÚmatchrT   r^  )r   r   rV   r   rX  r   Ú	coo_arrayÚpytestÚraisesÚNotImplementedErrorr   r`  )rB   r   r   Úmessages       r   Ú'test_clarkson_woodruff_transform_sparsez1TestBatch.test_clarkson_woodruff_transform_sparse]  sk   € Ü�i‰i×#Ñ#Ð$:Ó;ˆÜ�|¬2¯:©:¸3Ô?ˆÜ×Ñ˜QÓˆØEˆÜ�]‰]Ô.°gÖ>Ü×.Ñ.¨q¸aÀSÕI÷ ?×>Ñ>ús   Á.BÂBzf, args)r   rU   )rT   r   rS   rS   c                 ór   — d}t        j                  t        |¬«      5   ||Ž  d d d «       y # 1 sw Y   y xY w)Nz#does not support zero-size batches.rc  )rf  rg  Ú
ValueError)rB   Úfrä   ri  s       r   Útest_zero_size_batchzTestBatch.test_zero_size_batche  s*   € ð
 8ˆÜ�]‰]œ:¨WÖ5Ùˆt‰H÷ 6×5Ñ5ús   ž-­6)_Ú__name__Ú
__module__Ú__qualname__rO   rf  ÚmarkÚparametrizeÚfloatingrY   rb   rf   rm   r   Úinvrq   ÚsignmÚsinmÚcosmÚtanhmÚsinhmÚcoshmr‹   ÚpinvhÚorthrt   rx   r~   r‚   r‡   rŒ   r‘   r˜   ÚcholeskyÚldlrF  r›   r    Úpolarr®   Úrqr£   r´   rÃ   rË   rÎ   r  r+  rÐ   rÔ   rÙ   rÜ   râ   ÚeigvalshÚeigvalsrå   rê   rï   Úsvdvalsrò   Úorthogonal_procrustesÚ
khatri_raoÚsolve_continuous_lyapunovÚsolve_discrete_lyapunovÚqzÚordqzrô   r  r  Úsolve_continuous_areÚsolve_discrete_arer  r  r  r  Úeigh_tridiagonalÚeigvalsh_tridiagonalÚreal_floatingr!  r)  r.  r8  r?  rD  rI  rP  rS  rY  r\  ra  rj  rC  r   ÚonesÚeigrn  r+   r   r   r    r       s@  „ ð 34¸1ÀTÐQUØ!°ô+ðZ ‡[�[×Ñ˜W hÓ/ñ-ó 0ð-ð
 ‡[�[×Ñ˜W hÓ/ñó 0ðð ‡[�[×Ñ˜W hÓ/ñó 0ðð ‡[�[×Ñ˜W hÓ/ñ,ó 0ð,ð ‡[�[×Ñ˜U V§Z¡Z°·±¸v¿|¹|Ø%+§[¡[°&·+±+¸v¿|¹|Ø%+§\¡\°6·<±<ÀÇÁØ%+§[¡[°&·,±,ÀÇÁð%Mó Nð ‡[�[×Ñ˜W hÓ/ñ	 ó 0ó	Nð
	 ð ‡[�[×Ñ˜W hÓ/ñ.ó 0ð.ð
 ‡[�[×Ñ˜W hÓ/ñBó 0ðBð
 ‡[�[×Ñ˜W hÓ/ñ,ó 0ð,ð ‡[�[×Ñ˜W hÓ/ñ	2ó 0ð	2ð ‡[�[×Ñ˜W hÓ/ñPó 0ðPð
 ‡[�[×Ñ˜W hÓ/ñUó 0ðUð ‡[�[×Ñ˜W hÓ/ñ6ó 0ð6ð ‡[�[×Ñ˜[¨F¯O©O¸QÐ+?À&Ç*Á*ÈaÀØ,2×,=Ñ,=¸qÐ+Að+Có Dà‡[�[×Ñ˜W hÓ/ñ-ó 0óDð-ð ‡[�[×Ñ˜\¨E°4¨=Ó9Ø‡[�[×Ñ˜W hÓ/ñXó 0ó :ðXð ‡[�[×Ñ˜U V§\¡\°6·9±9¸f¿i¹iÐ$HÓIØ‡[�[×Ñ˜W hÓ/ñ)ó 0ó Jð)ð
 ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ	.ó 0ó Cð	.ð ‡[�[×Ñ˜W¨¨d |°iÀÐ5KÐ&LÓMØ‡[�[×Ñ˜W hÓ/ñ1ó 0ó Nð1ð ‡[�[×Ñ˜V d¨IÐ%6Ó7Ø‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜W hÓ/ñ1ó 0ó 1ó 8ð1ð ‡[�[×Ñ˜V b¨$ ZÓ0Ø‡[�[×Ñ˜W hÓ/ñ1ó 0ó 1ð1ð ‡[�[×Ñ˜U V§\¡\°6×3CÑ3CÐ$DÓEØ‡[�[×Ñ˜W hÓ/ñ)ó 0ó Fð)ð
 ‡[�[×Ñ˜X¨¨t }Ó5Ø‡[�[×Ñ˜W hÓ/ñWó 0ó 6ðWð ‡[�[×Ñ˜^¨e°T¨]Ó;Ø‡[�[×Ñ˜W hÓ/ñ@ó 0ó <ð@ð ‡[�[×Ñ˜W hÓ/ñ2ó 0ð2ð
 ‡[�[×Ñ˜X¨¨t }Ó5Ø‡[�[×Ñ˜\¨V¯[©[¸!Ð,<¸v¿{¹{ÈAÐ>NØ-3¯_©_¸aÐ,@À6Ç>Á>ÐSTÐBUð,Wó Xà‡[�[×Ñ˜W hÓ/ñ?ó 0óXó 6ð?ð ‡[�[×Ñ˜^¨e°T¨]Ó;Ø‡[�[×Ñ˜W hÓ/ñ@ó 0ó <ð@ð ‡[�[×Ñ˜W hÓ/ñ	Gó 0ð	Gð ‡[�[×Ñ˜U V§^¡^Ð$4Ó5Ø‡[�[×Ñ˜W hÓ/ñ ó 0ó 6ð ð
 ‡[�[×Ñ˜[¨F×,HÑ,HÈ!Ð+LØ,2×,=Ñ,=¸qÐ+AØ,2×,LÑ,LÈaÐ+PØ,2×,JÑ,JÈAÐ+NØ,2¯I©I°q¨>Ø,2¯L©L¸!Ð+<ð+>ó ?ð ‡[�[×Ñ˜W hÓ/ñ2ó 0ó?ð2ð ‡[�[×Ñ˜W hÓ/ñBó 0ðBð" ‡[�[×Ñ˜W hÓ/ñ;ó 0ð;ð ‡[�[×Ñ˜U V×%@Ñ%@Ø%+×%>Ñ%>ð%@ó Aà‡[�[×Ñ˜W hÓ/ñ-ó 0óAð-ð( ‡[�[×Ñ˜W hÓ/ñ9ó 0ð9ð ‡[�[×Ñ˜W hÓ/ñ4ó 0ð4ð ‡[�[×Ñ˜W hÓ/ñ"ó 0ð"ð$ ‡[�[×Ñ˜[¨F×,CÑ,CÀQÐ+GØ,2×,GÑ,GÈÐ+Kð+Mó Nà‡[�[×Ñ˜W mÓ4ñOó 5óNðOð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ	=ó 0ó Cð	=ð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ
=ó 0ó Cð
=ð ‡[�[×Ñ˜Y¨²)ºZÐ1HÐ(IÓJØ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ.ó 0ó Có Kð.ð ‡[�[×Ñ˜\¨E°4¨=Ó9Ø‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ.ó 0ó Có :ð.ð ‡[�[×Ñ˜\¨E°4¨=Ó9Ø‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ-ó 0ó Có :ð-ð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ=ó 0ó Cð=ð ‡[�[×Ñ˜W u¨d mÓ4Ø‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ.ó 0ó Có 5ð.ð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ
.ó 0ó Cð
.ð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ?ó 0ó Cð?ð ‡[�[×Ñ˜VÒ%AÓBØ‡[�[×Ñ˜W hÓ/ñ
ó 0ó Cð
ð ‡[�[×Ñ˜W hÓ/ñ@ó 0ð@òJð ‡[�[×Ñ˜YØ	�‰˜7˜2Ÿ7™7 6›?Ð,Ð-Ø	�‰�g�b—g‘g˜lÓ+Ð-Ð.ð)ó ñó	ñr   r    )r5   rf  Únumpyr   Únumpy.testingr   Úscipyr   r   r¯   rX  r�  r°   rW  Úcomplex_floatingrt  r   r   r    r+   r   r   Ú<module>r–     s\   ðÛ Û Û Ý )ß  ð —‘˜RŸZ™ZÐ(€Ø—L‘L "§-¡-Ð0Ð ØÐ+Ñ+€òò÷O	ò O	r   