§
    rŠtj€$  ã                   ó¦  — d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZmZmZ d\  ZZZZ eeeeed ¬¦  «        \  ZZZej        ej        ej        cZZZedz  Zedz  Z ej        ej        e¦  «         ej        ej        e¦  «        cZZd	„ Zd
„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#ej$         %                    deefeefg¦  «        ej$         %                    ddedz   ig¦  «        d„ ¦   «         ¦   «         Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1ej$         %                    d ej2        ej3        f¦  «        d!„ ¦   «         Z4d"„ Z5dS )#é    N)Úmake_sparse_coded_signal)ÚLinearRegressionÚOrthogonalMatchingPursuitÚOrthogonalMatchingPursuitCVÚorthogonal_mpÚorthogonal_mp_gram)Úcheck_random_state)Úassert_allcloseÚassert_array_almost_equalÚassert_array_equalÚignore_warnings)é   é#   é   é   )Ú	n_samplesÚn_componentsÚ
n_featuresÚn_nonzero_coefsÚrandom_stateé
   c                  óÐ   — t          t          t          d d …df         d¬¦  «        j        t          fk    sJ ‚t          t          t          d¬¦  «        j        t          dfk    sJ ‚d S ©Nr   r   ©r   r   )r   ÚXÚyÚshaper   © ó    úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_omp.pyÚtest_correct_shapesr!   )   s`   € Ý��A˜a˜a˜a ˜dœG°QÐ7Ñ7Ô7Ô=Å*ÀÒNÐNÐNÐNÝ��A¨qÐ1Ñ1Ô1Ô7½JÈ¸?ÒJÐJÐJÐJÐJÐJr   c                  óÐ   — t          t          t          d d …df         d¬¦  «        j        t          fk    sJ ‚t          t          t          d¬¦  «        j        t          dfk    sJ ‚d S r   )r   ÚGÚXyr   r   r   r   r    Útest_correct_shapes_gramr%   .   s`   € Ý�a¥ A A A q D¤¸1Ð=Ñ=Ô=ÔCÍ
À}ÒTÐTÐTÐTÝ�a¥°QÐ7Ñ7Ô7Ô=Å*ÈaÀÒPÐPÐPÐPÐPÐPr   c                  ó   — t          j        t          t          t          d d …df         d¬¦  «        ¦  «        dk    sJ ‚t          j        t          t          t          d d …df         dd¬¦  «        ¦  «        dk    sJ ‚d S )Nr   r   r   T©r   Ú
precompute)ÚnpÚcount_nonzeror   r   r   r   r   r    Útest_n_nonzero_coefsr+   3   s†   € ÝÔ�M­!­Q¨q¨q¨q°!¨t¬WÀaÐHÑHÔHÑIÔIÈQÒNÐNÐNÐNå
Ô�¥q­!¨A¨A¨A¨q¨D¬'À1ÐQUÐVÑVÔVÑWÔWØò	ð 	ð 	ð 	ð 	ð 	r   c                  óÀ  — d} t          t          t          d d …df         | ¬¦  «        }t          t          t          d d …df         | d¬¦  «        }t          j        t          d d …df         t          j        t          |¦  «        z
  dz  ¦  «        | k    sJ ‚t          j        t          d d …df         t          j        t          |¦  «        z
  dz  ¦  «        | k    sJ ‚d S )Nç      à?r   ©ÚtolT©r/   r(   é   )r   r   r   r)   ÚsumÚdot)r/   ÚgammaÚ
gamma_grams      r    Útest_tolr6   ;   sÉ   € Ø
€CÝ�!�Q˜q˜q˜q !˜tœW¨#Ð.Ñ.Ô.€EÝ�q¥! A A A q D¤'¨s¸tÐDÑDÔD€JÝŒ6•1�Q�Q�Q˜�T”7�RœV¥A uÑ-Ô-Ñ-°!Ñ3Ñ4Ô4¸Ò;Ð;Ð;Ð;ÝŒ6•1�Q�Q�Q˜�T”7�RœV¥A zÑ2Ô2Ñ2°qÑ8Ñ9Ô9¸SÒ@Ð@Ð@Ð@Ð@Ð@r   c            	      ó�   — t          t          t          t          d¬¦  «        t          t          t          dd¬¦  «        ¦  «         d S )Nr   r   Tr'   ©r   r   r   r   r   r   r    Útest_with_without_gramr9   C   sD   € ÝÝ•a�¨AÐ.Ñ.Ô.Ý•a�¨A¸$Ð?Ñ?Ô?ñô ð ð ð r   c            	      ó�   — t          t          t          t          d¬¦  «        t          t          t          dd¬¦  «        ¦  «         d S )Nç      ð?r.   Tr0   r8   r   r   r    Útest_with_without_gram_tolr<   J   sC   € ÝÝ•a� Ð$Ñ$Ô$¥mµAµq¸cÈdÐ&SÑ&SÔ&Sñô ð ð ð r   c            
      óš  — t          t          t          t          d¬¦  «        t          t          t          t          ¬¦  «        ¦  «         d} t          j        t          | ¬¦  «        5  t          t          t          t          dd¬¦  «        t          t          t          dt          ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r.   r   úŠOrthogonal matching pursuit ended prematurely due to linear dependence in the dictionary. The requested precision might not have been met.©ÚmatchTr0   )r(   r   )r   r   r   r   r   ÚpytestÚwarnsÚRuntimeWarning)Úwarning_messages    r    Útest_unreachable_accuracyrE   P   sö   € ÝÝ•a� Ð"Ñ"Ô"¥Mµ!µQÍ
Ð$SÑ$SÔ$Sñô ð ð	;ð õ
 
Œ•n¨OÐ	<Ñ	<Ô	<ð 
ð 
Ý!Ý�!�Q A°$Ð7Ñ7Ô7Ý�!�Q¨4ÅÐLÑLÔLñ	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á'AC Ã CÃCÚpositional_paramsÚkeyword_paramsr   é   c                 ó‚   — t          j        t          ¦  «        5  t          | i |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )N)rA   ÚraisesÚ
ValueErrorr   )rF   rG   s     r    Útest_bad_inputrL   `   sŒ   € õ 
Œ•zÑ	"Ô	"ð <ð <ÝÐ(Ð;¨NÐ;Ð;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   š4´8»8c                  óô  — t           d d …df                              ¦   «         \  } t          t          t          d d …df         d¬¦  «        }t          t          t          d d …df         d¬¦  «        }t          | t          j
        |¦  «        ¦  «         t          | t          j
        |¦  «        ¦  «         t          t           d d …df         |d¬¦  «         t          t           d d …df         |d¬¦  «         d S )Nr   r   r   r1   ©Údecimal)r4   Únonzeror   r   r   r   r#   r$   r   r)   Úflatnonzeror   )ÚidxÚ	gamma_recr5   s      r    Útest_perfect_signal_recoveryrT   j   sÝ   € Ý�1�1�1�a�4Œ[× Ò Ñ"Ô"�F€SÝ�a¥ 1 1 1 a 4¤¸!Ð<Ñ<Ô<€IÝ#¥A¥r¨!¨!¨!¨Q¨$¤xÀÐCÑCÔC€JÝ�s�BœN¨9Ñ5Ô5Ñ6Ô6Ð6Ý�s�BœN¨:Ñ6Ô6Ñ7Ô7Ð7Ý�e A A A q Dœk¨9¸aÐ@Ñ@Ô@Ð@Ý�e A A A q Dœk¨:¸qÐAÑAÔAÐAÐAÐAr   c                  óÎ  — t           d d …df                              ¦   «         \  } t                               ¦   «         }|                     d¬¦  «         t
                               ¦   «         }|                     d¬¦  «         t          ||d d …df         ddd¬¦  «        }t          | t          j	        |¦  «        ¦  «         t          t           d d …df         |d¬¦  «         d S )Nr   F)Úwriter   )r   Ú	copy_GramÚcopy_Xyr1   rN   )r4   rP   r#   ÚcopyÚsetflagsr$   r   r   r)   rQ   r   )rR   Ú
G_readonlyÚXy_readonlyr5   s       r    Ú test_orthogonal_mp_gram_readonlyr]   t   sÛ   € õ �1�1�1�a�4Œ[× Ò Ñ"Ô"�F€SÝ—’‘”€JØ×Ò˜eÐÑ$Ô$Ð$Ý—'’'‘)”)€KØ×Ò˜uÐÑ%Ô%Ð%Ý#Ø�K    1 Ô%°qÀEÐSXðñ ô €Jõ �s�BœN¨:Ñ6Ô6Ñ7Ô7Ð7Ý�e A A A q Dœk¨:¸qÐAÑAÔAÐAÐAÐAr   c                  ó  — t          t          ¬¦  «        } |                      t          t          d d …df         ¦  «         | j        j        t          fk    sJ ‚| j        j        dk    sJ ‚t          j
        | j        ¦  «        t          k    sJ ‚|                      t          t          ¦  «         | j        j        t          t          fk    sJ ‚| j        j        t          fk    sJ ‚t          j
        | j        ¦  «        t          t          z  k    sJ ‚| j        d                              ¦   «         }|                      d¬¦  «         |                      t          t          d d …df         ¦  «         t          || j        ¦  «         |                      d¬¦  «         |                      t          t          d d …df         ¦  «         t          j
        | j        ¦  «        t          k    sJ ‚| j        j        t          fk    sJ ‚| j        dk    sJ ‚|                      t          t          ¦  «         | j        j        t          t          fk    sJ ‚| j        dk    sJ ‚t          j
        | j        ¦  «        t          t          z  k    sJ ‚d S )Nr   r   r   T)Úfit_interceptF)r   r   Úfitr   r   Úcoef_r   r   Ú
intercept_r)   r*   Ú	n_targetsrY   Ú
set_paramsr   )ÚompÚcoef_normalizeds     r    Útest_estimatorrg   ƒ   s#  € Ý
#µOÐ
DÑ
DÔ
D€CØ‡G‚G�A�q����A�ŒwÑÔÐØŒ9Œ?�z˜mÒ+Ð+Ð+Ð+ØŒ>Ô 2Ò%Ð%Ð%Ð%ÝÔ˜CœIÑ&Ô&­/Ò9Ð9Ð9Ð9à‡G‚G�A�q�M„M€MØŒ9Œ?�y­*Ð5Ò5Ð5Ð5Ð5ØŒ>Ô¥I <Ò/Ð/Ð/Ð/ÝÔ˜CœIÑ&Ô&­)µoÑ*EÒEÐEÐEÐEà”i ”l×'Ò'Ñ)Ô)€OØ‡N‚N €NÑ&Ô&Ð&Ø‡G‚G�A�q����A�ŒwÑÔÐÝ˜o¨s¬yÑ9Ô9Ð9à‡N‚N €NÑ'Ô'Ð'Ø‡G‚G�A�q����A�ŒwÑÔÐÝÔ˜CœIÑ&Ô&­/Ò9Ð9Ð9Ð9ØŒ9Œ?�z˜mÒ+Ð+Ð+Ð+ØŒ>˜QÒÐÐÐà‡G‚G�A�q�M„M€MØŒ9Œ?�y­*Ð5Ò5Ð5Ð5Ð5ØŒ>˜QÒÐÐÐÝÔ˜CœIÑ&Ô&­)µoÑ*EÒEÐEÐEÐEÐEÐEr   c                  ó:  — t          t          ¬¦  «        } |                      t          t          dd…df         ¦  «         | j        t          k    sJ ‚t          t          d¬¦  «        } |                      t          t          dd…df         ¦  «         | j        �J ‚dS )z=Check `n_nonzero_coefs_` correct when `tol` is and isn't set.r   Nr   r-   )r   r/   )r   r   r`   r   r   Ún_nonzero_coefs_)re   s    r    Útest_estimator_n_nonzero_coefsrj       s�   € å
#µOÐ
DÑ
DÔ
D€CØ‡G‚G�A�q����A�ŒwÑÔÐØÔ¥?Ò2Ð2Ð2Ð2å
#µOÈÐ
MÑ
MÔ
M€CØ‡G‚G�A�q����A�ŒwÑÔÐØÔÐ'Ð'Ð'Ð'Ð'r   c                  ó^  — t                                ¦   «         } | d d …df         | d d …df<   t          j        t          ¦  «        }dx|d<   |d<   t          j        | |¦  «        }d}t          j        t          |¬¦  «        5  t          | |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rH   r;   r>   r?   r1   r   )
r   rY   r)   Úzerosr   r3   rA   rB   rC   r   )ÚnewXr4   ÚnewyrD   s       r    Útest_identical_regressorsro   «   sø   € Ý�6Š6‰8Œ8€DØ�a�a�a˜�d”€DˆˆˆˆAˆ�JÝŒH•ZÑ Ô €EØÐ€Eˆ!�Hˆu�Q‰xÝŒ6�$˜ÑÔ€Dð	;ð õ
 
Œ•n¨OÐ	<Ñ	<Ô	<ð 5ð 5Ý�d˜D°!Ð4Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ÂB"Â"B&Â)B&c                  óª  — t          j        t          ¦  «        } d| d<   d| d<   t          j        t          | ¦  «        }t          j        t          j        |¦  «        }t          t          |d¬¦  «        }t          t          |d¬¦  «        }t          t          j
        |¦  «        ddg¦  «         t          t          j
        |¦  «        ddg¦  «         d S )Nr;   é   r-   r   r1   r   )r)   rl   r   r3   r   ÚTr   r   r#   r   rQ   )r4   Únew_yÚnew_XyÚ	gamma_hatÚgamma_hat_grams        r    Útest_swapped_regressorsrw   º   s³   € ÝŒH•ZÑ Ô €Eð €Eˆ"�IØ€Eˆ!�HÝŒF•1�eÑÔ€EÝŒV•A”C˜ÑÔ€FÝ�a ¸Ð:Ñ:Ô:€IÝ'­¨6À1ÐEÑEÔE€NÝ•r”~ iÑ0Ô0°1°b°'Ñ:Ô:Ð:Ý•r”~ nÑ5Ô5¸¸2°wÑ?Ô?Ð?Ð?Ð?r   c                  ór  — t          j        t          ¦  «        } t          j        t          j        | ¦  «        } t          t          ¦  «        t          | d¬¦  «        } t          t          ¦  «        t          |d¬¦  «        }t          j	        |dk    ¦  «        sJ ‚t          j	        |dk    ¦  «        sJ ‚d S )NrH   r   r   )
r)   Ú
zeros_liker   r3   r   rr   r   r   r#   Úall)Úy_emptyÚXy_emptyÚgamma_emptyÚgamma_empty_grams       r    Útest_no_atomsr   É   sŸ   € ÝŒm�AÑÔ€GÝŒv•a”c˜7Ñ#Ô#€HØ0•/¥-Ñ0Ô0µ°GÈQÐOÑOÔO€KØ5•¥}Ñ5Ô5µa¸ÐSTÐUÑUÔUÐÝŒ6�+ Ò"Ñ#Ô#Ð#Ð#Ð#ÝŒ6Ð" aÒ'Ñ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                  óÊ  — t          t          t          dd¬¦  «        } t          t          t          dd¬¦  «        }| j        t          t
          dfk    sJ ‚t          | d d …d d …df         |¦  «         t          t          t          dd¬¦  «        } t          t          t          dd¬¦  «        }| j        t          t
          dfk    sJ ‚t          | d d …d d …df         |¦  «         d S )Nr   T)r   Úreturn_pathFéÿÿÿÿ)
r   r   r   r   r   rc   r   r   r#   r$   ©ÚpathÚlasts     r    Útest_omp_pathr†   Ò   sØ   € Ý��A¨q¸dÐCÑCÔC€DÝ��A¨q¸eÐDÑDÔD€DØŒ:�*¥i°Ð3Ò3Ð3Ð3Ð3Ý˜d 1 1 1 a a a¨ 8œn¨dÑ3Ô3Ð3Ý�a¥°QÀDÐIÑIÔI€DÝ�a¥°QÀEÐJÑJÔJ€DØŒ:�*¥i°Ð3Ò3Ð3Ð3Ð3Ý˜d 1 1 1 a a a¨ 8œn¨dÑ3Ô3Ð3Ð3Ð3r   c                  óì   — t          t          t          ddd¬¦  «        } t          t          t          ddd¬¦  «        }| j        t          t
          dfk    sJ ‚t          | d d …d d …df         |¦  «         d S )Nr   T)r   r�   r(   Fr‚   )r   r   r   r   r   rc   r   rƒ   s     r    Ú#test_omp_return_path_prop_with_gramrˆ   Ý   su   € Ý��A¨q¸dÈtÐTÑTÔT€DÝ��A¨q¸eÐPTÐUÑUÔU€DØŒ:�*¥i°Ð3Ò3Ð3Ð3Ð3Ý˜d 1 1 1 a a a¨ 8œn¨dÑ3Ô3Ð3Ð3Ð3r   c                  ó†  — t           d d …df         } t          d d …df         }t          dd¬¦  «        }|                     t          | ¦  «         |j        t          k    sJ ‚t          |j        |¦  «         t          d|j        ¬¦  «        }|                     t          | ¦  «         t          |j        |j        ¦  «         d S )Nr   Fr   )r_   Úmax_iter)r_   r   )
r   r4   r   r`   r   ri   r   r   ra   r   )Úy_Úgamma_Úompcvre   s       r    Útest_omp_cvrŽ   ä   s¹   € Ý	
ˆ1ˆ1ˆ1ˆaˆ4Œ€BÝ�1�1�1�a�4Œ[€FÝ'°eÀbÐIÑIÔI€EØ	‡I‚I�a�ÑÔÐØÔ!¥_Ò4Ð4Ð4Ð4Ý˜eœk¨6Ñ2Ô2Ð2Ý
#Ø¨UÔ-Cðñ ô €Cð ‡G‚G�Aˆr�N„N€NÝ˜eœk¨3¬9Ñ5Ô5Ð5Ð5Ð5r   c                  óR  — t          d¦  «        } d\  }}d}|                      ||¦  «        }|                      ||¦  «        }t          |¬¦  «        }t          ¦   «         }|                     ||¦  «         |                     ||¦  «         t          |j        |j        ¦  «         d S )Nr   )r   é   r   r   )r	   Úrandnr   r   r`   r   ra   )Úrngr   r   rc   r   ÚYre   Úlstsqs           r    Útest_omp_reaches_least_squaresr•   ò   s›   € å
˜QÑ
Ô
€CØ#Ñ€IˆzØ€IØ�	Š	�)˜ZÑ(Ô(€AØ�	Š	�)˜YÑ'Ô'€AÝ
#°JÐ
?Ñ
?Ô
?€CÝÑÔ€EØ‡G‚GˆAˆq�M„M€MØ	‡I‚Iˆa��O„O€OÝ˜cœi¨¬Ñ5Ô5Ð5Ð5Ð5r   Ú	data_typec                 ó¤   — t          t                               | ¦  «        t                               | ¦  «        d¬¦  «        }|j        | k    sJ ‚d S ©Nr   r   )r   r#   Úastyper$   Údtype)r–   Úcoefs     r    Útest_omp_gram_dtype_matchrœ      sR   € õ Ý	�Š�ÑÔ�RŸYšY yÑ1Ô1À1ðñ ô €Dð Œ:˜Ò"Ð"Ð"Ð"Ð"Ð"r   c                  ó~  — t          t                               t          j        ¦  «        t
                               t          j        ¦  «        d¬¦  «        } t          t                               t          j        ¦  «        t
                               t          j        ¦  «        d¬¦  «        }t          | |¦  «         d S r˜   )r   r#   r™   r)   Úfloat32r$   Úfloat64r
   )Úcoef_32Úcoef_64s     r    Ú#test_omp_gram_numerical_consistencyr¢   	  sŠ   € å Ý	�Š•”ÑÔ�bŸiši­¬
Ñ3Ô3ÀQðñ ô €Gõ !Ý	�Š•”ÑÔ�bŸiši­¬
Ñ3Ô3ÀQðñ ô €Gõ �G˜WÑ%Ô%Ð%Ð%Ð%r   )6Únumpyr)   rA   Úsklearn.datasetsr   Úsklearn.linear_modelr   r   r   r   r   Úsklearn.utilsr	   Úsklearn.utils._testingr
   r   r   r   r   r   r   rc   r   r   r4   rr   r3   r#   r$   r!   r%   r+   r6   r9   r<   rE   ÚmarkÚparametrizerL   rT   r]   rg   rj   ro   rw   r   r†   rˆ   rŽ   r•   rž   rŸ   rœ   r¢   r   r   r    ú<module>rª      s3  ðð
 Ð Ð Ð Ø €€€à 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð ð ð ð ð 5AÑ 1€	ˆ:�¨	Ø&Ð&ØØØØ#Øðñ ô �€€1€eð Œc�1”3˜œ€€€1€eà €R�€Ø €R�€ØˆŒˆqŒs�A‰Œ˜˜œ˜qœs A™œ€€€2ð
Kð Kð Kð
Qð Qð Qð
ð ð ðAð Að Aðð ð ðð ð ð
ð 
ð 
ð  „×ÒÐ,°°1¨v¸¸2°wÐ.?Ñ@Ô@Ø„×ÒØØ˜ a™Ð(Ð)ñô ð<ð <ñ	ô ñ AÔ@ð
<ð
Bð Bð BðBð Bð BðFð Fð Fð:(ð (ð (ð5ð 5ð 5ð@ð @ð @ð)ð )ð )ð4ð 4ð 4ð4ð 4ð 4ð6ð 6ð 6ð6ð 6ð 6ð „×Ò˜ r¤z°2´:Ð&>Ñ?Ô?ð#ð #ñ @Ô?ð#ð&ð &ð &ð &ð &r   