
    -i<                         S r SSKrSSKrSSKJr  SSKJrJ	r	  SSKJ
r  SSKrSSKJr  S r " S S5      r " S	 S
5      rg)z1Test functions for the sparse.linalg.norm module
    N)norm)assert_allcloseassert_equal)raisesc                  *   [         R                  " / SQ5      n [         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  R	                  X U44SS9n[        R                  R                  X U44SS9nS[         R                  S 4 HV  nS HM  nX44 HC  n[        UR                  5       XVS9n[        XuUS9n	[        U	S	5      (       d   e[        X5        ME     MO     MX     [        R                  R	                  X!44S
S9n
[        R                  R                  X!/ SQ44SS9nS[         R                  S 4 HB  nS H9  nX4 H/  n[        UR                  5       XVS9n[        [        XuUS9U5        M1     M;     MD     g )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               V/var/www/html/venv/lib/python3.13/site-packages/scipy/sparse/linalg/tests/test_norm.pytest_sparray_normr-      s`   
((<
 C
((<
 C88L!D||%%t3Z&8%GH||&&Cj'9&HH2664 .B)!!))+3@4vw////V.	 * / ! ,,(($t(DK<<**D2E+Ff*UL2664 B!0!!))+3@VAR8(C 1  !    c                   d    \ rS rSrS r\R                  R                  S 5       rS r	S r
S rSrg)	TestNorm'   c                     [         R                  " S5      S-
  nUR                  S5      n[        R                  R                  U5      U l        g )Nr   r   r
   r
   )r   arangereshaper   r   	csr_arrayb)selfar7   s      r,   setup_methodTestNorm.setup_method(   s8    IIaL1IIf''*r.   c                    [        [        U R                  5      S5        [        [        U R                  S5      S5        [        [        U R                  [        R                  5      S5        [        [        U R                  [        R                  * 5      S5        [        [        U R                  S5      S5        [        [        U R                  S5      S5        [
        R                  " [        S	S
9   [        [        U R                  R                  [        R                  5      S5      S5        S S S 5        [        [        [        U R                  S5        g ! , (       d  f       N/= f)NNO@fror   r	   r   r      zThe problem size)matchgűd@)r   r   r7   r   r   pytestwarnsUserWarningastypefloat64assert_raisesNotImplementedError)r8   s    r,   test_matrix_normTestNorm.test_matrix_norm-   s     	tvv(9:tvvu-/@Atvvrvv.2tvvw/3tvvq)1-tvvr*A.\\+-?@F466==#<a@-/ A
 	)64662> A@s   6>E
E+c           	         U R                   S 4U R                   S4U R                   R                  S44 H  u  p[        [        XS9S5        [        [        USUS9S5        [        [        U[        R
                  US9S5        [        [        U[        R
                  * US9S5        [        [        USUS9S	5        [        [        US
US9S5        M     g )Nr   r   r   r=   r>   r   r	   r   r   r?   r@   r7   Tr   r   r   r   )r8   mr   s      r,   test_matrix_norm_axisTestNorm.test_matrix_norm_axis@   s    (846688V:LMGAF102CDF1e$79JKF1bff48!<F1rvvgD91=F1ad3Q7F1bt4a8 Nr.   c           
         / SQnU R                   S4U R                   R                  S44 H  u  p#X34US-
  US-
  44 H|  n[        [        USUS9/ SQ5        [        [        U[        R
                  US9/ SQ5        [        [        X$S9U5        [        [        USUS9U5        [        [        US US9U5        M~     M     g )	N)T@glv@rT   r   r   r	   rM   )r   r@   r   )r   r
   r   r   rN   )r8   vrP   r9   r   s        r,   test_vector_normTestNorm.test_vector_normI   s    HVVQK$&&((A.DA5!A#!w.q!$ 7Cq"&&t <iHq 4a8qad ;Q?qd >B / /r.   c                    U R                   n[        [        [        US S5        [        [        [        US S/5        [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        [        [        [        US S5        [        [        [        US	S
5        [        [        [        US	S5        g )Ng      ?r	    )r   r   r	   )r   r   )r   r	   )r   rZ   plate_of_shrimpr   r   )r7   rH   	TypeErrorr   
ValueError)r8   rP   s     r,   test_norm_exceptionsTestNorm.test_norm_exceptionsS   s    FFiD#6iD1#6j&!T26j&!T9=j&!T6:j&!T6:j&!T7;j&!T15j&!T26j&!->Bj&!->Gr.   )r7   N)__name__
__module____qualname____firstlineno__r:   rC   markthread_unsaferJ   rQ   rV   r^   __static_attributes__rY   r.   r,   r0   r0   '   s6    +
 [[? ?$9CHr.   r0   c                      \ rS rSr\R
                  R                  \R
                  R                  \R
                  R                  \R
                  R                  \R
                  R                  \R
                  R                  \R
                  R                  4r\R                  " S5      S-
  R!                  S5      / SQ/ SQ// SQ/ SQ/4rS	 rS
 rS rSrg)TestVsNumpyNormb   r   r   r3   )r   r	   r
   )r?   r   r   )r   r   r
   )r?   r   y              @c           	      X   U R                    GH  nU R                   GH  nU" U5      n[        [        U5      [	        U5      5        [        [        US5      [	        US5      5        [        [        U[
        R                  5      [	        U[
        R                  5      5        [        [        U[
        R                  * 5      [	        U[
        R                  * 5      5        [        [        US5      [	        US5      5        [        [        US5      [	        US5      5        GM     GM     g )Nr>   r   r?   _sparse_types_test_matricesr   r   r   r   r   )r8   sparse_typeMSs       r,   test_sparse_matrix_norms(TestVsNumpyNorm.test_sparse_matrix_normsv   s    --K((Nq	6!95q% 0&E2BCq"&& 16!RVV3DEq266' 2F1rvvg4FGq!fQl;q"va}= ) .r.   c                    U R                    H  nU R                   H  nU" U5      nS Hd  n[        [        X4S9[	        X$S95        S[
        R                  [
        R                  * SS4 H  n[        [        X5US9[	        X%US95        M!     Mf     S HY  n[        [        X4S9[	        X$S95        [        [        USUS9[	        USUS95        [        [        USUS9[	        USUS95        M[     M     M     g )N)Nr   r   rM   r>   r   r?   ))rB   r?   )r?   rB   )r   rB   frk   r8   rn   ro   rp   r   r   s         r,   "test_sparse_matrix_norms_with_axis2TestVsNumpyNorm.test_sparse_matrix_norms_with_axis   s    --K((N0D#F1$8&:NO$bffrvvgq"<'qD(A(.qD(AC  = 1 8D#F1$8&:NO#F1c$=$*1c$=?#F1e$$?$*1e$$?A	 8 ) .r.   c                 8   U R                    H  nU R                   Hw  nU" U5      nS Hf  n[        [        X4S9[	        X$S95        S S[
        R                  [
        R                  * SSS4 H  n[        [        X5US9[	        X%US95        M!     Mh     My     M     g )N)r   r   r?   rB   )r   )r   )r?   )rB   rM   r	   r   g      ?gzG?rk   ru   s         r,   test_sparse_vector_norms(TestVsNumpyNorm.test_sparse_vector_norms   s    --K((NHD#F1$8&:NO#QCE'qD(A(.qD(AC  F I ) .r.   rY   N)r`   ra   rb   rc   r   r   	bsr_arrayr   	csc_arrayr6   	dia_array	dok_array	lil_arrayrl   r   r4   r5   rm   rq   rv   ry   rf   rY   r.   r,   rh   rh   b   s    LL""LL""LL""LL""LL""LL""LL""M YYq\A&&v. N	>A"Cr.   rh   )__doc__rC   numpyr   numpy.linalgr   r   numpy.testingr   r   r   rH   scipy.sparser   scipy.sparse.linalgr   r-   r0   rh   rY   r.   r,   <module>r      s@      ' 7 *  .
D.8H 8Hv8C 8Cr.   