§
    fŠtjÊ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dS )é    N)Úassert_allclose)ÚlinalgÚsparsec                óÊ   — |                      | ¦  «        }t          j        |t          j        ¦  «        r||                      | ¦  «        dz  z   }|                     |¦  «        S )Ny              ð?)ÚrandomÚnpÚ
issubdtypeÚcomplexfloatingÚastype)ÚshapeÚdtypeÚrngÚAs       ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/linalg/tests/test_batch.pyÚ
get_randomr      sU   € Ø�
Š
�5ÑÔ€AÝ	„}�U�BÔ.Ñ/Ô/ð 'Ø�—
’
˜5Ñ!Ô! BÑ&Ñ&ˆØ�8Š8�E‰?Œ?Ðó    c                 ó  — |                      | ¦  «                             |¦  «        }t          j        |                     dd¦  «        ¦  «        }|                     |j        ¬¦  «                             |¦  «        |z  }||z   |z   S )Néÿÿÿÿéþÿÿÿ©Úsize)r   r   r   ÚconjÚswapaxesÚstandard_normalr   )r   r   Úatolr   r   ÚAtÚnoises          r   Úget_nearly_hermitianr      sy   € ð 	�
Š
�5ÑÔ× Ò  Ñ'Ô'€AÝ	Œ�—’˜B Ñ#Ô#Ñ	$Ô	$€BØ×Ò Q¤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                             de¦  «        d„ ¦   «         Zej                             de¦  «        d	„ ¦   «         Z	ej                             de¦  «        d
„ ¦   «         Z
ej                             de¦  «        d„ ¦   «         Ze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                             de¦  «        d„ ¦   «         ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             dej         dfej!        dfej"        dfg¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z#ej                             dddg¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z$ej                             dej%        ej&        ej'        g¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z(ej                             dg d¢¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z)ej                             dd d!gd"d#gg¦  «        ej                             de¦  «        d$„ ¦   «         ¦   «         Z*ej                             d%d d&g¦  «        ej                             d'd(d)g¦  «        ej                             de¦  «        d*„ ¦   «         ¦   «         ¦   «         Z+ej                             d'd(d)g¦  «        ej                             de¦  «        d+„ ¦   «         ¦   «         Z,ej                             dej-        ej.        g¦  «        ej                             de¦  «        d,„ ¦   «         ¦   «         Z/ej                             d-ddg¦  «        ej                             de¦  «        d.„ ¦   «         ¦   «         Z0ej                             d/ddg¦  «        ej                             de¦  «        d0„ ¦   «         ¦   «         Z1ej                             de¦  «        d1„ ¦   «         Z2ej                             d2ddg¦  «        ej                             d3ej3        dfej3        dfej4        dfej5        dfg¦  «        ej                             de¦  «        d4„ ¦   «         ¦   «         ¦   «         Z6ej                             d5ddg¦  «        ej                             de¦  «        d6„ ¦   «         ¦   «         Z7ej                             de¦  «        d7„ ¦   «         Z8ej                             dej9        g¦  «        ej                             de¦  «        d8„ ¦   «         ¦   «         Z:ej                             dej;        dfej<        dfej=        dfej>        dfej?        d9fej@        d:fg¦  «        ej                             de¦  «        d;„ ¦   «         ¦   «         ZAej                             de¦  «        d<„ ¦   «         ZBej                             de¦  «        d=„ ¦   «         ZCej                             dejD        ejE        g¦  «        ej                             de¦  «        d>„ ¦   «         ¦   «         ZFej                             de¦  «        d?„ ¦   «         ZGej                             de¦  «        d@„ ¦   «         ZHej                             de¦  «        dA„ ¦   «         ZIej                             dejJ        dfejK        dfg¦  «        ej                             deL¦  «        dB„ ¦   «         ¦   «         ZMej                             dCg d¢¦  «        ej                             de¦  «        dD„ ¦   «         ¦   «         ZNej                             dCg d¢¦  «        ej                             de¦  «        dE„ ¦   «         ¦   «         ZOej                             dFdGg dH¢g dI¢fg¦  «        ej                             dCg d¢¦  «        ej                             de¦  «        dJ„ ¦   «         ¦   «         ¦   «         ZPej                             dKddg¦  «        ej                             dCg d¢¦  «        ej                             de¦  «        dL„ ¦   «         ¦   «         ¦   «         ZQej                             dKddg¦  «        ej                             dMg d¢¦  «        ej                             de¦  «        dN„ ¦   «         ¦   «         ¦   «         ZRej                             dCg d¢¦  «        ej                             de¦  «        dO„ ¦   «         ¦   «         ZSej                             dPddg¦  «        ej                             dCg d¢¦  «        ej                             de¦  «        dQ„ ¦   «         ¦   «         ¦   «         ZTej                             dCg d¢¦  «        ej                             de¦  «        dR„ ¦   «         ¦   «         ZUej                             dCg d¢¦  «        ej                             de¦  «        dS„ ¦   «         ¦   «         ZVej                             dCg dT¢¦  «        ej                             de¦  «        dU„ ¦   «         ¦   «         ZWej                             de¦  «        dV„ ¦   «         ZXdW„ ZYej                             dXejZ         e[j\        dY¦  «        ffej]         e[j\        dZ¦  «        ffg¦  «        d[„ ¦   «         Z^dS )\Ú	TestBatché   é   NT)Úcore_dimÚn_outÚkwargsr   Ú	broadcastÚcheck_kwargsc          
      ó4  ‡‡— |€i n|}t          t          j        |¦  «        j                             ¦   «         ¦  «        }	t          |t          ¦  «        s|fn|} ||i |¤Ž}
|r[ |di t          t          |	|¦  «        ¦  «        ¤|¤Ž}t          ||
¦  «        D ]%\  }}t          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 ]Y}t!          ||         ‰‰f         ||         ¦  «         t          j        ||         ‰‰f         ¦  «        ||         j        k    sJ ‚ŒZŒ·ŒÏt          t#          |¦  «        ¦  «        D ]&}|€||         j        n|}||         j        |k    sJ ‚Œ'|
S )Nr"   r   c              3   ó,   •K  — | ]}|‰‰f         V — Œd S ©N© )Ú.0ÚarrayÚiÚjs     €€r   ú	<genexpr>z'TestBatch.batch_test.<locals>.<genexpr>?   s+   øè è € Ð=Ð=¨U˜U 1 a 4œ[Ð=Ð=Ð=Ð=Ð=Ð=r   c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S r*   )r   Úasarray)r,   Úrefks     r   r0   z'TestBatch.batch_test.<locals>.<genexpr>B   s,   è è € Ð>Ð>°$�RœZ¨Ñ-Ô-Ð>Ð>Ð>Ð>Ð>Ð>r   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    sz  øø€ ð �~��¨6ˆÝ�'Ô+¨CÑ0Ô0Ô;×@Ò@ÑBÔBÑCÔCˆ
Ý",¨VµUÑ";Ô";ÐG�&��Àˆð ˆs�FÐ%˜fÐ%Ð%ˆØð 	4Ø�3ÐAÐA��c *¨fÑ5Ô5Ñ6Ô6ÐA¸&ÐAÐAˆDÝ! $¨™oœoð 4ð 4‘
��dÝ”
×'Ò'¨¨dÑ3Ô3Ð3Ð3ð  !š˜ˆtˆgˆg¨ˆð ð 	2ÝÔ(¨&Ð1ˆFØ˜Q”i”o j¨ y jÔ1ˆÝ�{ 1”~Ñ&Ô&ð 	Bð 	BˆAÝ˜; qœ>Ñ*Ô*ð Bð B�Ø=Ð=Ð=Ð=Ð=°fÐ=Ñ=Ô=�	Ø�c˜9Ð/¨Ð/Ð/�Ø-2°aªZ¨Z�œ
 3™œÐ)Ð)ÝÐ>Ð>¸#Ð>Ñ>Ô>Ñ>Ô>ð å˜u™œð Bð B�AÝ# C¨¤F¨1¨a¨4¤L°#°a´&Ñ9Ô9Ð9Ýœ8 C¨¤F¨1¨a¨4¤LÑ1Ô1°S¸´V´\ÒAÐAÐAÐAÐAðBðBõ •s˜3‘x”x‘”ð 	-ð 	-ˆAØ(-¨˜˜Aœœ˜¸5ˆIØ�q”6”< 9Ò,Ð,Ð,Ð,Ð,àˆr   r   c                 óÔ   — t           j                             d¦  «        }|                     d¦  «                             |¦  «        }|                      t
          j        |¦  «         d S )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   sT   € åŒi×#Ò#Ð$:Ñ;Ô;ˆØ�JŠJ�|Ñ$Ô$×+Ò+¨EÑ2Ô2ˆØ�Š�Ô(¨!Ñ,Ô,Ð,Ð,Ð,r   c                 ó   — t           j                             d¦  «        }t          d|d|¦  «        }|                      t
          j        |t          d¬¦  «        ¬¦  «        }t          j        |¦  «        rJ ‚t          j	        |¦  «        sJ ‚d S ©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   óy   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ  ¨u°d¸CÑ@Ô@ˆØ�oŠo�fÔ0°!½DÀd¸O¹O¼OˆoÑLÔLˆÝ”6˜#‘;”;ÐÐˆÝŒv�c‰{Œ{ÐÐˆ{ÐÐr   c                 ó   — t           j                             d¦  «        }t          d|d|¦  «        }|                      t
          j        |t          d¬¦  «        ¬¦  «        }t          j        |¦  «        rJ ‚t          j	        |¦  «        sJ ‚d S r[   )
r   r   rV   r   rO   r   Úishermitianr;   r_   r`   ra   s        r   Útest_ishermitianzTestBatch.test_ishermitian[   rc   r   c                 ód  — t           j                             d¦  «        }|                     d¦  «                             |¦  «        }|                      t
          j        |t          dd¬¦  «        d¬¦  «        }t          j        |dd¦  «        }t           j         	                    ||¦  «         d S )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   sŽ   € åŒi×#Ò#Ð$:Ñ;Ô;ˆØ�JŠJ�yÑ!Ô!×(Ò(¨Ñ/Ô/ˆØ�Š�vœ~¨q½ÀÀQ¸¹¼ÐRSˆÑTÔTˆåŒ~˜a  AÑ&Ô&ˆÝ
Œ
×Ò  dÑ+Ô+Ð+Ð+Ð+r   rC   c                 óì   — t           j                             d¦  «        }t          d||¬¦  «        }|t          j        k    r|dt          j        d|¬¦  «        z  z   }|                      ||¦  «         d S )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   su   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆð •&”,ÒÐØ�A•b”f˜Q eÐ,Ñ,Ô,Ñ,Ñ,ˆAà�Š˜˜QÑÔÐÐÐr   c                 ó¨   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |¦  «         d S )NrQ   ©rS   rT   rU   rh   ro   )r   r   rV   r   rO   r   Ú
null_spacerX   s       r   Útest_null_spacezTestBatch.test_null_space|   sI   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô)¨1Ñ-Ô-Ð-Ð-Ð-r   c                 óÜ   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |t          t           j        ¬¦  «        ¬¦  «         d S )NrQ   ©r!   rU   rT   rT   ro   )Úfuncr]   )	r   r   rV   r   rO   r   Úfunmr;   ÚsinrX   s       r   Ú	test_funmzTestBatch.test_funm‚   sY   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�œ Q­t½¼Ð/@Ñ/@Ô/@ˆÑAÔAÐAÐAÐAr   c                 ó  — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |ddi¬¦  «        }t          j        |d¦  «        }t           j                             ||¦  «         d S )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ˆ   sz   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�vÔ=¸qÈ#ÈcÈˆÑSÔSˆåÔ-¨a°Ñ5Ô5ˆÝ
Œ
×Ò  dÑ+Ô+Ð+Ð+Ð+r   c                 óp  — t           j                             d¦  «        }t          d||¬¦  «        }|dt          j        d¦  «        z  z   }|                      t          j        |¦  «        }t          j        |¦  «        }t          ||¦  «        D ]%\  }}t           j	         
                    ||¦  «         Œ&d S )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×#Ò#Ð$JÑKÔKˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�•"”&˜‘)”)‘‰OˆØ�Š�vœ{¨AÑ.Ô.ˆåŒ{˜1‰~Œ~ˆÝ  d™OœOð 	2ð 	2‰LˆE�5ÝŒJ×#Ò# E¨5Ñ1Ô1Ð1Ð1ð	2ð 	2r   c                 óÊ   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |dt          d¬¦  «        ¬¦  «         d S )NrQ   rR   ro   r!   T)Úreturn_rank©r$   r%   )r   r   rV   r   rO   r   Úpinvr;   rX   s       r   Ú	test_pinvzTestBatch.test_pinv�   sY   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�œ Q¨a½ÈÐ8NÑ8NÔ8NˆÑOÔOÐOÐOÐOr   c                 óö   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |d¬¦  «         |                      t
          j        |dddi¬¦  «         d S )	NrQ   rR   ro   r!   ©r$   ÚseparateTrŠ   )r   r   rV   r   rO   r   Úmatrix_balancerX   s       r   Útest_matrix_balancezTestBatch.test_matrix_balance£   so   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô-¨q¸ˆÑ:Ô:Ð:Ø�Š�Ô-¨q¸À:ÈdÐBSˆÑTÔTÐTÐTÐTr   c                 ó0  ‡— t           j                             d¦  «        }t          d||¬¦  «        Št          j        ˆfd„t          dd¦  «        D ¦   «         ¦  «                             d¦  «        Š|                      t          j	        ‰d¬	¦  «         d S )
NrQ   )rU   rU   ro   c                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS r+   )r   Útriu)r,   rM   r   s     €r   ú
<listcomp>z,TestBatch.test_bandwidth.<locals>.<listcomp>®   s#   ø€ Ð<Ð<Ð<¨!�œ  1™œÐ<Ð<Ð<r   éýÿÿÿrT   ©r!   rT   rU   rU   r!   rŽ   )
r   r   rV   r   r2   r@   ÚreshaperO   r   Ú	bandwidthrX   s      @r   Útest_bandwidthzTestBatch.test_bandwidthª   sˆ   ø€ åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�v U°Ð4Ñ4Ô4ˆÝŒJÐ<Ð<Ð<Ð<­u°R¸©|¬|Ð<Ñ<Ô<Ñ=Ô=×EÒEÀlÑSÔSˆØ�Š�Ô(¨!°1ˆÑ5Ô5Ð5Ð5Ð5r   Ú	fun_n_outrT   c                 óÚ   — t           j                             d¦  «        }|\  }}t          d|d|¦  «        }|dt          j        d|¬¦  «        z  z   }|                      |||¬¦  «         d S )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±   sr   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆØ‰
ˆˆUÝ  ¨u°a¸Ñ=Ô=ˆØ�•"”&˜ %Ð(Ñ(Ô(Ñ(Ñ(ˆØ�Š˜˜Q eˆÑ,Ô,Ð,Ð,Ð,r   Ú
compute_uvFc                 óÖ   — t           j                             d¦  «        }t          d||¬¦  «        }|rdnd}|                      t
          j        ||t          |¬¦  «        ¬¦  «         d S )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»   si   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØÐ&�� QˆØ�Š�œ
 A¨U½4È:Ð;VÑ;VÔ;VˆÑWÔWÐWÐWÐWr   c                 ó˜   — t           j                             d¦  «        }t          d||¬¦  «        }|                      ||d¬¦  «         d S )NrQ   r    ro   r!   rŽ   ©r   r   rV   r   rO   rs   s        r   Útest_polar_qr_rqzTestBatch.test_polar_qr_rqÃ   óL   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š˜˜Q aˆÑ(Ô(Ð(Ð(Ð(r   Úcdim)©rS   )rS   rU   )r!   rT   rS   rU   c                 óŽ  — t           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
         ||
¬	¦  «         d S )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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ   A¨FÐ3Ñ3Ô3ˆÝŒy˜‰|Œ|‰ˆˆ1Ø�!‰eˆØ¥¤­R¬\Ð :Ð:Ð:ˆtˆtÀˆÝ˜˜Aœ ¨$Ð/Ñ/Ô/Ð/Ý˜˜Aœ ¨Ð-Ñ-Ô-Ð-Ð-Ð-r   Úuvdimr¨   )rT   )rU   rS   r!   )rU   rT   r!   c                 óT  — t           j                             d¦  «        }|\  }}t          d||¬¦  «        }t          |||¬¦  «        }t          |||¬¦  «        }t	          j        |¦  «        \  }	}
t	          j        |	|
||¦  «        }t          d¦  «        D ]�}|	|         |
|         }}|j        dk    r||fn||         ||         f\  }}t	          j        ||||¦  «        }t          |d         |         |d         ¦  «         t          |d         |         |d         ¦  «         Œ�d S )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×#Ò#Ð$:Ñ;Ô;ˆØ‰
ˆˆdÝ�y¨°3Ð7Ñ7Ô7ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝŒy˜‰|Œ|‰ˆˆ1ÝÔ˜q ! Q¨Ñ*Ô*ˆÝ�q‘”ð 	1ð 	1ˆAØ�q”T˜1˜Qœ4�ˆBØ œv¨š{˜{�a˜�V�V°°1´°q¸´t°‰FˆB�ÝÔ$ R¨¨R°Ñ4Ô4ˆEÝ˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ý˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ð0ð	1ð 	1r   r¼   )rU   rT   rS   Úkdimr+   ©rU   c                 óf  — t           j                             d¦  «        }t          d||¬¦  «        }t          |||¬¦  «        }|                     dd|¬¦  «        }t          j        |¦  «        \  }}	t          j        ||	||¦  «        }
t          d¦  «        D ]—}||         |	|         }}|j	        dk    r|n||         }|j	        dk    r|n||         }t          j        ||||¦  «        }t          |
d         |         |d         ¦  «         t          |
d         |         |d         ¦  «         Œ˜d S )	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×#Ò#Ð$:Ñ;Ô;ˆÝ�y¨°3Ð7Ñ7Ô7ˆÝ�t 5¨cÐ2Ñ2Ô2ˆØ�LŠL˜˜A DˆLÑ)Ô)ˆÝŒy˜‰|Œ|‰ˆˆ1ÝÔ˜q ! Q¨Ñ*Ô*ˆÝ�q‘”ð 	1ð 	1ˆAØ�q”T˜1˜Qœ4�ˆBØ”f ’k�k�� q¨¤tˆBØ”f ’k�k�� q¨¤tˆBÝÔ$ R¨¨R°Ñ4Ô4ˆEÝ˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ý˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ð0ð	1ð 	1r   c                 ó  — t           j                             d¦  «        }t          d||¬¦  «        }|                     dd|¬¦  «        }t          j        |¦  «        \  }}t          j        |||¦  «        }t          d¦  «        D ]�}	||	         ||	         }}
|j	        dk    r|n||	         }t          j        |
||¦  «        }t          |d         |	         |d         ¦  «         t          |d         |	         |d         ¦  «         Œ‚d S )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×#Ò#Ð$:Ñ;Ô;ˆÝ�y¨°3Ð7Ñ7Ô7ˆØ�LŠL˜˜A DˆLÑ)Ô)ˆÝŒy˜‰|Œ|‰ˆˆ1ÝÔ˜q ! QÑ'Ô'ˆÝ�q‘”ð 	1ð 	1ˆAØ�q”T˜1˜Qœ4�ˆBØ”f ’k�k�� q¨¤tˆBÝÔ$ R¨¨RÑ0Ô0ˆEÝ˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ý˜C œF 1œI u¨Q¤xÑ0Ô0Ð0Ð0ð	1ð 	1r   c                 ó˜   — t           j                             d¦  «        }t          d||¬¦  «        }|                      ||d¬¦  «         d S )NrQ   rR   ro   r!   rŽ   r¤   rs   s        r   Útest_schur_luzTestBatch.test_schur_lu	  r¦   r   Úcalc_qc                 óÖ   — t           j                             d¦  «        }t          d||¬¦  «        }|rdnd}|                      t
          j        ||t          |¬¦  «        ¬¦  «         d S )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  sj   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØÐ"�� ˆØ�Š�Ô)¨1°EÅ$ÈfÐBUÑBUÔBUˆÑVÔVÐVÐVÐVr   Úeigvals_onlyc                 óÖ   — t           j                             d¦  «        }t          d||¬¦  «        }|rdnd}|                      t
          j        ||t          |¬¦  «        ¬¦  «         d S )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  s}   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ!Ð(�� qˆØ�Š�Ô)¨1°EÝ#°Ð>Ñ>Ô>ð 	ñ 	@ô 	@ð 	@ð 	@ð 	@r   c                 ó¨   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |¦  «         d S )NrQ   rR   ro   )r   r   rV   r   rO   r   Úeigvals_bandedrX   s       r   Útest_eigvals_bandedzTestBatch.test_eigvals_banded!  sI   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô-¨qÑ1Ô1Ð1Ð1Ð1r   Útwo_inÚ
fun_n_noutc                 ó„  — t           j                             d¦  «        }|\  }}t          d|d|¦  «        }t          d|d|¦  «        }|dt          j        d¦  «                             |¦  «        z  z   }|r||fn|f}	|dk    r |t          j        k    rt          d¬¦  «        ni }
|  	                    ||	||
¬	¦  «         d S )
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×#Ò#Ð$:Ñ;Ô;ˆØ‰
ˆˆUÝ  ¨u°a¸Ñ=Ô=ˆÝ  ¨u°a¸Ñ=Ô=ˆØ�•"”&˜‘)”)×"Ò" 5Ñ)Ô)Ñ)Ñ)ˆØÐ)��1ˆvˆv a TˆØ-2°aªZ¨Z¸CÅÄÒ<LÐ<L• 4Ð(Ñ(Ô(Ð(ÐSUˆØ�Š˜˜T¨°vˆÑ>Ô>Ð>Ð>Ð>r   Úcompute_expmc                 óþ   — t           j                             d¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }|rdnd}|                      t
          j        ||f|t          |¬¦  «        ¬¦  «         d S )	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  s•   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ!Ð(�� qˆØ�Š�Ô+¨a°¨V¸5Ý#°Ð>Ñ>Ô>ð 	ñ 	@ô 	@ð 	@ð 	@ð 	@r   c                 ó–  — t           j                             d¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }|                      t
          j        ||f¦  «         d\  }}}t          dd||f||¬¦  «        }t          dd||f||¬¦  «        }t          j        ||¦  «        j        ddt          ||¦  «        fk    sJ ‚d S )	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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô.°°A°Ñ7Ô7Ð7à‰ˆˆ1ˆaÝ˜˜1˜a �|¨5°cÐ:Ñ:Ô:ˆÝ˜˜1˜a �|¨5°cÐ:Ñ:Ô:ˆÝÔ% a¨Ñ+Ô+Ô1°a¸½CÀÀ1¹I¼IÐ5FÒFÐFÐFÐFÐFÐFr   c                 ó”   — t           j                             d¦  «        }t          d||¬¦  «        }|                      ||¦  «         d S )NrQ   ©r!   rT   rU   rS   ro   r¤   rs   s        r   Útest_svdvalszTestBatch.test_svdvalsK  sH   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š˜˜QÑÔÐÐÐr   rU   rh   c                 óÊ   — t           j                             d¦  «        }|\  }}t          d||¬¦  «        }t          d||¬¦  «        }|                      |||f|¬¦  «         d S )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  sm   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆØ‰
ˆˆUÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š˜˜a ˜V¨5ˆÑ1Ô1Ð1Ð1Ð1r   c                 ó¸  — t           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                             ||¦  «         Œ&t          d¦  «        D ]p}t          d¦  «        D ]^}t	          j        |||f         ||¦  «        }t          |
|¦  «        D ]-\  }}t           j                             |||f         |¦  «         Œ.Œ_Œqd S )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`  s›  € åŒi×#Ò#Ð$:Ñ;Ô;ˆØ‰ˆˆ1Ý�~¨U¸Ð<Ñ<Ô<ˆØ  R a R¨¨!¨ œn¨a°°R°a°R¸¸¸°¬nØ  Q R R¨¨!¨ œn¨a°°Q°R°R¸¸¸°¬nð>ÑˆˆS�#�såŒm˜A˜q !Ñ$Ô$ˆÝŒm˜S # s¨CÐ0Ñ1Ô1ˆÝ  S™MœMð 	2ð 	2‰LˆE�5ÝŒJ×#Ò# E¨5Ñ1Ô1Ð1Ð1å�q‘”ð 	Bð 	BˆAÝ˜1‘X”Xð Bð B�Ýœ q¨¨A¨¤w°°1Ñ5Ô5�Ý&)¨#¨vÑ&6Ô&6ð Bð B‘N�E˜7Ý”J×+Ò+¨E°!°Q°$¬K¸ÑAÔAÐAÐAðBðBð	Bð 	Br   c                 óö   — t           j                             d¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }|                      t
          j        |||f¦  «         d S )NrQ   rª   ro   )r   r   rV   r   rO   r   Úsolve_sylvester)rB   r   r   r   rå   ÚCs         r   Útest_sylvesterzTestBatch.test_sylvesterr  sw   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô.°°A°q°	Ñ:Ô:Ð:Ð:Ð:r   c           	      ó  — t           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¦  «        }	|                      |||||f¦  «         |                      ||||||f¦  «         |                      |||||||	f¦  «          |||||¦  «        }
 ||||||	¬¦  «        }t           j         	                    |
|¦  «         d S )	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  s„  € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ  °UÀÈÐLÑLÔLˆÝ  °UÀÈÐLÑLÔLˆØ�•"”&˜‘)”)‘‰OˆØ�•"”&˜‘)”)‘‰OˆØ�•"”&˜‘)”)‘‰OˆØ�•"”&˜‘)”)‘‰OˆÝŒF�1‰IŒIˆÝŒH�VÑÔˆØ�Š˜˜a  A q˜\Ñ*Ô*Ð*Ø�Š˜˜a  A q¨!˜_Ñ-Ô-Ð-Ø�Š˜˜a  A q¨!¨QÐ/Ñ0Ô0Ð0àˆc�!�Q˜˜1‰oŒoˆØˆc�!�Q˜˜1 Ð"Ñ"Ô"ˆÝ
Œ
×"Ò" 3¨Ñ,Ô,Ð,Ð,Ð,r   c                 óÞ   — t           j                             d¦  «        }t          d||¬¦  «        }t	          j        |¦  «        \  }}|                      t          j        ||fd¬¦  «         d S )NrQ   r—   ro   r!   rŽ   )r   r   rV   r   r   ÚschurrO   Úrsf2csf)rB   r   r   r   ÚTÚZs         r   Útest_rsf2cszTestBatch.test_rsf2cs‘  sa   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝŒ|˜A‰Œ‰ˆˆ1Ø�Š�œ¨¨A¨°aˆÑ8Ô8Ð8Ð8Ð8r   c                 ó¼   — t           j                             d¦  «        }t          d||¬¦  «        }d|ddd d …f<   |                      t
          j        |¦  «         d S )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˜  s\   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ˜¨E°sÐ;Ñ;Ô;ˆØˆˆ3��A�A�Aˆ:‰Ø�Š�Ô.°Ñ3Ô3Ð3Ð3Ð3r   c                 óÆ  — t           j                             d¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }t          j        |d¦  «        }t          j        |d¦  «        }t          j        |d¦  «        }|                      t          j        |||fd	d	¬
¦  «        }	t          j        |||¦  «        }
t          |
|	¦  «         d S )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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�|¨5°cÐ:Ñ:Ô:ˆõ Œ_˜Q Ñ-Ô-ˆÝŒ_˜Q Ñ-Ô-ˆÝŒ_˜Q Ñ-Ô-ˆØ�oŠo�fÔ/°"°b¸"°Ø+0¸Eð ñ Cô Cˆõ Ô  1 aÑ(Ô(ˆÝ˜˜SÑ!Ô!Ð!Ð!Ð!r   c                 óÎ   — t           j                             d¦  «        }|\  }}t          d||¬¦  «        }t          d||¬¦  «        }|                      |||fd|d¬¦  «         d S )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²  sq   € õ
 Œi×#Ò#Ð$:Ñ;Ô;ˆØ‰
ˆˆUÝ�y¨°3Ð7Ñ7Ô7ˆÝ�y¨°3Ð7Ñ7Ô7ˆØ�Š˜˜a ˜V¨a°uÈˆÑNÔNÐNÐNÐNr   Úbdimc                 ó¼  — t           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                             ||¦  «        d	¬¦  «         d S ©
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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝŒL˜˜AÑÔˆÝˆt‰9Œ9˜Š>ˆ>Ø�#•r”z�/Ô"ˆAØ�#•r”z�/Ô"ˆAÝ˜˜A™ ™	 1¨4Ð0Ñ0Ô0Ð0Ý˜�2œ9Ÿ?š?¨1¨aÑ0Ô0°tÐ<Ñ<Ô<Ð<Ð<Ð<r   c                 óä  — t           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         
                    ||¦  «        d	¬¦  «         d S 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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ% aÑ(Ô(ˆ
ÝŒO˜J¨Ñ*Ô*ˆÝˆt‰9Œ9˜Š>ˆ>Ø�#•r”z�/Ô"ˆAØ�#•r”z�/Ô"ˆAÝ˜˜A™ ™	 1¨4Ð0Ñ0Ô0Ð0Ý˜�2œ9Ÿ?š?¨1¨aÑ0Ô0°tÐ<Ñ<Ô<Ð<Ð<Ð<r   Úl_and_u)r"   r"   )r!   r"   r   )r   r"   r!   c                 óD  — t           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         |¦  «         ŒžŒ°d S )NrQ   ©r!   rT   rT   rS   ro   r!   rT   r   )
r   r   rV   r   r   Úsolve_bandedr@   rA   r»   r   )rB   r1  r$  r   r   Úlr¾   r  r  r*  r.   r/   ÚbijÚljÚujÚxijs                   r   Útest_solve_bandedzTestBatch.test_solve_bandedØ  s0  € õ Œi×#Ò#Ð$:Ñ;Ô;ˆØ‰ˆˆ1Ý˜¨E°sÐ;Ñ;Ô;ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ  A ¨¨AÑ.Ô.ˆÝ�q‘”ð 	.ð 	.ˆAÝ˜1‘X”Xð .ð .�Ý˜t™9œ9¨š>˜>�a�a¨q°°A°¬w�Ýœ' !™*œ*¨š/˜/�Q�Q¨q°¬t�Ýœ' !™*œ*¨š/˜/�Q�Q¨q°¬t�ÝÔ)¨2¨r¨(°B°q¸!°t´H¸cÑBÔB�Ý  ! Q $¤¨Ñ-Ô-Ð-Ð-ð.ð	.ð 	.r   Ú
separate_rc                 ó
  — t           j                             d¦  «        }t          d||¬¦  «        }t          d||¬¦  «        }|r||fn|}t          |||¬¦  «        }t	          j        ||¦  «        }	t          d¦  «        D ]€}
t          d¦  «        D ]n}t          |¦  «        dk    r|n	||
|f         }|r||
|f         ||
|f         fn	||
|f         }t	          j        ||¦  «        }t          |	|
|f         |¦  «         ŒoŒ�d S )NrQ   ©r!   rT   rS   ro   r!   rT   )	r   r   rV   r   r   Úsolve_toeplitzr@   rA   r   )rB   r;  r$  r   r   r³   rµ   Úc_or_crr  r*  r.   r/   r6  Ú
c_or_cr_ijr9  s                  r   Útest_solve_toeplitzzTestBatch.test_solve_toeplitzé  s+  € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�y¨°3Ð7Ñ7Ô7ˆÝ�y¨°3Ð7Ñ7Ô7ˆØ&Ð-�1�a�&�&¨AˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ! '¨1Ñ-Ô-ˆÝ�q‘”ð 	.ð 	.ˆAÝ˜1‘X”Xð .ð .�Ý˜t™9œ9¨š>˜>�a�a¨q°°A°¬w�Ø3=ÐJ˜a  1 œg q¨¨A¨¤wÐ/Ð/À1ÀQÈÀTÄ7�
ÝÔ+¨J¸Ñ<Ô<�Ý  ! Q $¤¨Ñ-Ô-Ð-Ð-ð	.ð	.ð 	.r   Úxdimc                 ó®  — t           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          |	|
|¬¦  «         d S )NrQ   r=  ro   r­   r®   r\   )
r   r   rV   r   r   Úmatmul_toeplitzÚtoeplitzr±   r²   r   )rB   r;  rB  r   r   r³   rµ   r?  r*  rI   rL   r   s               r   Útest_matmul_toeplitzzTestBatch.test_matmul_toeplitzú  så   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�y¨°3Ð7Ñ7Ô7ˆÝ�y¨°3Ð7Ñ7Ô7ˆØ&Ð-�1�a�&�&¨AˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ$ W¨aÑ0Ô0ˆØð 	)Ý”/ ! QÑ'Ô'¨!Ñ+ˆCˆCå”/ !Ñ$Ô$ qÑ(ˆCØ¥¤­R¬\Ð :Ð:Ð:ˆtˆtÀˆÝ˜˜S tÐ,Ñ,Ô,Ð,Ð,Ð,r   c                 ó  — t           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                             ||¦  «        d¬
¦  «         d S )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×#Ò#Ð$:Ñ;Ô;ˆÝ  °UÀÈÐLÑLÔLˆØ�•"”&˜‘)”)‘‰OˆÝÔ'¨Ñ*Ô*ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ˜[¨!Ñ,Ô,ˆÝˆt‰9Œ9˜Š>ˆ>Ø�#•r”z�/Ô"ˆAØ�#•r”z�/Ô"ˆAÝ˜˜A™ ™	 1¨4Ð0Ñ0Ô0Ð0Ý˜�2œ9Ÿ?š?¨1¨aÑ0Ô0°tÐ<Ñ<Ô<Ð<Ð<Ð<r   Úlowerc                 óþ  — t           j                             d¦  «        }t          d||¬¦  «        }|rdnd}d|d d …d d …|f<   t	          j        ||¬¦  «        }t          |||¬¦  «        }t	          j        ||f|¦  «        }	t          d¦  «        D ]j}
t          d	¦  «        D ]X}t          |¦  «        dk    r|n	||
|f         }t	          j        ||
|f         |f|¦  «        }t          |	|
|f         |¦  «         ŒYŒkd S )
NrQ   r3  ro   r   r   rø   ©rL  r!   rT   )
r   r   rV   r   r   r  Úcho_solve_bandedr@   rA   r   )rB   rL  r$  r   r   r   Úrow_diagÚcbr  r*  r.   r/   r6  r9  s                 r   Útest_cho_solve_bandedzTestBatch.test_cho_solve_banded  s%  € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØÐ%�1�1 2ˆØˆˆ!ˆ!ˆ!ˆQˆQˆQ�ˆ.ÑÝÔ# A¨UÐ3Ñ3Ô3ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ# R¨ K°Ñ3Ô3ˆÝ�q‘”ð 	.ð 	.ˆAÝ˜1‘X”Xð .ð .�Ý˜t™9œ9¨š>˜>�a�a¨q°°A°¬w�ÝÔ-¨r°!°Q°$¬x¸Ð.?ÀÑEÔE�Ý  ! Q $¤¨Ñ-Ô-Ð-Ð-ð.ð	.ð 	.r   c                 ó¾  — t           j                             d¦  «        }t          d||¬¦  «        }d|d d …d d …df<   t          |||¬¦  «        }t	          j        ||¦  «        }t          d¦  «        D ]h}t          d¦  «        D ]V}t          |¦  «        dk    r|n	|||f         }	t	          j        |||f         |	¦  «        }
t          |||f         |
¦  «         ŒWŒid S )NrQ   r3  ro   rø   r   r!   rT   )	r   r   rV   r   r   Úsolveh_bandedr@   rA   r   )rB   r$  r   r   r   r  r*  r.   r/   r6  r9  s              r   Útest_solveh_bandedzTestBatch.test_solveh_banded+  sø   € õ Œi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØˆˆ!ˆ!ˆ!ˆQˆQˆQ�ˆ(‰Ý�t 5¨cÐ2Ñ2Ô2ˆÝÔ   AÑ&Ô&ˆÝ�q‘”ð 	.ð 	.ˆAÝ˜1‘X”Xð .ð .�Ý˜t™9œ9¨š>˜>�a�a¨q°°A°¬w�ÝÔ*¨1¨Q°¨T¬7°CÑ8Ô8�Ý  ! Q $¤¨Ñ-Ô-Ð-Ð-ð.ð	.ð 	.r   c                 ó*  — t           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                             ||¦  «        d|z  ¬¦  «         d S )NrQ   rª   ro   TrN  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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝŒG�A‰JŒJˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝÔ# A q°Ð5Ñ5Ô5ˆÝˆt‰9Œ9˜Š>ˆ>Ø�#•r”z�/Ô"ˆAØ�#•r”z�/Ô"ˆAØ¥"¤-µ´Ð!<Ð<Ð<ˆuˆuÀ$ˆÝ˜˜A™ ™	 1¨4Ð0Ñ0Ô0Ð0Ý˜�2œ9Ÿ?š?¨1¨aÑ0Ô0°q¸±vÐ>Ñ>Ô>Ð>Ð>Ð>r   )rÇ   )rU   rT   )r!   rT   rU   rT   c                 ó–  — t           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 ‚d S )
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×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆÝ�t 5¨cÐ2Ñ2Ô2ˆÝŒl˜1˜aÑ Ô ˆØ�ŒFˆÝˆt‰9Œ9˜Š>ˆ>Ø�#•r”z�/Ô"ˆAØ�#•r”z�/Ô"ˆAÝ˜˜A™ ™	 1¨4Ð0Ñ0Ô0Ð0Ý�3‰xŒx˜1Š}ˆ}ˆ}ˆ}ˆ}ˆ}r   c                 óÊ   — t           j                             d¦  «        }t          d||¬¦  «        }|                      t
          j        |t          dd¬¦  «        ¬¦  «         d S )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  sm   € åŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|¨5°cÐ:Ñ:Ô:ˆØ�Š�Ô:¸AÝ#°°vÐ>Ñ>Ô>ð 	ñ 	@ô 	@ð 	@ð 	@ð 	@r   c                 ó>  — t           j                             d¦  «        }t          dt           j        |¬¦  «        }t          j        |¦  «        }d}t          j        t          |¬¦  «        5  t          j        |d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   rv   ro   z1Batch support for sparse arrays is not available.©ÚmatchrT   r`  )r   r   rV   r   rZ  r   Ú	coo_arrayÚpytestÚraisesÚNotImplementedErrorr   rb  )rB   r   r   Úmessages       r   Ú'test_clarkson_woodruff_transform_sparsez1TestBatch.test_clarkson_woodruff_transform_sparse]  sé   € ÝŒi×#Ò#Ð$:Ñ;Ô;ˆÝ�|­2¬:¸3Ð?Ñ?Ô?ˆÝÔ˜QÑÔˆØEˆÝŒ]Õ.°gÐ>Ñ>Ô>ð 	Jð 	JÝÔ.¨q¸aÀSÐIÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Js   Á-BÂBÂBzf, args)r   rU   )rT   r   rS   rS   c                 ó|   — d}t          j        t          |¬¦  «        5   ||Ž  d d d ¦  «         d S # 1 swxY w Y   d S )Nz#does not support zero-size batches.re  )rh  ri  Ú
ValueError)rB   Úfræ   rk  s       r   Útest_zero_size_batchzTestBatch.test_zero_size_batche  s�   € ð
 8ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆAˆtˆHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ž1±5¸5)_Ú__name__Ú
__module__Ú__qualname__rO   rh  ÚmarkÚparametrizeÚfloatingrY   rb   rf   rm   r   Úinvrq   ÚsignmÚsinmÚcosmÚtanhmÚsinhmÚcoshmr‹   ÚpinvhÚorthrt   rx   r~   r‚   r‡   rŒ   r‘   rš   ÚcholeskyÚldlrH  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+  r0  r:  rA  rF  rK  rR  rU  r[  r^  rc  rl  rE  r   ÚonesÚeigrp  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°´¸v¼|Ø%+¤[°&´+¸v¼|Ø%+¤\°6´<ÀÄØ%+¤[°&´,ÀÄð%Mñ Nô Nð „[×Ò˜W hÑ/Ô/ð	 ð 	 ñ 0Ô/ñ	Nô Nð
	 ð „[×Ò˜W hÑ/Ô/ð.ð .ñ 0Ô/ð.ð
 „[×Ò˜W hÑ/Ô/ðBð Bñ 0Ô/ðBð
 „[×Ò˜W hÑ/Ô/ð,ð ,ñ 0Ô/ð,ð „[×Ò˜W hÑ/Ô/ð	2ð 	2ñ 0Ô/ð	2ð „[×Ò˜W hÑ/Ô/ðPð Pñ 0Ô/ðPð
 „[×Ò˜W hÑ/Ô/ðUð Uñ 0Ô/ðUð „[×Ò˜W hÑ/Ô/ð6ð 6ñ 0Ô/ð6ð „[×Ò˜[¨F¬O¸QÐ+?À&Ä*ÈaÀØ,2Ô,=¸qÐ+Að+Cñ Dô Dà„[×Ò˜W hÑ/Ô/ð-ð -ñ 0Ô/ñDô Dð-ð „[×Ò˜\¨E°4¨=Ñ9Ô9Ø„[×Ò˜W hÑ/Ô/ðXð Xñ 0Ô/ñ :Ô9ðXð „[×Ò˜U V¤\°6´9¸f¼iÐ$HÑIÔIØ„[×Ò˜W hÑ/Ô/ð)ð )ñ 0Ô/ñ JÔIð)ð
 „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð	.ð 	.ñ 0Ô/ñ CÔBð	.ð „[×Ò˜W¨¨d |°iÀÐ5KÐ&LÑMÔMØ„[×Ò˜W hÑ/Ô/ð1ð 1ñ 0Ô/ñ NÔMð1ð „[×Ò˜V d¨IÐ%6Ñ7Ô7Ø„[×Ò˜V b¨$ ZÑ0Ô0Ø„[×Ò˜W hÑ/Ô/ð1ð 1ñ 0Ô/ñ 1Ô0ñ 8Ô7ð1ð „[×Ò˜V b¨$ ZÑ0Ô0Ø„[×Ò˜W hÑ/Ô/ð1ð 1ñ 0Ô/ñ 1Ô0ð1ð „[×Ò˜U V¤\°6Ô3CÐ$DÑEÔEØ„[×Ò˜W hÑ/Ô/ð)ð )ñ 0Ô/ñ FÔEð)ð
 „[×Ò˜X¨¨t }Ñ5Ô5Ø„[×Ò˜W hÑ/Ô/ðWð Wñ 0Ô/ñ 6Ô5ðWð „[×Ò˜^¨e°T¨]Ñ;Ô;Ø„[×Ò˜W hÑ/Ô/ð@ð @ñ 0Ô/ñ <Ô;ð@ð „[×Ò˜W hÑ/Ô/ð2ð 2ñ 0Ô/ð2ð
 „[×Ò˜X¨¨t }Ñ5Ô5Ø„[×Ò˜\¨V¬[¸!Ð,<¸v¼{ÈAÐ>NØ-3¬_¸aÐ,@À6Ä>ÐSTÐBUð,Wñ Xô Xà„[×Ò˜W hÑ/Ô/ð?ð ?ñ 0Ô/ñXô Xñ 6Ô5ð?ð „[×Ò˜^¨e°T¨]Ñ;Ô;Ø„[×Ò˜W hÑ/Ô/ð@ð @ñ 0Ô/ñ <Ô;ð@ð „[×Ò˜W hÑ/Ô/ð	Gð 	Gñ 0Ô/ð	Gð „[×Ò˜U V¤^Ð$4Ñ5Ô5Ø„[×Ò˜W hÑ/Ô/ð ð  ñ 0Ô/ñ 6Ô5ð ð
 „[×Ò˜[¨FÔ,HÈ!Ð+LØ,2Ô,=¸qÐ+AØ,2Ô,LÈaÐ+PØ,2Ô,JÈAÐ+NØ,2¬I°q¨>Ø,2¬L¸!Ð+<ð+>ñ ?ô ?ð „[×Ò˜W hÑ/Ô/ð2ð 2ñ 0Ô/ñ?ô ?ð2ð „[×Ò˜W hÑ/Ô/ðBð Bñ 0Ô/ðBð" „[×Ò˜W hÑ/Ô/ð;ð ;ñ 0Ô/ð;ð „[×Ò˜U VÔ%@Ø%+Ô%>ð%@ñ Aô Aà„[×Ò˜W hÑ/Ô/ð-ð -ñ 0Ô/ñAô Að-ð( „[×Ò˜W hÑ/Ô/ð9ð 9ñ 0Ô/ð9ð „[×Ò˜W hÑ/Ô/ð4ð 4ñ 0Ô/ð4ð „[×Ò˜W hÑ/Ô/ð"ð "ñ 0Ô/ð"ð$ „[×Ò˜[¨FÔ,CÀQÐ+GØ,2Ô,GÈÐ+Kð+Mñ Nô Nà„[×Ò˜W mÑ4Ô4ðOð Oñ 5Ô4ñNô NðOð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð	=ð 	=ñ 0Ô/ñ CÔBð	=ð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð
=ð 
=ñ 0Ô/ñ CÔBð
=ð „[×Ò˜Y¨°)°)°)¸Z¸Z¸ZÐ1HÐ(IÑJÔJØ„[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð.ð .ñ 0Ô/ñ CÔBñ KÔJð.ð „[×Ò˜\¨E°4¨=Ñ9Ô9Ø„[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð.ð .ñ 0Ô/ñ CÔBñ :Ô9ð.ð „[×Ò˜\¨E°4¨=Ñ9Ô9Ø„[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð-ð -ñ 0Ô/ñ CÔBñ :Ô9ð-ð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð=ð =ñ 0Ô/ñ CÔBð=ð „[×Ò˜W u¨d mÑ4Ô4Ø„[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð.ð .ñ 0Ô/ñ CÔBñ 5Ô4ð.ð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð
.ð 
.ñ 0Ô/ñ CÔBð
.ð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð?ð ?ñ 0Ô/ñ CÔBð?ð „[×Ò˜VÐ%AÐ%AÐ%AÑBÔBØ„[×Ò˜W hÑ/Ô/ð
ð 
ñ 0Ô/ñ CÔBð
ð „[×Ò˜W hÑ/Ô/ð@ð @ñ 0Ô/ð@ðJð Jð Jð „[×Ò˜YØ	Œ˜7˜2œ7 6™?œ?Ð,Ð-Ø	Œ�g�b”g˜lÑ+Ô+Ð-Ð.ð)ñ ô ðð ñ	ô ðð ð r   r    )r5   rh  Únumpyr   Únumpy.testingr   Úscipyr   r   r±   rZ  r‘  r²   rY  Úcomplex_floatingrv  r   r   r    r+   r   r   ú<module>r˜     sÑ   ðØ €€€Ø €€€Ø Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ð ”˜RœZÐ(€Ø”L "¤-Ð0Ð ØÐ+Ñ+€ðð ð ðð ð ðO	ð O	ð O	ð O	ð O	ñ O	ô O	ð O	ð O	ð O	r   