
    Ng:                     t    d Z ddlZddlZddlmZmZmZmZmZm	Z	 ddl
mZmZmZmZmZmZ  G d d          ZdS )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                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestRegressionc                 
   t          g d          }t          dt                    }d|_        |dz  }t	          j        |          \  }}|                                 |                                 t          ||           d S )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        ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/numpy/linalg/tests/test_regression.pytest_eig_buildzTestRegression.test_eig_build   s     , , , - - 7'***FAB
			


!"c*****    c                     g d}t          g dg dg dg          }t          j        |          \  }}t          ||           d S )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_buildzTestRegression.test_eigh_build&   sj    888>>>===>>>@ A A [%%
d!$.....r!   c                    t          ddgddgddgddgg          }|j        \  }}t          j        |          \  }}}t	          t          |d d |d f                   |          }t          |t          j        d                     d S )Ng              ?       @      @)   r0   )	r   r   r   svdr   r   r   npzeros)r   r   mnusvhbs           r   test_svd_buildzTestRegression.test_svd_build1   s    B8b"XBx"b:;;w1:a==1b	!AAAqrrE(##Q''!!RXf%5%566666r!   c                 f    t          t          t          j        t	          g d          d           d S )N)r-   r.   r/   fro)r
   
ValueErrorr   normr   )r   s    r   test_norm_vector_badargz&TestRegression.test_norm_vector_badarg;   s,     	j&+u\\\/B/BEJJJJJr!   c                     t          ddgddggd          }t          |d          }t          j        |          }t          j        |          }t          ||           d S )NgC$ 3@g&ug.ܷ#@z>f8r   z<f8)r   r   choleskyr   )r   r   r9   apbps        r   test_lapack_endianz!TestRegression.test_lapack_endian@   ss    I
+*-/6;= = =!5!!!_Q_Q2r"""""r!   c                 n    t          j        dd          }t           j                            |           d S )Ni  B   )r2   eyer   r1   )r   xs     r   test_large_svd_32bitz#TestRegression.test_large_svd_32bitJ   s-    F4
	ar!   c           	         dD ]}t           t          fD ]}t          j        ||          }t	          j        |d          }t          j        t          j        |          dk              }t          |d           t          t          j        	                    |          d           t          dt          j                            |d                     Ōd S )	N))      )rL   rL   )rL   rK   r   F)
compute_uvg      ?   r0   ord)floatcomplexr2   onesr   r1   count_nonzeroabsoluter   matrix_rankr   r>   )r   r   tr   wcs         r   test_svd_no_uvzTestRegression.test_svd_no_uvO   s    + 	? 	?EG^ ? ?GE+++JqU333$R[^^c%9::Q"""RY22155q999!!RY^^A1^%=%=>>>>?	? 	?r!   c                    t          j        t          j        ddg          ddgt                    }t          j        |          }t          |ddg           t          |j        t          j        d          k               t          j        |d          }t          |ddg           t          |j        t          j        d          k               t          j        |d          }t          |ddg           t          |j        t          j        d          k               t          t          t          j        |d           t          t          t          j        |d           t          t          t          j        |t           j
                   t          t          t          j        |t           j
                    t          t          t          j        |d           t          t          t          j        |d	           t          t          t          j        |d
           t          j        t          j        ddg          ddgg dgt                    }t          j        |          }t          |ddg           t          |j        t          j        d          k               t          j        |d          }t          |ddg           t          |j        t          j        d          k               t          t          t          j        |d           t          t          t          j        |t           j
                   t          t          t          j        |t           j
                    t          t          t          j        |d           t          t          t          j        |d           t          t          t          j        |d	           t          t          t          j        |d           t          t          t          j        |d
           t          t          t          j        |d           d S )Nr   rN   r   r   rO   r0   r<   nuc)r   r   r   rK   )r2   r   objectr   r>   r   r	   r   r
   r=   inf	TypeError)r   
testvectorr>   
testmatrixs       r   test_norm_object_arrayz%TestRegression.test_norm_object_arrayZ   si   XrxA//A6fEEE
{:&&4!Q(((
bhy111222{:1---4!Q(((
bhy111222{:1---4!Q(((
bhy111222j&+zuEEEEj&+zuEEEEj&+zrvFFFFj&+zwGGGGj&+zqAAAAj&+zrBBBBj&+zrBBBBX!Q 0 0!Q77779@FH H H
 {:&&4!Q(((
bhy111222{:51114!Q(((
bhy111222ijeDDDDj&+zrvFFFFj&+zwGGGGj&+zqAAAAj&+zqAAAAj&+zrBBBBija@@@@ijbAAAAj&+zqAAAAAAr!   c                    d}d}t           j                            ||          dt           j                            ||          z  z   }t           j                            ||          dt           j                            ||          z  z   }|                    |          }t	          j        ||d           \  }}}}	t          ||           d S )N   F   y              ?)rcond)r2   randomrandnr   r   lstsqr   )
r   sizen_rhsGr6   r9   u_lstsqresranksvs
             r   test_lstsq_complex_larger_rhsz,TestRegression.test_lstsq_complex_larger_rhs   s    IOOD$''"rytT/J/J*JJIOOD%((2	e0L0L+LLEE!HH!'a$!?!?!?dB!'1-----r!   N)__name__
__module____qualname__r    r+   r:   r?   rD   rI   rZ   rd   rs    r!   r   r   r      s        + + +.	/ 	/ 	/7 7 7K K K
# # #  
	? 	? 	?+B +B +BZ
. 
. 
. 
. 
.r!   r   )__doc__warningsnumpyr2   r   r   r   r   r   r   numpy.testingr	   r
   r   r   r   r   r   rw   r!   r   <module>r|      s          @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @               D. D. D. D. D. D. D. D. D. D.r!   