
    Pih                         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dS )z1Test functions for the sparse.linalg.norm module
    N)norm)assert_allcloseassert_equal)raisesc            
      d   t          j        g d          } t          j        g d          }t          j        g d          }t          j                            || |ffd          }t          j                            || |ffd          }dt           j        d fD ]f}dD ]a}||fD ]Z}t          |                                ||          }t          |||          }	t          |	d	          sJ t          |	|           [bgt          j                            ||ffd
          }
t          j                            ||g dffd          }dt           j        d fD ]R}dD ]M}|
|fD ]F}t          |                                ||          }t          t          |||          |           GNSd S )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               w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/scipy/sparse/linalg/tests/test_norm.pytest_sparray_normr-      s    
(<<<
 
 C
(<<<
 
 C8LLL!!D|%%tc3Z&8%GGH|&&sCj'9&HHH264  / /. 	/ 	/B) / /!!))++3R@@@s444vw/////VX....	/	/ ,(($t(DDK<**D32E+Ff*UUL264  D D 	D 	DB!<0 D D!!))++3R@@@VA3R888(CCCCD	DD D    c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestNormc                     t          j        d          dz
  }|                    d          }t          j                            |          | _        d S )Nr   r   r
   r
   )r   arangereshaper   r   	csr_arrayb)selfar6   s      r,   setup_methodzTestNorm.setup_method'   s@    IaLL1IIf''**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          t          | j                            t          j                  d          d	           t          t          t          | j        d
           d S )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     	tv(9:::tvu--/@AAAtvrv..222tvw//333tvq))1---tvr**A...tv}}RZ88!<<>OPPP 	)6462>>>>>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           d S )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    (8468V:LM 	9 	9GAtF140002CDDDF1e$7779JKKKF1bf4888!<<<F1rvgD9991===F1ad333Q777F1bt444a8888	9 	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 |          |           d S )	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HHVQK$&(A. 	C 	CDAqA5!A#!w. C Cq!$ 7 7 7CCCq"&t < < <iiiHHHqt 4 4 4a888qad ; ; ;Q???qd > > >BBBBC	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           d S )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   FiD#666iD1#666j&!T2666j&!T9===j&!T6:::j&!T6:::j&!T7;;;j&!T1555j&!T2666j&!->BBBj&!->GGGGGr.   N)__name__
__module____qualname__r9   rD   rJ   rN   rU   rP   r.   r,   r0   r0   &   sg        + + +
? ? ?9 9 9C C CH H H H 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
                      d          g dg dgg dg dgfZd Zd	 Zd
 ZdS )TestVsNumpyNormr   r   r2   )r   r	   r
   )r=   r   r   )r   r   r
   )r=   r   y              @c           	         | j         D ]J}| 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                     @Ld S )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( > >KNNq		6!99555q% 0 0&E2B2BCCCq"& 1 16!RV3D3DEEEq26' 2 2F1rvg4F4FGGGq!fQll;;;q"va}}====>	> 	>r.   c                 v   | j         D ]/}| j        D ]#} ||          }dD ]}t          t          ||          t	          ||                     dt
          j        t
          j         ddfD ]2}t          t          |||          t	          |||                     3dD ]}t          t          ||          t	          ||                     t          t          |d|          t	          |d|                     t          t          |d|          t	          |d|                     %1d S )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 	AK( A AKNN0 C CD#F14$8$8$8&:N:N:NOOO$bfrvgq"< C C'q#D(A(A(A(.q#D(A(A(AC C C CC 8 A AD#F14$8$8$8&:N:N:NOOO#F1c$=$=$=$*1c$=$=$=? ? ?#F1e$$?$?$?$*1e$$?$?$?A A A A	AA	A 	Ar.   c                 L   | j         D ]}| j        D ]} ||          }dD ]}t          t          ||          t	          ||                     d dt
          j        t
          j         dddfD ]2}t          t          |||          t	          |||                     3d S )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 	CK( C CKNNH C CD#F14$8$8$8&:N:N:NOOO#QCE C C'q#D(A(A(A(.q#D(A(A(AC C C C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        L"L"L"L"L"L"L"M RYq\\A&&v..		

 		N	> 	> 	>A A A"C C C C 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 7 7 7 7 7 7 7 * * * * * *     . . . . . .
D D D.4H 4H 4H 4H 4H 4H 4H 4Hn8C 8C 8C 8C 8C 8C 8C 8C 8C 8Cr.   