Ë
    âQ(h<  ã                   ó‚   — d Z ddlZddlZddlmZ ddlmZm	Z	 ddlm
Z ddlZddlmZ d„ Z G d„ d«      Z G d	„ d
«      Zy)z1Test functions for the sparse.linalg.norm module
é    N)Únorm)Úassert_allcloseÚassert_equal)Úraisesc            
      óH  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  j	                  || |ffd¬«      }t        j                  j                  || |ffd¬«      }dt         j                  d fD ]V  }dD ]O  }||fD ]F  }t        |j                  «       ||¬«      }t        |||¬«      }	t        |	d	«      sJ ‚t        |	|«       ŒH ŒQ ŒX t        j                  j	                  ||ffd
¬«      }
t        j                  j                  ||g d¢ffd¬«      }dt         j                  d fD ]F  }dD ]?  }|
|fD ]6  }t        |j                  «       ||¬«      }t        t        |||¬«      |«       Œ8 ŒA ŒH y )N)r   r   é   r   )r   r   é   é   )é   é   é   é	   )r	   r   )Úshaper   )r   r   N©r   r   ©r   r   ©ÚordÚaxisÚdtype)r   )r   r   r   r   )r   r   )r   N)ÚnpÚarrayÚscipyÚsparseÚ	coo_arrayÚ
coo_matrixÚinfÚnpnormÚtoarrayÚspnormÚhasattrr   )ÚrowÚcolÚdataÚtest_arrÚtest_matr   ÚaxÚAÚexpectedÚactualÚtest_arr_1dÚtest_mat_cols               úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/sparse/linalg/tests/test_norm.pyÚtest_sparray_normr-      s—  € Ü
�(‰(’<Ó
 €CÜ
�(‰(’<Ó
 €CÜ�8‰8’LÓ!€DÜ�|‰|×%Ñ% t¨c°3¨ZÐ&8ÀÐ%ÓG€HÜ�|‰|×&Ñ&¨¨s°C¨jÐ'9ÀÐ&ÓH€HØ”2—6‘6˜4Ð ò /ˆØ.ò 	/ˆBØ Ð)ò /�Ü! !§)¡)£+°3¸RÔ@�Ü  s°Ô4�Ü˜v wÔ/Ð/Ð/Ü˜V XÕ.ñ	/ñ	/ð/ô —,‘,×(Ñ(¨$°°¨¸tÐ(ÓD€KÜ—<‘<×*Ñ*¨D°3ºÐ2EÐ+FÈfÐ*ÓU€LØ”2—6‘6˜4Ð ò DˆØò 	DˆBØ! <Ð0ò D�Ü! !§)¡)£+°3¸RÔ@�ÜœV A¨3°RÔ8¸(ÕCñDñ	DñDó    c                   ó\   — e Zd Zd„ Zej
                  j                  d„ «       Zd„ Zd„ Z	d„ Z
y)ÚTestNormc                 óž   — t        j                  d«      dz
  }|j                  d«      }t        j                  j                  |«      | _        y )Nr   r   ©r
   r
   )r   ÚarangeÚreshaper   r   Ú	csr_arrayÚb)ÚselfÚar6   s      r,   Úsetup_methodzTestNorm.setup_method(   s8   € Ü�I‰I�a‹L˜1ÑˆØ�I‰I�fÓˆÜ—‘×'Ñ'¨Ó*ˆ�r.   c                 óÖ  — t        t        | j                  «      d«       t        t        | j                  d«      d«       t        t        | j                  t        j                  «      d«       t        t        | j                  t        j                   «      d«       t        t        | j                  d«      d«       t        t        | j                  d«      d«       t        j                  t        d	¬
«      5  t        t        | j                  j                  t        j                  «      d«      d«       d d d «       t        t        t        | j                  d«       y # 1 sw Y   Œ*xY w)NçÚNO±Þû@Úfror   r	   r   r   éÿÿÿÿé   zThe problem size)ÚmatchgÅ±Õd@éþÿÿÿ)r   r   r6   r   r   ÚpytestÚwarnsÚUserWarningÚastypeÚfloat64Úassert_raisesÚNotImplementedError)r7   s    r,   Útest_matrix_normzTestNorm.test_matrix_norm-   sé   € ô 	œ˜tŸv™v›Ð(9Ô:Üœ˜tŸv™v uÓ-Ð/@ÔAäœ˜tŸv™v¤r§v¡vÓ.°Ô2Üœ˜tŸv™v¬¯© wÓ/°Ô3Üœ˜tŸv™v qÓ)¨1Ô-Üœ˜tŸv™v rÓ*¨AÔ.ä�\‰\œ+Ð-?Ô@ñ 	/ÜœF 4§6¡6§=¡=´·±Ó#<¸aÓ@Ø-ô/÷	/ô
 	Ô)¬6°4·6±6¸2Õ>÷	/ð 	/ús   Ã8>EÅE(c                 óÒ  — | j                   d f| j                   df| j                   j                  dffD ]±  \  }}t        t        ||¬«      d«       t        t        |d|¬«      d«       t        t        |t        j
                  |¬«      d«       t        t        |t        j
                   |¬«      d«       t        t        |d|¬«      d	«       t        t        |d
|¬«      d«       Œ³ y )Nr   r   ©r   r;   r<   r   r	   r   r   r=   r>   ©r6   ÚTr   r   r   r   )r7   Úmr   s      r,   Útest_matrix_norm_axiszTestNorm.test_matrix_norm_axis@   s¶   € ØŸ™ ˜¨¯©°Ð(8¸4¿6¹6¿8¹8ÀVÐ:LÐMò 	9‰GˆAˆtÜœF 1¨4Ô0Ð2CÔDÜœF 1 e°$Ô7Ð9JÔKÜœF 1¤b§f¡f°4Ô8¸!Ô<ÜœF 1¤r§v¡v g°DÔ9¸1Ô=ÜœF 1 a¨dÔ3°QÔ7ÜœF 1 b¨tÔ4°aÕ8ñ	9r.   c           	      ó   — g d¢}| j                   df| j                   j                  dffD ]¡  \  }}||f|dz
  |dz
  ffD ]‹  }t        t        |d|¬«      g d¢«       t        t        |t        j
                  |¬«      g d¢«       t        t        ||¬«      |«       t        t        |d|¬«      |«       t        t        |d |¬«      |«       Œ� Œ£ y )	N)ç…¹ŽT@gÙlßÌvø@rP   r   r   r	   rJ   )r   r>   r   )r   r
   r   r   rK   )r7   ÚvrM   r8   r   s        r,   Útest_vector_normzTestNorm.test_vector_normI   s¼   € ÚHˆØ—V‘V˜Q�K $§&¡&§(¡(¨A Ð.ò 	C‰DˆAˆqØ˜A˜5 ! A¡#¨¨!© wÐ.ò C�Ü¤ q¨!°$Ô 7ºÔCÜ¤ q¬"¯&©&°tÔ <ºiÔHÜ¤ q¨tÔ 4°aÔ8Ü¤ q¨a°dÔ ;¸QÔ?Ü¤ q¨d¸Ô >ÀÕBñCñ	Cr.   c                 ó  — | j                   }t        t        t        |d d«       t        t        t        |d dg«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d d«       t        t        t        |d	d
«       t        t        t        |d	d«       y )Ng      ø?r	   © )r   r   r	   )r   r   )r   r	   )éýÿÿÿr   rU   Úplate_of_shrimpr   r   )r6   rF   Ú	TypeErrorr   Ú
ValueError)r7   rM   s     r,   Útest_norm_exceptionszTestNorm.test_norm_exceptionsS   s¿   € Ø�F‰FˆÜ”i¤¨¨D°#Ô6Ü”i¤¨¨D°1°#Ô6Ü”j¤&¨!¨T°2Ô6Ü”j¤&¨!¨T°9Ô=Ü”j¤&¨!¨T°6Ô:Ü”j¤&¨!¨T°6Ô:Ü”j¤&¨!¨T°7Ô;Ü”j¤&¨!¨T°1Ô5Ü”j¤&¨!¨T°2Ô6Ü”j¤&¨!Ð->ÀÔBÜ”j¤&¨!Ð->ÀÕGr.   N)Ú__name__Ú
__module__Ú__qualname__r9   rA   ÚmarkÚthread_unsaferH   rN   rR   rY   rT   r.   r,   r0   r0   '   s6   „ ò+ð
 ‡[�[×Ññ?ó ð?ò$9òCóHr.   r0   c                   ó®  — e Zd Zej                  j
                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  fZ ej                  d«      dz
  j                  d«      g d¢g d¢gg d¢g d¢gfZd„ Zd	„ Zd
„ Zy)ÚTestVsNumpyNormr   r   r2   )r   r	   r
   )r=   r   r   )r   r   r
   )r=   r   y              @c           	      óP  — | j                   D �]  }| j                  D �]  } ||«      }t        t        |«      t	        |«      «       t        t        |d«      t	        |d«      «       t        t        |t
        j                  «      t	        |t
        j                  «      «       t        t        |t
        j                   «      t	        |t
        j                   «      «       t        t        |d«      t	        |d«      «       t        t        |d«      t	        |d«      «       �Œ �Œ y )Nr<   r   r=   ©Ú_sparse_typesÚ_test_matricesr   r   r   r   r   )r7   Úsparse_typeÚMÚSs       r,   Útest_sparse_matrix_normsz(TestVsNumpyNorm.test_sparse_matrix_normsv   sÏ   € Ø×-Ñ-ó 	>ˆKØ×(Ñ(ó >�Ù “N�Ü¤ q£	¬6°!«9Ô5Ü¤ q¨%Ó 0´&¸¸EÓ2BÔCÜ¤ q¬"¯&©&Ó 1´6¸!¼R¿V¹VÓ3DÔEÜ¤ q¬2¯6©6¨'Ó 2´F¸1¼r¿v¹v¸gÓ4FÔGÜ¤ q¨!£¬f°Q¸«lÔ;Ü¤ q¨"£¬v°a¸«}Ö=ò>ñ	>r.   c                 ó*  — | j                   D �]  }| j                  D ]ñ  } ||«      }dD ]q  }t        t        ||¬«      t	        ||¬«      «       dt
        j                  t
        j                   ddfD ]&  }t        t        |||¬«      t	        |||¬«      «       Œ( Œs dD ]l  }t        t        ||¬«      t	        ||¬«      «       t        t        |d|¬«      t	        |d|¬«      «       t        t        |d|¬«      t	        |d|¬«      «       Œn Œó �Œ y )N)Nr   r   rJ   r<   r   r=   ))r@   r=   )r=   r@   )r   r@   Úfrb   ©r7   re   rf   rg   r   r   s         r,   Ú"test_sparse_matrix_norms_with_axisz2TestVsNumpyNorm.test_sparse_matrix_norms_with_axis�   s  € Ø×-Ñ-ó 	AˆKØ×(Ñ(ò A�Ù “N�Ø0ò C�DÜ#¤F¨1°4Ô$8¼&ÀÈÔ:NÔOØ$¤b§f¡f¬r¯v©v¨g°q¸"Ð<ò C˜Ü'¬¨q°#¸DÔ(AÜ(.¨q°#¸DÔ(AõCñCðCð 8ò A�DÜ#¤F¨1°4Ô$8¼&ÀÈÔ:NÔOÜ#¤F¨1¨c¸Ô$=Ü$*¨1¨c¸Ô$=ô?ä#¤F¨1¨e¸$Ô$?Ü$*¨1¨e¸$Ô$?õAñ	AòAñ	Ar.   c                 óH  — | j                   D ]“  }| j                  D ]‚  } ||«      }dD ]s  }t        t        ||¬«      t	        ||¬«      «       d dt
        j                  t
        j                   dddfD ]&  }t        t        |||¬«      t	        |||¬«      «       Œ( Œu Œ„ Œ• y )N)r   r   r=   r@   )r   )r   )r=   )r@   rJ   r	   r   g      à?gáz®GáÚ?rb   rk   s         r,   Útest_sparse_vector_normsz(TestVsNumpyNorm.test_sparse_vector_norms’   s¬   € Ø×-Ñ-ò 	CˆKØ×(Ñ(ò C�Ù “N�ØHò C�DÜ#¤F¨1°4Ô$8¼&ÀÈÔ:NÔOØ# Q¬¯©´·±°¸¸CÀÐEò C˜Ü'¬¨q°#¸DÔ(AÜ(.¨q°#¸DÔ(AõCñCñCñCñ	Cr.   N)rZ   r[   r\   r   r   Ú	bsr_arrayr   Ú	csc_arrayr5   Ú	dia_arrayÚ	dok_arrayÚ	lil_arrayrc   r   r3   r4   rd   rh   rl   rn   rT   r.   r,   r`   r`   b   s³   „ à�L‰L×"Ñ"Ø�L‰L×"Ñ"Ø�L‰L×"Ñ"Ø�L‰L×"Ñ"Ø�L‰L×"Ñ"Ø�L‰L×"Ñ"Ø�L‰L×"Ñ"ð€Mð ˆR�Y‰Y�q‹\˜AÑ×&Ñ& vÓ.âÚðò Úðð€Nò	>òAó"Cr.   r`   )Ú__doc__rA   Únumpyr   Únumpy.linalgr   r   Únumpy.testingr   r   r   rF   Úscipy.sparser   Úscipy.sparse.linalgr   r-   r0   r`   rT   r.   r,   ú<module>rz      s@   ðñó Û Ý 'ß 7Ý *ã Ý .ò
D÷.8Hñ 8H÷v8Cò 8Cr.   