
    rih                     z    d 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/auto_recruiter/arenv/lib/python3.12/site-packages/scipy/sparse/linalg/tests/test_norm.pytest_sparray_normr-      s   
((<
 C
((<
 C88L!D||%%tc3Z&8%GH||&&sCj'9&HH2664  /. 	/B) /!!))+3R@s4vw///VX.	/	// ,,(($t(DK<<**D32E+Ff*UL2664  D 	DB!<0 D!!))+3R@VA3R8(CD	DD    c                   *    e Zd Zd Z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    IIaL1IIf''*r.   c                 v   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        t        | j                  j                  t        j                        d      d	       t        t        t        | j                  d
       y )NNO@fror   r	   r   r      gűd@)	r   r   r6   r   r   astypefloat64assert_raisesNotImplementedError)r7   s    r,   test_matrix_normzTestNorm.test_matrix_norm,   s     	tvv(9:tvvu-/@Atvvrvv.2tvvw/3tvvq)1-tvvr*A.tvv}}RZZ8!<>OP 	)64662>r.   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    (846688V:LM 	9GAtF1402CDF1e$79JKF1bff48!<F1rvvgD91=F1ad3Q7F1bt4a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@glv@rL   r   r   r	   rF   )r   r>   r   )r   r
   r   r   rG   )r7   vrI   r8   r   s        r,   test_vector_normzTestNorm.test_vector_normD   s    HVVQK$&&((A. 	CDAqA5!A#!w. Cq!$ 7Cq"&&t <iHqt 4a8qad ;Q?qd >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   rQ   plate_of_shrimpr   r   )r6   rB   	TypeErrorr   
ValueError)r7   rI   s     r,   test_norm_exceptionszTestNorm.test_norm_exceptionsN   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.   N)__name__
__module____qualname__r9   rD   rJ   rN   rU   rP   r.   r,   r0   r0   &   s    +
?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_normsq   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                 *   | 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   rF   r<   r   r=   ))r?   r=   )r=   r?   )r   r?   fr\   r7   r_   r`   ra   r   r   s         r,   "test_sparse_matrix_norms_with_axisz2TestVsNumpyNorm.test_sparse_matrix_norms_with_axis|   s   -- 	AK(( AN0 CD#F14$8&:NO$bffrvvgq"< C'q#D(A(.q#D(ACCC 8 AD#F14$8&:NO#F1c$=$*1c$=?#F1e$$?$*1e$$?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?   rF   r	   r   g      ?gzG?r\   re   s         r,   test_sparse_vector_normsz(TestVsNumpyNorm.test_sparse_vector_norms   s    -- 	CK(( CNH CD#F14$8&:NO#QCE C'q#D(A(.q#D(ACCCC	Cr.   N)rV   rW   rX   r   r   	bsr_arrayr   	csc_arrayr5   	dia_array	dok_array	lil_arrayr]   r   r3   r4   r^   rb   rf   rh   rP   r.   r,   rZ   rZ   ]   s    LL""LL""LL""LL""LL""LL""LL""M RYYq\A&&v. N	>A"Cr.   rZ   )__doc__numpyr   numpy.linalgr   r   numpy.testingr   r   pytestr   rB   scipy.sparser   scipy.sparse.linalgr   r-   r0   rZ   rP   r.   r,   <module>ru      s=     ' 7 *  .
D.4H 4Hn8C 8Cr.   