§
    fŠtjÓ3  ã                   ó\   — d Z ddlmZmZ ddlZddlZddlmZm	Z	 ddl
Z
 G d„ d¦  «        ZdS )z.
Unit test for DIRECT optimization algorithm.
é    )Úassert_allcloseÚassert_array_lessN)ÚdirectÚBoundsc            	       ób  — e 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dd	g¦  «        d„ ¦   «         Ze	j
                             ddd	g¦  «        d„ ¦   «         Ze	j
                             dddg¦  «        e	j
                             ddd	g¦  «        d„ ¦   «         ¦   «         Ze	j
                             dddg¦  «        e	j
                             ddd	g¦  «        d„ ¦   «         ¦   «         Ze	j
                             dg d¢¦  «        e	j
                             ddd	g¦  «        d„ ¦   «         ¦   «         Zd„ Ze	j
                             ddd	g¦  «        d„ ¦   «         Ze	j
                             ddd	g¦  «        d„ ¦   «         Ze	j
                             ddd	g¦  «        d„ ¦   «         Ze	j
                             ddd	g¦  «        d„ ¦   «         Ze	j
                             ddd	g¦  «        e	j
                             dg d¢¦  «        d „ ¦   «         ¦   «         Ze	j
        j        e	j
                             ddd	g¦  «        d!„ ¦   «         ¦   «         Ze	j
                             ddd	g¦  «        d"„ ¦   «         Ze	j
                             dd#d$g¦  «        d%„ ¦   «         Ze	j
                             dd#d$g¦  «        d&„ ¦   «         Ze	j
                             dd#d$g¦  «        d'„ ¦   «         Ze	j
                             d(g d)¢¦  «        d*„ ¦   «         Ze	j
                             d+g d)¢¦  «        d,„ ¦   «         Z d-„ Z!d.„ Z"e	j
                             d/g d0¢¦  «        d1„ ¦   «         Z#e	j
                             d/ e$d2d#gd3d4g¦  «         e$e%j&         d#gd3e%j&        g¦  «        g¦  «        d5„ ¦   «         Z'd6„ Z(e	j
                             dd7d8d8gd9g¦  «        d:„ ¦   «         Z)d;S )<Ú
TestDIRECTc                 óÌ   — t          j        ¦   «         | _        ddgz  | _        t	          j        d¦  «        | _        d| _        t          ddgddg¦  «        | _	        d| _
        d S )Né   )éþÿÿÿé   ©r
   ç        g      Àg      @éè  )Ú	threadingÚlocalÚ	fun_callsÚbounds_sphereÚnpÚzerosÚoptimum_sphere_posÚoptimum_spherer   Úbounds_stylinski_tangÚmaxiter)Úselfs    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_direct.pyÚsetup_methodzTestDIRECT.setup_method   s\   € Ý"œÑ*Ô*ˆŒØ ˜y™[ˆÔÝ"$¤(¨5¡/¤/ˆÔØ!ˆÔÝ%+¨S°#¨J¸¸R¸Ñ%AÔ%AˆÔ"ØˆŒˆˆó    c                 óº   — t          | j        d¦  «        sd| j        _        | j        xj        dz  c_        t          j        |¦  «                             ¦   «         S )NÚcr   é   )Úhasattrr   r   r   ÚsquareÚsum©r   Úxs     r   ÚspherezTestDIRECT.sphere   sP   € Ý�t”~ sÑ+Ô+ð 	!Ø ˆDŒNÔØŒÐÔ˜AÑÐÔÝŒy˜‰|Œ|×ÒÑ!Ô!Ð!r   c                 ó|   — t          j        |¦  «        dk    rt          ¦   «         ‚dt          j        |¦  «        z  S ©Nr   r    )r   r#   ÚZeroDivisionErrorr$   s     r   ÚinvzTestDIRECT.inv   s1   € ÝŒ6�!‰9Œ9˜Š>ˆ>Ý#Ñ%Ô%Ð%Ø•”˜‘”‰{Ðr   c                 ó   — t           j        S ©N)r   Únanr$   s     r   Únan_funzTestDIRECT.nan_fun"   ó	   € ÝŒvˆr   c                 ó   — t           j        S r,   )r   Úinfr$   s     r   Úinf_funzTestDIRECT.inf_fun%   r/   r   c                 ód   — |\  }}d|dz  d|dz  z  z
  d|z  z   |dz  z   d|dz  z  z
  d|z  z   z  S )Ng      à?r
   é   é   é   © )r   Úposr%   Úys       r   Ústyblinski_tangzTestDIRECT.styblinski_tang(   sO   € Ø‰ˆˆ1Ø�a˜‘d˜R ! Q¡$™YÑ&¨¨Q©Ñ.°°A±Ñ5¸¸QÀ¹T¹	ÑAÀAÈÁEÑIÑJÐJr   Úlocally_biasedTFc                 óü  — t          | j        | j        |¬¦  «        }t          |j        | j        dd¬¦  «         t          |j        | j        dd¬¦  «         t          j	        | j        ¦  «        }t          |d d …df         |j        ¦  «         t          |j        |d d …df         ¦  «         |j        dt          | j        ¦  «        dz   z  k    sJ ‚|j        | j        j        k    sJ ‚|j        | j        k    sJ ‚d S )	N©r;   çü©ñÒMbP?©ÚrtolÚatolçñhãˆµøä>©rA   r@   r   r    r   )r   r&   r   r   r%   r   Úfunr   r   Úasarrayr   ÚnfevÚlenr   r   Únitr   )r   r;   ÚresÚ_boundss       r   Útest_directzTestDIRECT.test_direct,   s  € å�T”[ $Ô"4Ø$2ð4ñ 4ô 4ˆõ 	˜œ˜tÔ6Ø!¨ð	.ñ 	.ô 	.ð 	.å˜œ Ô!4¸4ÀdÐKÑKÔKÐKõ ”*˜TÔ/Ñ0Ô0ˆÝ˜' ! ! ! Q $œ-¨¬Ñ/Ô/Ð/Ý˜#œ% ¨¨¨¨A¨¤Ñ/Ô/Ð/ð Œx˜4¥3 tÔ'9Ñ#:Ô#:¸QÑ#>Ñ?Ò?Ð?Ð?Ð?àŒx˜4œ>Ô+Ò+Ð+Ð+Ð+ð Œw˜$œ,Ò&Ð&Ð&Ð&Ð&Ð&r   c                 ó2  — t          | j        | j        |¬¦  «        }d„ }t          | j        | j        ||¬¦  «        }t          |j        |j        ¦  «         |j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j	        |j	        k    sJ ‚t          |j        |j        ¦  «         |j
        |j
        k    sJ ‚t          |j        | j        dd¬¦  «         t          |j	        | j        dd¬¦  «         d S )Nr=   c                 óV   — d| z  } t          j        | ¦  «        }t          d¦  «         |S )Nr5   z+DIRECT minimization algorithm callback test)r   r"   Úprint)r%   Údummys     r   Úcallbackz1TestDIRECT.test_direct_callback.<locals>.callbackJ   s,   € Ø�!‘ˆAÝ”I˜a‘L”LˆEÝÐ?Ñ@Ô@Ð@ØˆLr   )r;   rP   r>   r?   rB   rC   )r   r&   r   r   r%   rH   rF   ÚstatusÚsuccessrD   Úmessager   r   )r   r;   rI   rP   Úres_callbacks        r   Útest_direct_callbackzTestDIRECT.test_direct_callbackD   s]  € õ �T”[ $Ô"4Ø$2ð4ñ 4ô 4ˆð	ð 	ð 	õ ˜dœk¨4Ô+=Ø-;Ø'/ð1ñ 1ô 1ˆõ 	˜œ˜|œ~Ñ.Ô.Ð.àŒw˜,Ô*Ò*Ð*Ð*Ð*ØŒx˜<Ô,Ò,Ð,Ð,Ð,ØŒz˜\Ô0Ò0Ð0Ð0Ð0ØŒ{˜lÔ2Ò2Ð2Ð2Ð2ØŒw˜,Ô*Ò*Ð*Ð*Ð*Ý˜œ˜|œ~Ñ.Ô.Ð.ØŒ{˜lÔ2Ò2Ð2Ð2Ð2õ 	˜œ¨Ô(?Ø!¨ð	.ñ 	.ô 	.ð 	.å˜Ô(¨$Ô*=Ø!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r   c                 ó¤   — ddgz  }t          j        t          ¦  «        5  t          | j        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr
   )iöÿÿÿé
   )Úboundsr;   )ÚpytestÚraisesr)   r   r*   ©r   r;   rY   s      r   Útest_exceptionzTestDIRECT.test_exceptiond   s¢   € à�I�;‘ˆÝŒ]Õ,Ñ-Ô-ð 	2ð 	2Ý�4”8 FØ"0ð2ñ 2ô 2ð 2ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s    AÁA	ÁA	c                 ó@   — ddgz  }t          | j        ||¬¦  «         d S rW   )r   r.   r\   s      r   Útest_nanzTestDIRECT.test_nank   s7   € à�I�;‘ˆÝˆtŒ| FØ,ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r   Úlen_tolr>   ç-Cëâ6?c                 óâ   — ddgz  }t          | j        ||d|¬¦  «        }|j        dk    sJ ‚|j        sJ ‚t	          |j        t          j        d¦  «        ¦  «         d|› �}|j        |k    sJ ‚d S )Nr
   ©g      $Àç      $@g ÂëþKH´9)rY   r`   Úvol_tolr;   r6   r   zjThe side length measure of the hyperrectangle containing the lowest function value found is below len_tol=©	r   r&   rQ   rR   r   r%   r   r   rS   )r   r`   r;   rY   rI   rS   s         r   Útest_len_tolzTestDIRECT.test_len_tolq   s˜   € ð �K�=‘ˆÝ�T”[¨¸Ø"°>ðCñ Cô CˆàŒz˜QŠˆˆˆØŒ{ÐÐˆ{Ý˜œ�rœx¨™œÑ/Ô/Ð/ð(à%ð(ð (ˆð Œ{˜gÒ%Ð%Ð%Ð%Ð%Ð%r   re   ç�íµ ÷Æ°>g:Œ0âŽyE>c                 óâ   — ddgz  }t          | j        ||d|¬¦  «        }|j        dk    sJ ‚|j        sJ ‚t	          |j        t          j        d¦  «        ¦  «         d|› �}|j        |k    sJ ‚d S )Nr
   rc   r   )rY   re   r`   r;   r   z]The volume of the hyperrectangle containing the lowest function value found is below vol_tol=rf   )r   re   r;   rY   rI   rS   s         r   Útest_vol_tolzTestDIRECT.test_vol_tol   s™   € ð �K�=‘ˆÝ�T”[¨¸Ø°ð@ñ @ô @ˆàŒz˜QŠˆˆˆØŒ{ÐÐˆ{Ý˜œ�rœx¨™œÑ/Ô/Ð/ðFØ<CðFð FˆàŒ{˜gÒ%Ð%Ð%Ð%Ð%Ð%r   Ú
f_min_rtol)r>   rB   gH¯¼šò×z>c                 óÀ   — d}ddgz  }t          | j        ||||¬¦  «        }|j        dk    sJ ‚|j        sJ ‚|j        |d|z   z  k     sJ ‚d|› d�}|j        |k    sJ ‚d S )Nç      ð?r
   )ç       Àrd   )rY   Úf_minrk   r;   r   z9The best function value found is within a relative error=z$ of the (known) global optimum f_min)r   r&   rQ   rR   rD   rS   )r   rk   r;   ro   rY   rI   rS   s          r   Ú
test_f_minzTestDIRECT.test_f_minŒ   s¦   € ð
 ˆØ�J�<‘ˆÝ�T”[¨°uØ *Ø$2ð4ñ 4ô 4ˆð Œz˜QŠˆˆˆØŒ{ÐÐˆ{ØŒw˜ " z¡/Ñ2Ò2Ð2Ð2Ð2ðMØ&ðMð Mð MˆàŒ{˜gÒ%Ð%Ð%Ð%Ð%Ð%r   c                 óœ   — t          j        |d         |z
  ¦  «        t          j        |d         |z
  ¦  «                             ¦   «         z   S r(   )r   r"   r#   )r   r%   ÚaÚbs       r   Úcircle_with_argszTestDIRECT.circle_with_args�   s=   € ÝŒy˜˜1œ ™Ñ"Ô"¥R¤Y¨q°¬t°a©xÑ%8Ô%8×%<Ò%<Ñ%>Ô%>Ñ>Ð>r   c                 óš   — ddgz  }t          | j        |dd|¬¦  «        }t          |j        t	          j        ddg¦  «        d¬¦  «         d S )	Nr5   )rn   ç       @)r    r    iâ  )ÚargsÚmaxfunr;   rm   rB   ©r@   )r   rt   r   r%   r   Úarray)r   r;   rY   rI   s       r   Útest_f_circle_with_argsz"TestDIRECT.test_f_circle_with_args    sZ   € à�K�=‘ˆå�TÔ*¨F¸ÈØ$2ð4ñ 4ô 4ˆå˜œ�rœx¨¨R¨Ñ1Ô1¸Ð=Ñ=Ô=Ð=Ð=Ð=r   c                 ó²   — d}t          | j        | j        ||¬¦  «        }|j        du sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚d|› �}|j        |k    sJ ‚d S )Néd   )rx   r;   Fr    z:Number of function evaluations done is larger than maxfun=)r   r:   r   rR   rQ   rF   rS   )r   r;   rx   ÚresultrS   s        r   Útest_failure_maxfunzTestDIRECT.test_failure_maxfun¨   s•   € ð
 ˆÝ˜Ô,¨dÔ.HØ%°nðFñ Fô FˆàŒ~ Ð&Ð&Ð&Ð&ØŒ} Ò!Ð!Ð!Ð!ØŒ{˜fÒ$Ð$Ð$Ð$ð2Ø)/ð2ð 2ˆàŒ~ Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó²   — d}t          | j        | j        ||¬¦  «        }|j        du sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚d|› �}|j        |k    sJ ‚d S )NrX   )r   r;   Fr5   z,Number of iterations is larger than maxiter=)r   r:   r   rR   rQ   rH   rS   )r   r;   r   r~   rS   s        r   Útest_failure_maxiterzTestDIRECT.test_failure_maxiter·   sŽ   € ð
 ˆÝ˜Ô,¨dÔ.HØ '¸ðHñ Hô HˆàŒ~ Ð&Ð&Ð&Ð&ØŒ} Ò!Ð!Ð!Ð!ØŒz˜WÒ$Ð$Ð$Ð$ØJÀÐJÐJˆØŒ~ Ò(Ð(Ð(Ð(Ð(Ð(r   c                 óê  — g d¢}g d¢}t          j        g d¢¦  «        }t          t          ||¦  «        ¦  «        }t	          ||¦  «        }t          | j        ||¬¦  «        }t          | j        ||¬¦  «        }|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j	        |j	        k    sJ ‚|j
        |j
        k    sJ ‚t          |j        |j        ¦  «         t          |j        |d¬¦  «         d S )N)g      Àrm   ç      À)ç      ð¿g      @ç      @)r„   rm   r   r=   g{®Gáz„?ry   )r   rz   ÚlistÚzipr   r   r&   rF   rS   rR   rH   r   r%   )	r   r;   ÚlbÚubÚx_optÚ
bounds_oldÚ
bounds_newÚres_old_boundsÚres_new_boundss	            r   Útest_bounds_variantszTestDIRECT.test_bounds_variantsÅ   s  € ð ˆ^ˆ^ˆØˆ]ˆ]ˆÝ”˜˜˜Ñ'Ô'ˆÝ�#˜b "™+œ+Ñ&Ô&ˆ
Ý˜B ‘^”^ˆ
å ¤¨ZØ/=ð?ñ ?ô ?ˆå ¤¨ZØ/=ð?ñ ?ô ?ˆð Ô" nÔ&9Ò9Ð9Ð9Ð9ØÔ%¨Ô)?Ò?Ð?Ð?Ð?ØÔ%¨Ô)?Ò?Ð?Ð?Ð?ØÔ! ^Ô%7Ò7Ð7Ð7Ð7Ý˜Ô(¨.Ô*:Ñ;Ô;Ð;Ý˜Ô(¨%°dÐ;Ñ;Ô;Ð;Ð;Ð;r   Úeps)rB   ra   r>   c                 ón   — t          | j        | j        |d|¬¦  «        }|j        dk    sJ ‚|j        sJ ‚d S )Nrh   )r�   re   r;   r
   )r   r:   r   rQ   rR   )r   r�   r;   r~   s       r   Útest_epsilonzTestDIRECT.test_epsilonÛ   sR   € õ ˜Ô,¨dÔ.HØ¨Ø'5ð7ñ 7ô 7ˆð Œ} Ò!Ð!Ð!Ð!ØŒ~ÐÐˆ~ÐÐr   c                 óL   — dgdz  }t          | j        |dd|¬¦  «        }|€J ‚d S )N)rƒ   g      4@r}   i€–˜ i@B )rx   r   r;   )r   r&   ©r   r;   rY   r~   s       r   Útest_no_segmentation_faultz%TestDIRECT.test_no_segmentation_faultä   sF   € ð
 � Ñ#ˆÝ˜œ V°HØ '¸ðHñ Hô HˆàÐ!Ð!Ð!Ð!Ð!r   c                 óH   — dgdz  }t          | j        ||¬¦  «        }|€J ‚d S )N)rƒ   r…   r5   r=   )r   r2   r”   s       r   Útest_inf_funzTestDIRECT.test_inf_funî   s>   € ð �˜q‘ˆÝ˜œ fØ'5ð7ñ 7ô 7ˆàÐ!Ð!Ð!Ð!Ð!r   éÿÿÿÿr5   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz len_tol must be between 0 and 1.©Úmatch)r`   ©rZ   r[   Ú
ValueErrorr   r:   r   )r   r`   Ú	error_msgs      r   Útest_len_tol_validationz"TestDIRECT.test_len_tol_validationö   ó¤   € à6ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	$ð 	$Ý�4Ô'¨Ô)CØ"ð$ñ $ô $ð $ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ó   žAÁAÁAc                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz vol_tol must be between 0 and 1.rš   )re   rœ   )r   re   rž   s      r   Útest_vol_tol_validationz"TestDIRECT.test_vol_tol_validationý   r    r¡   c                 ó¬   — d}t          j        t          |¬¦  «        5  t          | j        | j        |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz#f_min_rtol must be between 0 and 1.rš   r   )rk   ro   rœ   )r   rk   rž   s      r   Útest_fmin_rtol_validationz$TestDIRECT.test_fmin_rtol_validation  s¦   € à9ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	4ð 	4Ý�4Ô'¨Ô)CØ(°ð4ñ 4ô 4ð 4ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   žA	Á	AÁArx   )g      ø?Ústring)r    r5   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzmaxfun must be of type int.rš   ©rx   rœ   )r   rx   rž   s      r   Útest_maxfun_wrong_typez!TestDIRECT.test_maxfun_wrong_type  s¤   € à1ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	"ð 	"Ý�4Ô'¨Ô)CØ ð"ñ "ô "ð "ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"r¡   r   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzmaxiter must be of type int.rš   ©r   rœ   )r   r   rž   s      r   Útest_maxiter_wrong_typez"TestDIRECT.test_maxiter_wrong_type  s¤   € à2ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	$ð 	$Ý�4Ô'¨Ô)CØ"ð$ñ $ô $ð $ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r¡   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzmaxiter must be > 0.rš   r˜   r«   rœ   ©r   rž   s     r   Útest_negative_maxiterz TestDIRECT.test_negative_maxiter  s¤   € Ø*ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	ð 	Ý�4Ô'¨Ô)CØðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r¡   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzmaxfun must be > 0.rš   r˜   r¨   rœ   r®   s     r   Útest_negative_maxfunzTestDIRECT.test_negative_maxfun  s¤   € Ø)ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	ð 	Ý�4Ô'¨Ô)CØðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r¡   rY   )rY   rv   r   c                 óœ   — d}t          j        t          |¬¦  «        5  t          | j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz5bounds must be a sequence or instance of Bounds classrš   ©rZ   r[   r�   r   r:   ©r   rY   rž   s      r   Útest_invalid_bounds_typez#TestDIRECT.test_invalid_bounds_type%  s•   € ð0ˆ	åŒ]�:¨YÐ7Ñ7Ô7ð 	1ð 	1Ý�4Ô'¨Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ó   žAÁAÁAr„   r   r    c                 óœ   — d}t          j        t          |¬¦  «        5  t          | j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz#Bounds are not consistent min < maxrš   r³   r´   s      r   Útest_incorrect_boundsz TestDIRECT.test_incorrect_bounds,  s•   € ð :ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	1ð 	1Ý�4Ô'¨Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1r¶   c                 óî   — d}t          t          j         dgdt          j        g¦  «        }t          j        t
          |¬¦  «        5  t          | j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzBounds must not be inf.r˜   r   rš   )r   r   r1   rZ   r[   r�   r   r:   )r   rž   rY   s      r   Útest_inf_boundszTestDIRECT.test_inf_bounds6  s°   € Ø-ˆ	Ý�"œ&˜ "˜¨­B¬F |Ñ4Ô4ˆÝŒ]�:¨YÐ7Ñ7Ô7ð 	1ð 	1Ý�4Ô'¨Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   ÁA*Á*A.Á1A.Úbiasr   rv   c                 óª   — d}t          j        t          |¬¦  «        5  t          | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz%locally_biased must be True or False.rš   r=   rœ   )r   r;   rž   s      r   Útest_locally_biased_validationz)TestDIRECT.test_locally_biased_validation<  s¤   € à;ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	2ð 	2Ý�4Ô'¨Ô)CØ"0ð2ñ 2ô 2ð 2ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2r¡   N)*Ú__name__Ú
__module__Ú__qualname__r   r&   r*   r.   r2   r:   rZ   ÚmarkÚparametrizerK   rU   r]   r_   rg   rj   rp   rt   r{   r   r�   r�   r’   Úxslowr•   r—   rŸ   r£   r¥   r©   r¬   r¯   r±   rµ   r   r   r-   r¸   rº   r½   r7   r   r   r   r      sî  € € € € € ðð ð ð"ð "ð "ðð ð ð
ð ð ðð ð ðKð Kð Kð „[×ÒÐ-°°e¨}Ñ=Ô=ð'ð 'ñ >Ô=ð'ð. „[×ÒÐ-°°e¨}Ñ=Ô=ð.ð .ñ >Ô=ð.ð> „[×ÒÐ-°°e¨}Ñ=Ô=ð2ð 2ñ >Ô=ð2ð „[×ÒÐ-°°e¨}Ñ=Ô=ð.ð .ñ >Ô=ð.ð
 „[×Ò˜Y¨¨t¨Ñ5Ô5Ø„[×ÒÐ-°°e¨}Ñ=Ô=ð
&ð 
&ñ >Ô=ñ 6Ô5ð
&ð „[×Ò˜Y¨¨t¨Ñ5Ô5Ø„[×ÒÐ-°°e¨}Ñ=Ô=ð	&ð 	&ñ >Ô=ñ 6Ô5ð	&ð „[×Ò˜\Ð+=Ð+=Ð+=Ñ>Ô>Ø„[×ÒÐ-°°e¨}Ñ=Ô=ð&ð &ñ >Ô=ñ ?Ô>ð&ð?ð ?ð ?ð „[×ÒÐ-°°e¨}Ñ=Ô=ð>ð >ñ >Ô=ð>ð „[×ÒÐ-°°e¨}Ñ=Ô=ð)ð )ñ >Ô=ð)ð „[×ÒÐ-°°e¨}Ñ=Ô=ð)ð )ñ >Ô=ð)ð „[×ÒÐ-°°e¨}Ñ=Ô=ð<ð <ñ >Ô=ð<ð* „[×ÒÐ-°°e¨}Ñ=Ô=Ø„[×Ò˜UÐ$6Ð$6Ð$6Ñ7Ô7ðð ñ 8Ô7ñ >Ô=ðð „[ÔØ„[×ÒÐ-°°e¨}Ñ=Ô=ð"ð "ñ >Ô=ñ Ôð"ð „[×ÒÐ-°°e¨}Ñ=Ô=ð"ð "ñ >Ô=ð"ð „[×Ò˜Y¨¨Q¨Ñ0Ô0ð$ð $ñ 1Ô0ð$ð „[×Ò˜Y¨¨Q¨Ñ0Ô0ð$ð $ñ 1Ô0ð$ð „[×Ò˜\¨B°¨7Ñ3Ô3ð4ð 4ñ 4Ô3ð4ð „[×Ò˜XÐ'>Ð'>Ð'>Ñ?Ô?ð"ð "ñ @Ô?ð"ð „[×Ò˜YÐ(?Ð(?Ð(?Ñ@Ô@ð$ð $ñ AÔ@ð$ðð ð ðð ð ð „[×Ò˜XÐ'8Ð'8Ð'8Ñ9Ô9ð1ð 1ñ :Ô9ð1ð „[×Ò˜XØ$˜f c¨2 Y°°Q°Ñ8Ô8Ø$˜f r¤v g¨r ]°R¸¼°LÑAÔAð ñô ð
1ð 1ñô ð
1ð
1ð 1ð 1ð „[×ÒÐ-°¸¸A¸ÀÐ/CÑDÔDð2ð 2ñ EÔDð2ð 2ð 2r   r   )Ú__doc__Únumpy.testingr   r   rZ   Únumpyr   Úscipy.optimizer   r   r   r   r7   r   r   ú<module>rÈ      s¬   ððð ð.ð .ð .ð .ð .ð .ð .ð .à €€€Ø Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð ðu2ð u2ð u2ð u2ð u2ñ u2ô u2ð u2ð u2ð u2r   