§
    `Štj‡  ã                   óx   — 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mZ  G d„ d¦  «        ZdS )z" Test functions for linalg module
é    N)ÚarangeÚarrayÚdotÚfloat64ÚlinalgÚ	transpose)Úassert_Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_array_lessÚassert_equalÚassert_raisesc                   óP  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                             d
ddg¦  «        d„ ¦   «         Zej                             dddgdz   ej        d¦  «        g¦  «        d„ ¦   «         Zej                             d¬¦  «        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Tã¿WŒ¡9>°/@yšÊ¹LTã¿WŒ¡9>°/Ày=J€õ½&À        yt…�V)å¿·BÜÅÉÕ$@yt…�V)å¿·BÜÅÉÕ$ÀyZynFr62@        yÝ(�Ã3%@        yÖ´:@        yCr~è¿        y§Y·qs`Û<        yt&²üáAÛ¼        é©   ©Údtype)é   r   é   )r   r   r   Úreshaper   ÚeigÚsortr   )ÚselfÚrvaÚaÚvaÚves        ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/linalg/tests/test_regression.pyÚtest_eig_buildzTestRegression.test_eig_build   s�   € åð ,ð ,ð ,ñ -ô -ˆõ �7¥'Ð*Ñ*Ô*ˆØ�IŠI�hÑÔˆØ�‰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@gƒ»7¯ÿªZ@)g'ŽU­ùlS@ç4h¦ƒ@ç%p±ÃJ/@)r$   g›+÷À>V@ç ”Þqi0ñ¿)r%   r&   gJ%~½©‹X@)r   r   Úeighr   )r   ÚrvalsÚcovÚvalsÚvecss        r    Útest_eigh_buildzTestRegression.test_eigh_build,   sg   € à8Ð8Ð8ˆåÐ<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<ð>ñ ?ô ?ˆõ ”[ Ñ%Ô%‰
ˆˆ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 )Nç        ç      ð?ç       @ç      @)é   r2   )	r   Úshaper   Úsvdr   r   r   ÚnpÚzeros)r   r   ÚmÚnÚuÚsÚvhÚbs           r    Útest_svd_buildzTestRegression.test_svd_build7   s�   € å�B˜�8˜b "˜X¨¨B x°"°b°Ð:Ñ;Ô;ˆØŒw‰ˆˆ1Ý”:˜a‘=”=‰ˆˆ1ˆbå•	˜!˜A˜A˜A˜q˜r˜r˜Eœ(Ñ#Ô# QÑ'Ô'ˆå! !¥R¤X¨fÑ%5Ô%5Ñ6Ô6Ð6Ð6Ð6r"   c                 óf   — t          t          t          j        t	          g d¢¦  «        d¦  «         d S )N)r/   r0   r1   Úfro)r   Ú
ValueErrorr   Únormr   )r   s    r    Útest_norm_vector_badargz&TestRegression.test_norm_vector_badargA   s,   € õ 	•j¥&¤+­u°\°\°\Ñ/BÔ/BÀEÑJÔJÐJÐJÐJr"   c                 óÆ   — t          ddgddggd¬¦  «        }t          |d¬¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          ||¦  «         d S )Ng¬C$ù 3@gàŽ&ÍÕuÀg.¼Ü·#@z>f8r   z<f8)r   r   Úcholeskyr   )r   r   r<   ÚapÚbps        r    Útest_lapack_endianz!TestRegression.test_lapack_endianF   ss   € å�Y 
Ð+Ø Ð,ð.Ø5:ð<ñ <ô <ˆå�!˜5Ð!Ñ!Ô!ˆåŒ_˜QÑÔˆÝŒ_˜QÑÔˆÝ˜2˜rÑ"Ô"Ð"Ð"Ð"r"   c                 ón   — t          j        dd¦  «        }t           j                             |¦  «         d S )Niè  éB   )r5   Úeyer   r4   )r   Úxs     r    Útest_large_svd_32bitz#TestRegression.test_large_svd_32bitP   s-   € åŒF�4˜ÑÔˆÝ
Œ	�Š�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¬¦  «        ¦  «         t	          j        |¦  «        }t          ||¦  «         ŒéŒúd S )	N))é   é   )rO   rO   )rO   rN   r   F)Ú
compute_uvg      à?é   r2   ©Úord)ÚfloatÚcomplexr5   Úonesr   r4   Úcount_nonzeroÚabsoluter   Úmatrix_rankr   rA   Úsvdvalsr   )r   r3   Útr   ÚwÚcÚ	w_svdvalss          r    Útest_svd_no_uvzTestRegression.test_svd_no_uvU   sì   € à+ð 
	8ð 
	8ˆEÝ�G�^ð 	8ð 	8�Ý”G˜E¨Ð+Ñ+Ô+�Ý”J˜q¨UÐ3Ñ3Ô3�ÝÔ$¥R¤[°¡^¤^°cÒ%9Ñ:Ô:�Ý˜Q Ñ"Ô"Ð"Ý�RœY×2Ò2°1Ñ5Ô5°qÑ9Ô9Ð9Ý! !¥R¤Y§^¢^°A¸1 ^Ñ%=Ô%=Ñ>Ô>Ð>å"œN¨1Ñ-Ô-�	Ý)¨!¨YÑ7Ô7Ð7Ð7ð	8ð
	8ð 
	8r"   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   rQ   r   r   rR   r2   r?   Únucéÿÿÿÿéþÿÿÿ)r   r   r   rN   )r5   r   Úobjectr   rA   r   r	   r   r   r@   ÚinfÚ	TypeError)r   Ú
testvectorrA   Ú
testmatrixs       r    Útest_norm_object_arrayz%TestRegression.test_norm_object_arrayc   si  € å”X�rœx¨¨A¨Ñ/Ô/°°AÐ6½fÐEÑEÔEˆ
åŒ{˜:Ñ&Ô&ˆÝ˜4 ! Q Ñ(Ô(Ð(Ý�”
�bœh yÑ1Ô1Ò1Ñ2Ô2Ð2åŒ{˜:¨1Ð-Ñ-Ô-ˆÝ˜4 ! Q Ñ(Ô(Ð(Ý�”
�bœh yÑ1Ô1Ò1Ñ2Ô2Ð2åŒ{˜:¨1Ð-Ñ-Ô-ˆÝ˜4 ! Q Ñ(Ô(Ð(Ý�”
�bœh yÑ1Ô1Ò1Ñ2Ô2Ð2å•j¥&¤+¨z¸uÐEÑEÔEÐEÝ•j¥&¤+¨z¸uÐEÑEÔEÐEÝ•j¥&¤+¨z½r¼vÐFÑFÔFÐFÝ•j¥&¤+¨zÅÄ¸wÐGÑGÔGÐGÝ•j¥&¤+¨z¸qÐAÑAÔAÐAÝ•j¥&¤+¨z¸rÐBÑBÔBÐBÝ•j¥&¤+¨z¸rÐBÑBÔBÐBå”X¥¤¨!¨Q¨Ñ 0Ô 0°!°QÐ7Ø7Ð7Ð7ð9Ý@FðHñ Hô Hˆ
õ Œ{˜:Ñ&Ô&ˆÝ˜4 ! Q Ñ(Ô(Ð(Ý�”
�bœh yÑ1Ô1Ò1Ñ2Ô2Ð2åŒ{˜:¨5Ð1Ñ1Ô1ˆÝ˜4 ! Q Ñ(Ô(Ð(Ý�”
�bœh yÑ1Ô1Ò1Ñ2Ô2Ð2å•i¥¤¨j¸eÐDÑDÔDÐDÝ•j¥&¤+¨z½r¼vÐFÑFÔFÐFÝ•j¥&¤+¨zÅÄ¸wÐGÑGÔGÐGÝ•j¥&¤+¨z¸qÐAÑAÔAÐAÝ•j¥&¤+¨z¸qÐAÑAÔAÐAÝ•j¥&¤+¨z¸rÐBÑBÔBÐBÝ•i¥¤¨j¸aÐ@Ñ@Ô@Ð@Ý•i¥¤¨j¸bÐAÑAÔAÐAÝ•j¥&¤+¨z¸qÐ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   ù              ð?)Úrcond)r5   ÚrandomÚrandnr   r   Úlstsqr   )
r   ÚsizeÚn_rhsÚGr9   r<   Úu_lstsqÚresÚrankÚsvs
             r    Útest_lstsq_complex_larger_rhsz,TestRegression.test_lstsq_complex_larger_rhs�   s®   € àˆØˆÝŒI�OŠO˜D $Ñ'Ô'¨"­r¬y¯ª¸tÀTÑ/JÔ/JÑ*JÑJˆÝŒI�OŠO˜D %Ñ(Ô(¨2µ´	·²ÀÀeÑ0LÔ0LÑ+LÑLˆØ�EŠE�!‰HŒHˆå!'¤¨a°¸$Ð!?Ñ!?Ô!?Ñˆ��d˜Bå! '¨1Ñ-Ô-Ð-Ð-Ð-r"   ÚupperTFc                 ó†   — t           j                             t          j        d¦  «        |¬¦  «        }|j        dk    sJ ‚d S )N)r   r   )rz   r   )r5   r   rD   r6   rr   )r   rz   rv   s      r    Útest_cholesky_empty_arrayz(TestRegression.test_cholesky_empty_arrayœ   s;   € õ Œi× Ò ¥¤¨&Ñ!1Ô!1¸Ð Ñ?Ô?ˆØŒx˜1Š}ˆ}ˆ}ˆ}ˆ}ˆ}r"   Úrtolr.   rO   ©rO   c                 óŠ   — t          j        d¦  «        }t           j                             ||¬¦  «        }|j        dk    sJ ‚d S )N)rO   rN   r2   )r}   r~   )r5   r6   r   rY   r3   )r   r}   rK   rv   s       r    Útest_matrix_rank_rtol_argumentz-TestRegression.test_matrix_rank_rtol_argument¢   sF   € õ ŒH�YÑÔˆÝŒi×#Ò# A¨DÐ#Ñ1Ô1ˆØŒy˜DÒ Ð Ð Ð Ð Ð r"   z-test is already testing threads with openblas)Úreasonc                 ó�  — t          j        dt           j        ¬¦  «        }t          j        |d|z  f¦  «        j        }t          j        ddgddgg¦  «        }t          j        d|z  |f¦  «        j        }t          d¦  «        D ]?}||z  }t          j        ||¦  «                              ¦   «         }|dk    r
J d¦   «         ‚Œ@d S )	Ni ¡ r   iöÿÿÿr   rQ   éÈ   FzHunexpected result from matmul, probably due to OpenBLAS threading issues)	r5   r   r   ÚvstackÚTr   ÚrangeÚiscloseÚsum)r   rK   ÚsrcÚmatrixÚexpectedÚiÚresultÚ
mismatchess           r    Útest_openblas_threadingz&TestRegression.test_openblas_threading©   sÞ   € õ
 ŒI�f¥B¤JÐ/Ñ/Ô/ˆÝŒi˜˜C !™G˜Ñ%Ô%Ô'ˆÝ”˜A˜q˜6 A q 6Ð*Ñ+Ô+ˆÝ”9˜c A™g q˜\Ñ*Ô*Ô,ˆÝ�s‘”ð 	Að 	AˆAØ˜6‘\ˆFÝœ: f¨hÑ7Ô7Ð7×<Ò<Ñ>Ô>ˆJØ˜QŠˆðAð  @ñ Aô A�uð ð	Að 	Ar"   c                 óì   — t          j        d¦  «        dz  }|dt          j        t          j        |¦  «        d¦  «        z  z   }t           j                             |¦  «        }t          |d¦  «         d S )Ni N  iPÃ  rm   i90  g¦¶mUØG@)r5   r   ÚrollÚflipr   rA   r
   )r   r   r<   rA   s       r    Útest_norm_linux_armz"TestRegression.test_norm_linux_arm¹   sc   € åŒI�eÑÔ˜uÑ$ˆØ�•R”W�RœW Q™ZœZ¨Ñ/Ô/Ñ/Ñ/ˆÝŒy�~Š~˜aÑ Ô ˆÝ˜DÐ"3Ñ4Ô4Ð4Ð4Ð4r"   N)Ú__name__Ú
__module__Ú__qualname__r!   r,   r=   rB   rG   rL   r_   ri   ry   ÚpytestÚmarkÚparametrizer|   r5   r6   r€   Úthread_unsafer�   r“   © r"   r    r   r      s]  € € € € € ð+ð +ð +ð.	/ð 	/ð 	/ð7ð 7ð 7ðKð Kð Kð
#ð #ð #ðð ð ð
8ð 8ð 8ð+Bð +Bð +BðZ
.ð 
.ð 
.ð „[×Ò˜W t¨U mÑ4Ô4ðð ñ 5Ô4ðð
 „[×Ò˜V c¨C¨5°1©9°h°b´h¸t±n´nÐ%EÑFÔFð!ð !ñ GÔFð!ð „[×ÒÐ&UÐÑVÔVðAð Añ WÔVðAð5ð 5ð 5ð 5ð 5r"   r   )Ú__doc__r—   Únumpyr5   r   r   r   r   r   r   Únumpy.testingr	   r
   r   r   r   r   r   r   r›   r"   r    ú<module>rŸ      sì   ððð ð €€€à Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðk5ð k5ð k5ð k5ð k5ñ k5ô k5ð k5ð k5ð k5r"   