Ë
    âQ(hÓ3  ã                   óT   — 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y)z.
Unit test for DIRECT optimization algorithm.
é    )Úassert_allcloseÚassert_array_lessN)ÚdirectÚBoundsc            	       ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  ddd	g«      d
„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  dddg«      e	j                  j                  ddd	g«      d„ «       «       Ze	j                  j                  dddg«      e	j                  j                  ddd	g«      d„ «       «       Ze	j                  j                  dg d¢«      e	j                  j                  ddd	g«      d„ «       «       Zd„ Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      d„ «       Ze	j                  j                  ddd	g«      e	j                  j                  dg d¢«      d „ «       «       Ze	j                  j2                  e	j                  j                  ddd	g«      d!„ «       «       Ze	j                  j                  ddd	g«      d"„ «       Ze	j                  j                  dd#d$g«      d%„ «       Ze	j                  j                  dd#d$g«      d&„ «       Ze	j                  j                  dd#d$g«      d'„ «       Ze	j                  j                  d(g d)¢«      d*„ «       Ze	j                  j                  d+g d)¢«      d,„ «       Z d-„ Z!d.„ Z"e	j                  j                  d/g d0¢«      d1„ «       Z#e	j                  j                  d/ e$d2d#gd3d4g«       e$e%jL                   d#gd3e%jL                  g«      g«      d5„ «       Z'd6„ Z(e	j                  j                  dd7d8d8gd9g«      d:„ «       Z)y;)<Ú
TestDIRECTc                 óÆ   — t        j                  «       | _        ddgz  | _        t	        j
                  d«      | _        d| _        t        ddgddg«      | _	        d| _
        y )Né   )éþÿÿÿé   ©r
   ç        g      Àg      @éè  )Ú	threadingÚlocalÚ	fun_callsÚbounds_sphereÚnpÚzerosÚoptimum_sphere_posÚoptimum_spherer   Úbounds_stylinski_tangÚmaxiter)Úselfs    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_direct.pyÚsetup_methodzTestDIRECT.setup_method   sT   € Ü"Ÿ™Ó*ˆŒØ ˜y™[ˆÔÜ"$§(¡(¨5£/ˆÔØ!ˆÔÜ%+¨S°#¨J¸¸R¸Ó%AˆÔ"Øˆ�ó    c                 óÔ   — t        | j                  d«      sd| j                  _        | j                  xj                  dz  c_        t        j                  |«      j                  «       S )NÚcr   é   )Úhasattrr   r   r   ÚsquareÚsum©r   Úxs     r   ÚspherezTestDIRECT.sphere   sH   € Ü�t—~‘~ sÔ+Ø ˆD�N‰NÔØ�‰×Ò˜AÑÕÜ�y‰y˜‹|×ÑÓ!Ð!r   c                 óv   — t        j                  |«      dk(  r
t        «       ‚dt        j                  |«      z  S ©Nr   r    )r   r#   ÚZeroDivisionErrorr$   s     r   ÚinvzTestDIRECT.inv   s,   € Ü�6‰6�!‹9˜Š>Ü#Ó%Ð%Ø”—‘˜“‰{Ðr   c                 ó"   — t         j                  S ©N)r   Únanr$   s     r   Únan_funzTestDIRECT.nan_fun"   ó   € Ü�v‰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                 óZ  — 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 ‚y )	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Ñ"4Ø$2ô4ˆô 	˜Ÿ™˜t×6Ñ6Ø!¨õ	.ä˜Ÿ™ ×!4Ñ!4¸4ÀdÕKô —*‘*˜T×/Ñ/Ó0ˆÜ˜'¢! Q $™-¨¯©Ô/Ü˜#Ÿ%™% ª¨A¨¡Ô/ð �x‰x˜4¤3 t×'9Ñ'9Ó#:¸QÑ#>Ñ?Ò?Ð?Ð?à�x‰x˜4Ÿ>™>×+Ñ+Ò+Ð+Ð+ð �w‰w˜$Ÿ,™,Ò&Ð&Ñ&r   c                 óä  — 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¬«       y )Nr=   c                 óP   — 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‘I˜a“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   s4  € ô �T—[‘[ $×"4Ñ"4Ø$2ô4ˆò	ô ˜dŸk™k¨4×+=Ñ+=Ø-;Ø'/ô1ˆô 	˜Ÿ™˜|Ÿ~™~Ô.à�w‰w˜,×*Ñ*Ò*Ð*Ð*Ø�x‰x˜<×,Ñ,Ò,Ð,Ð,Ø�z‰z˜\×0Ñ0Ò0Ð0Ð0Ø�{‰{˜l×2Ñ2Ò2Ð2Ð2Ø�w‰w˜,×*Ñ*Ò*Ð*Ð*Ü˜Ÿ™˜|Ÿ~™~Ô.Ø�{‰{˜l×2Ñ2Ò2Ð2Ð2ô 	˜Ÿ™¨×(?Ñ(?Ø!¨õ	.ä˜×(Ñ(¨$×*=Ñ*=Ø!¨ö	.r   c                 óœ   — ddgz  }t        j                  t        «      5  t        | j                  ||¬«       d d d «       y # 1 sw Y   y xY w©Nr
   )iöÿÿÿé
   )Úboundsr;   )ÚpytestÚraisesr)   r   r*   ©r   r;   rY   s      r   Útest_exceptionzTestDIRECT.test_exceptiond   sB   € à�I�;‘ˆÜ�]‰]Ô,Ó-ñ 	2Ü�4—8‘8 FØ"0õ2÷	2÷ 	2ñ 	2ús    AÁAc                 ó@   — ddgz  }t        | j                  ||¬«       y rW   )r   r.   r\   s      r   Útest_nanzTestDIRECT.test_nank   s    € à�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 ‚y )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ˆà�z‰z˜QŠÐˆØ�{Š{Ðˆ{Ü˜Ÿ™œrŸx™x¨›Ô/ðà%˜Yð(ˆð �{‰{˜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 ‚y )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‰z˜QŠÐˆØ�{Š{Ðˆ{Ü˜Ÿ™œrŸx™x¨›Ô/ð<Ø<C¸9ð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 ‚y )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ˆð �z‰z˜QŠÐˆØ�{Š{Ðˆ{Ø�w‰w˜ " z¡/Ñ2Ò2Ð2Ð2ðØ&˜<Ð'KðMˆà�{‰{˜gÒ%Ð%Ñ%r   c                 óŒ   — t        j                  |d   |z
  «      t        j                  |d   |z
  «      j                  «       z   S r(   )r   r"   r#   )r   r%   ÚaÚbs       r   Úcircle_with_argszTestDIRECT.circle_with_args�   s8   € Ü�y‰y˜˜1™ ™Ó"¤R§Y¡Y¨q°©t°a©xÓ%8×%<Ñ%<Ó%>Ñ>Ð>r   c                 óž   — ddgz  }t        | j                  |dd|¬«      }t        |j                  t	        j
                  ddg«      d¬«       y )	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    sE   € à�K�=‘ˆä�T×*Ñ*¨F¸ÈØ$2ô4ˆä˜Ÿ™œrŸx™x¨¨R¨Ó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 ‚y )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Ñ.HØ%°nôFˆà�~‰~ Ñ&Ð&Ð&Ø�}‰} Ò!Ð!Ð!Ø�{‰{˜fÒ$Ð$Ð$ð)Ø)/¨ð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 ‚y )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ˆà�~‰~ Ñ&Ð&Ð&Ø�}‰} Ò!Ð!Ð!Ø�z‰z˜WÒ$Ð$Ð$Ø@ÀÀ	Ð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¬«       y )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                 óŠ   — t        | j                  | j                  |d|¬«      }|j                  dk(  sJ ‚|j                  sJ ‚y )Nrh   )r�   re   r;   r
   )r   r:   r   rQ   rR   )r   r�   r;   r~   s       r   Útest_epsilonzTestDIRECT.test_epsilonÛ   sF   € ô ˜×,Ñ,¨d×.HÑ.HØ¨Ø'5ô7ˆð �}‰} Ò!Ð!Ð!Ø�~Š~Ð‰~r   c                 óL   — dgdz  }t        | j                  |dd|¬«      }|€J ‚y )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ä   s6   € ð
 � Ñ#ˆÜ˜Ÿ™ V°HØ '¸ôHˆàÐ!Ð!Ñ!r   c                 óH   — dgdz  }t        | j                  ||¬«      }|€J ‚y )N)rƒ   r…   r5   r=   )r   r2   r”   s       r   Útest_inf_funzTestDIRECT.test_inf_funî   s0   € ð �˜q‘ˆÜ˜Ÿ™ fØ'5ô7ˆàÐ!Ð!Ñ!r   éÿÿÿÿr5   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)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ö   óE   € à6ˆ	Ü�]‰]œ:¨YÔ7ñ 	$Ü�4×'Ñ'¨×)CÑ)CØ"õ$÷	$÷ 	$ñ 	$úó   ž#A
Á
Ac                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)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 «       y # 1 sw Y   y xY w)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  sG   € à9ˆ	Ü�]‰]œ:¨YÔ7ñ 	4Ü�4×'Ñ'¨×)CÑ)CØ(°õ4÷	4÷ 	4ñ 	4ús   ž$AÁArx   )g      ø?Ústring)r    r5   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)Nzmaxfun must be of type int.rš   ©rx   rœ   )r   rx   rž   s      r   Útest_maxfun_wrong_typez!TestDIRECT.test_maxfun_wrong_type  sE   € à1ˆ	Ü�]‰]œ:¨YÔ7ñ 	"Ü�4×'Ñ'¨×)CÑ)CØ õ"÷	"÷ 	"ñ 	"úr¡   r   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)Nzmaxiter must be of type int.rš   ©r   rœ   )r   r   rž   s      r   Útest_maxiter_wrong_typez"TestDIRECT.test_maxiter_wrong_type  sE   € à2ˆ	Ü�]‰]œ:¨YÔ7ñ 	$Ü�4×'Ñ'¨×)CÑ)CØ"õ$÷	$÷ 	$ñ 	$úr¡   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  d¬«       d d d «       y # 1 sw Y   y xY w)Nzmaxiter must be > 0.rš   r˜   r«   rœ   ©r   rž   s     r   Útest_negative_maxiterz TestDIRECT.test_negative_maxiter  sE   € Ø*ˆ	Ü�]‰]œ:¨YÔ7ñ 	Ü�4×'Ñ'¨×)CÑ)CØõ÷	÷ 	ñ 	úr¡   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  d¬«       d d d «       y # 1 sw Y   y xY w)Nzmaxfun must be > 0.rš   r˜   r¨   rœ   r®   s     r   Útest_negative_maxfunzTestDIRECT.test_negative_maxfun  sE   € Ø)ˆ	Ü�]‰]œ:¨YÔ7ñ 	Ü�4×'Ñ'¨×)CÑ)CØõ÷	÷ 	ñ 	úr¡   rY   )rY   rv   r   c                 ó”   — d}t        j                  t        |¬«      5  t        | j                  |«       d d d «       y # 1 sw Y   y xY w)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ñ 	1Ü�4×'Ñ'¨Ô0÷	1÷ 	1ñ 	1úó	   ž>¾Ar„   r   r    c                 ó”   — d}t        j                  t        |¬«      5  t        | j                  |«       d d d «       y # 1 sw Y   y xY w)Nz#Bounds are not consistent min < maxrš   r³   r´   s      r   Útest_incorrect_boundsz TestDIRECT.test_incorrect_bounds,  s<   € ð :ˆ	Ü�]‰]œ:¨YÔ7ñ 	1Ü�4×'Ñ'¨Ô0÷	1÷ 	1ñ 	1úr¶   c                 óî   — d}t        t        j                   dgdt        j                  g«      }t        j                  t
        |¬«      5  t        | j                  |«       d d d «       y # 1 sw Y   y xY w)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  sX   € Ø-ˆ	Üœ"Ÿ&™&˜ "˜¨¬B¯F©F |Ó4ˆÜ�]‰]œ:¨YÔ7ñ 	1Ü�4×'Ñ'¨Ô0÷	1÷ 	1ñ 	1ús   ÁA+Á+A4Úbiasr   rv   c                 ó¬   — d}t        j                  t        |¬«      5  t        | j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)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<  sE   € à;ˆ	Ü�]‰]œ:¨YÔ7ñ 	2Ü�4×'Ñ'¨×)CÑ)CØ"0õ2÷	2÷ 	2ñ 	2úr¡   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      sz  „ òò"òò
òòKð ‡[�[×ÑÐ-°°e¨}Ó=ñ'ó >ð'ð. ‡[�[×ÑÐ-°°e¨}Ó=ñ.ó >ð.ð> ‡[�[×ÑÐ-°°e¨}Ó=ñ2ó >ð2ð ‡[�[×ÑÐ-°°e¨}Ó=ñ.ó >ð.ð
 ‡[�[×Ñ˜Y¨¨t¨Ó5Ø‡[�[×ÑÐ-°°e¨}Ó=ñ
&ó >ó 6ð
&ð ‡[�[×Ñ˜Y¨¨t¨Ó5Ø‡[�[×ÑÐ-°°e¨}Ó=ñ	&ó >ó 6ð	&ð ‡[�[×Ñ˜\Ò+=Ó>Ø‡[�[×ÑÐ-°°e¨}Ó=ñ&ó >ó ?ð&ò?ð ‡[�[×ÑÐ-°°e¨}Ó=ñ>ó >ð>ð ‡[�[×ÑÐ-°°e¨}Ó=ñ)ó >ð)ð ‡[�[×ÑÐ-°°e¨}Ó=ñ)ó >ð)ð ‡[�[×ÑÐ-°°e¨}Ó=ñ<ó >ð<ð* ‡[�[×ÑÐ-°°e¨}Ó=Ø‡[�[×Ñ˜UÒ$6Ó7ñó 8ó >ðð ‡[�[×ÑØ‡[�[×ÑÐ-°°e¨}Ó=ñ"ó >ó ð"ð ‡[�[×ÑÐ-°°e¨}Ó=ñ"ó >ð"ð ‡[�[×Ñ˜Y¨¨Q¨Ó0ñ$ó 1ð$ð ‡[�[×Ñ˜Y¨¨Q¨Ó0ñ$ó 1ð$ð ‡[�[×Ñ˜\¨B°¨7Ó3ñ4ó 4ð4ð ‡[�[×Ñ˜XÒ'>Ó?ñ"ó @ð"ð ‡[�[×Ñ˜YÒ(?Ó@ñ$ó Að$òòð ‡[�[×Ñ˜XÒ'8Ó9ñ1ó :ð1ð ‡[�[×Ñ˜XÙ$ c¨2 Y°°Q°Ó8Ù$ r§v¡v g¨r ]°R¸¿¹°LÓAð óñ
1óð
1ò
1ð ‡[�[×ÑÐ-°¸¸A¸ÀÐ/CÓDñ2ó Eñ2r   r   )Ú__doc__Únumpy.testingr   r   rZ   Únumpyr   Úscipy.optimizer   r   r   r   r7   r   r   ú<module>rÈ      s'   ðñ÷.ã Û ß )Û ÷u2ò u2r   