§
    qŠtjrx  ã            
       óš  — d Z ddlZddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZmZmZ ddlmZ dd	lmZ dd
lmZmZmZmZ d„ Z ej        g d¢¦  «        j        Z  ej        g d¢¦  «        j        Z! ee ¦  «         "                    ¦   «         Z# edd¬¦  «        Z$ ed¬¦  «        e$ edd¬¦  «         edd¦  «         edd¬¦  «        z   edd¦  «         edd¬¦  «        z   edd¦  «        z    edd¦  «         edd¬¦  «        z   edd¦  «        z   gZ%d„ e%D ¦   «         Z&ej'         (                    de%¦  «        d„ ¦   «         Z)d„ Z*ej'         (                    de&¦  «        d„ ¦   «         Z+ej'         (                    de%¦  «        d„ ¦   «         Z,ej'         (                    de%¦  «        d„ ¦   «         Z-ej'         (                    de&¦  «        d„ ¦   «         Z.ej'         (                    de&¦  «        d„ ¦   «         Z/ej'         0                    e1d ¬!¦  «        ej'         (                    de&¦  «        ej'         (                    d" ej2        d#d$d%¦  «        ¦  «        d&„ ¦   «         ¦   «         ¦   «         Z3ej'         (                    de%¦  «        d'„ ¦   «         Z4ej'         (                    de%¦  «        d(„ ¦   «         Z5ej'         (                    d)dd*g¦  «        ej'         (                    dd e¦   «         g¦  «        d+„ ¦   «         ¦   «         Z6ej'         (                    de%¦  «        ej'         (                    d,e# ej7        e j8        d         ej9        ¬-¦  «        g¦  «        d.„ ¦   «         ¦   «         Z:d/„ Z;d0„ Z<ej'         (                    de%¦  «        d1„ ¦   «         Z=d2„ Z>d3„ Z?ej'         (                    de&¦  «        d4„ ¦   «         Z@d5„ ZAej'         (                    de%¦  «        d6„ ¦   «         ZBd7„ ZCd8„ ZDd9„ ZEej'         (                    de%¦  «        d:„ ¦   «         ZFd;„ ZGej'         (                    d<d= ejH        d>¦  «        ieId?f eejJ         ejJ        f¬@¦  «        dAdBœeIdCfg¦  «        dD„ ¦   «         ZKdE„ ZLdF„ ZMej'         (                    dGdHdIg¦  «        ej'         (                    dJg dK¢¦  «        dL„ ¦   «         ¦   «         ZNej'         (                    dGdHdIg¦  «        ej'         (                    dJg dK¢¦  «        dM„ ¦   «         ¦   «         ZOej'         (                    dJg dN¢¦  «        ej'         (                    dOdPdQg¦  «        dR„ ¦   «         ¦   «         ZPej'         (                    dJg dN¢¦  «        dS„ ¦   «         ZQdT„ ZR G dU„ dVe¦  «        ZSdW„ ZTej'         (                    de%¦  «        dX„ ¦   «         ZUdS )Yz'Testing for Gaussian process regressioné    N)Úapprox_fprime)Úclone)ÚConvergenceWarning)ÚGaussianProcessRegressor)ÚRBFÚ
DotProductÚExpSineSquaredÚWhiteKernel)ÚConstantKernel)ÚMiniSeqKernel)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_lessc                 ó0   — | t          j        | ¦  «        z  S )N)ÚnpÚsin)Úxs    úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/gaussian_process/tests/test_gpr.pyÚfr   #   s   € Ø�rŒv�a‰yŒy‰=Ðó    )ç      ð?g      @g      @g      @g      @g       @)ç       @g      @g      @g      @g      @r   Úfixed©Úlength_scaleÚlength_scale_bounds©r   )çü©ñÒMbP?ç     @�@©ç{®Gáz„?ç      Y@çñhãˆµøä>)r$   r#   çš™™™™™¹?c                 ó(   — g | ]}|t           k    ¯|‘ŒS © )Úfixed_kernel)Ú.0Úkernels     r   ú
<listcomp>r+   6   s"   € ÐLÐLÐL °V½|Ò5KÐ5K�VÐ5KÐ5KÐ5Kr   r*   c                 óV  — t           j        dk    rt          j        d¦  «         t	          | ¬¦  «                             t          t          ¦  «        }|                     t          d¬¦  «        \  }}t          |t          ¦  «         t          t          j        |¦  «        d¦  «         d S )Nì        ú#This test may fail on 32 bit Python©r*   T©Ú
return_covç        )ÚsysÚmaxsizeÚpytestÚxfailr   ÚfitÚXÚyÚpredictr   r   Údiag)r*   ÚgprÚy_predÚy_covs       r   Útest_gpr_interpolationr?   9   s‰   € å
„{�eÒÐÝŒÐ:Ñ;Ô;Ð;õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ—K’K¥¨d�KÑ3Ô3�M€FˆEå˜¥Ñ"Ô"Ð"Ý�œ ™œ¨Ñ,Ô,Ð,Ð,Ð,r   c            	      ó  — t          d¬¦  «        } g d¢}t          j        g d¢¦  «        }t          | ¬¦  «                             ||¦  «        }|                     |d¬¦  «        \  }}t           | |d¬¦  «        d	                              ¦   «         d	t          j        t          |¦  «        ¦  «        z
                       ¦   «         ¦  «         t          ||¦  «         t          t          j
        |¦  «        d
¦  «         d S )Nr   )Úbaseline_similarity_bounds)ÚAÚBÚC)é   é   é   r/   Tr0   ©Úeval_gradientrE   r2   )r   r   Úarrayr   r7   r:   r   ÚravelÚeyeÚlenr;   )r*   r8   r9   r<   r=   r>   s         r   Ú!test_gpr_interpolation_structuredrN   F   sí   € å°gÐ>Ñ>Ô>€FØˆˆ€AÝ
Œ���ÑÔ€AÝ
"¨&Ð
1Ñ
1Ô
1×
5Ò
5°a¸Ñ
;Ô
;€CØ—K’K ¨d�KÑ3Ô3�M€FˆEåØˆˆq Ð%Ñ%Ô% aÔ(×.Ò.Ñ0Ô0°1µr´v½cÀ!¹f¼f±~´~Ñ3E×2LÒ2LÑ2NÔ2Nñô ð õ ˜ Ñ"Ô"Ð"Ý�œ ™œ¨Ñ,Ô,Ð,Ð,Ð,r   c                 ó$  — t           j        dk    rt          j        d¦  «         t	          | ¬¦  «                             t          t          ¦  «        }|                     |j	        j
        ¦  «        |                     | j
        ¦  «        k    sJ ‚d S )Nr-   r.   r/   )r3   r4   r5   r6   r   r7   r8   r9   Úlog_marginal_likelihoodÚkernel_Útheta©r*   r<   s     r   Útest_lml_improvingrT   U   s�   € å
„{�eÒÐÝŒÐ:Ñ;Ô;Ð;õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ×&Ò& s¤{Ô'8Ñ9Ô9¸C×<WÒ<WØŒñ=ô =ò ð ð ð ð ð r   c                 óô   — t          | ¬¦  «                             t          t          ¦  «        }|                     |j        j        ¦  «        t          j        |                     ¦   «         ¦  «        k    sJ ‚d S )Nr/   )	r   r7   r8   r9   rP   rQ   rR   r5   ÚapproxrS   s     r   Útest_lml_precomputedrW   a   su   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ×&Ò& s¤{Ô'8Ñ9Ô9½V¼]Ø×#Ò#Ñ%Ô%ñ>ô >ò ð ð ð ð ð r   c                 ó$  — t          | ¬¦  «                             t          t          ¦  «        }t	          j        |j        j        j        t          j	        ¬¦  «        }| 
                    |d¬¦  «         t          |j        j        |d¦  «         d S )Nr/   ©ÚdtypeF)Úclone_kernelé   )r   r7   r8   r9   r   ÚonesrQ   rR   ÚshapeÚfloat64rP   r   )r*   r<   Úinput_thetas      r   Útest_lml_without_cloning_kernelra   j   sx   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CÝ”'˜#œ+Ô+Ô1½¼ÐDÑDÔD€Kà×Ò ¸%ÐÑ@Ô@Ð@Ý˜œÔ)¨;¸Ñ:Ô:Ð:Ð:Ð:r   c                 ó”  — t          | ¬¦  «                             t          t          ¦  «        }|                     |j        j        d¦  «        \  }}t          j        t          j	        |¦  «        dk     |j        j        |j        j
        d d …df         k    z  |j        j        |j        j
        d d …df         k    z  ¦  «        sJ ‚d S )Nr/   Tç-Cëâ6?r   rE   )r   r7   r8   r9   rP   rQ   rR   r   ÚallÚabsÚbounds)r*   r<   ÚlmlÚlml_gradients       r   Útest_converged_to_local_maximumri   t   sÅ   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€Cà×3Ò3°C´KÔ4EÀtÑLÔLÑ€CˆåŒ6Ý	Œ�Ñ	Ô	 Ò	$ØŒ;Ô ¤Ô 2°1°1°1°a°4Ô 8Ò8ñ	:àŒ;Ô ¤Ô 2°1°1°1°a°4Ô 8Ò8ñ	:ñô ð ð ð ð ð r   c                 ó²  — t          | ¬¦  «                             t          t          ¦  «        }|j        j        }t          j        |j        j        j	        ¦  «        j
        }d}||t          j        |d d …df         ¦  «         df<   t          |d d …df         |j        j        |z   ¦  «         t          |j        j        |d d …df         |z   ¦  «         d S )Nr/   g»½×Ùß|Û=rE   r   )r   r7   r8   r9   rQ   rf   r   ÚfinforR   rZ   ÚmaxÚisfiniter   )r*   r<   rf   Úmax_Útinys        r   Útest_solution_inside_boundsrp   ‚   sÇ   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CàŒ[Ô€FÝŒ8�C”KÔ%Ô+Ñ,Ô,Ô0€DØ€DØ,0€F�BŒK˜˜q˜q˜q !˜tœÑ%Ô%Ð% qÐ(Ñ)å�f˜Q˜Q˜Q ˜T”l C¤KÔ$5¸Ñ$<Ñ=Ô=Ð=Ý�c”kÔ'¨°°°°1°¬¸Ñ)<Ñ=Ô=Ð=Ð=Ð=r   z9https://github.com/scikit-learn/scikit-learn/issues/31366)ÚraisesÚreasonr   éýÿÿÿrG   é   c                 ó¼  ‡— t          | ¦  «        } t          d„ |                      ¦   «         D ¦   «         ¦  «        } | j        di ||i¤Ž t	          | ¬¦  «                             t          t          ¦  «        Š‰                     | j	        d¬¦  «        \  }}d}t          | j	                             ¦   «         ˆfd„|¬¦  «        }t          ||d|d	z  ¬
¦  «         d S )Nc              3   óD   K  — | ]}|                      d ¦  «        ¯|V — ŒdS )r   N)Úendswith)r)   Únames     r   ú	<genexpr>z$test_lml_gradient.<locals>.<genexpr>š   sG   è è € ð #ð #Ø°·²¸nÑ0MÔ0Mð#Øð#ð #ð #ð #ð #ð #r   r/   TrH   ç•Ö&è.>c                 ó0   •— ‰                      | d¦  «        S )NF)rP   )rR   r<   s    €r   ú<lambda>z#test_lml_gradient.<locals>.<lambda>¥   s   ø€ �c×1Ò1°%¸Ñ?Ô?€ r   )Úepsilonrc   éd   ©ÚrtolÚatolr'   )r   ÚnextÚ
get_paramsÚ
set_paramsr   r7   r8   r9   rP   rR   r   Úcopyr   )r*   r   Úlength_scale_param_nameÚ_rh   r}   Úlml_gradient_approxr<   s          @r   Útest_lml_gradientr‰   �   s  ø€ õ �6‰]Œ]€FÝ"ð #ð #Ø×*Ò*Ñ,Ô,ð#ñ #ô #ñ ô Ðð €FÔÐ@Ð@Ð0°,Ð?Ð@Ð@Ð@õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ×1Ò1°&´,ÈdÐ1ÑSÔS�O€A€|Ø€GÝ'ØŒ×ÒÑÔØ?Ð?Ð?Ð?Øðñ ô Ðõ
 �LÐ"5¸DÀwÐQTÁ}ÐUÑUÔUÐUÐUÐUr   c                 óŠ  — t          | ¬¦  «        }|                     t          d¬¦  «        \  }}t          |dd¦  «         t	          |j        j        ¦  «        dk    rBt          t          j        |¦  «        t          j	        | j        d         ¦  «        d¦  «         d S t          t          j        |¦  «        dd¦  «         d S )Nr/   Tr0   r   é   rE   )
r   r:   r8   r   rM   r*   rR   r   r;   Úexp)r*   r<   Úy_meanr>   s       r   Ú
test_priorrŽ   «   s§   € õ #¨&Ð
1Ñ
1Ô
1€Cà—K’K¥¨d�KÑ3Ô3�M€FˆEå˜  1Ñ%Ô%Ð%Ý
ˆ3Œ:ÔÑÔ˜qÒ Ð å�BœG E™NœN­B¬F°6´<À´?Ñ,CÔ,CÀQÑGÔGÐGÐGÐGå�BœG E™NœN¨A¨qÑ1Ô1Ð1Ð1Ð1r   c                 ó&  — t          | ¬¦  «                             t          t          ¦  «        }|                     t
          d¬¦  «        \  }}|                     t
          d¦  «        }t          |t          j	        |d¦  «        d¦  «         t          t          j
        |¦  «        t          j
        |¦  «                             ¦   «         z  t          j        |d¦  «        t          j
        |¦  «                             ¦   «         z  d¦  «         d S )Nr/   Tr0   ià“ rE   )r   r7   r8   r9   r:   ÚX2Úsample_yr   r   Úmeanr;   rl   Úvar)r*   r<   r�   r>   Úsampless        r   Útest_sample_statisticsr•   º   sÛ   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€Cà—K’K¥¨t�KÑ4Ô4�M€FˆEà�lŠl�2˜vÑ&Ô&€Gõ ˜¥¤¨°Ñ 3Ô 3°QÑ7Ô7Ð7ÝÝ
Œ�‰Œ�œ ™œ×+Ò+Ñ-Ô-Ñ-Ý
Œˆw˜ÑÔ�RœW U™^œ^×/Ò/Ñ1Ô1Ñ1Ø	ñô ð ð ð r   Ú	optimizerÚfmin_l_bfgs_bc                 óÒ   — t          || ¬¦  «        }|                     t          t          ¦  «         t	          |j        j        dk                         ¦   «         ¦  «        | du u sJ ‚dS )zBTest that kernel parameters are unmodified when optimizer is None.©r*   r–   r2   N)r   r7   r8   r9   ÚboolrQ   rR   rd   )r–   r*   r<   s      r   Útest_no_optimizerr›   Ì   sa   € õ #¨&¸IÐ
FÑ
FÔ
F€CØ‡G‚G�A�q�M„M€MÝ�”Ô" cÒ)×.Ò.Ñ0Ô0Ñ1Ô1°iÀ4Ð6GÐHÐHÐHÐHÐHÐHr   ÚtargetrY   c                 óŽ  — t           j        dk    rt          j        d¦  «         t	          | ¬¦  «                             t          t          ¦  «        }|                     t          d¬¦  «        \  }}|                     t          d¬¦  «        \  }}t          t          j        t          j        |¦  «        ¦  «        |¦  «         d S )Nr-   r.   r/   Tr0   ©Ú
return_std)r3   r4   r5   r6   r   r7   r8   r9   r:   r�   r   r   Úsqrtr;   )r*   rœ   r<   r�   r>   Úy_stds         r   Útest_predict_cov_vs_stdr¢   Õ   sž   € õ „{�eÒÐÝŒÐ:Ñ;Ô;Ð;õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ—K’K¥¨t�KÑ4Ô4�M€FˆEØ—K’K¥¨t�KÑ4Ô4�M€FˆEÝ�œ¥¤¨¡¤Ñ/Ô/°Ñ7Ô7Ð7Ð7Ð7r   c                  ó²  — t           j                             d¦  «        } |                      ddd¦  «        }|d d …df         d|d d …df         z  z   }t	          ddg¦  «        }t          |¬¦  «                             ||¦  «        }t          j        |j        j	        d         ¦  «        t          j        |j        j	        d         ¦  «        dz  k    sJ ‚d S )	Nr   éÿÿÿÿrE   )é2   rF   r%   r   r/   r‹   )
r   ÚrandomÚRandomStateÚuniformr   r   r7   rŒ   rQ   rR   )Úrngr8   r9   r*   r<   s        r   Útest_anisotropic_kernelrª   â   sÇ   € õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ�Š�B˜˜7Ñ#Ô#€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�#˜˜!˜!˜!˜Q˜$œ‘-Ñ€Aå�#�s�‰_Œ_€FÝ
"¨&Ð
1Ñ
1Ô
1×
5Ò
5°a¸Ñ
;Ô
;€CÝŒ6�#”+Ô# AÔ&Ñ'Ô'­"¬&°´Ô1BÀ1Ô1EÑ*FÔ*FÈÑ*JÒJÐJÐJÐJÐJÐJr   c                  óú  — d\  } }t           j                             d¦  «        }|                     | |¦  «        dz  dz
  }t          j        |¦  «                             d¬¦  «        t          j        d|z  ¦  «                             d¬¦  «        z   |                     d| ¬¦  «        z   }t          d	d
¦  «        t          d	g|z  dg|z  ¬¦  «        z  t          dd¬¦  «        z   }t           j
         }t          d¦  «        D ]u}t          ||d¬¦  «                             ||¦  «        }|                     |j        j        ¦  «        }	|	|t          j        t           j        ¦  «        j        z
  k    sJ ‚|	}Œvd S )N)é   rF   r   rF   rE   ©ÚaxisrG   r%   )ÚscaleÚsizer   r!   )rc   r#   r   r$   )r$   ç      $@)Únoise_levelÚnoise_level_boundsr‹   )r*   Ún_restarts_optimizerÚrandom_state)r   r¦   r§   Úrandnr   ÚsumÚnormalrD   r   r
   ÚinfÚranger   r7   rP   rQ   rR   rk   Úfloat32Úeps)
Ú	n_samplesÚ
n_featuresr©   r8   r9   r*   Úlast_lmlr´   Úgprg   s
             r   Útest_random_startsrÁ   ð   s‹  € ð "Ñ€IˆzÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�)˜ZÑ(Ô(¨1Ñ,¨qÑ0€Aå
Œˆq‰	Œ	�Š˜1ˆÑÔÝ
Œ&��Q‘‰-Œ-×
Ò
 Ð
Ñ
#Ô
#ñ	$à
�*Š*˜3 Yˆ*Ñ
/Ô
/ñ	0ð õ ˆs�KÑ Ô ¥3Ø�U˜ZÑ'¸k¸]ÈZÑ=Wð$ñ $ô $ñ å ¸ÐEÑEÔEñF€Fõ ”ˆw€HÝ % a¡¤ð ð ÐÝ%ØØ!5Øð
ñ 
ô 
÷ Š#ˆa�‰)Œ)ð	 	ð
 ×(Ò(¨¬Ô)9Ñ:Ô:ˆØ�X¥¤­¬Ñ 4Ô 4Ô 8Ñ8Ò8Ð8Ð8Ð8Øˆˆðð r   c                 ó¾  — t          j        t          ¦  «        }t          j        t          ¦  «        }t          |z
  |z  }t	          | ¬¦  «        }|                     t          |¦  «         t	          | d¬¦  «        }|                     t          t          ¦  «         |                     t          d¬¦  «        \  }}||z  |z   }||z  }|                     t          d¬¦  «        \  }}	t          ||¦  «         t          ||	¦  «         |                     t          d¬¦  «        \  }
}||dz  z  }|                     t          d¬¦  «        \  }
}t          ||¦  «         dS )a  
    Test normalization of the target values in GP

    Fitting non-normalizing GP on normalized y and fitting normalizing GP
    on unnormalized y should yield identical results. Note that, here,
    'normalized y' refers to y that has been made zero mean and unit
    variance.

    r/   T©r*   Únormalize_yrž   r0   rF   N)
r   r’   r9   Ústdr   r7   r8   r:   r�   r   )r*   r�   r¡   Úy_normr<   Úgpr_normr=   Ú
y_pred_stdÚy_pred_normÚy_pred_std_normr‡   r>   Ú
y_cov_norms                r   Útest_y_normalizationrÌ     sD  € õ ŒW•Q‰ZŒZ€FÝŒF•1‰IŒI€EÝ�&‰j˜EÑ!€Fõ #¨&Ð
1Ñ
1Ô
1€CØ‡G‚G�AˆvÑÔÐõ (¨vÀ4ÐHÑHÔH€HØ‡L‚L••AÑÔÐð Ÿš¥R°D˜Ñ9Ô9Ñ€FˆJØ�e‰^˜fÑ$€FØ˜eÑ#€JØ#+×#3Ò#3µBÀ4Ð#3Ñ#HÔ#HÑ €K�å˜ Ñ,Ô,Ð,Ý˜
 OÑ4Ô4Ð4à�{Š{�2¨$ˆ{Ñ/Ô/�H€A€uØ�E˜1‘HÑ€EØ×$Ò$¥R°DÐ$Ñ9Ô9�M€A€zå˜˜zÑ*Ô*Ð*Ð*Ð*r   c                  ót  — dt           z  } ddi}t          di |¤Ž}t          |d¬¦  «        }|                     t          | ¦  «         |                     t          d¬¦  «        \  }}t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d	d
¬¦  «         t          ||dd
¬¦  «         dS )a–  
    Here we test that, when normalize_y=True, our GP can produce a
    sensible fit to training data whose variance is significantly
    larger than unity. This test was made in response to issue #15612.

    GP predictions are verified against predictions that were made
    using GPy which, here, is treated as the 'gold standard'. Note that we
    only investigate the RBF kernel here, as that is what was used in the
    GPy implementation.

    The following code can be used to recreate the GPy data:

    --------------------------------------------------------------------------
    import GPy

    kernel_gpy = GPy.kern.RBF(input_dim=1, lengthscale=1.)
    gpy = GPy.models.GPRegression(X, np.vstack(y_large), kernel_gpy)
    gpy.optimize()
    y_pred_gpy, y_var_gpy = gpy.predict(X2)
    y_pred_std_gpy = np.sqrt(y_var_gpy)
    --------------------------------------------------------------------------
    é
   r   r   TrÃ   rž   )gÀÆy(ŸV.@gV],±ü;Àg6çž}~¨CÀgåHÂW-@g¸Æ ×KQ@)gØ¼G‰'@gùsár‚§@g{Üu>5ä?g÷	ÚÃâàà?gÐ.[Â“ë?gìQ¸…ë±?r   r   g333333Ã?Nr'   )
r9   r   r   r7   r8   r:   r�   r   rJ   r   )Úy_largeÚ
RBF_paramsr*   r<   r=   rÈ   Ú
y_pred_gpyÚy_pred_std_gpys           r   Útest_large_variance_yrÓ   3  sÜ   € ð2 •1‰f€Gð ! #Ð&€JÝÐÐ�:ÐÐ€FÝ
"¨&¸dÐ
CÑ
CÔ
C€CØ‡G‚G�AˆwÑÔÐØŸš¥R°D˜Ñ9Ô9Ñ€FˆJõ ”ØKÐKÐKñô €Jõ
 ”XØDÐDÐDñô €Nõ �F˜J¨T¸Ð:Ñ:Ô:Ð:õ
 �J °TÀÐBÑBÔBÐBÐBÐBr   c                  óp  — t          j        t          t          dz  f¦  «        j        } t	          d¬¦  «        }t          |d d¬¦  «        }|                     t          t          ¦  «         t          |d d¬¦  «        }|                     t          | ¦  «         |                     t          d¬¦  «        \  }}|                     t          d¬¦  «        \  }}|                     t          d¬¦  «        \  }}	|                     t          d¬¦  «        \  }}
t          ||d d …d	f         ¦  «         t          ||d d …d
f         dz  ¦  «         t          | j        d
         ¦  «        D ]2}t          ||d|f         ¦  «         t          |	|
d|f         ¦  «         Œ3|                     t          d¬¦  «        }|                     t          d¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          ||d d …d	d d …f         ¦  «         t          D ]§}t          |d¬¦  «        }|                     t          t          ¦  «         t          |d¬¦  «        }|                     t          t          j        t          t          f¦  «        j        ¦  «         t          |j        j        |j        j        d¦  «         Œ¨d S )NrF   r   r   F)r*   r–   rÄ   Trž   r0   r   rE   .rÎ   ©r½   )r‹   rÎ   )r‹   rF   rÎ   rÃ   é   )r   Úvstackr9   ÚTr   r   r7   r8   r:   r�   r   rº   r^   r‘   ÚkernelsrQ   rR   )Úy_2dr*   r<   Úgpr_2dÚ	y_pred_1dÚy_std_1dÚ	y_pred_2dÚy_std_2dr‡   Úy_cov_1dÚy_cov_2drœ   Úy_sample_1dÚy_sample_2ds                 r   Útest_y_multioutputrä   j  s€  € åŒ9•a�˜Q™�ZÑ Ô Ô"€Dõ ˜cÐ"Ñ"Ô"€Få
"¨&¸DÈeÐ
TÑ
TÔ
T€CØ‡G‚G�A�q�M„M€Må%¨V¸tÐQVÐWÑWÔW€FØ
‡J‚J�q�$ÑÔÐàŸ+š+¥b°T˜+Ñ:Ô:Ñ€IˆxØ Ÿ.š.­¸˜.Ñ=Ô=Ñ€IˆxØ—+’+�b¨T�+Ñ2Ô2�K€A€xØ—.’.¥°�.Ñ5Ô5�K€A€xå˜	 9¨Q¨Q¨Q°¨T¤?Ñ3Ô3Ð3Ý˜	 9¨Q¨Q¨Q°¨T¤?°QÑ#6Ñ7Ô7Ð7õ ˜œ
 1œÑ&Ô&ð =ð =ˆÝ˜H h¨s°F¨{Ô&;Ñ<Ô<Ð<Ý˜H h¨s°F¨{Ô&;Ñ<Ô<Ð<Ð<à—,’,�r¨R�,Ñ0Ô0€KØ—/’/¥"°�/Ñ3Ô3€KàÔ Ò'Ð'Ð'Ð'ØÔ 
Ò*Ð*Ð*Ð*å˜ [°°°°A°q°q°q°Ô%9Ñ:Ô:Ð:õ ð Hð HˆÝ&¨fÀ$ÐGÑGÔGˆØ�Š••1‰Œˆå)°ÀTÐJÑJÔJˆØ�
Š
•1•b”i¥¥A Ñ'Ô'Ô)Ñ*Ô*Ð*å˜CœKÔ-¨v¬~Ô/CÀQÑGÔGÐGÐGðHð Hr   c                 óò   — d„ }t          | |¬¦  «        }|                     t          t          ¦  «         |                     |j        j        ¦  «        |                     |j        j        ¦  «        k    sJ ‚d S )Nc                 ó|  — t           j                             d¦  «        }| | |d¬¦  «        }}t          d¦  «        D ]{}t          j        |                     t          j        d|d d …df         ¦  «        t          j        d|d d …df         ¦  «        ¦  «        ¦  «        } | |d¬¦  «        }||k     r||}}Œ|||fS )Nr   FrH   r¥   éþÿÿÿrE   )r   r¦   r§   rº   Ú
atleast_1dr¨   ÚmaximumÚminimum)	Úobj_funcÚinitial_thetarf   r©   Ú	theta_optÚfunc_minr‡   rR   r   s	            r   r–   z(test_custom_optimizer.<locals>.optimizerœ  sÑ   € ÝŒi×#Ò# AÑ&Ô&ˆàØˆH�]°%Ð8Ñ8Ô8ð ˆ	õ �r‘”ð 	/ð 	/ˆAÝ”MØ—’�BœJ r¨6°!°!°!°Q°$¬<Ñ8Ô8½"¼*ÀQÈÈqÈqÈqÐRSÈtÌÑ:UÔ:UÑVÔVñô ˆEð �˜¨eÐ4Ñ4Ô4ˆAØ�8Š|ˆ|Ø&+¨Q˜8�	øØ˜(Ð"Ð"r   r™   )r   r7   r8   r9   rP   rQ   rR   r*   )r*   r–   r<   s      r   Útest_custom_optimizerrï   ˜  s„   € ð#ð #ð #õ #¨&¸IÐ
FÑ
FÔ
F€CØ‡G‚G�A�q�M„M€Mà×&Ò& s¤{Ô'8Ñ9Ô9¸C×<WÒ<WØŒ
Ôñ=ô =ò ð ð ð ð ð r   c                  ó’  — t          j        d¦  «                             dd¦  «        } t          j        d¦  «        }t	          ¦   «         }t          |d¬¦  «        }d|z  }t          j        t           j        j	        t          j        |¦  «        ¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né   é   r¤   r2   ©r*   Úalphaz—The kernel, %s, is not returning a positive definite matrix. Try gradually increasing the 'alpha' parameter of your GaussianProcessRegressor estimator.©Úmatch)r   ÚarangeÚreshaper]   r   r   r5   rq   ÚlinalgÚLinAlgErrorÚreÚescaper7   )r8   r9   r*   r<   Úmessages        r   Útest_gpr_correct_error_messagerþ   ³  sö   € Ý
Œ	�"‰Œ×Ò˜a Ñ$Ô$€AÝ
Œ�‰
Œ
€AÝ‰\Œ\€FÝ
"¨&¸Ð
<Ñ
<Ô
<€Cð	.ð 17ñ	7ð õ 
Œ•r”yÔ,µB´I¸gÑ4FÔ4FÐ	GÑ	GÔ	Gð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB<Â<C ÃC c                 óÌ  — t          | d¬¦  «        }t          | d¬¦  «        }t          j        t          t          d         f¦  «        }t          j        t
          t
          d         dz   f¦  «        }|                     ||¦  «         t          j        t          t          d         dz   f¦  «        }t          j        t
          t
          d         dz   f¦  «        }|                     ||¦  «         t          j        ddd¦  «        d d …d f         }|                     |d¬	¦  «        \  }}|                     |d¬	¦  «        \  }}	t          ||¦  «         t          ||	¦  «         d S )
Nr"   ró   r   rE   gVçž¯Ò<rÎ   r~   Trž   )
r   r   r×   r8   Úhstackr9   r7   Úlinspacer:   r   )
r*   Úgpr_equal_inputsÚgpr_similar_inputsÚX_Úy_ÚX_testÚy_pred_equalÚy_std_equalÚy_pred_similarÚy_std_similars
             r   Útest_duplicate_inputr  Â  s@  € õ 0°vÀTÐJÑJÔJÐÝ1¸ÀtÐLÑLÔLÐå	Œ•A•q˜”t�9Ñ	Ô	€BÝ	Œ•A•q˜”t˜a‘x�=Ñ	!Ô	!€BØ×Ò˜˜RÑ Ô Ð å	Œ•A•q˜”t˜e‘|Ð$Ñ	%Ô	%€BÝ	Œ•A•q˜”t˜a‘x�=Ñ	!Ô	!€BØ×Ò˜2˜rÑ"Ô"Ð"åŒ[˜˜B Ñ$Ô$ Q Q Q¨ WÔ-€FØ 0× 8Ò 8¸ÈDÐ 8Ñ QÔ QÑ€L�+Ø$6×$>Ò$>¸vÐRVÐ$>Ñ$WÔ$WÑ!€N�Må˜ nÑ5Ô5Ð5Ý˜ ]Ñ3Ô3Ð3Ð3Ð3r   c                  óÀ  — t          dd¬¦  «        t          dd¬¦  «        z  } t          ¦   «         }|                     t          d¬¦  «        \  }}|                     t          d¬¦  «        \  }}t          | ¬¦  «        }|                     t          d¬¦  «        \  }}|                     t          d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )	Nr   r   )Úconstant_value_bounds©r   Trž   r0   r/   )rD   r   r   r:   r8   r   )Údefault_kernelÚgpr1r‡   Úy_std1Úy_cov1Úgpr2Úy_std2Úy_cov2s           r   Útest_no_fit_default_predictr  Ø  sÖ   € å�s°'Ð:Ñ:Ô:½SØ ð>ñ >ô >ñ €Nõ $Ñ%Ô%€DØ—’�Q¨4�Ñ0Ô0�I€A€vØ—’�Q¨4�Ñ0Ô0�I€A€vå#¨>Ð:Ñ:Ô:€DØ—’�Q¨4�Ñ0Ô0�I€A€vØ—’�Q¨4�Ñ0Ô0�I€A€vå˜f fÑ-Ô-Ð-Ý˜f fÑ-Ô-Ð-Ð-Ð-r   c                  ó°  — t          ddg¬¦  «        } t          | ¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ddg¬¦  «        t          dd	g¬¦  «        z   }t          |¬¦  «        }t          j
        d
¬¦  «        5 }t          j        d¦  «         |                     t          t          ¦  «         t          |¦  «        dk    sJ ‚t          |d         j        t          ¦  «        sJ ‚|d         j        j        d         dk    sJ ‚t          |d         j        t          ¦  «        sJ ‚|d         j        j        d         dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t#          j        t          d¦  «        }t          ddgddg¬¦  «        }t          |¬¦  «        }t          j
        d
¬¦  «        5 }t          j        d¦  «         |                     |t          ¦  «         t          |¦  «        dk    sJ ‚t          |d         j        t          ¦  «        sJ ‚|d         j        j        d         dk    sJ ‚t          |d         j        t          ¦  «        sJ ‚|d         j        j        d         dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr$   r   r  r/   z²The optimal value found for dimension 0 of parameter length_scale is close to the specified upper bound 0.001. Increasing the bound and calling fit again may find a better value.rõ   ©r³   r    g     jø@T)ÚrecordÚalwaysrF   r   zµThe optimal value found for dimension 0 of parameter k1__noise_level is close to the specified upper bound 0.001. Increasing the bound and calling fit again may find a better value.rE   z·The optimal value found for dimension 0 of parameter k2__length_scale is close to the specified lower bound 1000.0. Decreasing the bound and calling fit again may find a better value.r   r   r±   r#   r   z±The optimal value found for dimension 0 of parameter length_scale is close to the specified lower bound 10.0. Decreasing the bound and calling fit again may find a better value.z±The optimal value found for dimension 1 of parameter length_scale is close to the specified lower bound 10.0. Decreasing the bound and calling fit again may find a better value.)r   r   r5   Úwarnsr   r7   r8   r9   r
   ÚwarningsÚcatch_warningsÚsimplefilterrM   Ú
issubclassÚcategoryrý   Úargsr   Útile)	r*   r<   Úwarning_messageÚ
kernel_sumÚgpr_sumr  ÚX_tileÚkernel_dimsÚgpr_dimss	            r   Útest_warning_boundsr)  é  s¶  € Ý d¨D \Ð2Ñ2Ô2€FÝ
"¨&Ð
1Ñ
1Ô
1€Cð	ð õ 
ŒÕ(°Ð	@Ñ	@Ô	@ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ °°t°Ð=Ñ=Ô=ÅØ  #˜JðAñ Aô Añ €Jõ '¨jÐ9Ñ9Ô9€GÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð 
°ÝÔ˜hÑ'Ô'Ð'Ø�Š•A•qÑÔÐå�6‰{Œ{˜aÒÐÐÐå˜& œ)Ô,Õ.@ÑAÔAÐAÐAÐAà�1ŒIÔÔ" 1Ô%ð *1ò 1ð 1ð 1ð 1õ ˜& œ)Ô,Õ.@ÑAÔAÐAÐAÐAà�1ŒIÔÔ" 1Ô%ð *1ò 1ð 1ð 1ð 1ð 1ð%
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ4 ŒW•Q˜‰]Œ]€FÝ C¨ :ÀCÈÀ:ÐNÑNÔN€KÝ'¨{Ð;Ñ;Ô;€Hå	Ô	 ¨Ð	-Ñ	-Ô	-ð 
°ÝÔ˜hÑ'Ô'Ð'Ø�Š�V�QÑÔÐå�6‰{Œ{˜aÒÐÐÐå˜& œ)Ô,Õ.@ÑAÔAÐAÐAÐAà�1ŒIÔÔ" 1Ô%ð *1ò 1ð 1ð 1ð 1õ ˜& œ)Ô,Õ.@ÑAÔAÐAÐAÐAà�1ŒIÔÔ" 1Ô%ð *1ò 1ð 1ð 1ð 1ð 1ð%
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s8   Á !A-Á-A1Á4A1ÃC
FÆFÆ FÇ8CKËKËKc                  ó¶   — dt          d¬¦  «        z  } t          ddd¬¦  «        }| |z   }t          |¬¦  «                             t          t
          ¦  «         d S )Ng     ˆ£@g      I@r   r   r   )r   ÚperiodicityÚperiodicity_boundsr/   )r   r	   r   r7   r8   r9   )Úk1Úk2r*   s      r   Ú%test_bound_check_fixed_hyperparameterr/  2  sf   € ð 
•3 DÐ)Ñ)Ô)Ñ	)€BÝ	Ø c¸gð
ñ 
ô 
€Bð �"‰W€FÝ FÐ+Ñ+Ô+×/Ò/µµ1Ñ5Ô5Ð5Ð5Ð5r   c                 óÊ  — t          j        t          j        d         t           j        ¬¦  «        }t          | d¬¦  «        }|                     t          |¦  «         |j        t          j	        d¦  «        k    sJ ‚| 
                    t          d¬¦  «        \  }}t          ||¦  «         t          t          j        |¦  «        dd¬	¦  «         t          j        d         d
}}t           j                             d¦  «        }t          j        |                     |df¬¦  «        t          j        |dfd
¬¦  «        gd¬¦  «        }|                     t          |¦  «         | 
                    t          d¬¦  «        \  }	}
t          |	dd…df         d
¦  «         t          t          j        |
d         ¦  «        dd¬	¦  «         |	j        ||fk    sJ ‚|
j        |||fk    sJ ‚dS )a  Check that the std. dev. is affected to 1 when normalizing a constant
    feature.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/18318
    NaN where affected to the target when scaling due to null std. dev. with
    constant target.
    r   rY   TrÃ   r   r0   r2   rz   )r�   rF   rE   )r°   )r^   Ú
fill_valuer­   N).rE   )r   r]   r8   r^   r_   r   r7   Ú_y_train_stdr5   rV   r:   r   r;   r¦   r§   Úconcatenater¸   Úfull)r*   Ú
y_constantr<   r=   r>   r½   Ú	n_targetsr©   r9   ÚY_predÚY_covs              r   Útest_constant_targetr9  >  s¾  € õ ”�œ œ­2¬:Ð6Ñ6Ô6€Jå
"¨&¸dÐ
CÑ
CÔ
C€CØ‡G‚G�AˆzÑÔÐØÔ�vœ}¨SÑ1Ô1Ò1Ð1Ð1Ð1à—K’K¥¨d�KÑ3Ô3�M€FˆEÝ�F˜JÑ'Ô'Ð'å•B”G˜E‘N”N C¨dÐ3Ñ3Ô3Ð3õ œ7 1œ: qˆy€IÝ
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œà�JŠJ˜Y¨˜NˆJÑ+Ô+ÝŒG˜9 a˜.°QÐ7Ñ7Ô7ð	
ð ð	ñ 	ô 	€Að ‡G‚G�Aˆq�M„M€MØ—K’K¥¨d�KÑ3Ô3�M€FˆEå�F˜1˜1˜1˜a˜4”L !Ñ$Ô$Ð$Ý•B”G˜E &œMÑ*Ô*¨C°dÐ;Ñ;Ô;Ð;àŒ<˜I yÐ1Ò1Ð1Ð1Ð1ØŒ;˜9 i°Ð;Ò;Ð;Ð;Ð;Ð;Ð;r   c            	      ó^  — t          dd¦  «        t          ddgd¦  «        z  t          d¬¦  «        z   } t          | dd¬	¦  «        }t	          j        d
d
gddgdd
gd
dgddgddgg¦  «        }t	          j        dgdgdgdgdgdgg¦  «        }|                     ||¦  «         t	          j        ddgddgddgddgg¦  «        }|                     |d¬¦  «        \  }}|                     |d¬¦  «        \  }}t          |t	          j	        t	          j
        |¦  «        ¦  «        d¬¦  «         dS )a
  Check the consistency between the returned std. dev. and the covariance.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/19936
    Inconsistencies were observed when the kernel cannot be inverted (or
    numerically stable).
    gTã¥ l+A)gê-�™—q=g   ¢”mBgë‹„¶œz‚@gØG§®\·”@r$   )r²   r   N)r*   rô   r–   r2   g6²§ô~Éø?g6²§ô~Éè¿g6²§ô~Éø¿g6²§ô~Éè?g6‡´$}ˆí½g±NøÕ­Àg¼Hx­@gR•|=Ùô¿gd-Ói¼¸õ¿gžŸ^ L
@gÖz°Þûþ¿gÖz°Þûþ?Trž   r0   )r€   )rD   r   r
   r   r   rJ   r7   r:   r   r    Údiagonal)	r*   r<   ÚX_trainÚy_trainr  Úpred1rÅ   Úpred2Úcovs	            r   Ú2test_gpr_consistency_std_cov_non_invertible_kernelrA  g  s…  € õ ˆ}˜mÑ,Ô,­sØ	˜Ð&¨ñ0ô 0ñ å Ð%Ñ%Ô%ñ&€Fõ #¨&¸ÀTÐ
JÑ
JÔ
J€CÝŒhà�#ˆJØ˜Ð%Ø˜#ÐØ�+ÐØ˜Ð$Ø˜*Ð%ð	
ñ	ô 	€Gõ ŒhàÐØÐØˆOØÐØÐØˆOð	
ñ	ô 	€Gð ‡G‚GˆG�WÑÔÐÝŒXà˜+Ð&Ø˜Ð%Ø˜*Ð%Ø˜Ð$ð		
ñô €Fð —’˜V°�Ñ5Ô5�J€Eˆ3Ø—’˜V°�Ñ5Ô5�J€Eˆ3Ý�C�œ¥¤¨SÑ!1Ô!1Ñ2Ô2¸Ð>Ñ>Ô>Ð>Ð>Ð>r   zparams, TypeError, err_msgrô   r~   zCalpha must be a scalar or an array with same number of entries as yr  rF   )r*   r´   z#requires that all bounds are finitec                 ó¼   — t          di | ¤Ž}t          j        ||¬¦  «        5  |                     t          t
          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z0Check that expected error are raised during fit.rõ   Nr'   )r   r5   rq   r7   r8   r9   )ÚparamsÚ	TypeErrorÚerr_msgr<   s       r   Útest_gpr_fit_errorrF  ”  s¡   € õ( #Ð
,Ð
, VÐ
,Ð
,€CÝ	Œ�y¨Ð	0Ñ	0Ô	0ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   £!AÁAÁAc                  ó  — t          t          ¦   «         ¬¦  «                             t          t          ¦  «        } d}t          j        t          |¬¦  «        5  |                      d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z7Check that we raise the proper error in the LML method.r/   z.Gradient can only be evaluated for theta!=Nonerõ   TrH   N)	r   r   r7   r8   r9   r5   rq   Ú
ValueErrorrP   ©r<   rE  s     r   Útest_gpr_lml_errorrJ  ­  s»   € å
"­#©%¬%Ð
0Ñ
0Ô
0×
4Ò
4µQ½Ñ
:Ô
:€Cà>€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 8ð 8Ø×#Ò#°$Ð#Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ÁA<Á<B ÂB c                  ó   — t          t          ¦   «         ¬¦  «                             t          t          ¦  «        } d}t          j        t          |¬¦  «        5  |                      t          dd¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z4Check that we raise the proper error during predict.r/   z9At most one of return_std or return_cov can be requested.rõ   T©r1   rŸ   N)	r   r   r7   r8   r9   r5   rq   ÚRuntimeErrorr:   rI  s     r   Útest_gpr_predict_errorrN  ¶  s¼   € å
"­#©%¬%Ð
0Ñ
0Ô
0×
4Ò
4µQ½Ñ
:Ô
:€CàI€GÝ	Œ•|¨7Ð	3Ñ	3Ô	3ð 9ð 9Ø�Š•A $°4ˆÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   ÁBÂBÂ
BrÄ   TFr6  )NrE   rÎ   c                 óþ  — t           j                             d¦  «        }d\  }}}|f}|�||fz   }|f}|�|dk    r||fz   }|                     ||¦  «        }|                     ||¦  «        }	 |j        |Ž }
t	          | ¬¦  «        }|                     ||
¦  «         |                     |	d¬¦  «        \  }}|                     |	d¬¦  «        \  }}|j        |k    sJ ‚|j        |k    sJ ‚|j        |f|z   k    sJ ‚dS )	a´  Check the shapes of y_mean, y_std, and y_cov in single-output
    (n_targets=None) and multi-output settings, including the edge case when
    n_targets=1, where the sklearn convention is to squeeze the predictions.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/17394
    https://github.com/scikit-learn/scikit-learn/issues/18065
    https://github.com/scikit-learn/scikit-learn/issues/22174
    éÒ  )rò   é	   r\   NrE   ©rÄ   Trž   r0   )r   r¦   r§   r¶   r   r7   r:   r^   )rÄ   r6  r©   r¾   Ún_samples_trainÚn_samples_testÚy_train_shapeÚy_test_shaper<  r  r=  Úmodelr=   r¡   r‡   r>   s                   r   Útest_predict_shapesrX  ¿  s4  € õ Œ)×
Ò
 Ñ
%Ô
%€Cà29Ñ/€J� à$Ð&€MØÐØ%¨¨Ñ4ˆð #Ð$€LØÐ ¨Q¢ Ø# y lÑ2ˆà�iŠi˜¨Ñ4Ô4€GØ�YŠY�~ zÑ2Ô2€FØˆcŒi˜Ð'€Gå$°Ð=Ñ=Ô=€EØ	‡I‚Iˆg�wÑÔÐà—M’M &°T�MÑ:Ô:�M€FˆEØ�}Š}˜V°ˆ}Ñ5Ô5�H€A€uàŒ<˜<Ò'Ð'Ð'Ð'ØŒ;˜,Ò&Ð&Ð&Ð&ØŒ;˜>Ð+¨lÑ:Ò:Ð:Ð:Ð:Ð:Ð:r   c                 ó�  — t           j                             d¦  «        }d\  }}d}d}|f}|�||fz   }|�|dk    r|||f}n||f}|                     ||¦  «        }	|                     ||¦  «        }
 |j        |Ž }t	          | ¬¦  «        }|                     |	|¦  «         |                     |
|¬¦  «        }|j        |k    sJ ‚dS )	a&  Check the shapes of y_samples in single-output (n_targets=0) and
    multi-output settings, including the edge case when n_targets=1, where the
    sklearn convention is to squeeze the predictions.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/22175
    rP  )rò   rQ  r\   r‹   NrE   rR  rÕ   )r   r¦   r§   r¶   r   r7   r‘   r^   )rÄ   r6  r©   r¾   rS  Ún_samples_X_testÚn_samples_y_testrU  rV  r<  r  r=  rW  Ú	y_sampless                 r   Útest_sample_y_shapesr]  ç  sý   € õ Œ)×
Ò
 Ñ
%Ô
%€Cà"&Ñ€J�àÐàÐà$Ð&€MØÐØ%¨¨Ñ4ˆð Ð ¨Q¢ Ø(¨)Ð5EÐFˆˆà(Ð*:Ð;ˆà�iŠi˜¨Ñ4Ô4€GØ�YŠYÐ'¨Ñ4Ô4€FØˆcŒi˜Ð'€Gå$°Ð=Ñ=Ô=€Eð 
‡I‚Iˆg�wÑÔÐà—’˜vÐ1A�ÑBÔB€IØŒ?˜lÒ*Ð*Ð*Ð*Ð*Ð*r   )NrE   rF   rG   r½   rE   r‹   c                 óp  — t           j                             d¦  «        }|                     dd¦  «        }|                     d| �| nd¦  «        }t	          | ¬¦  «        }|                     ||¬¦  «        j        }|                     ||¦  «         |                     ||¬¦  «        j        }||k    sJ ‚dS )zJCheck the output shape of `sample_y` is consistent before and after `fit`.é   rÎ   rG   NrE   ©r6  rÕ   )r   r¦   r§   r¶   r   r‘   r^   r7   )r6  r½   r©   r8   r9   rW  Úshape_before_fitÚshape_after_fits           r   Útest_sample_y_shape_with_priorrc    s±   € õ Œ)×
Ò
 Ñ
%Ô
%€Cà�	Š	�"�aÑÔ€AØ�	Š	�" 9Ð#8�i�i¸aÑ@Ô@€Aå$¨yÐ9Ñ9Ô9€EØ—~’~ a°9�~Ñ=Ô=ÔCÐØ	‡I‚Iˆa��O„O€OØ—n’n Q°)�nÑ<Ô<ÔB€OØ˜Ò.Ð.Ð.Ð.Ð.Ð.r   c                 ó0  — t           j                             d¦  «        }d}|                     |d¦  «        }|                     || �| nd¦  «        }t	          | ¬¦  «        }|                     |d¬¦  «        \  }}|                     |d¬	¦  «        \  }}	|                     ||¦  «         |                     |d¬¦  «        \  }
}|                     |d¬	¦  «        \  }}|j        |
j        k    sJ ‚|j        |j        k    sJ ‚|	j        |j        k    sJ ‚dS )
z<Check the output shape of `predict` with prior distribution.r_  rÎ   rG   NrE   r`  Tr0   rž   )r   r¦   r§   r¶   r   r:   r7   r^   )r6  r©   Ún_sampler8   r9   rW  Ú
mean_priorÚ	cov_priorr‡   Ú	std_priorÚ	mean_postÚcov_postÚstd_posts                r   Útest_predict_shape_with_priorrl  '  s  € õ Œ)×
Ò
 Ñ
%Ô
%€Cà€HØ�	Š	�(˜AÑÔ€AØ�	Š	�(¨Ð)>˜I˜IÀAÑFÔF€Aå$¨yÐ9Ñ9Ô9€EØ!ŸMšM¨!¸˜MÑ=Ô=Ñ€J�	Ø—=’= ¨t�=Ñ4Ô4�L€A€yà	‡I‚Iˆa��O„O€OØŸ-š-¨°d˜-Ñ;Ô;Ñ€IˆxØ—-’- ¨d�-Ñ3Ô3�K€A€xàÔ˜yœÒ.Ð.Ð.Ð.ØŒ?˜hœnÒ,Ð,Ð,Ð,ØŒ?˜hœnÒ,Ð,Ð,Ð,Ð,Ð,r   c                  óP  — t           j                             d¦  «        } |                      dd¦  «        }|                      dd¦  «        }t	          d¬¦  «        }t          j        t          d¬¦  «        5  |                     ||¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
zmCheck that an error is raised when the number of targets seen at fit is
    inconsistent with n_targets.
    r   rÎ   rG   rF   rE   r`  z!The number of targets seen in `y`rõ   N)	r   r¦   r§   r¶   r   r5   rq   rH  r7   )r©   r8   r9   rW  s       r   Útest_n_targets_errorrn  =  sÚ   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�aÑÔ€AØ�	Š	�"�aÑÔ€Aå$¨qÐ1Ñ1Ô1€EÝ	Œ•zÐ)LÐ	MÑ	MÔ	Mð ð Ø�	Š	�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á7BÂBÂ"Bc                   ó   — e Zd ZdZd„ ZdS )ÚCustomKernelz¼
    A custom kernel that has a diag method that returns the first column of the
    input matrix X. This is a helper for the test to check that the input
    matrix X is not mutated.
    c                 ó   — |d d …df         S )Nr   r'   )Úselfr8   s     r   r;   zCustomKernel.diagQ  s   € Ø����A�Œwˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r;   r'   r   r   rp  rp  J  s-   € € € € € ðð ðð ð ð ð r   rp  c                  ó  — t          t          ¦   «         ¬¦  «                             t          t          ¦  «        } t          j        t          ¦  «        }|                      t          d¬¦  «        \  }}t          t          |¦  «         dS )zä
    Check that the input X is not modified by the predict method of the
    GaussianProcessRegressor when setting return_std=True.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/24340
    r/   Trž   N)
r   rp  r7   r8   r9   r   r…   r�   r:   r   )r<   ÚX2_copyr‡   s      r   Ú#test_gpr_predict_input_not_modifiedry  U  sd   € õ #­,©.¬.Ð
9Ñ
9Ô
9×
=Ò
=½aÅÑ
CÔ
C€CåŒg•b‰kŒk€GØ�;Š;•r dˆ;Ñ+Ô+�D€A€qå•B˜Ñ Ô Ð Ð Ð r   c                 óÆ   — t          | ¬¦  «                             t          t          ¦  «        }|                     t          dd¬¦  «        }t          |t          ¦  «         dS )z\
    Check that only y_mean is returned when return_cov=False and
    return_std=False.
    r/   FrL  N)r   r7   r8   r9   r:   r   )r*   r<   r=   s      r   Ú%test_gpr_predict_no_cov_no_std_returnr{  e  sQ   € õ #¨&Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CØ�[Š[� u¸ˆ[Ñ?Ô?€Få�F�AÑÔÐÐÐr   )Vrv  rû   r3   r  Únumpyr   r5   Úscipy.optimizer   Úsklearn.baser   Úsklearn.exceptionsr   Úsklearn.gaussian_processr   Ú sklearn.gaussian_process.kernelsr   r   r	   r
   r   rD   Ú4sklearn.gaussian_process.tests._mini_sequence_kernelr   Úsklearn.utils._testingr   r   r   r   r   Ú
atleast_2drØ   r8   r�   rK   r9   r(   rÙ   Únon_fixed_kernelsÚmarkÚparametrizer?   rN   rT   rW   ra   ri   rp   r6   ÚAssertionErrorÚlogspacer‰   rŽ   r•   r›   r]   r^   r_   r¢   rª   rÁ   rÌ   rÓ   rä   rï   rþ   r  r  r)  r/  r9  rA  ÚzerosrH  r¹   rF  rJ  rN  rX  r]  rc  rl  rn  rp  ry  r{  r'   r   r   ú<module>r‹     sô  ðØ -Ð -ð
 
€	€	€	Ø 
€
€
€
Ø €€€à Ð Ð Ð Ø €€€Ø (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð OÐ NÐ NÐ NÐ NÐ Nðð ð ð ð ð ð ð ð ð ð ð ðð ð ð €B„MÐ0Ð0Ð0Ñ1Ô1Ô3€Ø€R„]Ð,Ð,Ð,Ñ-Ô-Ô/€Ø€A€a�D„D‡J‚J�L„L€àˆs ¸ÐAÑAÔA€à€C�SÐÑÔØØ€C�S¨kÐ:Ñ:Ô:Ø€A€cˆ;ÑÔ˜#˜#¨3ÀKÐPÑPÔPÑPØ€A€cˆ;ÑÔ˜#˜#¨3ÀKÐPÑPÔPÑPØ€aˆˆkÑÔñà€A€cˆ;ÑÔ˜#˜#¨3ÀKÐPÑPÔPÑPØ€aˆˆkÑÔñð	€ð MÐL¨'ÐLÑLÔLÐ ð „×Ò˜ 7Ñ+Ô+ð	-ð 	-ñ ,Ô+ð	-ð-ð -ð -ð „×Ò˜Ð#4Ñ5Ô5ðð ñ 6Ô5ðð „×Ò˜ 7Ñ+Ô+ðð ñ ,Ô+ðð „×Ò˜ 7Ñ+Ô+ð;ð ;ñ ,Ô+ð;ð „×Ò˜Ð#4Ñ5Ô5ð
ð 
ñ 6Ô5ð
ð „×Ò˜Ð#4Ñ5Ô5ð
>ð 
>ñ 6Ô5ð
>ð „×ÒØØFð ñ ô ð „×Ò˜Ð#4Ñ5Ô5Ø„×Ò˜¨¨¬°R¸¸BÑ)?Ô)?Ñ@Ô@ðVð Vñ AÔ@ñ 6Ô5ñ	ô ðVð* „×Ò˜ 7Ñ+Ô+ð2ð 2ñ ,Ô+ð2ð „×Ò˜ 7Ñ+Ô+ðð ñ ,Ô+ðð" „×Ò˜ t¨_Ð&=Ñ>Ô>Ø„×Ò˜ D¨#¨#©%¬% =Ñ1Ô1ðIð Iñ 2Ô1ñ ?Ô>ðIð „×Ò˜ 7Ñ+Ô+Ø„×Ò˜ A w r¤w¨q¬w°q¬zÀÄÐ'LÑ'LÔ'LÐ#MÑNÔNð8ð 8ñ OÔNñ ,Ô+ð8ðKð Kð Kðð ð ð6 „×Ò˜ 7Ñ+Ô+ð$+ð $+ñ ,Ô+ð$+ðN4Cð 4Cð 4Cðn+Hð +Hð +Hð\ „×Ò˜Ð#4Ñ5Ô5ðð ñ 6Ô5ðð4ð ð ð „×Ò˜ 7Ñ+Ô+ð4ð 4ñ ,Ô+ð4ð*.ð .ð .ð"F
ð F
ð F
ðR	6ð 	6ð 	6ð „×Ò˜ 7Ñ+Ô+ð%<ð %<ñ ,Ô+ð%<ðP*?ð *?ð *?ðZ „×ÒØ ð �h�b”h˜s‘m”mÐ$ØØQð	
ð &˜+¸2¼6¸'À2Ä6Ð9JÐKÑKÔKØ()ðð ð Ø1ð	
ðñô ð$ð ñ%ô ð$ð8ð 8ð 8ð9ð 9ð 9ð „×Ò˜¨¨u¨Ñ6Ô6Ø„×Ò˜ m m mÑ4Ô4ð#;ð #;ñ 5Ô4ñ 7Ô6ð#;ðL „×Ò˜¨¨u¨Ñ6Ô6Ø„×Ò˜ m m mÑ4Ô4ð++ð ++ñ 5Ô4ñ 7Ô6ð++ð\ „×Ò˜ o o oÑ6Ô6Ø„×Ò˜ q¨! fÑ-Ô-ð/ð /ñ .Ô-ñ 7Ô6ð/ð „×Ò˜ o o oÑ6Ô6ð-ð -ñ 7Ô6ð-ð*
ð 
ð 
ðð ð ð ð �1ñ ô ð ð!ð !ð !ð  „×Ò˜ 7Ñ+Ô+ðð ñ ,Ô+ðð ð r   