+
    ei0  c                   sn    R t ^ RIt^ RIt^ RIHtHtHtHtHtH	t	 ^ RI
HtHtHtHtHtHt  ! R R4      tR# )z!Test functions for linalg module
N)arangearraydotfloat64linalg	transpose)assert_assert_array_almost_equalassert_array_equalassert_array_lessassert_equalassert_raisesc                   s  a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 t]P                  P                  R
RR.4      R 4       t]P                  P                  RRR.^,          ]P$                  ! R4      .4      R 4       tR tRtV tR# )TestRegressionc                s    \        . RO4      p\        ^\        R7      pRVn        V^,          p\        P
                  ! V4      w  r4VP                  4        VP                  4        \        W14       R# )gӝ'Y@dtypeN)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ۼ        )   r   )r   r    r   shaper   ZeigZsortr   )selfZrvaaZvaZve   &    I/usr/lib64/python3.14/site-packages/numpy/linalg/tests/test_regression.pytest_eig_buildZTestRegression.test_eig_build   sX     , - 7'*FA
	
!"*    c                s|    . ROp\        . RO. RO. RO.4      p\        P                  ! V4      w  r4\        W14       R# )"&Q@N)r   ggdV@g7Z@)g'UlS@4h@%pJ/@)r   g+>V@研qi0)r   r   gJ%~X@)r   r   Zeighr   )r   ZrvalsZcovZvalsZvecsr   r   test_eigh_buildZTestRegression.test_eigh_build+   s9    8<<<> ? [[%
!$.r   c                s   \        R R.RR.RR.RR..4      pVP                  w  r#\        P                  ! V4      w  rEp\	        \        VRVR13,          4      V4      p\        V\        P                  ! R4      4       R# )              ?       @      @:NNNN)   r    )	r   r   r   svdr   r   r   npzeros)r   r   ZmZnuZsZvhb   &       r   test_svd_buildZTestRegression.test_svd_build6   so    B8b"XBx"b:;ww::a=b	!AqrE(#Q'!!RXXf%56r   c                s\    \        \        \        P                  \	        . RO4      R4       R# )r   froN)r   r   r   )r   
ValueErrorr   normr   )r   s   &r   test_norm_vector_badargZ&TestRegression.test_norm_vector_badarg@   s     	j&++u\/BEJr   c                s    \        R R.RR..RR7      p\        VRR7      p\        P                  ! V4      p\        P                  ! V4      p\        W44       R# )gC$ 3@g.ܷ#@z>f8r   z<f8Ng&u)r   r   choleskyr   )r   r   r%   ZapZbpr   r   test_lapack_endianZ!TestRegression.test_lapack_endianE   sS    Y
+,.5:<!5!__Q__Q2"r   c                sr    \         P                  ! R ^B4      p\         P                  P                  V4       R# )i  N)r"   Zeyer   r!   )r   xs   & r   test_large_svd_32bitZ#TestRegression.test_large_svd_32bitO   s"    FF4
		ar   c           
     s   R F  p\         \        3 F  p\        P                  ! WR7      p\        P
                  ! VRR7      p\        P                  ! \        P                  ! V4      R8  4      p\        V^4       \        \        P                  P                  V4      ^4       \        ^\        P                  P                  V^R7      4       \        P                  ! V4      p\        WF4       K  	  K  	  R# )   r   F)Z
compute_uvg      ?ZordN))r0      )r2   r2   )r2   r0   )ZfloatZcomplexr"   Zonesr   r!   Zcount_nonzeroZabsoluter
   matrix_rankr	   r*   Zsvdvalsr   )r   r   Ztr   ZwZcZ	w_svdvalss   &      r   test_svd_no_uvZTestRegression.test_svd_no_uvT   s    +EG^GGE+JJqU3$$R[[^c%9:Q"RYY2215q9!!RYY^^A1^%=>"NN1-	)!7 $ ,r   c                s   \         P                  ! \         P                  ! ^ ^.4      ^ ^ .\        R7      p\        P                  ! V4      p\        V^ ^.4       \        VP                  \         P                  ! R4      8H  4       \        P                  ! V^R7      p\        V^ ^.4       \        VP                  \         P                  ! R4      8g  4       \        P                  ! V^R7      p\        V^ ^.4       \        VP                  \         P                  ! R4      8H  4       \        \        \        P                  VRR7       \        \        \        P                  VRR7       \        \        \        P                  V\         P                  R7       \        \        \        P                  V\         P                  ) R7       \        \        \        P                  V^ R7       \        \        \        P                  VRR7       \        \        \        P                  VRR7       \         P                  ! \         P                  ! ^ ^.4      ^ ^ .. R	O.\        R7      p\        P                  ! V4      p\        V^ ^.4       \        VP                  \         P                  ! R4      8H  4       \        P                  ! VRR7      p\        V^ ^.4       \        VP                  \         P                  ! R4      8H  4       \        \        \        P                  VRR7       \        \        \        P                  V\         P                  R7       \        \        \        P                  V\         P                  ) R7       \        \        \        P                  V^ R7       \        \        \        P                  V^R7       \        \        \        P                  VRR7       \        \        \        P                  V^R7       \        \        \        P                  VRR7       \        \        \        P                  V^R7       R# )
    r   r   r1   r(   ZnucNii)r5   r5   r5   )r"   r   Zobjectr   r*   r   r   r   r   r)   ZinfZ	TypeError)r   Z
testvectorr*   Z
testmatrixs   &   r   test_norm_object_arrayZ%TestRegression.test_norm_object_arrayb   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   ^p^Fp\         P                  P                  W4      R\         P                  P                  W4      ,          ,           p\         P                  P                  W4      R\         P                  P                  W4      ,          ,           pVP                  V4      p\        P
                  ! W5RR7      w  rgr\        Wd4       R# )i   y              ?N)Zrcond)r"   ZrandomZrandnr   r   Zlstsqr   )
r   ZsizeZn_rhsZGr$   r%   Zu_lstsqresZrankZsvs
   &         r   test_lstsq_complex_larger_rhsZ,TestRegression.test_lstsq_complex_larger_rhs   s    IIOOD'"ryyt/J*JJIIOOD(2		0L+LLEE!H!'a$!?d!'-r   upperTFc                sp    \         P                  P                  \         P                  ! R4      VR7      pR# )r5   )r9   N)r5   r5   )r"   r   r,   r#   )r   r9   r7   s   && r   test_cholesky_empty_arrayZ(TestRegression.test_cholesky_empty_array   s&     ii  &!1 ?r   rtolr   c                sr    \         P                  ! R4      p\         P                  P                  W!R7      pR# )r2   )r;   N)r2   r0   r    )r"   r#   r   r3   )r   r;   r.   r7   s   &&  r   test_matrix_rank_rtol_argumentZ-TestRegression.test_matrix_rank_rtol_argument   s)     HHYii##A#1r   c                s   \         P                  ! R \         P                  R7      p\         P                  ! VRV,          34      P                  p\         P
                  ! ^ ^.^^ ..4      p\         P                  ! RV,          V34      P                  p\        ^4       F9  pW#,          p\         P                  ! Wd4      ( P                  4       pV^ 8w  g   K9  K;  	  R# )i  r   Ni)	r"   r    r   ZvstackZTr   ZrangeZiscloseZsum)r   r.   ZsrcZmatrixZexpectedZiZresultZ
mismatchesr&   r   test_openblas_threadingZ&TestRegression.test_openblas_threading   s     IIfBJJ/iiC!G%''Aq6Aq6*+99cAgq\*,,sA\F::f77<<>JQ r    N)r2   )Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r'   r+   r-   r/   r4   r6   r8   pytestZmarkZparametrizer:   r"   r#   r<   r=   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     +.	/7K
#
8+BZ
. [[WtUm4 5
 [[VcC519bhhtn%EF! G!A Ar   r   )Z__doc__r?   Znumpyr"   r    r   r   r   r   r   Znumpy.testingr   r   r   r	   r
   r   r   r>   r   r   <module>r@      s0      @ @ cA cAr   