Ë
    âQ(hy7  ã                   ó&	  — 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eD � cg c]  }  eej                  | › d�«      ‘Œ c} 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eD �cg c]
  } |e«      ‘Œ c}ZeD �cg c]
  } |e«      ‘Œ c}ZeD �cg c]
  } |e«      ‘Œ c}Ze j.                  j1                  dee¬«      Ze j.                  j1                  dee¬«      Ze j.                  j1                  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e j.                  jP                  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d(„ «       Z3ed)„ «       Z4e j.                  j1                  d*d+d,g«      d-„ «       Z5ed.„ «       Z6ee j.                  j1                  d/g d0¢«      d1„ «       «       Z7ee j.                  j1                  d/d2d3g«      d4„ «       «       Z8ed5„ «       Z9ed6„ «       Z:ed7„ «       Z;d8„ Z<d9„ Z=e j.                  j1                  d:ej                  j|                  d;d<gfej                  j~                  d;d<gfej                  j€                  d=d>gfg«      e j.                  j1                  d?ej‚                  ej„                  g«      d@„ «       «       ZCdA„ ZDdB„ ZEdC„ ZFdD„ ZGdE„ ZHdF„ ZIdG„ ZJdH„ ZKdI„ ZLe j.                  j1                  dJej                  jš                  ej                  jœ                  f«      dK„ «       ZOdL„ ZPdM„ ZQdN„ ZRdO„ ZSe j.                  j1                  dPdQej                  j¨                  fdRej                  jª                  fd,ej                  j¬                  fd+ej                  j®                  fdSej                  j°                  fdTej                  j²                  fdUej                  j´                  ff«      dV„ «       Z[yc c} w c c}w c c}w c c}w )Wé    N)ÚbsrÚcooÚcscÚcsrÚdiaÚdokÚlilÚ_array)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   ©ÚdtypeÚA)ÚidsÚBÚXc                 óê   — t        | j                  d¬«      t        j                  «      rJ d«       ‚| j                  d¬«      j                  dk(  sJ ‚| j                  d¬«      j                  dk(  sJ ‚y )Nr   ©ÚaxisúExpected array, got matrix)r   r   )r   )Ú
isinstanceÚsumÚnpÚmatrixÚshape©r   s    ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/sparse/tests/test_array_api.pyÚtest_sumr    0   sf   € ä˜!Ÿ%™% Q˜%›-¬¯©Ô3ð %Ø$ó%Ð3à�5‰5�aˆ5‹=×Ñ $Ò&Ð&Ð&Ø�5‰5�aˆ5‹=×Ñ $Ò&Ð&Ñ&ó    c                 óf   — t        | j                  d¬«      t        j                  «      rJ d«       ‚y )Nr   r   r   )r   Úmeanr   r   r   s    r   Ú	test_meanr$   8   s-   € ä˜!Ÿ&™& a˜&›.¬"¯)©)Ô4ð %Ø$ó%Ð4Ð4r!   c                 óî  — t        | d«      r1t        | j                  d¬«      t        j                  «      rJ d«       ‚t        | d«      r1t        | j                  d¬«      t        j                  «      rJ d«       ‚t        | d«      r1t        | j                  d¬«      t        j                  «      rJ d«       ‚t        | d«      r2t        | j                  d¬«      t        j                  «      rJ d«       ‚y y )NÚminr   r   r   ÚmaxÚargminÚargmax)Úhasattrr   r&   r   r   r'   r(   r)   r   s    r   Útest_min_maxr+   >   sÖ   € ô ˆq�%ÔÜ˜aŸe™e¨˜e›m¬R¯Y©YÔ7ð 	)Ø(ó	)Ð7äˆq�%ÔÜ˜aŸe™e¨˜e›m¬R¯Y©YÔ7ð 	)Ø(ó	)Ð7äˆq�(ÔÜ˜aŸh™h¨A˜hÓ.´·	±	Ô:ð 	)Ø(ó	)Ð:äˆq�(ÔÜ˜aŸh™h¨A˜hÓ.´·	±	Ô:ð 	)Ø(ó	)Ð:Ð:ð r!   c                 ób   — t        | j                  «       t        j                  «      rJ d«       ‚y ©Nr   )r   Útodenser   r   r   s    r   Útest_todenser/   O   s)   € ä˜!Ÿ)™)›+¤r§y¡yÔ1ð %Ø$ó%Ð1Ð1r!   c                 óh  — | j                   j                  d d dv ry | 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 ]D  }t        |t        j                  j
                  «      rŒ(J d|j                  j                  › �«       ‚ y )Nr   )r   r   r   r   r   r   zExpected sparse array, got )Ú	__class__Ú__name__r   ÚscipyÚsparseÚsparrayÚ_class__)r   Úall_resÚress      r   Útest_indexingr9   U   sð   € à‡{�{×Ñ˜B˜QÐÐ#8Ñ8Øð 	
ˆ!ŠQˆ$‰Ø	Š!ˆQˆ$‰Ø	ˆ!ˆa�ˆVˆ)‰Ø	ˆ1ˆaˆ&�!ˆ)‰Ø	ˆ1ˆ#‰Ø	Š!ˆa�ˆVˆ)‰Ø	ˆ1ˆaˆ&’!ˆ)‰Ø	ˆ!ˆq�!ˆfˆXˆ+‰Ø	ˆAˆqˆ6ˆ(�Aˆ+‰ð
€Gð ò BˆÜ˜#œuŸ|™|×3Ñ3Õ4ð 	BØ)¨#¯,©,×*?Ñ*?Ð)@ÐAó	BÐ4ñBr!   c                 óž   — t         j                  j                  | j                  «      }t        | |z   t         j                  «      rJ d«       ‚y r-   )r   Úrandomr   r   r   )r   r   s     r   Útest_dense_additionr<   k   s;   € ä
�	‰	×Ñ˜Ÿ™Ó!€AÜ˜!˜a™%¤§¡Ô+ÐIÐ-IÓIÐ+Ð+r!   c                 ó`   — t        | | z   t        j                  j                  «      sJ d«       ‚y r-   ©r   r3   r4   r5   r   s    r   Útest_sparse_additionr?   q   ó&   € ä�q˜1‘uœuŸ|™|×3Ñ3Ô4ÐRÐ6RÓRÑ4r!   c                 ó”   — t        j                  | | z  j                  «       | j                  d«      j                  «       k(  «      sJ ‚y )Nr   )r   Úallr.   Úpowerr   s    r   Útest_elementwise_mulrD   v   s5   € ä�6‰6�1�q‘5—/‘/Ó# q§w¡w¨q£z×'9Ñ'9Ó';Ñ;Ô<Ð<Ñ<r!   c                 óJ  — t        j                  t        «      5  d | z   d d d «       t        j                  t        «      5  t	        j
                  d«      t        j                  j                  t	        j                  d«      j                  dd«      «      z   d d d «       t	        j                  d| z  | j                  «       dz  k(  «      sJ ‚t	        j                  | j                  «       | z  | j                  «       dz  k(  «      sJ ‚y # 1 sw Y   ŒîxY w# 1 sw Y   Œ€xY w)Nr   é   r   )ÚpytestÚraisesÚ	TypeErrorÚ
ValueErrorr   Úeyer3   r4   Ú	csr_arrayÚarangeÚreshaperB   r.   r   s    r   Útest_elementwise_rmulrO   {   sØ   € ä	�‰”yÓ	!ñ ØˆqŠ÷ô 
�‰”zÓ	"ñ GÜ
�‰ˆq‹	”E—L‘L×*Ñ*¬2¯9©9°Q«<×+?Ñ+?ÀÀ1Ó+EÓFÒF÷Gô �6‰6�1�q‘5˜aŸi™i›k¨A™oÑ.Ô/Ð/Ð/ä�6‰6�1—9‘9“; ‘?¨¯	©	«°qÑ(8Ñ9Ô:Ð:Ñ:÷ð ú÷Gð Gús   šDÁADÄDÄD"c                 ó¼   — t        j                  | | j                  z  j                  «       | j	                  | j                  «      j                  «       k(  «      sJ ‚y ©N)r   rB   ÚTr.   Údotr   s    r   Útest_matmulrT   ˆ   s?   € ä�6‰6�1�q—s‘s‘7×#Ñ#Ó%¨¯©¨q¯s©s«×);Ñ);Ó)=Ñ=Ô>Ð>Ñ>r!   c                 ó:  — t        | dz  t        j                  j                  «      sJ d«       ‚t	        j
                  | dz  j                  «       | j                  «       dz  «       t        j                  t        d¬«      5  | dz   d d d «       y # 1 sw Y   y xY w)Nr   r   z
zero power)Úmatchr   )
r   r3   r4   r5   ÚnptÚassert_equalr.   rG   rH   ÚNotImplementedErrorr   s    r   Útest_power_operatorrZ   �   s{   € ä�q˜!‘tœeŸl™l×2Ñ2Ô3ÐQÐ5QÓQÐ3ô ×Ñ�a˜‘d—^‘^Ó%¨¯	©	«°aÑ'7Ô8ô 
�‰Ô*°,Ô	?ñ Ø	ˆ1Š÷÷ ñ ús   ÂBÂBc                 óB   — t        | | z  t        j                  «      sJ ‚y rQ   )r   r   Úndarrayr   s    r   Útest_sparse_divider]   ™   s   € ä�a˜!‘eœRŸZ™ZÔ(Ð(Ñ(r!   c                 óÐ   — t        j                  t        «      5  t        | | j	                  «       z  t
        j                  j                  «      sJ ‚	 d d d «       y # 1 sw Y   y xY wrQ   )rG   ÚwarnsÚRuntimeWarningr   r.   r3   r4   r5   r   s    r   Útest_sparse_dense_dividera   �   sM   € ô 
�‰”nÓ	%ñ CÜ˜1˜qŸy™y›{™?¬U¯\©\×-AÑ-AÔBÐBÑB÷C÷ Cñ Cús   š8AÁA%c                 ó`   — t        | dz  t        j                  j                  «      sJ d«       ‚y )Nr   r   r>   r   s    r   Útest_dense_dividerc   £   r@   r!   c                 óx   — t        j                  t        «      5  | j                   d d d «       y # 1 sw Y   y xY wrQ   )rG   rH   ÚAttributeErrorr   r   s    r   Útest_no_A_attrrf   ¨   ó*   € ä	�‰”~Ó	&ñ Ø	�Š÷÷ ñ úó   š0°9c                 óx   — t        j                  t        «      5  | j                   d d d «       y # 1 sw Y   y xY wrQ   )rG   rH   re   ÚHr   s    r   Útest_no_H_attrrk   ®   rg   rh   c                 óØ   — t        | j                  d«      t        j                  j                  «      sJ ‚t        | j                  d«      t        j                  j                  «      sJ ‚y )Nr   )r   Ú_getcolr3   r4   r5   Ú_getrowr   s    r   Útest_getrow_getcolro   ´   sF   € ä�a—i‘i “l¤E§L¡L×$8Ñ$8Ô9Ð9Ð9Ü�a—i‘i “l¤E§L¡L×$8Ñ$8Ô9Ð9Ñ9r!   c                 ón   — t        j                  | «      }t        j                  |g d¢z  | g d¢z  «       y )N©r   r   r   r   )ÚsplaÚaslinearoperatorrW   Úassert_allclose)r   ÚLs     r   Útest_as_linearoperatorrv   ¼   s,   € ä×Ñ˜aÓ €AÜ×Ñ˜šLÑ(¨!ªlÑ*:Õ;r!   c                 óR  — | j                   j                  d d dk7  ry t        j                  | «      }t	        |t
        j                  j                  «      sJ ‚t        j                  |j                  «       t        j                  j                  | j                  «       «      «       y ©Nr   r   )r1   r2   rr   Úinvr   r3   r4   r5   rW   rt   r.   r   Úlinalg©r   ÚCs     r   Útest_invr}   Â   sn   € à‡{�{×Ñ˜B˜QÐ 5Ò(Øä�‰�‹€Aä�aœŸ™×-Ñ-Ô.Ð.Ð.Ü×Ñ˜Ÿ	™	›¤R§Y¡Y§]¡]°1·9±9³;Ó%?Õ@r!   c                 ó|  — | j                   j                  d d dk7  ry t        j                  j	                  | «      }t        j                  | «      }t        |t        j                  j                  «      sJ ‚t        j                  |j                  «       t        j                  |«      j                  «       «       y rx   )r1   r2   r3   r4   Ú
csc_matrixrr   Úexpmr   r5   rW   rt   r.   )r   ÚBmatr|   s      r   Ú	test_expmr‚   Í   s„   € à‡{�{×Ñ˜B˜QÐ 5Ò(Øä�<‰<×"Ñ" 1Ó%€Dä�	‰	�!‹€Aä�aœŸ™×-Ñ-Ô.Ð.Ð.Ü×ÑØ	�	‰	‹Ü�	‰	�$‹×ÑÓ!õr!   c           	      óì   — | j                   j                  d d dk7  ry t        j                  t	        j
                  | t        j                  ddg«      «      t	        j                  | «      ddgz  «       y ©Nr   r   r   r   )	r1   r2   rW   rt   rr   Úexpm_multiplyr   Úarrayr€   ©r   s    r   Útest_expm_multiplyrˆ   Ý   s]   € à‡{�{×Ñ˜B˜QÐ 5Ò(Øä×ÑÜ×Ñ˜1œbŸh™h¨¨1 vÓ.Ó/Ü�	‰	�!‹˜˜1�vÑõr!   c                 ó°   — t        j                  | «      }t        j                  |t        j
                  j                  | j                  «       «      «       y rQ   )rr   ÚnormrW   rt   r   rz   r.   )r   r|   s     r   Ú	test_normr‹   è   s2   € ä�	‰	�!‹€AÜ×Ñ˜œ2Ÿ9™9Ÿ>™>¨!¯)©)«+Ó6Õ7r!   c                 ó²   — t        j                  | «      }t        j                  |t        j
                  j                  | j                  «       d«      «       y )Nr   )rr   Ú
onenormestrW   rt   r   rz   rŠ   r.   r{   s     r   Útest_onenormestrŽ   î   s5   € ä�‰˜Ó€AÜ×Ñ˜œ2Ÿ9™9Ÿ>™>¨!¯)©)«+°qÓ9Õ:r!   c                 óð   — | j                   j                  d d dvry t        j                  t	        j
                  | ddg«      t        j                  j                  | j                  «       ddg«      «       y )Nr   )r   r   r   r   )
r1   r2   rW   rt   rr   Úspsolver   rz   Úsolver.   r‡   s    r   Útest_spsolver’   ô   sZ   € à‡{�{×Ñ˜B˜QÐ ~Ñ5Øä×ÑÜ�‰�Q˜˜A˜ÓÜ
�	‰	�‰˜Ÿ	™	› a¨ VÓ,õr!   Úfmtr   r   c                 óØ   — g d¢g d¢g d¢g d¢g}| dk(  r t         j                  j                  |«      }nt         j                  j                  |«      }t	        j
                  |g d¢«       y )N©r   r   r   r   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   r   rq   )r3   r4   rL   Ú	csc_arrayrr   Úspsolve_triangular)r“   Úarrr   s      r   Útest_spsolve_triangularrœ   ÿ   sX   € ò 	ÚÚÚð	€Cð ˆe‚|Ü
�,‰,×
 Ñ
  Ó
%�aä
�,‰,×
 Ñ
  Ó
%€aÜ×Ñ˜Aš|Õ,r!   c                 ó&  — | j                   j                  d d dk7  ry t        j                  | «      }t	        j
                   |t        j                  ddg«      «      t        j                  j                  | j                  «       ddg«      «       y r„   )r1   r2   rr   Ú
factorizedrW   rt   r   r†   rz   r‘   r.   )r   ÚLUs     r   Útest_factorizedr      sk   € à‡{�{×Ñ˜B˜QÐ 5Ò(Øä	�‰˜Ó	€BÜ×ÑÙ
Œ2�8‰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¬«       y )	Nr¨   Úatolgñhãˆµøä>r   r   r   gš™™™™™¹?©r­   )Úgetattrrr   r   r†   rW   rt   )r   r¡   ÚkwargsÚxÚinfos        r   Útest_solversr³     sg   € ð �ÒØ‰à˜$�ˆà#Œg”d˜FÓ# A¤r§x¡x°°A°Ó'7ÑB¸6ÑB�G€A€tØ�1Š9Ðˆ9Ü×Ñ˜˜A˜q˜6¨Ö-r!   ÚlsqrÚlsmrc                 óp   —  t        t        |«      | g d¢«      ^}}t        j                  | |z  g d¢«       y )N©r   r   r   )r¯   rr   rW   rt   )r   r¡   r±   Ú_s       r   Útest_lstsqrr¹   +  s1   € ð "ŒG”D˜&Ó! !¢YÓ/€E€AˆÜ×Ñ˜˜A™šyÕ)r!   c                 óv   — t        j                  | d¬«      \  }}t        j                  | |z  |d   |z  «       y ©Nr   ©Úkr   )rr   ÚeigsrW   rt   ©r   ÚeÚvs      r   Ú	test_eigsrÂ   5  s6   € ä�9‰9�Q˜!Ô�D€A€qÜ×ÑØ	ˆA‰Ø	ˆ!‰ˆq‰õr!   c                 ó”   — | | j                   z   } t        j                  | d¬«      \  }}t        j                  | |z  |d   |z  «       y r»   )rR   rr   ÚeigshrW   rt   r¿   s      r   Ú
test_eigshrÅ   >  sC   € à	ˆA�C‰C‰€AÜ�:‰:�a˜1Ô�D€A€qÜ×ÑØ	ˆA‰Ø	ˆ!‰ˆq‰õr!   c                 ó&  — t        j                  | d¬«      \  }}}t        j                  j	                  | j                  «       «      \  }}}t        j                  |«      }t        j                  |d d «      }t        j                  ||d¬«       y )Nr   r¼   gü©ñÒMbP?r®   )	rr   Úsvdsr   rz   Úsvdr.   ÚsortrW   rt   )r   ÚuÚsÚvhÚu2Ús2Úvh2s          r   Ú	test_svdsrÐ   H  sh   € ä�y‰y˜˜aÔ �H€A€qˆ"Ü—)‘)—-‘- §	¡	£Ó,�K€BˆˆCÜ
�‰�‹
€AÜ	�‰��B�Q�‹€BÜ×Ñ˜˜2 DÖ)r!   c                  óH  — t         j                  j                  g d¢g d¢g d¢g d¢g«      } t        j                  | «      }t        j                  |j                  t        j                  g d¢«      «      t        j                  g d¢t        j                  ¬«      dd¬	«       y ©
Nr•   r–   r—   r˜   rq   r   g›+¡†›„=gMgâñžµ<)Úrtolr­   )r3   r4   r™   rr   ÚsplurW   rt   r‘   r   r†   ÚasarrayÚfloat64©r   rŸ   s     r   Ú	test_splurØ   Q  sp   € Ü�‰×ÑÚÚÚÚð	 ó 	€Aô 
�‰�1‹€BÜ×ÑØ
�‰”—‘š,Ó'Ó(Ü
�
‰
’<¤r§z¡zÔ2Ø˜ör!   c                  óH  — t         j                  j                  g d¢g d¢g d¢g d¢g«      } t        j                  | «      }t        j                  |j                  t        j                  g d¢«      «      t        j                  g d¢t        j                  ¬«      dd¬	«       y rÒ   )r3   r4   r™   rr   ÚspilurW   rt   r‘   r   r†   rÕ   rÖ   r×   s     r   Ú
test_spilurÛ   `  sp   € Ü�‰×ÑÚÚÚÚð	 ó 	€Aô 
�‰�A‹€BÜ×ÑØ
�‰”—‘š,Ó'Ó(Ü
�
‰
’<¤r§z¡zÔ2Ø˜ör!   zcls,indices_attrsÚindicesÚindptrÚrowÚcolÚexpected_dtypec                 ód  — t         j                  j                  t        j                  d«      j                  dd«      «      }|j                  |j                  j                  |«      |j                  j                  |«      ff} | |«      }|D ]  }t        ||«      j                  |k(  rŒJ ‚  | |d¬«      }|D ]  }t        ||«      j                  |k(  rŒJ ‚ t        | t         j                  j                  j                  «      r¨|j                  «       }|j                  |j                   j                  |«      |j"                  j                  |«      f} | |«      }|D ]  }t        ||«      j                  |k(  rŒJ ‚  | |d¬«      }|D ]  }t        ||«      j                  |k(  rŒJ ‚ y y )Né	   r   )r   r   )r   )r3   r4   Ú	coo_arrayr   rM   rN   Ú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ò   o  s«  € ô& —,‘,×(Ñ(¬¯©°1«×)=Ñ)=¸aÀÓ)CÓD€Kà×Ñà�O‰O×"Ñ" >Ó2Ø�O‰O×"Ñ" >Ó2ð	
ð€Iñ �‹^€FØò =ˆÜ�v˜tÓ$×*Ñ*¨nÓ<Ð<Ð<ð=ñ � &Ô)€FØò =ˆÜ�v˜tÓ$×*Ñ*¨nÓ<Ð<Ð<ð=ô �#”u—|‘|×/Ñ/×:Ñ:Ô;Ø%×+Ñ+Ó-ˆà× Ñ Ø×#Ñ#×*Ñ*¨>Ó:Ø×"Ñ"×)Ñ)¨.Ó9ð
ˆ	ñ �Y“ˆØ!ò 	AˆDÜ˜6 4Ó(×.Ñ.°.Ó@Ð@Ð@ð	Añ �Y fÔ-ˆØ!ò 	AˆDÜ˜6 4Ó(×.Ñ.°.Ó@Ð@Ð@ñ	Að <r!   c                  ó’   — t         j                  j                  g d¢«      } t        | t         j                  j                  «      rJ ‚y )N)r   r   r   )r3   r4   Údiagsr   r5   ©Úms    r   Útest_default_is_matrix_diagsr÷   ¤  s3   € Ü�‰×Ñš9Ó%€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  óŽ   — t         j                  j                  d«      } t        | t         j                  j                  «      rJ ‚y ©Nr   )r3   r4   rK   r   r5   rõ   s    r   Útest_default_is_matrix_eyerú   ©  s3   € Ü�‰×Ñ˜Ó€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  ó˜   — t         j                  j                  g d¢ddd«      } t        | t         j                  j                  «      rJ ‚y )Nr·   r   r   )r3   r4   Úspdiagsr   r5   rõ   s    r   Útest_default_is_matrix_spdiagsrý   ®  s9   € Ü�‰×ÑšY¨¨1¨aÓ0€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  óŽ   — t         j                  j                  d«      } t        | t         j                  j                  «      rJ ‚y rù   )r3   r4   Úidentityr   r5   rõ   s    r   Útest_default_is_matrix_identityr   ³  s3   € Ü�‰×Ñ˜aÓ €AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  óô   — t         j                  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 ‚y )Nr   r   r   r   ©r3   r4   Úkronr   r†   r   r5   rõ   s    r   Ú!test_default_is_matrix_kron_denser  ¸  óf   € Ü�‰×ÑÜ
�‰�1�a�&˜1˜a˜&Ð!Ó"¤B§H¡H¨q°!¨f°q¸!°fÐ-=Ó$>ó	€Aô ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  óô   — t         j                  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 ‚y )Nr   r   r   r   r   r  rõ   s    r   Ú"test_default_is_matrix_kron_sparser  ¿  r  r!   c                  óô   — t         j                  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 ‚y )Nr   r   )r3   r4   Úkronsumr   r†   r   r5   rõ   s    r   Útest_default_is_matrix_kronsumr
  Æ  sf   € Ü�‰×ÑÜ
�‰�1�a�&˜1˜a˜&Ð!Ó"¤B§H¡H¨q°!¨f°q¸!°fÐ-=Ó$>ó	€Aô ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  ó�   — t         j                  j                  dd«      } t        | t         j                  j                  «      rJ ‚y rù   )r3   r4   r;   r   r5   rõ   s    r   Útest_default_is_matrix_randomr  Í  s5   € Ü�‰×Ñ˜A˜qÓ!€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  ó�   — t         j                  j                  dd«      } t        | t         j                  j                  «      rJ ‚y rù   )r3   r4   Úrandr   r5   rõ   s    r   Útest_default_is_matrix_randr  Ò  s5   € Ü�‰×Ñ˜!˜QÓ€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   Úfnc                 ó  — t         j                  j                  t        j                  d«      «      }t         j                  j                  ddgddgg«      } | ||g«      }t        |t         j                  j                  «      rJ ‚y)zbSame idea as `test_default_construction_fn_matrices`, but for the
    stacking creation functions.r   r   r   N)r3   r4   Ú
coo_matrixr   rK   r   r5   )r  r   r   rö   s       r   Útest_default_is_matrix_stacksr  ×  sk   € ô 	�‰×Ñ¤§¡ q£	Ó*€AÜ�‰×Ñ ! Q ¨!¨Q¨Ð 0Ó1€AÙ
ˆAˆqˆ6‹
€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  ó  — t         j                  j                  t        j                  d«      «      } t         j                  j                  dgdgg«      }t         j                  j                  dgg«      }t         j                  j                  | ||f«      }t        |t         j                  j                  «      rJ ‚t         j                  j                  | dgd|gg«      }t        |t         j                  j                  «      rJ ‚y)z]Same idea as `test_default_construction_fn_matrices`, but for the block
    creation functionr   r   r   N)	r3   r4   r  r   rK   Ú
block_diagr   r5   Ú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Ñ1Ô2Ð2Ð2ô 	�‰×Ñ˜A˜t˜9 t¨Q iÐ0Ó1€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ð2r!   c                  ó  — t         D ]u  } t        t        j                  | › d�«      } |ddgg«      }|j                  | k(  sJ ‚|j
                  | k(  sJ ‚t        j                  t        «      5  d|_        d d d «       Œw y # 1 sw Y   Œ‚xY w)Nr
   r   r   Úqqq)	Úsparray_typesr¯   r3   r4   ÚformatÚ_formatrG   rH   re   )r“   Úarr_clsÚMs      r   Útest_format_propertyr  ñ  s†   € Üò ˆÜœ%Ÿ,™,¨3¨%¨v¨Ó7ˆÙ�a˜�V�HÓˆØ�x‰x˜3ŠÐˆØ�y‰y˜CÒÐÐÜ�]‰]œ>Ó*ñ 	ØˆAŒH÷	ð 	ñ÷
	ð 	ús   Á-B Â B		c                  óX  — t         j                  j                  d«      } t         j                  j                  | «      }t	        | t         j                  j
                  «      rJ ‚t	        |t         j                  j
                  «      sJ ‚t         j                  j                  |«      sJ ‚t         j                  j                  | «      sJ ‚t         j                  j                  |j                  «       «      rJ ‚t         j                  j                  | j                  «       «      rJ ‚y rù   )r3   r4   rK   rL   r   r5   Úissparser.   ©rö   Úas     r   Útest_issparser$  û  sÑ   € Ü�‰×Ñ˜Ó€AÜ�‰×Ñ˜qÓ!€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ü�aœŸ™×-Ñ-Ô.Ð.Ð.ô �<‰<× Ñ  Ô#Ð#Ð#Ü�<‰<× Ñ  Ô#Ð#Ð#ô �|‰|×$Ñ$ Q§Y¡Y£[Ô1Ð1Ð1Ü�|‰|×$Ñ$ Q§Y¡Y£[Ô1Ð1Ð1Ð1r!   c                  óX  — t         j                  j                  d«      } t         j                  j                  | «      }t	        | t         j                  j
                  «      rJ ‚t	        |t         j                  j
                  «      sJ ‚t         j                  j                  |«      rJ ‚t         j                  j                  | «      sJ ‚t         j                  j                  |j                  «       «      rJ ‚t         j                  j                  | j                  «       «      rJ ‚y rù   )r3   r4   rK   rL   r   r5   Ú
isspmatrixr.   r"  s     r   Útest_isspmatrixr'  
  sÑ   € Ü�‰×Ñ˜Ó€AÜ�‰×Ñ˜qÓ!€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ü�aœŸ™×-Ñ-Ô.Ð.Ð.ô �|‰|×&Ñ& qÔ)Ð)Ð)Ü�<‰<×"Ñ" 1Ô%Ð%Ð%ô �|‰|×&Ñ& q§y¡y£{Ô3Ð3Ð3Ü�|‰|×&Ñ& q§y¡y£{Ô3Ð3Ð3Ð3r!   )r“   r  r   r   r   r   r	   c                 óÂ  — t         j                  j                  d| ¬«      }t         j                  j                  |«      j	                  | «      }t        |t         j                  j                  «      rJ ‚t        |t         j                  j                  «      sJ ‚ ||«      rJ ‚ ||«      sJ ‚ ||j                  «       «      rJ ‚ ||j                  «       «      rJ ‚y )Nr   )r  )r3   r4   rK   rL   Úasformatr   r5   r.   )r“   r  rö   r#  s       r   Útest_isspmatrix_formatr*    s³   € ô 	�‰×Ñ˜ 3ÐÓ'€AÜ�‰×Ñ˜qÓ!×*Ñ*¨3Ó/€AÜ˜!œUŸ\™\×1Ñ1Ô2Ð2Ð2Ü�aœŸ™×-Ñ-Ô.Ð.Ð.ñ �!ŒuÐˆ9ÙˆaŒ5€Lˆ5ñ �!—)‘)“+ŒÐÐÙ�!—)‘)“+ŒÐÐˆr!   )\rG   Únumpyr   Únumpy.testingÚtestingrW   Úscipy.sparser3   Úscipy.sparse.linalgr4   rz   rr   r  r¯   Úsparray_classesr†   r   r   Úfloatr   ÚsparraysÚsquare_sparraysÚeig_sparraysÚmarkÚparametrizeÚparametrize_sparraysÚparametrize_square_sparraysÚparametrize_eig_sparraysr    r$   r+   r/   r9   r<   r?   rD   rO   rT   rZ   r]   Úthread_unsafera   rc   rf   rk   ro   rv   r}   r‚   rˆ   r‹   rŽ   r’   rœ   r    r³   r¹   rÂ   rÅ   rÐ   rØ   rÛ   rL   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*  )rR   r5   s   00r   ú<module>rF     s(  ðÛ Û Ý Û ß "Ð "ð B€ð 2?öØ,-�GˆE�L‰L˜Q˜C˜v˜,Õ'ò€ð €B‡H�HÚÚÚðó €ð €B‡H�HØˆ€FØˆ€Fðó €ð
 €B‡H�HÚÚÚÚð	ð
 
ô€ð '6Ö6˜7‰G�A�JÒ6€Ø-<Ö= '‘7˜1•:Ò=€Ø*9Ö:˜w‘˜•
Ò:€à—{‘{×.Ñ.Øˆ�}ð /ó Ð ð %Ÿk™k×5Ñ5Øˆ˜mð 6ó Ð ð "Ÿ;™;×2Ñ2Øˆ˜=ð 3ó Ð ð
 ñ'ó ð'ð ñ%ó ð%ð
 ñ)ó ð)ð  ñ%ó ð%ð
 ñBó ðBð* ñJó ðJð
 ñSó ðSð ñ=ó ð=ð ñ	;ó ð	;ð ñ?ó ð?ð ñó ðð ñ)ó ð)ð Ø‡�×ÑñCó ó ðCð ñSó ðSð ñó ðð
 ñó ðð
 ñ:ó ð:ð ñ<ó ð<ð
 ñAó ðAð ñó ðð ñó ðð ñ8ó ð8ð
 ñ;ó ð;ð
 ñó ðð ‡�×Ñ˜  e˜}Ó-ñ-ó .ð-ð ñó ðð Ø‡�×ÑØòóñ
.óó ð.ð Ø‡�×ÑØØˆVÐóñ*ó	ó ð
*ð
 ñó ðð ñó ðð ñ*ó ð*òòð ‡�×ÑØð �L‰L×"Ñ"Ø˜Ð!ð	
ð
 �L‰L×"Ñ"Ø˜Ð!ð	
ð
 �L‰L×"Ñ"Ø�EˆNð	
ðóð" ‡�×ÑÐ)¨B¯H©H°b·h±hÐ+?Ó@ñ Aó Aó#ð$ AòF3ò
3ò
3ò
3ò
3ò3ò3ò3ò
3ð
 ‡�×Ñ˜ §¡× 3Ñ 3°U·\±\×5HÑ5HÐIÓJñ3ó Kð3ò3ò ò2ò4ð ‡�×ÑØà	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,Ø	�—‘×+Ñ+Ð,ðóñóñùòwùò. 7ùÚ=ùÚ:s   ¢Q?ÂRÂ/R	ÃR