§
    ¡éUg¼8  ã                   ó  — d dl Z d dlZd dlmZ d dlZd dlm	c m
Z dZd„ eD ¦   «         Z ej        g d¢g d¢g d¢g¦  «        Z ej        d dgdd gg¦  «        Z ej        g d	¢g d
¢g d¢g d¢ge¬¦  «        Zd„ eD ¦   «         Zd„ eD ¦   «         Zd„ eD ¦   «         Ze j                             dee¬¦  «        Ze j                             dee¬¦  «        Ze j                             dee¬¦  «        Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed„ ¦   «         Z$ed„ ¦   «         Z%ed „ ¦   «         Z&ed!„ ¦   «         Z'ed"„ ¦   «         Z(ed#„ ¦   «         Z)ed$„ ¦   «         Z*ed%„ ¦   «         Z+ed&„ ¦   «         Z,ed'„ ¦   «         Z-ed(„ ¦   «         Z.ed)„ ¦   «         Z/ed*„ ¦   «         Z0ed+„ ¦   «         Z1ed,„ ¦   «         Z2e j                             d-d.d/g¦  «        d0„ ¦   «         Z3ed1„ ¦   «         Z4ee j                             d2g d3¢¦  «        d4„ ¦   «         ¦   «         Z5ee j                             d2d5d6g¦  «        d7„ ¦   «         ¦   «         Z6ed8„ ¦   «         Z7ed9„ ¦   «         Z8ed:„ ¦   «         Z9d;„ Z:d<„ Z;e j                             d=ej	        j<        d>d?gfej	        j=        d>d?gfej	        j>        d@dAgfg¦  «        e j                             dBej?        ej@        g¦  «        dC„ ¦   «         ¦   «         ZAdD„ ZBdE„ ZCdF„ ZDdG„ ZEdH„ ZFdI„ ZGdJ„ ZHdK„ ZIdL„ ZJe j                             dMej	        jK        ej	        jL        f¦  «        dN„ ¦   «         ZMdO„ ZNdP„ ZOdQ„ ZPdR„ ZQe j                             dSdTej	        jR        fdUej	        jS        fd/ej	        jT        fd.ej	        jU        fdVej	        jV        fdWej	        jW        fdXej	        jX        ff¦  «        dY„ ¦   «         ZYdS )Zé    N)ÚbsrÚcooÚcscÚcsrÚdiaÚdokÚlilc                 óH   — g | ]}t          t          j        |› d �¦  «        ‘Œ S )Ú_array)ÚgetattrÚscipyÚsparse)Ú.0ÚTs     ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/sparse/tests/test_array_api.pyú
<listcomp>r   
   s7   € ð ð ð Ø,-…G�EŒL˜Q˜,˜,˜,Ñ'Ô'ðð ð ó    )r   é   é   r   )r   r   r   é   )r   é   r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   ©Údtypec                 ó.   — g | ]} |t           ¦  «        ‘ŒS © ©ÚA©r   Úsparrays     r   r   r   !   s    € Ð6Ð6Ð6˜7ˆGˆG•A‰JŒJÐ6Ð6Ð6r   c                 ó.   — g | ]} |t           ¦  «        ‘ŒS r   ©ÚBr   s     r   r   r   "   s    € Ð=Ð=Ð= '�7�7�1‘:”:Ð=Ð=Ð=r   c                 ó.   — g | ]} |t           ¦  «        ‘ŒS r   )ÚXr   s     r   r   r   #   s    € Ð:Ð:Ð:˜w���‘
”
Ð:Ð:Ð:r   r   )Úidsr"   r$   c                 óú   — t          |                      d¬¦  «        t          j        ¦  «        r
J d¦   «         ‚|                      d¬¦  «        j        dk    sJ ‚|                      d¬¦  «        j        dk    sJ ‚d S )Nr   ©ÚaxisúExpected array, got matrix)r   r   )r   )Ú
isinstanceÚsumÚnpÚmatrixÚshaper   s    r   Útest_sumr/   0   s   € å˜!Ÿ%š% Q˜%™-œ-­¬Ñ3Ô3ð %ð %Ø$ñ%ô %ð %à�5Š5�aˆ5‰=Œ=Ô $Ò&Ð&Ð&Ð&Ø�5Š5�aˆ5‰=Œ=Ô $Ò&Ð&Ð&Ð&Ð&Ð&r   c                 óv   — t          |                      d¬¦  «        t          j        ¦  «        r
J d¦   «         ‚d S )Nr   r'   r)   )r*   Úmeanr,   r-   r   s    r   Ú	test_meanr2   8   sC   € å˜!Ÿ&š& a˜&™.œ.­"¬)Ñ4Ô4ð %ð %Ø$ñ%ô %ð %ð %ð %r   c                 óJ  — t          | d¦  «        r8t          |                      d¬¦  «        t          j        ¦  «        r
J d¦   «         ‚t          | d¦  «        r8t          |                      d¬¦  «        t          j        ¦  «        r
J d¦   «         ‚t          | d¦  «        r8t          |                      d¬¦  «        t          j        ¦  «        r
J d¦   «         ‚t          | d¦  «        r8t          |                      d¬¦  «        t          j        ¦  «        rJ d¦   «         ‚d S d S )NÚminr   r'   r)   ÚmaxÚargminÚargmax)Úhasattrr*   r4   r,   r-   r5   r6   r7   r   s    r   Útest_min_maxr9   >   s@  € õ ˆq�%ÑÔð )Ý˜aŸeše¨˜e™mœm­R¬YÑ7Ô7ð 	)ð 	)Ø(ñ	)ô 	)ð 	)åˆq�%ÑÔð )Ý˜aŸeše¨˜e™mœm­R¬YÑ7Ô7ð 	)ð 	)Ø(ñ	)ô 	)ð 	)åˆq�(ÑÔð )Ý˜aŸhšh¨A˜hÑ.Ô.µ´	Ñ:Ô:ð 	)ð 	)Ø(ñ	)ô 	)ð 	)åˆq�(ÑÔð )Ý˜aŸhšh¨A˜hÑ.Ô.µ´	Ñ:Ô:ð 	)ð 	)Ø(ñ	)ô 	)ð 	)ð)ð )ð	)ð 	)r   c                 ór   — t          |                      ¦   «         t          j        ¦  «        r
J d¦   «         ‚d S ©Nr)   )r*   Útodenser,   r-   r   s    r   Útest_todenser=   O   s?   € å˜!Ÿ)š)™+œ+¥r¤yÑ1Ô1ð %ð %Ø$ñ%ô %ð %ð %ð %r   c                 ó¸  — | j         j        d d…         dv rd S t          j        t          ¦  «        5  | dd d …f          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | d d …df          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | dddgf          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | ddgdf          d d d ¦  «         n# 1 swxY w Y   t          | dg         t          j        j        ¦  «        s
J d¦   «         ‚t          | dddggf         t          j        j        ¦  «        s
J d¦   «         ‚t          | ddggdf         t          j        j        ¦  «        s
J d¦   «         ‚t          | d d …ddgf         t          j        j        ¦  «        s
J d¦   «         ‚d S )	Nr   )r   r   r   r   r   r   z(Expected sparse array, got sparse matrixz"Expected ndarray, got sparse arrayz)Expected sparse array, got something else)	Ú	__class__Ú__name__ÚpytestÚraisesÚNotImplementedErrorr*   r   r   r   r   s    r   Útest_indexingrD   U   sù  € à„{Ô˜B˜Q˜BÔÐ#8Ð8Ð8Øˆå	ŒÕ*Ñ	+Ô	+ð ð Ø	ˆ!ˆQˆQˆQˆ$Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÕ*Ñ	+Ô	+ð ð Ø	ˆ!ˆ!ˆ!ˆQˆ$Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÕ*Ñ	+Ô	+ð ð Ø	ˆ!ˆa�ˆVˆ)Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÕ*Ñ	+Ô	+ð ð Ø	ˆ1ˆaˆ&�!ˆ)Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �a˜˜”f�eœlÔ2Ñ3Ô3ð 6ð 6Ø5ñ6ô 6ð 6å�a˜˜Q ˜F˜8˜”n¥e¤lÔ&:Ñ;Ô;ð 0ð 0Ø/ñ0ô 0ð 0å�a˜!˜Q˜˜ !˜”n¥e¤lÔ&:Ñ;Ô;ð 0ð 0Ø/ñ0ô 0ð 0å�a˜˜˜˜A˜q˜6˜	”l¥E¤LÔ$8Ñ9Ô9ð 7ð 7Ø6ñ7ô 7ð 7ð 7ð 7sG   ²AÁAÁAÁ/BÂBÂBÂ,CÃC	ÃC	Ã)DÄDÄ	Dc                 óœ   — t           j                             | j        ¦  «        }t          | |z   t           j        ¦  «        r
J d¦   «         ‚d S r;   )r,   Úrandomr.   r*   r-   )r   r$   s     r   Útest_dense_additionrG   p   sD   € å
Œ	×Ò˜œÑ!Ô!€AÝ˜!˜a™%¥¤Ñ+Ô+ÐIÐIÐ-IÑIÔIÐIÐIÐIr   c                 ó^   — t          | | z   t          j        j        ¦  «        s
J d¦   «         ‚d S r;   ©r*   r   r   r   r   s    r   Útest_sparse_additionrJ   v   ó0   € å�q˜1‘u�uœ|Ô3Ñ4Ô4ÐRÐRÐ6RÑRÔRÐRÐRÐRr   c                 ó®   — t          j        | | z                       ¦   «         |                      d¦  «                             ¦   «         k    ¦  «        sJ ‚d S )Nr   )r,   Úallr<   Úpowerr   s    r   Útest_elementwise_mulrO   {   sG   € åŒ6�1�q‘5—/’/Ñ#Ô# q§w¢w¨q¡z¤z×'9Ò'9Ñ';Ô';Ò;Ñ<Ô<Ð<Ð<Ð<Ð<Ð<r   c                 ót  — t          j        t          ¦  «        5  d | z   d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t	          j        d¦  «        t          j                             t	          j	        d¦  «         
                    dd¦  «        ¦  «        z   d d d ¦  «         n# 1 swxY w Y   t	          j        d| z  |                      ¦   «         dz  k    ¦  «        sJ ‚t	          j        |                      ¦   «         | z  |                      ¦   «         dz  k    ¦  «        sJ ‚d S )Nr   é   r   )rA   rB   Ú	TypeErrorÚ
ValueErrorr,   Úeyer   r   Ú	csr_arrayÚarangeÚreshaperM   r<   r   s    r   Útest_elementwise_rmulrX   €   sŠ  € å	Œ•yÑ	!Ô	!ð ð Øˆq‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÑ	"Ô	"ð Gð GÝ
Œˆq‰	Œ	•E”L×*Ò*­2¬9°Q©<¬<×+?Ò+?ÀÀ1Ñ+EÔ+EÑFÔFÑFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gõ Œ6�1�q‘5˜aŸiši™kœk¨A™oÒ.Ñ/Ô/Ð/Ð/Ð/åŒ6�1—9’9‘;”; ‘?¨¯	ª	©¬°qÑ(8Ò9Ñ:Ô:Ð:Ð:Ð:Ð:Ð:s   š,¬0³0ÁAB7Â7B;Â>B;c                 óÂ   — t          j        | | j        z                       ¦   «         |                      | j        ¦  «                             ¦   «         k    ¦  «        sJ ‚d S ©N)r,   rM   r   r<   Údotr   s    r   Útest_matmulr\   �   sM   € åŒ6�1�q”s‘7×#Ò#Ñ%Ô%¨¯ª¨q¬s©¬×);Ò);Ñ)=Ô)=Ò=Ñ>Ô>Ð>Ð>Ð>Ð>Ð>r   c                 óN  — t          | dz  t          j        j        ¦  «        s
J d¦   «         ‚t	          j        | dz                       ¦   «         |                      ¦   «         dz  ¦  «         t          j        t          d¬¦  «        5  | dz   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r)   z
zero power)Úmatchr   )
r*   r   r   r   ÚnptÚassert_equalr<   rA   rB   rC   r   s    r   Útest_power_operatorra   ’   sß   € å�q˜!‘t�eœlÔ2Ñ3Ô3ÐQÐQÐ5QÑQÔQÐQõ Ô�a˜‘d—^’^Ñ%Ô%¨¯	ª	©¬°aÑ'7Ñ8Ô8Ð8õ 
ŒÕ*°,Ð	?Ñ	?Ô	?ð ð Ø	ˆ1‰ˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂBÂBÂ!Bc                 óD   — t          | | z  t          j        ¦  «        sJ ‚d S rZ   )r*   r,   Úndarrayr   s    r   Útest_sparse_dividerd   ž   s$   € å�a˜!‘e�RœZÑ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                 óØ   — t          j        t          ¦  «        5  t          | |                      ¦   «         z  t
          j        j        ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S rZ   )rA   ÚwarnsÚRuntimeWarningr*   r<   r   r   r   r   s    r   Útest_sparse_dense_dividerh   ¢   s´   € å	Œ•nÑ	%Ô	%ð Cð CÝ˜1˜qŸyšy™{œ{™?­U¬\Ô-AÑBÔBÐBÐBÐBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   š7AÁA#Á&A#c                 ó^   — t          | dz  t          j        j        ¦  «        s
J d¦   «         ‚d S )Nr   r)   rI   r   s    r   Útest_dense_dividerj   §   rK   r   c                 óx   — t          j        t          ¦  «        5  | j         d d d ¦  «         d S # 1 swxY w Y   d S rZ   )rA   rB   ÚAttributeErrorr   r   s    r   Útest_no_A_attrrm   ¬   ó}   € å	Œ•~Ñ	&Ô	&ð ð Ø	Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   š/¯3¶3c                 óx   — t          j        t          ¦  «        5  | j         d d d ¦  «         d S # 1 swxY w Y   d S rZ   )rA   rB   rl   ÚHr   s    r   Útest_no_H_attrrr   ²   rn   ro   c                 óÖ   — t          |                      d¦  «        t          j        j        ¦  «        sJ ‚t          |                      d¦  «        t          j        j        ¦  «        sJ ‚d S )Nr   )r*   Ú_getcolr   r   r   Ú_getrowr   s    r   Útest_getrow_getcolrv   ¸   sR   € å�a—i’i ‘l”l¥E¤LÔ$8Ñ9Ô9Ð9Ð9Ð9Ý�a—i’i ‘l”l¥E¤LÔ$8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9r   c                 ól   — t          j        | ¦  «        }t          j        |g d¢z  | g d¢z  ¦  «         d S )N©r   r   r   r   )ÚsplaÚaslinearoperatorr_   Úassert_allclose)r   ÚLs     r   Útest_as_linearoperatorr}   À   s=   € åÔ˜aÑ Ô €AÝÔ˜˜L˜L˜LÑ(¨!¨l¨l¨lÑ*:Ñ;Ô;Ð;Ð;Ð;r   c                 óP  — | j         j        d d…         dk    rd S t          j        | ¦  «        }t	          |t
          j        j        ¦  «        sJ ‚t          j	        | 
                    ¦   «         t          j                             |  
                    ¦   «         ¦  «        ¦  «         d S ©Nr   r   )r?   r@   ry   Úinvr*   r   r   r   r_   r{   r<   r,   Úlinalg©r"   ÚCs     r   Útest_invr„   Æ   s   € à„{Ô˜B˜Q˜BÔ 5Ò(Ð(ØˆåŒ�‰Œ€Aå�a�œÔ-Ñ.Ô.Ð.Ð.Ð.ÝÔ˜Ÿ	š	™œ¥R¤Y§]¢]°1·9²9±;´;Ñ%?Ô%?Ñ@Ô@Ð@Ð@Ð@r   c                 óx  — | j         j        d d…         dk    rd S t          j                             | ¦  «        }t          j        | ¦  «        }t          |t          j        j        ¦  «        sJ ‚t          j
        |                     ¦   «         t          j        |¦  «                             ¦   «         ¦  «         d S r   )r?   r@   r   r   Ú
csc_matrixry   Úexpmr*   r   r_   r{   r<   )r"   ÚBmatrƒ   s      r   Ú	test_expmr‰   Ñ   sž   € à„{Ô˜B˜Q˜BÔ 5Ò(Ð(ØˆåŒ<×"Ò" 1Ñ%Ô%€DåŒ	�!‰Œ€Aå�a�œÔ-Ñ.Ô.Ð.Ð.Ð.ÝÔØ	�	Š	‰ŒÝŒ	�$‰Œ×ÒÑ!Ô!ñô ð ð ð r   c           	      óà   — | j         j        d d…         dk    rd S t          j        t	          j        | t          j        ddg¦  «        ¦  «        t	          j        | ¦  «        ddgz  ¦  «         d S ©Nr   r   r   r   )	r?   r@   r_   r{   ry   Úexpm_multiplyr,   Úarrayr‡   r!   s    r   Útest_expm_multiplyrŽ   á   sq   € à„{Ô˜B˜Q˜BÔ 5Ò(Ð(ØˆåÔÝÔ˜1�bœh¨¨1 vÑ.Ô.Ñ/Ô/ÝŒ	�!‰Œ˜˜1�vÑñô ð ð ð r   c                 ó¶   — t          j        | ¦  «        }t          j        |t          j                             |                      ¦   «         ¦  «        ¦  «         d S rZ   )ry   Únormr_   r{   r,   r�   r<   )r   rƒ   s     r   Ú	test_normr‘   ì   s>   € åŒ	�!‰Œ€AÝÔ˜�2œ9Ÿ>š>¨!¯)ª)©+¬+Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r   c                 ó¸   — t          j        | ¦  «        }t          j        |t          j                             |                      ¦   «         d¦  «        ¦  «         d S )Nr   )ry   Ú
onenormestr_   r{   r,   r�   r�   r<   r‚   s     r   Útest_onenormestr”   ò   sB   € åŒ˜ÑÔ€AÝÔ˜�2œ9Ÿ>š>¨!¯)ª)©+¬+°qÑ9Ô9Ñ:Ô:Ð:Ð:Ð:r   c                 óî   — | j         j        d d…         dvrd S t          j        t	          j        | ddg¦  «        t          j                             |  	                    ¦   «         ddg¦  «        ¦  «         d S )Nr   )r   r   r   r   )
r?   r@   r_   r{   ry   Úspsolver,   r�   Úsolver<   r!   s    r   Útest_spsolver˜   ø   sq   € à„{Ô˜B˜Q˜BÔ ~Ð5Ð5ØˆåÔÝŒ�Q˜˜A˜ÑÔÝ
Œ	�Š˜Ÿ	š	™œ a¨ VÑ,Ô,ñô ð ð ð r   Úfmtr   r   c                 óÚ   — g d¢g d¢g d¢g d¢g}| dk    r t           j                             |¦  «        }nt           j                             |¦  «        }t	          j        |g d¢¦  «         d S )N©r   r   r   r   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   r   rx   )r   r   rU   Ú	csc_arrayry   Úspsolve_triangular)r™   Úarrr$   s      r   Útest_spsolve_triangularr¢     s{   € ð 	ˆˆØˆˆØˆˆØˆˆð	€Cð ˆe‚|€|Ý
Œ,×
 Ò
  Ñ
%Ô
%€a€aå
Œ,×
 Ò
  Ñ
%Ô
%€aÝÔ˜A˜|˜|˜|Ñ,Ô,Ð,Ð,Ð,r   c                 ó*  — | j         j        d d…         dk    rd S t          j        | ¦  «        }t	          j         |t          j        ddg¦  «        ¦  «        t          j         	                    |  
                    ¦   «         ddg¦  «        ¦  «         d S r‹   )r?   r@   ry   Ú
factorizedr_   r{   r,   r�   r�   r—   r<   )r"   ÚLUs     r   Útest_factorizedr¦     sˆ   € à„{Ô˜B˜Q˜BÔ 5Ò(Ð(Øˆå	Œ˜Ñ	Ô	€BÝÔØ
ˆ�2Œ8�Q˜�FÑÔÑÔÝ
Œ	�Š˜Ÿ	š	™œ a¨ VÑ,Ô,ñô ð ð ð r   Úsolver)
ÚbicgÚbicgstabÚcgÚcgsÚgmresÚlgmresÚminresÚqmrÚgcrotmkÚtfqmrc                 óÊ   — |dk    ri }nddi} t          t          |¦  «        | t          j        ddg¦  «        fi |¤Ž\  }}|dk    sJ ‚t	          j        |ddgd¬¦  «         d S )	Nr®   Úatolgñhãˆµøä>r   r   r   gš™™™™™¹?©r³   )r   ry   r,   r�   r_   r{   )r"   r§   ÚkwargsÚxÚinfos        r   Útest_solversr¸     sƒ   € ð �ÒÐØˆˆà˜$�ˆà#�g•d˜FÑ#Ô# A¥r¤x°°A°Ñ'7Ô'7ÐBÐB¸6ÐBÐB�G€A€tØ�1Š9ˆ9ˆ9ˆ9ÝÔ˜˜A˜q˜6¨Ð-Ñ-Ô-Ð-Ð-Ð-r   ÚlsqrÚlsmrc                 ó€   —  t          t          |¦  «        | g d¢¦  «        ^}}t          j        | |z  g d¢¦  «         d S )N©r   r   r   )r   ry   r_   r{   )r   r§   r¶   Ú_s       r   Útest_lstsqrr¾   /  sH   € ð "�G•D˜&Ñ!Ô! ! Y Y YÑ/Ô/€E€AˆÝÔ˜˜A™˜y˜y˜yÑ)Ô)Ð)Ð)Ð)r   c                 óz   — t          j        | d¬¦  «        \  }}t          j        | |z  |d         |z  ¦  «         d S ©Nr   ©Úkr   )ry   Úeigsr_   r{   ©r$   ÚeÚvs      r   Ú	test_eigsrÇ   9  sK   € åŒ9�Q˜!ÐÑÔ�D€A€qÝÔØ	ˆA‰Ø	ˆ!Œˆq‰ñô ð ð ð r   c                 óŽ   — | | j         z   } t          j        | d¬¦  «        \  }}t          j        | |z  |d         |z  ¦  «         d S rÀ   )r   ry   Úeigshr_   r{   rÄ   s      r   Ú
test_eigshrÊ   B  sV   € à	ˆAŒC‰€AÝŒ:�a˜1ÐÑÔ�D€A€qÝÔØ	ˆA‰Ø	ˆ!Œˆq‰ñô ð ð ð r   c                 ó2  — t          j        | d¬¦  «        \  }}}t          j                             |                      ¦   «         ¦  «        \  }}}t          j        |¦  «        }t          j        |d d…         ¦  «        }t          j        ||d¬¦  «         d S )Nr   rÁ   gü©ñÒMbP?r´   )	ry   Úsvdsr,   r�   Úsvdr<   Úsortr_   r{   )r$   ÚuÚsÚvhÚu2Ús2Úvh2s          r   Ú	test_svdsrÕ   L  s}   € åŒy˜˜aÐ Ñ Ô �H€A€qˆ"Ý”)—-’- §	¢	¡¤Ñ,Ô,�K€BˆˆCÝ
Œ�‰
Œ
€AÝ	Œ��B�Q�B”‰Œ€BÝÔ˜˜2 DÐ)Ñ)Ô)Ð)Ð)Ð)r   c                  óB  — t           j                             g d¢g d¢g d¢g d¢g¦  «        } t          j        | ¦  «        }t          j        |                     t          j	        g d¢¦  «        ¦  «        t          j
        g d¢t          j        ¬¦  «        dd¬	¦  «         d S ©
Nr›   rœ   r�   rž   rx   r   g›+¡†›„=gMgâñžµ<)Úrtolr³   )r   r   rŸ   ry   Úsplur_   r{   r—   r,   r�   ÚasarrayÚfloat64©r$   r¥   s     r   Ú	test_splurÝ   U  s§   € ÝŒ×ÒØˆˆØˆˆØˆˆØˆˆð	 ñ 	ô 	€Aõ 
Œ�1‰Œ€BÝÔØ
�Š•”˜,˜,˜,Ñ'Ô'Ñ(Ô(Ý
Œ
�<�<�<¥r¤zÐ2Ñ2Ô2Ø˜ðñ ô ð ð ð r   c                  óB  — t           j                             g d¢g d¢g d¢g d¢g¦  «        } t          j        | ¦  «        }t          j        |                     t          j	        g d¢¦  «        ¦  «        t          j
        g d¢t          j        ¬¦  «        dd¬	¦  «         d S r×   )r   r   rŸ   ry   Úspilur_   r{   r—   r,   r�   rÚ   rÛ   rÜ   s     r   Ú
test_spilurà   d  s§   € ÝŒ×ÒØˆˆØˆˆØˆˆØˆˆð	 ñ 	ô 	€Aõ 
Œ�A‰Œ€BÝÔØ
�Š•”˜,˜,˜,Ñ'Ô'Ñ(Ô(Ý
Œ
�<�<�<¥r¤zÐ2Ñ2Ô2Ø˜ðñ ô ð ð ð r   zcls,indices_attrsÚindicesÚindptrÚrowÚcolÚexpected_dtypec                 óN  — t           j                             t          j        d¦  «                             dd¦  «        ¦  «        }|j        |j                             |¦  «        |j	                             |¦  «        ff} | |¦  «        }|D ]}t          ||¦  «        j        |k    sJ ‚Œ | |d¬¦  «        }|D ]}t          ||¦  «        j        |k    sJ ‚Œt          | t           j        j        j        ¦  «        r¦|                     ¦   «         }|j        |j                             |¦  «        |j                             |¦  «        f} | |¦  «        }|D ]}t          ||¦  «        j        |k    sJ ‚Œ | |d¬¦  «        }|D ]}t          ||¦  «        j        |k    sJ ‚Œd S d S )Né	   r   )r   r   )r.   )r   r   Ú	coo_arrayr,   rV   rW   Údatarã   Úastyperä   r   r   Ú
issubclassÚ_compressedÚ
_cs_matrixÚtocsrrá   râ   )	ÚclsÚindices_attrsrå   Úinput_arrayÚ	coo_tupleÚresultÚattrÚinput_array_csrÚ	csr_tuples	            r   Útest_index_dtype_compressedr÷   s  sì  € õ& ”,×(Ò(­¬°1©¬×)=Ò)=¸aÀÑ)CÔ)CÑDÔD€KàÔàŒO×"Ò" >Ñ2Ô2ØŒO×"Ò" >Ñ2Ô2ð	
ð€Ið ˆS�‰^Œ^€FØð =ð =ˆÝ�v˜tÑ$Ô$Ô*¨nÒ<Ð<Ð<Ð<Ð<àˆS� &Ð)Ñ)Ô)€FØð =ð =ˆÝ�v˜tÑ$Ô$Ô*¨nÒ<Ð<Ð<Ð<Ð<å�#•u”|Ô/Ô:Ñ;Ô;ð AØ%×+Ò+Ñ-Ô-ˆàÔ ØÔ#×*Ò*¨>Ñ:Ô:ØÔ"×)Ò)¨.Ñ9Ô9ð
ˆ	ð ��Y‘”ˆØ!ð 	Að 	AˆDÝ˜6 4Ñ(Ô(Ô.°.Ò@Ð@Ð@Ð@Ð@à��Y fÐ-Ñ-Ô-ˆØ!ð 	Að 	AˆDÝ˜6 4Ñ(Ô(Ô.°.Ò@Ð@Ð@Ð@Ð@ðAð Að	Að 	Ar   c                  óŠ   — t           j                             g d¢¦  «        } t          | t           j        j        ¦  «        rJ ‚d S )N)r   r   r   )r   r   Údiagsr*   r   ©Úms    r   Útest_default_is_matrix_diagsrü   ¨  s<   € ÝŒ×Ò˜9˜9˜9Ñ%Ô%€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  ó†   — t           j                             d¦  «        } t          | t           j        j        ¦  «        rJ ‚d S ©Nr   )r   r   rT   r*   r   rú   s    r   Útest_default_is_matrix_eyerÿ   ­  s8   € ÝŒ×Ò˜ÑÔ€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  ó�   — t           j                             g d¢ddd¦  «        } t          | t           j        j        ¦  «        rJ ‚d S )Nr¼   r   r   )r   r   Úspdiagsr*   r   rú   s    r   Útest_default_is_matrix_spdiagsr  ²  sB   € ÝŒ×Ò˜Y˜Y˜Y¨¨1¨aÑ0Ô0€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  ó†   — t           j                             d¦  «        } t          | t           j        j        ¦  «        rJ ‚d S rþ   )r   r   Úidentityr*   r   rú   s    r   Útest_default_is_matrix_identityr  ·  s8   € ÝŒ×Ò˜aÑ Ô €AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  óè   — t           j                             t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        ¦  «        } t          | t           j        j        ¦  «        rJ ‚d S )Nr   r   r   r   ©r   r   Úkronr,   r�   r*   r   rú   s    r   Ú!test_default_is_matrix_kron_denser	  ¼  óo   € ÝŒ×ÒÝ
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"¥B¤H¨q°!¨f°q¸!°fÐ-=Ñ$>Ô$>ñ	ô 	€Aõ ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  óè   — t           j                             t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        ¦  «        } t          | t           j        j        ¦  «        rJ ‚d S )Nr   r   r   r   r   r  rú   s    r   Ú"test_default_is_matrix_kron_sparser  Ã  r
  r   c                  óè   — t           j                             t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        ¦  «        } t          | t           j        j        ¦  «        rJ ‚d S )Nr   r   )r   r   Úkronsumr,   r�   r*   r   rú   s    r   Útest_default_is_matrix_kronsumr  Ê  so   € ÝŒ×ÒÝ
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"¥B¤H¨q°!¨f°q¸!°fÐ-=Ñ$>Ô$>ñ	ô 	€Aõ ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  óˆ   — t           j                             dd¦  «        } t          | t           j        j        ¦  «        rJ ‚d S rþ   )r   r   rF   r*   r   rú   s    r   Útest_default_is_matrix_randomr  Ñ  s:   € ÝŒ×Ò˜A˜qÑ!Ô!€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  óˆ   — t           j                             dd¦  «        } t          | t           j        j        ¦  «        rJ ‚d S rþ   )r   r   Úrandr*   r   rú   s    r   Útest_default_is_matrix_randr  Ö  s:   € ÝŒ×Ò˜!˜QÑÔ€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   Úfnc                 ó  — t           j                             t          j        d¦  «        ¦  «        }t           j                             ddgddgg¦  «        } | ||g¦  «        }t          |t           j        j        ¦  «        rJ ‚dS )zbSame idea as `test_default_construction_fn_matrices`, but for the
    stacking creation functions.r   r   r   N)r   r   Ú
coo_matrixr,   rT   r*   r   )r  r   r"   rû   s       r   Útest_default_is_matrix_stacksr  Û  su   € õ 	Œ×Ò¥¤ q¡	¤	Ñ*Ô*€AÝŒ×Ò ! Q ¨!¨Q¨Ð 0Ñ1Ô1€AØ
ˆˆAˆqˆ6‰
Œ
€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  ó  — t           j                             t          j        d¦  «        ¦  «        } t           j                             dgdgg¦  «        }t           j                             dgg¦  «        }t           j                             | ||f¦  «        }t          |t           j        j        ¦  «        rJ ‚t           j                             | dgd|gg¦  «        }t          |t           j        j        ¦  «        rJ ‚dS )z]Same idea as `test_default_construction_fn_matrices`, but for the block
    creation functionr   r   r   N)	r   r   r  r,   rT   Ú
block_diagr*   r   Úbmat)r   r"   rƒ   rû   s       r   Ú,test_blocks_default_construction_fn_matricesr  å  sÔ   € õ 	Œ×Ò¥¤ q¡	¤	Ñ*Ô*€AÝŒ×Ò !  q c 
Ñ+Ô+€AÝŒ×Ò !  Ñ&Ô&€Aõ 	Œ×Ò  A q 	Ñ*Ô*€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2õ 	Œ×Ò˜A˜t˜9 t¨Q iÐ0Ñ1Ô1€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                  ó  — t           D ]} t          t          j        | › d�¦  «        } |ddgg¦  «        }|j        | k    sJ ‚|j        | k    sJ ‚t          j        t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   Œ€d S )Nr   r   r   Úqqq)	Úsparray_typesr   r   r   ÚformatÚ_formatrA   rB   rl   )r™   Úarr_clsÚMs      r   Útest_format_propertyr$  õ  sÖ   € Ýð ð ˆÝ�%œ,¨3¨¨¨Ñ7Ô7ˆØˆG�a˜�V�HÑÔˆØŒx˜3ŠˆˆˆØŒy˜CÒÐÐÐÝŒ]�>Ñ*Ô*ð 	ð 	ØˆAŒHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øðð s   Á(A<Á<B 	ÂB 	c                  óV  — t           j                             d¦  «        } t           j                             | ¦  «        }t	          | t           j        j        ¦  «        rJ ‚t	          |t           j        j        ¦  «        sJ ‚t           j                             |¦  «        sJ ‚t           j                             | ¦  «        sJ ‚t           j                             |                     ¦   «         ¦  «        rJ ‚t           j                             |                      ¦   «         ¦  «        rJ ‚d S rþ   )r   r   rT   rU   r*   r   Úissparser<   ©rû   Úas     r   Útest_issparser)  ÿ  sì   € ÝŒ×Ò˜ÑÔ€AÝŒ×Ò˜qÑ!Ô!€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ý�a�œÔ-Ñ.Ô.Ð.Ð.Ð.õ Œ<× Ò  Ñ#Ô#Ð#Ð#Ð#ÝŒ<× Ò  Ñ#Ô#Ð#Ð#Ð#õ Œ|×$Ò$ Q§Y¢Y¡[¤[Ñ1Ô1Ð1Ð1Ð1ÝŒ|×$Ò$ Q§Y¢Y¡[¤[Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r   c                  óV  — t           j                             d¦  «        } t           j                             | ¦  «        }t	          | t           j        j        ¦  «        rJ ‚t	          |t           j        j        ¦  «        sJ ‚t           j                             |¦  «        rJ ‚t           j                             | ¦  «        sJ ‚t           j                             |                     ¦   «         ¦  «        rJ ‚t           j                             |                      ¦   «         ¦  «        rJ ‚d S rþ   )r   r   rT   rU   r*   r   Ú
isspmatrixr<   r'  s     r   Útest_isspmatrixr,    sì   € ÝŒ×Ò˜ÑÔ€AÝŒ×Ò˜qÑ!Ô!€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ý�a�œÔ-Ñ.Ô.Ð.Ð.Ð.õ Œ|×&Ò& qÑ)Ô)Ð)Ð)Ð)ÝŒ<×"Ò" 1Ñ%Ô%Ð%Ð%Ð%õ Œ|×&Ò& q§y¢y¡{¤{Ñ3Ô3Ð3Ð3Ð3ÝŒ|×&Ò& q§y¢y¡{¤{Ñ3Ô3Ð3Ð3Ð3Ð3Ð3r   )r™   r  r   r   r   r   r	   c                 óà  — t           j                             d| ¬¦  «        }t           j                             |¦  «                             | ¦  «        }t          |t           j        j        ¦  «        rJ ‚t          |t           j        j        ¦  «        sJ ‚ ||¦  «        rJ ‚ ||¦  «        sJ ‚ ||                     ¦   «         ¦  «        rJ ‚ ||                     ¦   «         ¦  «        rJ ‚d S )Nr   )r   )r   r   rT   rU   Úasformatr*   r   r<   )r™   r  rû   r(  s       r   Útest_isspmatrix_formatr/    sÞ   € õ 	Œ×Ò˜ 3ÐÑ'Ô'€AÝŒ×Ò˜qÑ!Ô!×*Ò*¨3Ñ/Ô/€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ý�a�œÔ-Ñ.Ô.Ð.Ð.Ð.ð ˆr�!‰uŒuÐÐÐØˆ2ˆa‰5Œ5€L€L€Lð ˆr�!—)’)‘+”+‰ŒÐÐÐØˆr�!—)’)‘+”+‰ŒÐÐÐÐÐr   )ZrA   Únumpyr,   Únumpy.testingÚtestingr_   Úscipy.sparser   Úscipy.sparse.linalgr   r�   ry   r  Úsparray_classesr�   r   r"   Úfloatr$   ÚsparraysÚsquare_sparraysÚeig_sparraysÚmarkÚparametrizeÚparametrize_sparraysÚparametrize_square_sparraysÚparametrize_eig_sparraysr/   r2   r9   r=   rD   rG   rJ   rO   rX   r\   ra   rd   rh   rj   rm   rr   rv   r}   r„   r‰   rŽ   r‘   r”   r˜   r¢   r¦   r¸   r¾   rÇ   rÊ   rÕ   rÝ   rà   rU   rŸ   rè   Úint64Úint32r÷   rü   rÿ   r  r  r	  r  r  r  r  ÚhstackÚvstackr  r  r$  r)  r,  Úisspmatrix_bsrÚisspmatrix_cooÚisspmatrix_cscÚisspmatrix_csrÚisspmatrix_diaÚisspmatrix_dokÚisspmatrix_lilr/  r   r   r   ú<module>rJ     s  ðØ €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ð B€ðð Ø1>ðñ ô €ð €B„HØ€L€LØ€L€LØ€L€Lðñ ô €ð €B„HØˆ€FØˆ€Fðñ ô €ð
 €B„HØ€L€LØ€L€LØ€L€LØ€L€Lð	ð
 
ðñ ô €ð 7Ð6 oÐ6Ñ6Ô6€Ø=Ð=¨_Ð=Ñ=Ô=€Ø:Ð:¨/Ð:Ñ:Ô:€à”{×.Ò.Øˆ�}ð /ñ ô Ð ð %œk×5Ò5Øˆ˜mð 6ñ ô Ð ð "œ;×2Ò2Øˆ˜=ð 3ñ ô Ð ð
 ð'ð 'ñ Ôð'ð ð%ð %ñ Ôð%ð
 ð)ð )ñ Ôð)ð  ð%ð %ñ Ôð%ð
 ð7ð 7ñ Ôð7ð4 ðJð Jñ ÔðJð
 ðSð Sñ ÔðSð ð=ð =ñ Ôð=ð ð	;ð 	;ñ Ôð	;ð ð?ð ?ñ Ôð?ð ðð ñ Ôðð ð)ð )ñ Ôð)ð ðCð Cñ ÔðCð ðSð Sñ ÔðSð ðð ñ Ôðð
 ðð ñ Ôðð
 ð:ð :ñ Ôð:ð ð<ð <ñ Ôð<ð
 ðAð Añ ÔðAð ðð ñ Ôðð ðð ñ Ôðð ð8ð 8ñ Ôð8ð
 ð;ð ;ñ Ôð;ð
 ðð ñ Ôðð „×Ò˜  e˜}Ñ-Ô-ð-ð -ñ .Ô-ð-ð ðð ñ Ôðð Ø„×ÒØðð ð ñô ð
.ð .ñô ñ Ôð.ð Ø„×ÒØØˆVÐñô ð*ð *ñ	ô ñ Ôð
*ð
 ðð ñ Ôðð ðð ñ Ôðð ð*ð *ñ Ôð*ðð ð ðð ð ð „×ÒØð ŒLÔ"Ø˜Ð!ð	
ð
 ŒLÔ"Ø˜Ð!ð	
ð
 ŒLÔ"Ø�EˆNð	
ðñô ð" „×ÒÐ)¨B¬H°b´hÐ+?Ñ@Ô@ð Að  Añ AÔ@ñ#ô ð$ AðF3ð 3ð 3ð
3ð 3ð 3ð
3ð 3ð 3ð
3ð 3ð 3ð
3ð 3ð 3ð3ð 3ð 3ð3ð 3ð 3ð3ð 3ð 3ð
3ð 3ð 3ð
 „×Ò˜ ¤Ô 3°U´\Ô5HÐIÑJÔJð3ð 3ñ KÔJð3ð3ð 3ð 3ð ð ð ð2ð 2ð 2ð4ð 4ð 4ð „×ÒØà	�”Ô+Ð,Ø	�”Ô+Ð,Ø	�”Ô+Ð,Ø	�”Ô+Ð,Ø	�”Ô+Ð,Ø	�”Ô+Ð,Ø	�”Ô+Ð,ðñô ðð ñô ðð ð r   