§
    fŠtjj7  ã                   ó  — 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/html/CA-Chatbot/venv/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ð %ð %Ø$ñ%ô %Ð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   sA   € å˜!Ÿ&š& a˜&™.œ.­"¬)Ñ4Ô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   >   s8  € õ ˆq�%ÑÔð )Ý˜aŸeše¨˜e™mœm­R¬YÑ7Ô7ð 	)ð 	)Ø(ñ	)ô 	)Ð7åˆq�%ÑÔð )Ý˜aŸeše¨˜e™mœm­R¬YÑ7Ô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ð %ð %Ø$ñ%ô %Ð1ð %ð %r   c                 ó|  — | j         j        d d…         dv rd S | dd d …f         | d d …df         | dddgf         | ddgdf         | dg         | d d …ddgf         | ddgd d …f         | dddggf         | ddggdf         f	}|D ]8}t          |t          j        j        ¦  «        sJ d|j        j        › �¦   «         ‚Œ9d S )Nr   )r   r   r   r   r   r   zExpected sparse array, got )Ú	__class__Ú__name__r*   r   r   r   Ú_class__)r   Úall_resÚress      r   Útest_indexingrD   U   s  € à„{Ô˜B˜Q˜BÔÐ#8Ð8Ð8Øˆð 	
ˆ!ˆQˆQˆQˆ$ŒØ	ˆ!ˆ!ˆ!ˆQˆ$ŒØ	ˆ!ˆa�ˆVˆ)ŒØ	ˆ1ˆaˆ&�!ˆ)ŒØ	ˆ1ˆ#ŒØ	ˆ!ˆ!ˆ!ˆa�ˆVˆ)ŒØ	ˆ1ˆaˆ&�!�!�!ˆ)ŒØ	ˆ!ˆq�!ˆfˆXˆ+ŒØ	ˆAˆqˆ6ˆ(�Aˆ+Œð
€Gð ð Bð BˆÝ˜#�uœ|Ô3Ñ4Ô4ð 	Bð 	BØA¨#¬,Ô*?ÐAÐAñ	Bô 	BÐ4ð 	BðBð Br   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   k   sD   € å
Œ	×Ò˜œÑ!Ô!€AÝ˜!˜a™%¥¤Ñ+Ô+Ð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   q   ó0   € å�q˜1‘u�uœ|Ô3Ñ4Ô4ÐRÐRÐ6RÑRÔRÐ4ÐRÐRr   c                 ó®   — t          j        | | z                       ¦   «         |                      d¦  «                             ¦   «         k    ¦  «        sJ ‚d S )Nr   )r,   Úallr<   Úpowerr   s    r   Útest_elementwise_mulrO   v   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   )ÚpytestÚraisesÚ	TypeErrorÚ
ValueErrorr,   Úeyer   r   Ú	csr_arrayÚarangeÚreshaperM   r<   r   s    r   Útest_elementwise_rmulrZ   {   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<   rR   rS   ÚNotImplementedErrorr   s    r   Útest_power_operatorrd   �   sß   € å�q˜!‘t�eœlÔ2Ñ3Ô3ÐQÐQÐ5QÑQÔQÐ3õ Ô�a˜‘d—^’^Ñ%Ô%¨¯	ª	©¬°aÑ'7Ñ8Ô8Ð8õ 
ŒÕ*°,Ð	?Ñ	?Ô	?ð ð Ø	ˆ1‰ˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂBÂBÂ!Bc                 óD   — t          | | z  t          j        ¦  «        sJ ‚d S r\   )r*   r,   Úndarrayr   s    r   Útest_sparse_dividerg   ™   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 r\   )rR   ÚwarnsÚRuntimeWarningr*   r<   r   r   r   r   s    r   Útest_sparse_dense_dividerk   �   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_dividerm   ¢   rK   r   c                 óx   — t          j        t          ¦  «        5  | j         d d d ¦  «         d S # 1 swxY w Y   d S r\   )rR   rS   ÚAttributeErrorr   r   s    r   Útest_no_A_attrrp   §   ó}   € å	Œ•~Ñ	&Ô	&ð ð Ø	Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   š/¯3¶3c                 óx   — t          j        t          ¦  «        5  | j         d d d ¦  «         d S # 1 swxY w Y   d S r\   )rR   rS   ro   ÚHr   s    r   Útest_no_H_attrru   ­   rq   rr   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_getcolry   ³   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Úaslinearoperatorra   Ú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@   r|   Úinvr*   r   r   r   ra   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_matrixr|   Úexpmr*   r   ra   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@   ra   r~   r|   Ú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 r\   )r|   Únormra   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   )r|   Ú
onenormestra   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@   ra   r~   r|   Ú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   r{   )r   r   rW   Ú	csc_arrayr|   Ú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@   r|   Ú
factorizedra   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   r|   r,   r�   ra   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   r|   ra   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   )r|   Úeigsra   r~   ©r$   ÚeÚvs      r   Ú	test_eigsrÉ   4  sK   € åŒ9�Q˜!ÐÑÔ�D€A€qÝÔØ	ˆA‰Ø	ˆ!Œˆq‰ñô ð ð ð r   c                 óŽ   — | | j         z   } t          j        | d¬¦  «        \  }}t          j        | |z  |d         |z  ¦  «         d S rÂ   )r   r|   Úeigshra   r~   rÆ   s      r   Ú
test_eigshrÌ   =  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·   )	r|   Úsvdsr,   r„   Úsvdr<   Úsortra   r~   )r$   ÚuÚsÚvhÚu2Ús2Úvh2s          r   Ú	test_svdsr×   G  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¡   r{   r   g›+¡†›„=gMgâñžµ<)Úrtolr¶   )r   r   r¢   r|   Úsplura   r~   rš   r,   r�   ÚasarrayÚfloat64©r$   r¨   s     r   Ú	test_splurß   P  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¢   r|   Úspilura   r~   rš   r,   r�   rÜ   rÝ   rÞ   s     r   Ú
test_spilurâ   _  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,   rX   rY   Ú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ù   n  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)g        ç      ð?ç       @)r   r   Údiagsr*   r   ©Úms    r   Útest_default_is_matrix_diagsr   £  s<   € ÝŒ×Ò˜?˜?˜?Ñ+Ô+€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   rV   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 )N)rû   rü   g      @r   r   )r   r   Úspdiagsr*   r   rþ   s    r   Útest_default_is_matrix_spdiagsr  ­  sB   € ÝŒ×Ò˜_˜_˜_¨a°°AÑ6Ô6€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,   rV   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,   rV   Ú
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Ú_formatrR   rS   ro   )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   rV   rW   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   rV   rW   r*   r   Ú
isspmatrixr<   r+  s     r   Útest_isspmatrixr0  	  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   rV   rW   Úasformatr*   r   r<   )rœ   r  rÿ   r,  s       r   Útest_isspmatrix_formatr3    sÝ   € õ 	Œ×Ò˜ 3ÐÑ'Ô'€AÝŒ×Ò˜qÑ!Ô!×*Ò*¨3Ñ/Ô/€AÝ˜!�Uœ\Ô1Ñ2Ô2Ð2Ð2Ð2Ý�a�œÔ-Ñ.Ô.Ð.Ð.Ð.ð ˆr�!‰uŒuÐÐˆ9Øˆ2ˆa‰5Œ5€L€Lˆ5ð ˆr�!—)’)‘+”+‰ŒÐÐÐØˆr�!—)’)‘+”+‰ŒÐÐÐÐÐr   )ZrR   Únumpyr,   Únumpy.testingÚtestingra   Úscipy.sparser   Úscipy.sparse.linalgr   r„   r|   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   rZ   r^   rd   rg   rk   rm   rp   ru   ry   r€   r‡   rŒ   r‘   r”   r—   r›   r¥   r©   r»   rÀ   rÉ   rÌ   r×   rß   râ   rW   r¢   rê   Úint64Úint32rù   r   r  r  r	  r  r  r  r  r  ÚhstackÚvstackr  r   r(  r-  r0  Úisspmatrix_bsrÚisspmatrix_cooÚisspmatrix_cscÚisspmatrix_csrÚisspmatrix_diaÚisspmatrix_dokÚisspmatrix_lilr3  r   r   r   ú<module>rN     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ñ ô Ð ð
 ð'ð 'ñ Ôð'ð ð%ð %ñ Ôð%ð
 ð)ð )ñ Ôð)ð  ð%ð %ñ Ôð%ð
 ðBð Bñ ÔðBð* ð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   