
    Kh!                     l    S r SSKrSSKrSSKJrJrJrJrJrJ	r	  SSK
JrJrJrJrJrJr   " S S5      rg)z!Test functions for linalg module
    N)linalgarangefloat64arraydot	transpose)assert_assert_raisesassert_equalassert_array_equalassert_array_almost_equalassert_array_lessc                   
   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/S-  \R$                  " S5      /5      S 5       rS rSrg)TestRegression   c                     [        / SQ5      n[        S[        S9nSUl        US-  n[        R
                  " U5      u  p4UR                  5         UR                  5         [        X15        g )N)yӝ'Y@        yF.<2/3        yʹLTW9>/@yʹLTW9>/y=J&        ytV)忷B$@ytV)忷B$yZynFr62@        y(3%@        y:@        yCr~        yYqs`<        yt&Aۼ           dtype)   r      )r   r   r   shaper   eigsortr   )selfrvaavaves        T/var/www/html/env/lib/python3.13/site-packages/numpy/linalg/tests/test_regression.pytest_eig_buildTestRegression.test_eig_build   sX     , - 7'*FA
	
!"*    c                 z    / SQn[        / SQ/ SQ/ SQ/5      n[        R                  " U5      u  p4[        X15        g )N)g"&Q@ggdV@g7Z@)g'UlS@4h@%pJ/@)r%   g+>V@研qi0)r&   r'   gJ%~X@)r   r   eighr   )r   rvalscovvalsvecss        r    test_eigh_buildTestRegression.test_eigh_build'   s;    8>=>@ A [[%
!$.r#   c                     [        SS/SS/SS/SS//5      nUR                  u  p#[        R                  " U5      u  pEn[	        [        US S 2US 24   5      U5      n[        U[        R                  " S5      5        g )N              ?       @      @)   r4   )	r   r   r   svdr   r   r   npzeros)r   r   mnusvhbs           r    test_svd_buildTestRegression.test_svd_build2   so    B8b"XBx"b:;ww::a=b	!AqrE(#Q'!!RXXf%56r#   c                 Z    [        [        [        R                  [	        / SQ5      S5        g )N)r1   r2   r3   fro)r
   
ValueErrorr   normr   )r   s    r    test_norm_vector_badarg&TestRegression.test_norm_vector_badarg<   s     	j&++u\/BEJr#   c                     [        SS/SS//SS9n[        USS9n[        R                  " U5      n[        R                  " U5      n[        X45        g )NgC$ 3@g&ug.ܷ#@z>f8r   z<f8)r   r   choleskyr   )r   r   r=   apbps        r    test_lapack_endian!TestRegression.test_lapack_endianA   sS    I
+*-/6;=!5!__Q__Q2"r#   c                 p    [         R                  " SS5      n[         R                  R                  U5        g )Ni  B   )r6   eyer   r5   )r   xs     r    test_large_svd_32bit#TestRegression.test_large_svd_32bitK   s"    FF4
		ar#   c           
         S H  n[         [        4 H  n[        R                  " XS9n[        R
                  " USS9n[        R                  " [        R                  " U5      S:  5      n[        US5        [        [        R                  R                  U5      S5        [        S[        R                  R                  USS95        [        R                  " U5      n[        XF5        M     M     g )	N))      )rT   rT   )rT   rS   r   F)
compute_uvg      ?   r4   ord)floatcomplexr6   onesr   r5   count_nonzeroabsoluter   matrix_rankr   rC   svdvalsr   )r   r   tr   wc	w_svdvalss          r    test_svd_no_uvTestRegression.test_svd_no_uvP   s    +EG^GGE+JJqU3$$R[[^c%9:Q"RYY2215q9!!RYY^^A1^%=>"NN1-	)!7 $ ,r#   c                 "   [         R                  " [         R                  " SS/5      SS/[        S9n[        R                  " U5      n[        USS/5        [        UR                  [         R                  " S5      :H  5        [        R                  " USS9n[        USS/5        [        UR                  [         R                  " S5      :g  5        [        R                  " USS9n[        USS/5        [        UR                  [         R                  " S5      :H  5        [        [        [        R                  USS9  [        [        [        R                  USS9  [        [        [        R                  U[         R                  S9  [        [        [        R                  U[         R                  * S9  [        [        [        R                  USS9  [        [        [        R                  US	S9  [        [        [        R                  US
S9  [         R                  " [         R                  " SS/5      SS// SQ/[        S9n[        R                  " U5      n[        USS/5        [        UR                  [         R                  " S5      :H  5        [        R                  " USS9n[        USS/5        [        UR                  [         R                  " S5      :H  5        [        [        [        R                  USS9  [        [        [        R                  U[         R                  S9  [        [        [        R                  U[         R                  * S9  [        [        [        R                  USS9  [        [        [        R                  USS9  [        [        [        R                  US	S9  [        [        [        R                  USS9  [        [        [        R                  US
S9  [        [        [        R                  USS9  g )Nr   rV   r   r   rW   r4   rA   nuc)r   r   r   rS   )r6   r   objectr   rC   r   r	   r   r
   rB   inf	TypeError)r   
testvectorrC   
testmatrixs       r    test_norm_object_array%TestRegression.test_norm_object_array^   s   XXrxxA/A6fE
{{:&4!Q(

bhhy112{{:1-4!Q(

bhhy112{{:1-4!Q(

bhhy112j&++zuEj&++zuEj&++zrvvFj&++zwGj&++zqAj&++zrBj&++zrBXX!Q 0!Q779@FH
 {{:&4!Q(

bhhy112{{:514!Q(

bhhy112ijeDj&++zrvvFj&++zwGj&++zqAj&++zqAj&++zrBija@ijbAj&++zqAr#   c                 |   SnSn[         R                  R                  X5      S[         R                  R                  X5      -  -   n[         R                  R                  X5      S[         R                  R                  X5      -  -   nUR                  U5      n[        R
                  " X5S S9u  pgp[        Xd5        g )N   F   y              ?)rcond)r6   randomrandnr   r   lstsqr   )
r   sizen_rhsGr:   r=   u_lstsqresranksvs
             r    test_lstsq_complex_larger_rhs,TestRegression.test_lstsq_complex_larger_rhs   s    IIOOD'"ryyt/J*JJIIOOD(2		0L+LLEE!H!'a$!?d!'-r#   upperTFc                     [         R                  R                  [         R                  " S5      US9nUR                  S:X  d   eg )N)r   r   )r   r   )r6   r   rG   r7   rx   )r   r   r|   s      r    test_cholesky_empty_array(TestRegression.test_cholesky_empty_array   s6     ii  &!1 ?xx1}}r#   rtolr0   rT   rT   c                     [         R                  " S5      n[         R                  R                  X!S9nUR                  S:X  d   eg )N)rT   rS   r4   )r   r   )r6   r7   r   r^   r   )r   r   rO   r|   s       r    test_matrix_rank_rtol_argument-TestRegression.test_matrix_rank_rtol_argument   s;     HHYii##A#1yyD   r#   c                    [         R                  " S[         R                  S9n[         R                  " USU-  45      R                  n[         R
                  " SS/SS//5      n[         R                  " SU-  U45      R                  n[        S5       H9  nX#-  n[         R                  " Xd5      ) R                  5       nUS:w  d  M4   S5       e   g )Ni  r   ir   rV      zHunexpected result from matmul, probably due to OpenBLAS threading issues)	r6   r   r   vstackTr   rangeisclosesum)r   rO   srcmatrixexpectediresult
mismatchess           r    test_openblas_threading&TestRegression.test_openblas_threading   s     IIfBJJ/iiCE
#%%Aq6Aq6*+99c!eQZ(**sA\F::f77<<>JQA  @ Au	 r#    N)__name__
__module____qualname____firstlineno__r!   r-   r>   rD   rJ   rP   rd   ro   r   pytestmarkparametrizer   r6   r7   r   r   __static_attributes__r   r#   r    r   r      s    +.	/7K
#
8+BZ
. [[WtUm4 5
 [[VcC519bhhtn%EF! G!Ar#   r   )__doc__r   numpyr6   r   r   r   r   r   r   numpy.testingr	   r
   r   r   r   r   r   r   r#   r    <module>r      s0      @ @ cA cAr#   