§
    fŠtjn¥  ã                   ó¢  — 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	m
Z
 d dlZd dlmZmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ  G d	„ d
¦  «        Zd„ Z  G d„ de¦  «        Z! e!ddgd d g¬¦  «        Z" e!ddgd d g¬¦  «        Z# e!ddgd d g¬¦  «        Z$ G d„ de¦  «        Z% e%dgdgd ej&        dgdgdgdgdgdgdgdgdgdgg
¦  «         ej&        g d ¢¦  «        ¬!¦  «        Z' e%d"gdgdg ej&        dgg¦  «         ej&        dg¦  «        ¬!¦  «        Z( G d#„ d$e¦  «        Z) e)d%d&gd'd(gd)¬*¦  «        Z* G d+„ d,e¦  «        Z+ e+d-gd.z  g d/¢d0¬*¦  «        Z, G d1„ d2e¦  «        Z- e-d3d3gd4gd5d6g¬7¦  «        Z. G d8„ d9e¦  «        Z/d:Z0 e1 e2d;gd:z  d<gd:z  ¦  «        ¦  «        Z3 e/e3d=gd¬7¦  «        Z4 G d>„ d?e¦  «        Z5 e5d@gdAz  dB ej6        dA¦  «        dCz
  ¬7¦  «        Z7 G dD„ dEe¦  «        Z8 e8d-d-gdFgdGdGg¬7¦  «        Z9 G dH„ dIe¦  «        Z: e:d%dJgdd¬7¦  «        Z;ej<         =                    dK¦  «        	 	 	 dadQ„¦   «         Z> G dR„ dS¦  «        Z? G dT„ dU¦  «        Z@ G dV„ dW¦  «        ZA G dX„ dY¦  «        ZB G dZ„ d[¦  «        ZCd\„ ZDej<         E                    d]¦  «        d^„ ¦   «         ZFd_„ ZGd`„ ZHdS )bé    N)ÚPool)Úassert_allcloseÚIS_PYPY)ÚraisesÚwarns)	ÚshgoÚBoundsÚminimize_scalarÚminimizeÚrosenÚ	rosen_derÚ
rosen_hessÚNonlinearConstraintÚOptimizeWarning)Únew_constraint_to_old)ÚSHGO)ÚMaratosTestArgsc                   ó   — e Zd Z	 	 dd„ZdS )ÚStructTestFunctionNc                 óL   — || _         || _        || _        || _        || _        d S ©N©ÚboundsÚ
expected_xÚexpected_funÚexpected_xlÚexpected_funl)Úselfr   r   r   r   r   s         ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test__shgo.pyÚ__init__zStructTestFunction.__init__   s.   € àˆŒØ$ˆŒØ(ˆÔØ&ˆÔØ*ˆÔÐÐó    )NNN)Ú__name__Ú
__module__Ú__qualname__r    © r!   r   r   r      s.   € € € € € Ø8<Ø15ð+ð +ð +ð +ð +ð +r!   r   c                 ó°   — g }| �Ot          | t          t          z  ¦  «        s| f} n	 | D ]} |                     d| dœ¦  «         Œt          |¦  «        }nd }|S )NÚineq©ÚtypeÚfun)Ú
isinstanceÚtupleÚlistÚappend)ÚgÚconss     r   Úwrap_constraintsr1      s~   € Ø€DØ€}Ý˜!�U¥T™\Ñ*Ô*ð 	Ø�ˆAˆAàØð 	$ð 	$ˆAØ�KŠK Ø !ð#ð #ñ $ô $ð $ð $å�T‰{Œ{ˆˆàˆØ€Kr!   c                   ó0   — e Zd Zd„ Zd„ Z ee¦  «        ZdS )ÚStructTest1c                 ó0   — |d         dz  |d         dz  z   S ©Nr   é   é   r%   ©r   Úxs     r   ÚfzStructTest1.f-   ó   € Ø�Œt�q‰y˜1˜Qœ4 1™9Ñ$Ð$r!   c                 ó6   — t          j        | d¬¦  «        dz
   S )Nr   ©Úaxisg      @©ÚnpÚsum©r9   s    r   r/   zStructTest1.g0   s   € Ý”˜ Ð"Ñ"Ô" SÑ(Ð)Ð)r!   N©r"   r#   r$   r:   r/   r1   r0   r%   r!   r   r3   r3   ,   s>   € € € € € ð%ð %ð %ð*ð *ð *ð Ð˜AÑÔ€D€D€Dr!   r3   )éÿÿÿÿé   )r   r   ©r   r7   ©NNc                   ó4   — e Zd ZdZd„ Zd„ Z ee¦  «        ZdS )ÚStructTest2zN
    Scalar function with several minima to test all minimiser retrievals
    c                 ó6   — |dz
  t          j        |¦  «        z  S )Né   )r@   Úsinr8   s     r   r:   zStructTest2.fC   s   € Ø�B‘�"œ& ™)œ)Ñ#Ð#r!   c                 ó4   — dt          j        | d¬¦  «        z
  S )Né:   r   r=   r?   rB   s    r   r/   zStructTest2.gF   s   € Ø•B”F˜1 1Ð%Ñ%Ô%Ñ%Ð%r!   N©r"   r#   r$   Ú__doc__r:   r/   r1   r0   r%   r!   r   rI   rI   >   sH   € € € € € ðð ð$ð $ð $ð&ð &ð &ð Ð˜AÑÔ€D€D€Dr!   rI   )r   é<   gâ¡½4$’ø?çÕ0ðš_r<Àg±ç ûG‚K@gô½
]<@gøI{¤½_H@gÌi<&,@g–±»å>E@gºqÅ¤CQ4@g‹8øž$B@gÜo.n:@g^5	½‚Ã>@)
rR   g³Ê¾sÿ8Àg^ÑÖV&+6Àg+Ô?-«¸2Àg+ä!¾ÙÉ/ÀgÛN|1ç(Àgc’ä=C#Àg¾^Ì\ÕÀg´ÄN¡ˆÀgêíè‡ªÝ¿r   )r   g      @c                   óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Z eede	j
        ¦  «        ZefZdS )ÚStructTest3a�  
    Hock and Schittkowski 18 problem (HS18). Hoch and Schittkowski (1981)
    http://www.ai7.uni-bayreuth.de/test_problem_coll.pdf
    Minimize: f = 0.01 * (x_1)**2 + (x_2)**2

    Subject to: x_1 * x_2 - 25.0 >= 0,
                (x_1)**2 + (x_2)**2 - 25.0 >= 0,
                2 <= x_1 <= 50,
                0 <= x_2 <= 50.

    Approx. Answer:
        f([(250)**0.5 , (2.5)**0.5]) = 5.0


    c                 ó6   — d|d         dz  z  |d         dz  z   S )Ng{®Gáz„?r   r6   r7   r%   r8   s     r   r:   zStructTest3.f}   s"   € Ø�q˜”t ‘kÑ! Q q¤T¨a¡KÑ/Ð/r!   c                 ó*   — | d         | d         z  dz
  S )Nr   r7   ç      9@r%   rB   s    r   Úg1zStructTest3.g1€   s   € Ø�Œt�a˜”d‰{˜TÑ!Ð!r!   c                 ó6   — | d         dz  | d         dz  z   dz
  S )Nr   r6   r7   rW   r%   rB   s    r   Úg2zStructTest3.g2ƒ   s"   € Ø�Œt�q‰y˜1˜Qœ4 1™9Ñ$ tÑ+Ð+r!   c                 ó^   — | d         | d         z  dz
  | d         dz  | d         dz  z   dz
  fS )Nr   r7   rW   r6   r%   rB   s    r   r/   zStructTest3.g‰   s8   € Ø�Œt�a˜”d‰{˜TÑ! 1 Q¤4¨1¡9¨q°¬t°q©yÑ#8¸4Ñ#?Ð?Ð?r!   r   N)r"   r#   r$   rP   r:   rX   rZ   r/   r   r@   ÚinfÚ_StructTest3__nlcr0   r%   r!   r   rT   rT   k   sv   € € € € € ðð ð"0ð 0ð 0ð"ð "ð "ð,ð ,ð ,ð@ð @ð @ð  Ð  1 b¤fÑ-Ô-€EØˆ8€D€D€Dr!   rT   )r6   é2   )r   r^   g'ò�InŸ/@gS[Ú:XLù?ç      @)r   r   r   c                   óR   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZeeeefZ	 e
e	¦  «        ZdS )ÚStructTest4zÑ
    Hock and Schittkowski 11 problem (HS11). Hoch and Schittkowski (1981)

    NOTE: Did not find in original reference to HS collection, refer to
          Henderson (2015) problem 7 instead. 02.03.2016
    c                 ó,  — |d         dz
  dz  d|d         dz
  dz  z  z   |d         dz  z   d|d         d	z
  dz  z  z   d|d         d
z  z  z   d|d         dz  z  z   |d
         dz  z   d|d         z  |d
         z  z
  d|d         z  z
  d|d
         z  z
  S )Nr   é
   r6   é   r7   é   é   é   é   rE   é   é   r%   r8   s     r   r:   zStructTest4.fž   sÖ   € Ø�1”˜‘˜qÑ  1¨¨!¬¨r©	°aÑ'7Ñ#7Ñ7¸!¸A¼$À!¹)ÑCØ�q˜”t˜b‘y QÑ&Ñ&ñ'Ø)+¨a°¬d°a©i©ñ8Ø:;¸aÀ¼dÀa¹i¹-ñHØJKØôKØñKñð �a˜”d‘(˜Q˜qœT‘/ñ"ð %'¨¨1¬¡Iñ.ð 12°A°a´D±ñ9ð 	r!   c                 óŒ   — d| d         dz  z  d| d         dz  z  z   | d         z   d| d         dz  z  z   d| d         z  z   dz
   S )Nr6   r   rg   r7   rf   rd   é   r%   rB   s    r   rX   zStructTest4.g1¥   s^   € Ø�Q�q”T˜Q‘Y‘  Q q¤T¨Q¡Y¡Ñ.°°1´Ñ5¸¸A¸a¼DÀA¹I¹ÑEØ�q˜”t‘8ñØ!ñ"ð #ð 	#r!   c                 óz   — d| d         z  d| d         z  z   d| d         dz  z  z   | d         z   | d         z
  dz
   S )	Nri   r   rg   r7   rc   r6   rf   g      q@r%   rB   s    r   rZ   zStructTest4.g2©   sH   € Ø�Q�q”T‘˜A  !¤™HÑ$ r¨A¨a¬D°A©I¡~Ñ5¸¸!¼Ñ<¸qÀ¼tÑCÀeÑKÐLÐLr!   c                 ón   — d| d         z  | d         dz  z   d| d         dz  z  z   d| d         z  z
  dz
   S )	Né   r   r7   r6   rE   rd   rj   éÄ   r%   rB   s    r   Úg3zStructTest4.g3¬   sC   € Ø�a˜”d‘˜Q˜qœT Q™YÑ&¨¨Q¨q¬T°Q©Y©Ñ6¸¸Q¸q¼T¹ÑAÀCÑGÐHÐHr!   c                 ó°   — d| d         dz  z  | d         dz  z   d| d         z  | d         z  z
  d| d         dz  z  z   d| d         z  z   d| d         z  z
   S )	Nrf   r   r6   r7   rg   rd   rh   rE   r%   rB   s    r   Úg4zStructTest4.g4¯   sn   € Ø�Q�q”T˜Q‘Y‘  1¤¨¡Ñ*¨Q°°1´©X¸¸!¼©_Ñ<¸qÀ1ÀQÄ4È1Á9¹}ÑLØ�q˜”t‘8ñØ  1 Q¤4™iñ(ð )ð 	)r!   N©r"   r#   r$   rP   r:   rX   rZ   rq   rs   r/   r1   r0   r%   r!   r   ra   ra   –   s‰   € € € € € ðð ðð ð ð#ð #ð #ðMð Mð MðIð Ið Ið)ð )ð )ð 
ˆR��RÐ€AàÐ˜AÑÔ€D€D€Dr!   ra   )iöÿÿÿrc   ri   )g¹ââ¨Ü¤@g$H¥ØÑ8ÿ?g„ßÍ	�Þ¿g0eà€v@gnÞ8)Ìûã¿g k_@/œð?g0g¶+ô�ù?gÙP{[
E…@c                   ó.   — e Zd Zd„ ZdZ ee¦  «        ZdS )ÚStructTest5c                 óJ  — |d         dz    t          j        t          j        t          |d         dz  |d         dz   z   ¦  «        ¦  «        ¦  «        z  |d         t          j        t          j        t          |d         |d         dz   z
  ¦  «        ¦  «        ¦  «        z  z
  S ©Nr7   g     €G@r   ç       @©r@   rL   ÚsqrtÚabsr8   s     r   r:   zStructTest5.fÀ   sˆ   € à�Œd�T‰kˆN�2œ6¥"¤'­#¨a°¬d°3©h¸!¸A¼$À¹+Ñ.FÑ*GÔ*GÑ"HÔ"HÑIÔIÑIØ�Œd•2”6�"œ'¥# a¨¤d¨a°¬d°T©kÑ&:Ñ";Ô";Ñ<Ô<Ñ=Ô=Ñ=ñ>ð	
r!   NrC   r%   r!   r   rv   rv   ¿   s4   € € € € € ð
ð 
ð 
ð 	€AØÐ˜AÑÔ€D€D€Dr!   rv   )i þÿÿi   gŽÎÆ ý�Àg      €@gøž™yµCy@)r   r   r   c                   ó2   — e Zd ZdZd„ ZdZ ee¦  «        ZdS )ÚStructTestLJzZ
    LennardJones objective function. Used to test symmetry constraints
    settings.
    c                 ó¸  — t          d|› �¦  «         |d         | _        t          | j        dz  ¦  «        }d}t          |dz
  ¦  «        D ]Ž}t          |dz   |¦  «        D ]x}d|z  }d|z  }||         ||         z
  }	||dz            ||dz            z
  }
||dz            ||dz            z
  }|	|	z  |
|
z  z   ||z  z   }||z  |z  }|dk    r|d|z  dz
  |z  z  }ŒyŒ�|S )	Nzx = r   rg   ç        r7   r6   ç      ð?ry   )ÚprintÚNÚintÚrange)r   r9   ÚargsÚkÚsÚiÚjÚaÚbÚxdÚydÚzdÚedÚuds                 r   r:   zStructTestLJ.fÕ   s  € Ýˆj�QˆjˆjÑÔÐØ�a”ˆŒÝ�”˜‘
‰OŒOˆØˆå�q˜1‘u‘”ð 
	/ð 
	/ˆAÝ˜1˜q™5 !‘_”_ð 	/ð 	/�Ø˜‘E�Ø˜‘E�Ø�q”T˜A˜aœD‘[�Ø�q˜1‘u”X  ! a¡%¤Ñ(�Ø�q˜1‘u”X  ! a¡%¤Ñ(�Ø˜"‘W˜r B™wÑ&¨¨b©Ñ0�Ø˜"‘W˜r‘\�Ø˜’8�8Ø˜# ™( S™.¨BÑ.Ñ.�Aøð	/ð ˆr!   NrO   r%   r!   r   r~   r~   Ï   s>   € € € € € ðð ð
ð ð ð( 	€AØÐ˜AÑÔ€D€D€Dr!   r~   rE   g      Àç      @ç      ð¿c                   ó.   — e Zd Zd„ ZdZ ee¦  «        ZdS )ÚStructTestSc                 óx   — |d         dz
  dz  |d         dz
  dz  z   |d         dz
  dz  z   |d         dz
  dz  z   S )Nr   ç      à?r6   r7   rg   r%   r8   s     r   r:   zStructTestS.fý   sS   € Ø�1”˜‘ Ñ! Q q¤T¨C¡Z°AÑ$5Ñ5Ø�Q”4˜#‘: !Ñ#ñ$Ø'(¨¤t¨c¡z°aÑ&7ñ8ð 	9r!   NrC   r%   r!   r   r•   r•   ü   s4   € € € € € ð9ð 9ð 9ð 	€AØÐ˜AÑÔ€D€D€Dr!   r•   )r   ry   rf   r€   r—   c                   ó.   — e Zd Zd„ ZdZ ee¦  «        ZdS )ÚStructTestTablec                 ó:   — |d         dk    r|d         dk    rdS dS )Nr   ç      @r7   r^   éd   r%   r8   s     r   r:   zStructTestTable.f  s%   € ØˆQŒ4�3Š;ˆ;˜1˜Qœ4 3š;˜;Ø�2à�3r!   NrC   r%   r!   r   r™   r™     s4   € € € € € ðð ð ð 	€AØÐ˜AÑÔ€D€D€Dr!   r™   r^   r›   c                   óR   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZeeeefZ	 e
e	¦  «        ZdS )ÚStructTestInfeasiblez0
    Test function with no feasible domain.
    c                 ó0   — |d         dz  |d         dz  z   S r5   r%   )r   r9   r†   s      r   r:   zStructTestInfeasible.f   r;   r!   c                 ó*   — | d         | d         z   dz
  S ©Nr   r7   r%   rB   s    r   rX   zStructTestInfeasible.g1#  s   € Ø�Œt�a˜”d‰{˜Q‰Ðr!   c                 ó,   — | d         | d         z   dz
   S r¡   r%   rB   s    r   rZ   zStructTestInfeasible.g2&  s   € Ø�1”˜˜!œ‘˜q‘Ð!Ð!r!   c                 ó,   — | d          | d         z   dz
  S r¡   r%   rB   s    r   rq   zStructTestInfeasible.g3)  s   € Ø�!”ˆu�q˜”t‰|˜aÑÐr!   c                 ó.   — | d          | d         z   dz
   S r¡   r%   rB   s    r   rs   zStructTestInfeasible.g4,  s   € Ø�A”$�˜˜1œ‘ Ñ!Ð"Ð"r!   Nrt   r%   r!   r   rž   rž     sƒ   € € € € € ðð ð%ð %ð %ðð ð ð"ð "ð "ð ð  ð  ð#ð #ð #ð 
ˆR��RÐ€AØÐ˜AÑÔ€D€D€Dr!   rž   )rD   r7   ú
Not a testr%   çñhãˆµøä>rœ   Úsobolr7   c
                 óD  — t          | j        | j        || j        |||||||	¬¦  «        }
t	          d|
› �¦  «         t          j        d|
› �¦  «         | j        �-t          j	         
                    |
j        | j        ||¬¦  «         | j        �,t          j	         
                    |
j        | j        |¬¦  «         | j        �,t          j	         
                    |
j        | j        |¬¦  «         | j        �,t          j	         
                    |
j        | j        |¬¦  «         d S )N)	r†   ÚconstraintsÚnÚitersÚcallbackÚminimizer_kwargsÚoptionsÚsampling_methodÚworkerszres = ©ÚrtolÚatol©r³   )r   r:   r   r0   r‚   ÚloggingÚinfor   r@   Útestingr   r9   r   r*   r   Úxlr   Úfunl)Útestr†   Ú	test_atolrª   r«   r¬   r­   r®   r¯   r°   Úress              r   Úrun_testr½   9  sG  € õ ˆtŒv�t”{¨¸4¼9Ø˜%¨(Ø 0¸'Ø.¸ðAñ Aô A€Cõ
 
ˆ.�3ˆ.ˆ.ÑÔÐÝ„L�˜#��Ñ Ô Ð Ø„Ð"Ý
Œ
×"Ò" 3¤5¨$¬/Ø(1Ø(1ð 	#ñ 	3ô 	3ð 	3ð
 ÔÐ$Ý
Œ
×"Ò" 3¤7Ø#'Ô#4Ø(1ð 	#ñ 	3ô 	3ð 	3ð ÔÐ#Ý
Œ
×"Ò" 3¤6Ø#'Ô#3Ø(1ð 	#ñ 	3ô 	3ð 	3ð ÔÐ%Ý
Œ
×"Ò" 3¤8Ø#'Ô#5Ø(1ð 	#ñ 	3ô 	3ð 	3ð €Fr!   c                   ól   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j        j        d„ ¦   «         Zd	„ Zd
„ ZdS )ÚTestShgoSobolTestFunctionsz8
    Global optimisation tests with Sobol sampling:
    c                 ó.   — t          t          ¦  «         dS )úVMultivariate test function 1:
        x[0]**2 + x[1]**2 with bounds=[(-1, 6), (-1, 6)]N©r½   Útest1_1©r   s    r   Útest_f1_1_sobolz*TestShgoSobolTestFunctions.test_f1_1_sobolb  ó   € õ 	•ÑÔÐÐÐr!   c                 ó.   — t          t          ¦  «         dS )zUMultivariate test function 1:
         x[0]**2 + x[1]**2 with bounds=[(0, 1), (0, 1)]N©r½   Útest1_2rÄ   s    r   Útest_f1_2_sobolz*TestShgoSobolTestFunctions.test_f1_2_sobolg  rÆ   r!   c                 ó:   — ddi}t          t          |¬¦  «         dS )z_Multivariate test function 1:
        x[0]**2 + x[1]**2 with bounds=[(None, None),(None, None)]ÚdispT)r®   N©r½   Útest1_3©r   r®   s     r   Útest_f1_3_sobolz*TestShgoSobolTestFunctions.test_f1_3_soboll  s&   € ð ˜4�.ˆÝ• 'Ð*Ñ*Ô*Ð*Ð*Ð*r!   c                 ó.   — t          t          ¦  «         dS )úRUnivariate test function on
        f(x) = (x - 30) * sin(x) with bounds=[(0, 60)]N©r½   Útest2_1rÄ   s    r   Útest_f2_1_sobolz*TestShgoSobolTestFunctions.test_f2_1_sobolr  rÆ   r!   c                 ó.   — t          t          ¦  «         dS )úNUnivariate test function on
        f(x) = (x - 30) * sin(x) bounds=[(0, 4.5)]N©r½   Útest2_2rÄ   s    r   Útest_f2_2_sobolz*TestShgoSobolTestFunctions.test_f2_2_sobolw  rÆ   r!   c                 ó.   — t          t          ¦  «         dS )ú%NLP: Hock and Schittkowski problem 18N©r½   Útest3_1rÄ   s    r   Útest_f3_sobolz(TestShgoSobolTestFunctions.test_f3_sobol|  s   € å•ÑÔÐÐÐr!   c                 ó<   — ddi}t          t          d|¬¦  «         dS )ú?NLP: (High dimensional) Hock and Schittkowski 11 problem (HS11)Úinfty_constraintsFi¼  ©rª   r®   N©r½   Útest4_1rÏ   s     r   Útest_f4_sobolz(TestShgoSobolTestFunctions.test_f4_sobol€  s)   € ð '¨Ð.ˆå•˜G¨WÐ5Ñ5Ô5Ð5Ð5Ð5r!   c                 ó2   — t          t          d¬¦  «         dS )úNLP: Eggholder, multimodalrQ   )rª   N©r½   Útest5_1rÄ   s    r   Útest_f5_1_sobolz*TestShgoSobolTestFunctions.test_f5_1_sobol‡  s   € õ 	•˜BÐÑÔÐÐÐr!   c                 ó4   — t          t          dd¬¦  «         dS )rè   rQ   rd   )rª   r«   Nré   rÄ   s    r   Útest_f5_2_sobolz*TestShgoSobolTestFunctions.test_f5_2_sobolŒ  s   € õ 	•˜B aÐ(Ñ(Ô(Ð(Ð(Ð(r!   N)r"   r#   r$   rP   rÅ   rÊ   rÐ   rÕ   rÚ   rß   ÚpytestÚmarkÚslowræ   rë   rí   r%   r!   r   r¿   r¿   \  s·   € € € € € ðð ð
ð ð ð
ð ð ð
+ð +ð +ðð ð ð
ð ð ð
ð ð ð „[Ôð6ð 6ñ Ôð6ð ð  ð  ð
)ð )ð )ð )ð )r!   r¿   c                   óD  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j        j        d„ ¦   «         Zd	„ Zd
„ Zd„ Ze
j                             d¦  «        d„ ¦   «         Ze
j                             d¦  «        d„ ¦   «         Ze
j                             d¦  «        d„ ¦   «         ZdS )ÚTestShgoSimplicialTestFunctionsz=
    Global optimisation tests with Simplicial sampling:
    c                 ó4   — t          t          dd¬¦  «         dS )rÁ   r7   Ú
simplicial©rª   r¯   NrÂ   rÄ   s    r   Útest_f1_1_simplicialz4TestShgoSimplicialTestFunctions.test_f1_1_simplicial›  ó   € õ 	•˜A¨|Ð<Ñ<Ô<Ð<Ð<Ð<r!   c                 ó4   — t          t          dd¬¦  «         dS )zTMultivariate test function 1:
        x[0]**2 + x[1]**2 with bounds=[(0, 1), (0, 1)]r7   rô   rõ   NrÈ   rÄ   s    r   Útest_f1_2_simplicialz4TestShgoSimplicialTestFunctions.test_f1_2_simplicial   r÷   r!   c                 ó4   — t          t          dd¬¦  «         dS )z_Multivariate test function 1: x[0]**2 + x[1]**2
        with bounds=[(None, None),(None, None)]rd   rô   rõ   NrÍ   rÄ   s    r   Útest_f1_3_simplicialz4TestShgoSimplicialTestFunctions.test_f1_3_simplicial¥  r÷   r!   c                 ó@   — ddi}t          t          dd|d¬¦  «         dS )rÒ   Úminimize_every_iterFéÈ   ri   rô   ©rª   r«   r®   r¯   NrÓ   rÏ   s     r   Útest_f2_1_simplicialz4TestShgoSimplicialTestFunctions.test_f2_1_simplicialª  s:   € ð )¨%Ð0ˆÝ•˜C q°'Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 ó4   — t          t          dd¬¦  «         dS )r×   r7   rô   rõ   NrØ   rÄ   s    r   Útest_f2_2_simplicialz4TestShgoSimplicialTestFunctions.test_f2_2_simplicial±  r÷   r!   c                 ó4   — t          t          dd¬¦  «         dS )rÜ   r7   rô   rõ   NrÝ   rÄ   s    r   Útest_f3_simplicialz2TestShgoSimplicialTestFunctions.test_f3_simplicial¶  s   € å•˜A¨|Ð<Ñ<Ô<Ð<Ð<Ð<r!   c                 ó4   — t          t          dd¬¦  «         dS )rá   r7   rô   rõ   Nrä   rÄ   s    r   Útest_f4_simplicialz2TestShgoSimplicialTestFunctions.test_f4_simplicialº  r÷   r!   c                 óH   — dddœ}d}t          t          |d|dd¬¦  «         dS )	z&LJ: Symmetry-constrained test functionT©ÚsymmetryrÌ   ©rE   é,  r7   rô   ©r†   rª   r®   r«   r¯   N©r½   ÚtestLJ©r   r®   r†   s      r   Útest_lj_symmetry_oldz4TestShgoSimplicialTestFunctions.test_lj_symmetry_old¿  sH   € à#Øð!ð !ˆàˆÝ•˜d cØ ¨Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 óP   — dgdz  ddœ}d}t          t          |d|dd¬	¦  «         d
S )z&LJ: Symmetry constrained test functionr   rE   Tr  r
  r  r7   rô   r  Nr  r  s      r   Útest_f5_1_lj_symmetryz5TestShgoSimplicialTestFunctions.test_f5_1_lj_symmetryÈ  sN   € à !˜u q™yØð!ð !ˆàˆå•˜d cØ ¨Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 óF   — ddgddœ}t          t          d|dd¬¦  «         dS )	z"Symmetry constrained test functionr   Tr  rþ   r7   rô   ©rª   r®   r«   r¯   NrÂ   rÏ   s     r   Útest_f5_2_cons_symmetryz7TestShgoSimplicialTestFunctions.test_f5_2_cons_symmetryÒ  sG   € à ! 1˜vØð!ð !ˆõ 	•˜CØ ¨Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   rc   c                 óF   — g d¢ddœ}t          t          d|dd¬¦  «         dS )	z(Asymmetrically constrained test function)r   r   r   rg   Tr  i'  r7   rô   r  N)r½   Útest_srÏ   s     r   Útest_f5_3_cons_symmetryz7TestShgoSimplicialTestFunctions.test_f5_3_cons_symmetryÛ  sJ   € ð  ,˜|˜|Øð!ð !ˆõ 	•˜5Ø ØØ!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   r¥   c                 óÆ   ‡— dŠdˆfd„dœ}t          t          j        ddgz  |¬¦  «        }|j        sJ ‚t	          |j        dd	¬
¦  «         t	          |j        d¦  «         dS )zOReturn a minimum on a perfectly symmetric problem, based on
            gh10429r—   Úeqc                 ó2   •— t          j        | ¦  «        ‰z
  S r   )r@   Úmean)r9   Úavgs    €r   ú<lambda>zFTestShgoSimplicialTestFunctions.test_f0_min_variance.<locals>.<lambda>ë  s   ø€ ­r¬w°q©z¬z¸CÑ/?€ r!   r(   rE   rF   ©r   r©   r   çVçž¯Ò<r´   N)r   r@   ÚvarÚsuccessr   r*   r9   )r   r0   r¼   r  s      @r   Útest_f0_min_variancez4TestShgoSimplicialTestFunctions.test_f0_min_varianceæ  s{   ø€ ð ˆØÐ%?Ð%?Ð%?Ð%?Ð@Ð@ˆõ •2”6 ! v h¡,¸DÐAÑAÔAˆØŒ{ÐÐˆ{Ý˜œ ¨Ð/Ñ/Ô/Ð/Ý˜œ˜sÑ#Ô#Ð#Ð#Ð#r!   c                 óà   — d„ }dg}t          ||¬¦  «        }t          ||d         ¬¦  «        }|j        sJ ‚t          |j        |j        ¦  «         t          |j        |j        d¬¦  «         dS )zRReturn a minimum on a perfectly symmetric 1D problem, based on
            gh10538c                 ó   — | | dz
  z  | dz
  z  S )Nr�   r—   r%   rB   s    r   r*   zDTestShgoSimplicialTestFunctions.test_f0_min_variance_1D.<locals>.funø  s   € Ø˜˜C™‘= A¨¡GÑ,Ð,r!   rF   )r   r   ç�íµ ÷Æ°>)r²   N)r   r
   r"  r   r*   r9   )r   r*   r   r¼   Úrefs        r   Útest_f0_min_variance_1Dz7TestShgoSimplicialTestFunctions.test_f0_min_variance_1Dó  s‚   € ð
	-ð 	-ð 	-ð �ˆÝ�3˜vÐ&Ñ&Ô&ˆÝ˜c¨&°¬)Ð4Ñ4Ô4ˆØŒ{ÐÐˆ{Ý˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœu¨4Ð0Ñ0Ô0Ð0Ð0Ð0r!   N)r"   r#   r$   rP   rö   rù   rû   r   r  r  rî   rï   rð   r  r  r  r  Ú	fail_slowr  Úskipr#  r(  r%   r!   r   rò   rò   –  sJ  € € € € € ðð ð=ð =ð =ð
=ð =ð =ð
=ð =ð =ð
/ð /ð /ð=ð =ð =ð
=ð =ð =ð „[Ôð=ð =ñ Ôð=ð/ð /ð /ð/ð /ð /ð/ð /ð /ð „[×Ò˜2ÑÔð/ð /ñ Ôð/ð „[×Ò�lÑ#Ô#ð
$ð 
$ñ $Ô#ð
$ð „[×Ò�lÑ#Ô#ð1ð 1ñ $Ô#ð1ð 1ð 1r!   rò   c                   óJ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej        j        d	„ ¦   «         Zej        j        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             eo
ej        dk    d¬¦  «        d„ ¦   «         Zd„ Zej                              d¬¦  «        d„ ¦   «         Z!d„ Z"d„ Z#d„ Z$d„ Z%d „ Z&d!„ Z'ej         (                    d"¦  «        d#„ ¦   «         Z)d$„ Z*d%„ Z+ej         ,                    d&g d'¢¦  «        d(„ ¦   «         Z-d)„ Z.d*„ Z/d+S ),ÚTestShgoArgumentsc                 ó6   — t          t          ddd¬¦  «         dS )z>Iterative simplicial sampling on TestFunction 1 (multivariate)Nr6   rô   ©rª   r«   r¯   rÈ   rÄ   s    r   Útest_1_1_simpl_iterz%TestShgoArguments.test_1_1_simpl_iter  s   € å•˜D¨¸<ÐHÑHÔHÐHÐHÐHr!   c                 ó@   — ddi}t          t          dd|d¬¦  «         dS )z3Iterative simplicial on TestFunction 2 (univariate)rý   FNé	   rô   rÿ   rÓ   rÏ   s     r   Útest_1_2_simpl_iterz%TestShgoArguments.test_1_2_simpl_iter  s8   € à(¨%Ð0ˆÝ•˜D¨°7Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 ó6   — t          t          ddd¬¦  «         dS )z9Iterative Sobol sampling on TestFunction 1 (multivariate)Nr7   r§   r.  rÈ   rÄ   s    r   Útest_2_1_sobol_iterz%TestShgoArguments.test_2_1_sobol_iter  s   € å•˜D¨¸7ÐCÑCÔCÐCÐCÐCr!   c                 ó2  — t          t          j        t          j        t          j        ddd¬¦  «        }t
          j                             |j        t          j	        dd¬¦  «         t
          j                             |j
        t          j        d¬¦  «         dS )z7Iterative Sobol sampling on TestFunction 2 (univariate)Nr7   r§   )r©   rª   r«   r¯   r¦   r±   r´   )r   rÔ   r:   r   r0   r@   r·   r   r9   r   r*   r   ©r   r¼   s     r   Útest_2_2_sobol_iterz%TestShgoArguments.test_2_2_sobol_iter  sw   € å•7”9�gœn½'¼,Ø °Gð=ñ =ô =ˆõ 	Œ
×"Ò" 3¤5­'Ô*<À4ÈdÐ"ÑSÔSÐSÝ
Œ
×"Ò" 3¤7­GÔ,@ÀtÐ"ÑLÔLÐLÐLÐLr!   c           
      ó²   — d„ }t           t          fD ]D}t          |j        |j        dd|ddi¬¦  «         t          |j        |j        dd|ddi¬¦  «         ŒEdS )	zKIterative sampling on TestFunction 1 and 2  (multi and univariate)
        c                 ó$   — t          d¦  «         d S ©Nz Local minimization callback test©r‚   rB   s    r   Úcallback_funczATestShgoArguments.test_3_1_disp_simplicial.<locals>.callback_func  ó   € ÝÐ4Ñ5Ô5Ð5Ð5Ð5r!   r7   rô   rÌ   T©r«   r¯   r¬   r®   ©rª   r¯   r¬   r®   N©rÃ   rÔ   r   r:   r   ©r   r<  rº   s      r   Útest_3_1_disp_simplicialz*TestShgoArguments.test_3_1_disp_simplicial  sž   € ð	6ð 	6ð 	6õ �gÐ&ð 	Að 	AˆDÝ�”˜œ¨AØ!-Ø'°&¸$°ðAñ Aô Að Aõ �”˜œ¨¸<Ø'°&¸$°ðAñ Aô Að Að Að		Að 	Ar!   c           
      ó²   — d„ }t           t          fD ]D}t          |j        |j        dd|ddi¬¦  «         t          |j        |j        dd|ddi¬¦  «         ŒEd	S )
zAIterative sampling on TestFunction 1 and 2 (multi and univariate)c                 ó$   — t          d¦  «         d S r:  r;  rB   s    r   r<  z<TestShgoArguments.test_3_2_disp_sobol.<locals>.callback_func+  r=  r!   r7   r§   rÌ   Tr>  rô   r?  Nr@  rA  s      r   Útest_3_2_disp_sobolz%TestShgoArguments.test_3_2_disp_sobol(  s�   € ð	6ð 	6ð 	6õ �gÐ&ð 	Að 	AˆDÝ�”˜œ¨A¸wØ'°&¸$°ðAñ Aô Að Aõ �”˜œ¨¸<Ø'°&¸$°ðAñ Aô Að Að Að		Að 	Ar!   c                 ó¼   — t          d„ dgd¬¦  «        }t          d„ dg¬¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         dS )zMUsing `args` used to cause `shgo` to fail; see #14589, #15986,
        #16506c                 ó   — | |z  |z   S r   r%   )r9   ÚyÚzs      r   r  z5TestShgoArguments.test_args_gh14589.<locals>.<lambda>8  s   € ¨¨A©°©	€ r!   )r   rg   )r7   r6   )Úfuncr   r†   c                 ó   — d| z  dz   S )Nr6   r7   r%   rB   s    r   r  z5TestShgoArguments.test_args_gh14589.<locals>.<lambda>:  s   €  ! a¡%¨!¡)€ r!   )rJ  r   N)r   r   r*   r9   )r   r¼   r'  s      r   Útest_args_gh14589z#TestShgoArguments.test_args_gh145895  sj   € õ Ð1Ð1¸6¸(Èð ñ ô ˆåÐ+Ð+°V°HÐ=Ñ=Ô=ˆÝ˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœuÑ%Ô%Ð%Ð%Ð%r!   c                 ó2  — t          dd¦  «        }t          ddgddg¦  «        |_        t          |j        ddg|j        |j        dd|j        ¬¦  «        }t          |j        |j	        d	¬
¦  «         t          dd¦  «        }t          ddgddg¦  «        |_        t          j        ¦   «         5  t          j        dt          t          f¦  «         t          |j        |j        dd|j        |j        |j        ddœ|j        d¬¦  «        }t          |j        |j	        d	¬
¦  «         t          |j        |j        dd|j        |j        |j        |j        dœ|j        d¬¦  «        }t          |j        |j	        d	¬
¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zG
        Checks that using `args` for func, jac and hess works
        r‹   éê   éûÿÿÿrd   r’   útrust-constr)r‹   rN  )r©   r   Úmethodr†   Újacr&  r´   g      $Àg      $@Úignore)rQ  r©   r   rR  r†   r§   )rJ  r   r†   r­   r©   r¯   )rQ  r©   r   rR  ÚhessN)r   r	   r   r   r*   ÚconstrÚgradr   r9   Úx_optÚwarningsÚcatch_warningsÚsimplefilterr   ÚRuntimeWarningr   rT  )r   ÚobjÚres2r¼   s       r   Útest_args_gh23517z#TestShgoArguments.test_args_gh23517>  s  € õ ˜c 3Ñ'Ô'ˆÝ˜R ˜H q¨! fÑ-Ô-ˆŒ
ÝØŒGØ�#ˆJØœ
Ø”:Ø!ØØ”ð
ñ 
ô 
ˆõ 	˜œ ¤	°Ð5Ñ5Ô5Ð5å˜c 3Ñ'Ô'ˆÝ˜T 4˜L¨3°¨*Ñ5Ô5ˆŒ
ÝÔ$Ñ&Ô&ð %	9ð %	9õ Ô!ØÝ ¥.Ð1ñô ð õ Ø”WØ”zØà,Ø#&¤:Ø!œjØœ8Ø&ð"ð "ð  œJØ 'ðñ ô ˆCõ ˜CœE 3¤9°4Ð8Ñ8Ô8Ð8åØ”WØ”zØà,Ø#&¤:Ø!œjØœ8ØœHð"ð "ð  œJØ 'ðñ ô ˆCõ ˜CœE 3¤9°4Ð8Ñ8Ô8Ð8ðK%	9ð %	9ð %	9ñ %	9ô %	9ð %	9ð %	9ð %	9ð %	9ð %	9ð %	9ð %	9øøøð %	9ð %	9ð %	9ð %	9ð %	9ð %	9s   Â.CFÆFÆFc                 óX   — t           j        dddœ}t          t           dd|d¬¦  «         dS )z,Test known function minima stopping criteriar&  T)Úf_minÚf_tolrý   Nr¦   rô   ©rª   r»   r®   r¯   ©rå   r   r½   rÏ   s     r   Útest_4_1_known_f_minz&TestShgoArguments.test_4_1_known_f_minx  sJ   € õ $Ô0Ø Ø*.ð0ð 0ˆõ 	•˜D¨D¸'Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 óZ   — t           j        ddddœ}t          t           dd|d¬¦  «         dS )	z+Test Global mode limiting local evaluationsr&  Tr7   )r`  ra  rý   Ú
local_iterNr¦   rô   rb  rc  rÏ   s     r   Útest_4_2_known_f_minz&TestShgoArguments.test_4_2_known_f_minƒ  sM   € õ Ô)Øà#'Øðð ˆõ 	•˜D¨D¸'Ø!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c           	      óö   — t           j        dddddœ}t          t           j        t           j        t           j        dd|d¬¦  «        }t          j                             |j	        t           j
        d	d	¬
¦  «         dS )z8Test Global mode limiting local evaluations for 1D funcsr&  Tr7   F©r`  ra  rý   rf  râ   Nr§   ©r©   rª   r«   r®   r¯   r¦   r±   )rÔ   r   r   r:   r   r0   r@   r·   r   r9   r   ©r   r®   r¼   s      r   Útest_4_4_known_f_minz&TestShgoArguments.test_4_4_known_f_min�  sz   € õ Ô)Øà#'ØØ!&ð(ð (ˆõ •7”9�gœn½'¼,Ø ¨wØ#*ð,ñ ,ô ,ˆõ 	Œ
×"Ò" 3¤5­'Ô*<À4ÈdÐ"ÑSÔSÐSÐSÐSr!   c                 óÊ   — t          t          j        t          j        t          j        ¬¦  «        }t
          j                             |j        t          j	        dd¬¦  «         dS )z;Test Default simplicial sampling settings on TestFunction 1©r©   r¦   r±   N©
r   rÃ   r:   r   r0   r@   r·   r   r9   r   r6  s     r   Útest_5_1_simplicial_arglessz-TestShgoArguments.test_5_1_simplicial_arglessŸ  sF   € å•7”9�gœn½'¼,ÐGÑGÔGˆÝ
Œ
×"Ò" 3¤5­'Ô*<À4ÈdÐ"ÑSÔSÐSÐSÐSr!   c                 óÌ   — t          t          j        t          j        t          j        d¬¦  «        }t
          j                             |j        t          j	        dd¬¦  «         dS )z6Test Default sobol sampling settings on TestFunction 1r§   ©r©   r¯   r¦   r±   Nro  r6  s     r   Útest_5_2_sobol_arglessz(TestShgoArguments.test_5_2_sobol_argless¤  sO   € å•7”9�gœn½'¼,Ø#*ð,ñ ,ô ,ˆå
Œ
×"Ò" 3¤5­'Ô*<À4ÈdÐ"ÑSÔSÐSÐSÐSr!   c                 ó8  — ddi}t          t          j        t          j        t          j        |d¬¦  «        }t
          j                             |j        t          j	        dd¬¦  «         t
          j                             |j
        t          j        d¬¦  «         dS )	ú:Test that maximum iteration option works on TestFunction 3Úmax_iterr6   rô   ©r©   r®   r¯   r¦   r±   r´   N©r   rÞ   r:   r   r0   r@   r·   r   r9   r   r*   r   rk  s      r   Útest_6_1_simplicial_max_iterz.TestShgoArguments.test_6_1_simplicial_max_iterª  ó   € à˜q�/ˆÝ•7”9�gœn½'¼,Ø"°LðBñ Bô Bˆå
Œ
×"Ò" 3¤5­'Ô*<À4ÈdÐ"ÑSÔSÐSÝ
Œ
×"Ò" 3¤7­GÔ,@ÀtÐ"ÑLÔLÐLÐLÐLr!   c                 ó8  — ddi}t          t          j        t          j        t          j        |d¬¦  «        }t
          j                             |j        t          j	        dd¬¦  «         t
          j                             |j
        t          j        d¬¦  «         dS )	ru  Úmin_iterr6   rô   rw  r¦   r±   r´   Nrx  rk  s      r   Útest_6_2_simplicial_min_iterz.TestShgoArguments.test_6_2_simplicial_min_iter²  rz  r!   c                 ó`   — dD ]*}|t           j        dœ}t          t           dd|d¬¦  «         Œ+dS )z@Test the minimizer_kwargs arguments for solvers with constraints)ÚCOBYLAÚCOBYQAÚSLSQP)rQ  r©   rœ   çü©ñÒMbP?r§   ©rª   r»   r­   r¯   N)rÞ   r0   r½   )r   Úsolverr­   s      r   Útest_7_1_minkwargsz$TestShgoArguments.test_7_1_minkwargsº  s\   € ð 4ð 	.ð 	.ˆFð +1Ý/6¬|ð =ð  =Ðå•W ¨tØ&6Ø%,ð.ñ .ô .ð .ð .ð	.ð 	.r!   c                 ó†   — ddi}ddi}t          t          j        t          j        t          j        d         ||¬¦  «         dS )z'Test the minimizer_kwargs default initsÚftolr¦   rÌ   Tr   )r©   r­   r®   N©r   rÞ   r:   r   r0   )r   r­   r®   s      r   Útest_7_2_minkwargsz$TestShgoArguments.test_7_2_minkwargsÆ  sQ   € à" D˜>ÐØ˜4�.ˆÝ�WŒY�œµG´LÀ´OØ.¸ð	Añ 	Aô 	Að 	Að 	Að 	Ar!   c                 ó°   — dD ]R}d„ }d„ }|||dœ}t          j        d|› �¦  «         t          j        d¦  «         t          t          dd|d	¬
¦  «         ŒSdS )z?Test minimizer_kwargs arguments for solvers without constraints)zNelder-MeadÚPowellÚCGÚBFGSú	Newton-CGzL-BFGS-BÚTNCÚdoglegz	trust-ncgztrust-exactztrust-krylovc                 ó\   — t          j        d| d         z  d| d         z  g¦  «        j        S )Nr6   r   r7   )r@   ÚarrayÚTrB   s    r   rR  z1TestShgoArguments.test_7_3_minkwargs.<locals>.jacÒ  s*   € Ý”x  Q q¤T¡¨1¨q°¬t©8Ð 4Ñ5Ô5Ô7Ð7r!   c                 ó6   — t          j        ddgddgg¦  «        S ©Nr6   r   )r@   r’  rB   s    r   rT  z2TestShgoArguments.test_7_3_minkwargs.<locals>.hessÕ  s   € Ý”x ! Q ¨!¨Q¨Ð 0Ñ1Ô1Ð1r!   )rQ  rR  rT  z	Solver = zd====================================================================================================rœ   r‚  r§   rƒ  N)rµ   r¶   r½   rÃ   )r   r„  rR  rT  r­   s        r   Útest_7_3_minkwargsz$TestShgoArguments.test_7_3_minkwargsÍ  s¦   € ð'ð 	.ð 	.ˆFð8ð 8ð 8ð2ð 2ð 2ð +1Ø'*Ø(,ð .ð  .Ðõ ŒLÐ- VÐ-Ð-Ñ.Ô.Ð.ÝŒL˜Ñ#Ô#Ð#Ý•W ¨tØ&6Ø%,ð.ñ .ô .ð .ð .ð	.ð 	.r!   c                 óB   — dddœ}t          t          d d |d¬¦  «         d S )Nr7   T)Úminhgrdrý   rô   rÿ   rÂ   rÏ   s     r   Útest_8_homology_group_diffz,TestShgoArguments.test_8_homology_group_diffá  sB   € ØØ*.ð0ð 0ˆõ 	•˜D¨°gØ!-ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r!   c                 ór   — t          t          j        t          j        t          j        d         ¬¦  «         dS )ú'Test single function constraint passingr   rn  Nrˆ  rÄ   s    r   Útest_9_cons_gzTestShgoArguments.test_9_cons_gè  s'   € å�WŒY�œµG´LÀ´OÐDÑDÔDÐDÐDÐDr!   Úwin32z2Failing and fix in PyPy not planned (see gh-18632))Úreasonc                 óh   — ddi}d„ }t          |t          j        d|¬¦  «        }|j        dk    sJ ‚dS )r›  Úmaxtimer   c                 ó.   — t          j        d¦  «         dS )Ng›+¡†›„=r€   )ÚtimeÚsleeprB   s    r   r:   z0TestShgoArguments.test_10_finite_time.<locals>.fò  s   € ÝŒJ�uÑÔÐØ�3r!   rd   )r«   r®   r7   N)r   rÃ   r   Únit)r   r®   r:   r¼   s       r   Útest_10_finite_timez%TestShgoArguments.test_10_finite_timeì  sJ   € ð ˜eÐ$ˆð	ð 	ð 	õ �1•g”n¨A°wÐ?Ñ?Ô?ˆàŒw˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r!   c                 ó  — dddœ}t          t          j        t          j        dd|d¬¦  «        }t          j                             d|j        d         ¦  «         t          j                             d|j        d	         ¦  «         dS )
ú*Test to cover the case where f_lowest == 0r€   T)r`  rÌ   rc   Nr§   rÿ   r   r7   )r   rÉ   r:   r   r@   r·   Úassert_equalr9   rk  s      r   Útest_11_f_min_0z!TestShgoArguments.test_11_f_min_0ú  s{   € àØð!ð !ˆå•7”9�gœn°¸$Ø"°Gð=ñ =ô =ˆå
Œ
×Ò  3¤5¨¤8Ñ,Ô,Ð,Ý
Œ
×Ò  3¤5¨¤8Ñ,Ô,Ð,Ð,Ð,r!   z no way of currently testing thisc                 ó¬   — dddœ}t          t          j        t          j        dd|d¬¦  «        }t          j                             d|j        ¦  «         dS )r§  r   r€   )r   r`  r7   Nr§   rÿ   )r   rÉ   r:   r   r@   r·   r¨  r*   rk  s      r   Útest_12_sobol_inf_consz(TestShgoArguments.test_12_sobol_inf_cons  s[   € ð $Øð!ð !ˆå•7”9�gœn°¸Ø"°Gð=ñ =ô =ˆå
Œ
×Ò  S¤WÑ-Ô-Ð-Ð-Ð-r!   c                 óh   — d„ }dgdz  }t          ||d¬¦  «        }|                     dd¦  «         dS )	z-Test init of high-dimensional sobol sequencesc                 ó   — dS ©Nr   r%   rB   s    r   r:   z/TestShgoArguments.test_13_high_sobol.<locals>.f  ó   € Ø�1r!   rG   é)   r§   ©r¯   r6   r^   N)r   Úsampling_function)r   r:   r   ÚSHGOcs       r   Útest_13_high_sobolz$TestShgoArguments.test_13_high_sobol  sP   € ð	ð 	ð 	ð Ð! BÑ&ˆÝ�Q˜°Ð8Ñ8Ô8ˆà×Ò  2Ñ&Ô&Ð&Ð&Ð&r!   c                 ó<   — ddi}t          t          d|¬¦  «         dS )z6Test limited local iterations for a pseudo-global moderf  rf   rQ   rã   Nré   rÏ   s     r   Útest_14_local_iterz$TestShgoArguments.test_14_local_iter  s'   € à Ð#ˆÝ•˜B¨Ð0Ñ0Ô0Ð0Ð0Ð0r!   c                 ó@   — ddi}t          t          dd|d¬¦  «         dS )z9Test minimize every iter options and cover function cacherý   Tr7   ri   r§   rÿ   NrÂ   rÏ   s     r   Útest_15_min_every_iterz(TestShgoArguments.test_15_min_every_iter   s8   € à(¨$Ð/ˆÝ•˜A Q°Ø!(ð	*ñ 	*ô 	*ð 	*ð 	*ð 	*r!   c                 óF   — ddi}ddi}t          t          d||¬¦  «         dS )z:Test disp=True with minimizers that do not support bounds rÌ   TrQ  znelder-meadrô   )r¯   r®   r­   NrÈ   )r   Úcapsysr®   r­   s       r   Útest_16_disp_bounds_minimizerz/TestShgoArguments.test_16_disp_bounds_minimizer&  sG   € à˜4�.ˆØ$ mÐ4ÐÝ•¨,Ø Ð3Cð	Eñ 	Eô 	Eð 	Eð 	Eð 	Er!   c                 ó:   — d„ }t          t          d|¬¦  «         dS )ú=Test the functionality to add custom sampling methods to shgoc                 óF   — t           j                             | |f¬¦  «        S )N)Úsize)r@   ÚrandomÚuniform)rª   Úds     r   Úsamplez9TestShgoArguments.test_17_custom_sampling.<locals>.sample0  s   € Ý”9×$Ò$¨1¨a¨&Ð$Ñ1Ô1Ð1r!   rK   rõ   NrÂ   )r   rÃ  s     r   Útest_17_custom_samplingz)TestShgoArguments.test_17_custom_sampling-  s.   € ð	2ð 	2ð 	2õ 	•˜B°Ð7Ñ7Ô7Ð7Ð7Ð7r!   c                 óì  — d„ }g d¢}g d¢}t          t          ||¦  «        ¦  «        }t          ||¦  «        }t          ||¦  «        }t          ||¦  «        }|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚t          j        g d¢¦  «        }t          j	         
                    |j        |¦  «         t          j	         
                    |j        |j        ¦  «         d S )Nc                 óN   — t          j        | ¦  «                             ¦   «         S r   )r@   ÚsquarerA   rB   s    r   r:   z1TestShgoArguments.test_18_bounds_class.<locals>.f7  s   € Ý”9˜Q‘<”<×#Ò#Ñ%Ô%Ð%r!   )g      Àr�   g      À)r“   r›   r_   )r“   r�   r€   )r-   Úzipr	   r   ÚnfevÚmessager"  r@   r’  r·   r   r9   )	r   r:   ÚlbÚubÚ
bounds_oldÚ
bounds_newÚres_old_boundsÚres_new_boundsrW  s	            r   Útest_18_bounds_classz&TestShgoArguments.test_18_bounds_class5  sü   € ð	&ð 	&ð 	&ð ˆ^ˆ^ˆØˆ]ˆ]ˆÝ�#˜b "™+œ+Ñ&Ô&ˆ
Ý˜B ‘^”^ˆ
å˜a Ñ,Ô,ˆÝ˜a Ñ,Ô,ˆàÔ" nÔ&9Ò9Ð9Ð9Ð9ØÔ%¨Ô)?Ò?Ð?Ð?Ð?ØÔ%¨Ô)?Ò?Ð?Ð?Ð?Ý”˜˜˜Ñ'Ô'ˆÝ
Œ
×"Ò" >Ô#3°UÑ;Ô;Ð;Ý
Œ
×"Ò" >Ô#3°^Ô5EÑFÔFÐFÐFÐFr!   rc   c                 ó‚  — t          d¦  «        5 }t          t          d|j        ¬¦  «         ddd¦  «         n# 1 swxY w Y   t          t          dt          ¬¦  «         t          d¦  «        5 }t          t          d|j        ¬¦  «         ddd¦  «         n# 1 swxY w Y   t          t          dt          ¬¦  «         dS )r½  r6   rK   )rª   r°   N)r   r½   rÃ   Úmapr  )r   Úps     r   Útest_19_parallelizationz)TestShgoArguments.test_19_parallelizationI  s  € õ �!‰WŒWð 	3˜Ý•W ¨A¬EÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3å•˜B­Ð,Ñ,Ô,Ð,Ý�!‰WŒWð 	2˜Ý•V˜r¨1¬5Ð1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2å•˜2¥sÐ+Ñ+Ô+Ð+Ð+Ð+s   �9¹=Á =Á/BÂBÂBc                 ó    — d„ }d„ }dgdz  }d„ }d„ }d„ }d|d	d
œd|dœd|dœf}t          ||dd|¬¦  «         t          ||dd|d¬¦  «         dS )z0Test that constraints can be passed to argumentsc                 óJ  — | d         dz    t          j        t          j        t          | d         dz  | d         dz   z   ¦  «        ¦  «        ¦  «        z  | d         t          j        t          j        t          | d         | d         dz   z
  ¦  «        ¦  «        ¦  «        z  z
  S rx   rz   rB   s    r   Ú	eggholderz=TestShgoArguments.test_20_constrained_args.<locals>.eggholderW  s‰   € à�A”$˜‘+��rœv¥b¤g­c°!°A´$¸±*ÀÀ!ÄÀtÁÑ2LÑ.MÔ.MÑ&NÔ&NÑOÔOÑOØ�A”$•r”v�bœg¥c¨!¨A¬$°!°A´$¸±+Ñ*>Ñ&?Ô&?Ñ@Ô@ÑAÔAÑAñBðr!   c                 ó`   — d| d         z  d| d         z  z   d| d         z  z   d| d         z  z   S )	NgÍÌÌÌÌŒ8@r   g     À:@r7   é'   r6   g     @D@rg   r%   rB   s    r   r:   z5TestShgoArguments.test_20_constrained_args.<locals>.f]  s7   € Ø˜1˜Qœ4‘< %¨!¨A¬$¡,Ñ.°°a¸´d±Ñ:¸UÀQÀqÄT¹\ÑIÐIr!   ©r   r�   rf   c                 ór   — |dz  | d         z  |dz  | d         z  z   d| d         z  z   d| d         z  z   d	z
  S )
Ngffffff@r   gffffff@r7   g333333&@r6   gÍÌÌÌÌÌô?rg   rd   r%   )r9   r‰   s     r   Úg1_modifiedz?TestShgoArguments.test_20_constrained_args.<locals>.g1_modifiedb  sT   € Ø�s‘7˜Q˜qœT‘> A¨¡G¨a°¬d¡NÑ2°T¸A¸a¼D±[Ñ@À3ÈØôJñ Dñ Øñð r!   c                 ó  — d| d         z  d| d         z  z   d| d         z  z   d| d         z  z   d	z
  d
t          j        d| d         dz  z  d| d         dz  z  z   d| d         dz  z  z   d| d         dz  z  z   ¦  «        z  z
  S )Nre   r   gÍÌÌÌÌÌ'@r7   gfffffæD@r6   gÍÌÌÌÌJ@rg   é   gR¸…ëQú?gìQ¸…ëÑ?gR¸…ëQÈ?g     €4@g×£p=
×ã?)r@   r{   rB   s    r   rZ   z6TestShgoArguments.test_20_constrained_args.<locals>.g2f  s›   € à�1�Q”4‘˜$˜q œt™)Ñ# d¨1¨Q¬4¡iÑ/°$°q¸´t±)Ñ;¸bÑ@Ø�œØ˜˜1œ˜q™‘L 4¨¨!¬¨a©¡<Ñ/°$°q¸´t¸Q±w±,Ñ>ÀÀaÈÄdÈAÁgÁÑMñô ñ ñðr!   c                 óN   — | d         | d         z   | d         z   | d         z   dz
  S ©Nr   r7   r6   rg   r%   rB   s    r   Úh1z6TestShgoArguments.test_20_constrained_args.<locals>.h1n  s+   € Ø�Q”4˜!˜Aœ$‘;  1¤Ñ%¨¨!¬Ñ,¨qÑ0Ð0r!   r'   )r   )r)   r*   r†   r(   r  r  r7   )rª   r«   r©   r§   )rª   r«   r©   r¯   N)r   )r   rØ  r:   r   rÝ  rZ   râ  r0   s           r   Útest_20_constrained_argsz*TestShgoArguments.test_20_constrained_argsT  sÓ   € ð	ð 	ð 	ð	Jð 	Jð 	Jð � Ñ!ˆð	ð 	ð 	ð	ð 	ð 	ð	1ð 	1ð 	1ð  ¨¸TÐBÐBØ¨Ð+Ð+Ø bÐ)Ð)ð+ˆõ 	ˆQ�˜# Q°DÐ9Ñ9Ô9Ð9åˆQ�˜# Q°DØ$ð	&ñ 	&ô 	&ð 	&ð 	&ð 	&r!   c           	      ó$  — d„ }dddœ}ddi}t          |ddgddggd	d
d||¬¦  «         |d         du sJ ‚d|v sJ ‚d„ }ddgddgddgddgddgg}t          ||ddddœ¬¦  «        }t          |g d¢|d¬¦  «        }|j        sJ ‚t          |j        |j        ¦  «         t          |j        |j        d¬¦  «         t          ||dddiddi¬¦  «        }|j        sJ ‚t          |j        |j        ¦  «         t          |j        |j        d¬¦  «         dS )z|Test that shgo can handle objective functions that return the
        gradient alongside the objective value. Fixes gh-13547c                 óZ   — t          j        t          j        | d¦  «        ¦  «        d| z  fS ©Nr6   )r@   rA   ÚpowerrB   s    r   rJ  z2TestShgoArguments.test_21_1_jac_true.<locals>.func~  s%   € Ý”6�"œ( 1 a™.œ.Ñ)Ô)¨1¨q©5Ð0Ð0r!   r�  T)rQ  rR  rR  rD   r7   r6   rœ   rd   r§   )r   rª   r«   r¯   r­   r®   c                 ó:   — t          j        | dz  ¦  «        d| z  fS ræ  r?   rB   s    r   rJ  z2TestShgoArguments.test_21_1_jac_true.<locals>.func�  s   € Ý”6˜!˜q™&‘>”> 1 q¡5Ð(Ð(r!   r   rg   )r   r¯   r­   )r7   r7   r7   r7   r7   )Úx0r   rR  r   r´   rQ  )r   r¯   r­   r®   N)r   r   r"  r   r*   r9   )r   rJ  Úmin_kwdsÚopt_kwdsr   r¼   r'  s          r   Útest_21_1_jac_truez$TestShgoArguments.test_21_1_jac_truez  s®  € ð	1ð 	1ð 	1ð &¨dÐ3Ð3ˆØ˜4�=ˆÝØØ˜�G˜a ˜VÐ$Ø˜Ø#Ø%Øð	
ñ 	
ô 	
ð 	
ð ˜Œ $Ð&Ð&Ð&Ð&Ø˜Ð Ð Ð Ð ð	)ð 	)ð 	)ð �q�'˜A˜q˜6 B¨ 7¨Q°¨F°Q¸°FÐ;ˆå�4 ¸Ø/6¸tÐ$DÐ$DðFñ Fô Fˆå�t   ¸Øð!ñ !ô !ˆàŒ{ÐÐˆ{Ý˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœu¨5Ð1Ñ1Ô1Ð1õ �4 ¸Ø%-¨wÐ$7Ø! 4˜=ð*ñ *ô *ˆð Œ{ÐÐˆ{Ý˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœu¨5Ð1Ñ1Ô1Ð1Ð1Ð1r!   Ú
derivative©rR  rT  Úhesspc                 óR  — d„ }d„ }d„ }d„ }|||dœ}|||         i}ddi}dg}	t          ||	||¬	¦  «        }
t          |fd
g|	dœ|¤|¤Ž}|
j        sJ ‚t          j                             |
j        |j        ¦  «         t          j                             |
j        |j        ¦  «         dS )zzshgo used to raise an error when passing `options` with 'jac'
        # see gh-12963. check that this is resolved
        c                 óH   — d| d         z  | d         z  d| d         z  z   dz   S )Nrg   r   r6   rd   r%   rB   s    r   Ú	objectivezATestShgoArguments.test_21_2_derivative_options.<locals>.objectiveª  s*   € Ø�q˜”t‘8˜a œd‘? Q¨¨1¬¡XÑ-°Ñ1Ð1r!   c                 ó   — d| d         z  dz   S )NrE   r   r6   r%   rB   s    r   Úgradientz@TestShgoArguments.test_21_2_derivative_options.<locals>.gradient­  s   € Ø�q˜”t‘8˜a‘<Ðr!   c                 ó   — dS ©NrE   r%   rB   s    r   rT  z<TestShgoArguments.test_21_2_derivative_options.<locals>.hess°  r¯  r!   c                 ó   — d|z  S rö  r%   )r9   rÔ  s     r   rï  z=TestShgoArguments.test_21_2_derivative_options.<locals>.hessp³  s   € Ø�q‘5ˆLr!   rî  rQ  rP  )iœÿÿÿrœ   ©r­   r®   r   )ré  r   N)r   r   r"  r@   r·   r   r*   r9   )r   rí  rò  rô  rT  rï  Úderivative_funcsr®   r­   r   r¼   r'  s               r   Útest_21_2_derivative_optionsz.TestShgoArguments.test_21_2_derivative_options¤  s  € ð	2ð 	2ð 	2ð	 ð 	 ð 	 ð	ð 	ð 	ð	ð 	ð 	ð $,°TÀEÐJÐJÐØÐ/°
Ô;Ð<ˆØ$ nÐ5Ðà�ˆÝ�9˜fÐ7GØ"ð$ñ $ô $ˆå�yð " a S°ð "ð "Ð;Kð "Ø ð"ð "ˆð Œ{ÐÐˆ{Ý
Œ
×"Ò" 3¤7¨C¬GÑ4Ô4Ð4Ý
Œ
×"Ò" 3¤5¨#¬%Ñ0Ô0Ð0Ð0Ð0r!   c                 ó0  — g d¢}t           t          dœ}ddi}t          t          |||¬¦  «        }t	          t          t          j        d¦  «        fddi|¤Ž}|j        sJ ‚t          |j	        |j	        ¦  «         t          |j
        |j
        d¬¦  «         d	S )
zsEnsure the Hessian gets passed correctly to the local minimizer
        routine. Previous report gh-14533.
        )©r   gš™™™™™ù?rü  ©r   gffffffö?rý  rý  )rR  rT  rQ  rŽ  rø  rd   r   r´   N)r   r   r   r   r   r@   Úzerosr"  r   r*   r9   )r   r   r®   r­   r¼   r'  s         r   Útest_21_3_hess_options_rosenz.TestShgoArguments.test_21_3_hess_options_rosenÄ  sµ   € ð DÐCÐCˆÝ#­ZÐ8Ð8ˆØ$ kÐ2ÐÝ•5˜&Ð3CØ"ð$ñ $ô $ˆå•u�bœh q™kœkð "ð "°+ð "Ø ð"ð "ˆàŒ{ÐÐˆ{Ý˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœu¨5Ð1Ñ1Ô1Ð1Ð1Ð1r!   c                 ó  — d„ }dd„ dœ}dg}t          ||d|d¬¦  «        }t          |t          j        d	¦  «        |d|¬
¦  «        }|j        sJ ‚t          |j        |j        ¦  «         t          |j        |j        ¦  «         dS )zwshgo used to raise an error when passing `args` with Sobol sampling
        # see gh-12114. check that this is resolvedc                 ó   — | d         |z  S r®  r%   )r9   r‡   s     r   r*   z6TestShgoArguments.test_21_arg_tuple_sobol.<locals>.fun×  s   € Ø�Q”4˜1‘9Ðr!   r'   c                 ó   — | d         dz
  S r¡   r%   rB   s    r   r  z;TestShgoArguments.test_21_arg_tuple_sobol.<locals>.<lambda>Ú  s   € ¸¸1¼À¹€ r!   r(   ©r   rc   )r7   r§   )r†   r©   r¯   r7   )r   r†   r©   N)r   r   r@   rþ  r"  r   r*   r9   )r   r*   r©   r   r¼   r'  s         r   Útest_21_arg_tuple_sobolz)TestShgoArguments.test_21_arg_tuple_sobolÓ  s¬   € ð	ð 	ð 	ð !'Ð/AÐ/AÐBÐBˆà�ˆÝ�3˜ T°{Ø#*ð,ñ ,ô ,ˆå�s�BœH Q™KœK°¸TØ#.ð0ñ 0ô 0ˆàŒ{ÐÐˆ{Ý˜œ ¤Ñ)Ô)Ð)Ý˜œ˜sœuÑ%Ô%Ð%Ð%Ð%r!   N)0r"   r#   r$   r/  r2  r4  r7  rB  rE  rL  r^  rî   rï   rð   rd  rg  rl  rp  rs  ry  r}  r…  r‰  r–  r™  rœ  Úxfailr   ÚsysÚplatformr¥  r©  r*  r«  r´  r¶  r¸  r»  rÄ  rÑ  r)  rÕ  rã  rì  Úparametrizerú  rÿ  r  r%   r!   r   r,  r,    s  € € € € € ðIð Ið Ið/ð /ð /ðDð Dð DðMð Mð MðAð Að AðAð Að Að&ð &ð &ð89ð 89ð 89ðt „[Ôð/ð /ñ Ôð/ð „[Ôð
/ð 
/ñ Ôð
/ðTð Tð TðTð Tð Tð
Tð Tð TðMð Mð MðMð Mð Mð
.ð 
.ð 
.ðAð Að Að.ð .ð .ð(/ð /ð /ðEð Eð Eð „[×Ò�wÐ: 3¤<°7Ò#:ØGð ñ Iô Ið
ð 
ñIô Ið
ð-ð -ð -ð „[×ÒÐ?ÐÑ@Ô@ð	.ð 	.ñ AÔ@ð	.ð	'ð 	'ð 	'ð1ð 1ð 1ð
*ð *ð *ðEð Eð Eð8ð 8ð 8ðGð Gð Gð( „[×Ò˜2ÑÔð,ð ,ñ Ôð,ð$&ð $&ð $&ðL(2ð (2ð (2ðT „[×Ò˜\Ð+CÐ+CÐ+CÑDÔDð1ð 1ñ EÔDð1ð>2ð 2ð 2ð&ð &ð &ð &ð &r!   r,  c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestShgoFailuresc                 óô   — ddi}t          t          j        t          j        dd|d¬¦  «        }t          j                             d|j        ¦  «         t          j                             d|j        ¦  «         dS )z'Test failure on insufficient iterationsÚmaxiterr6   Nr§   rÿ   Frf   )	r   rå   r:   r   r@   r·   r¨  r"  Útnevrk  s      r   Útest_1_maxiterzTestShgoFailures.test_1_maxiterè  sl   € à˜a�.ˆÝ•7”9�gœn°¸Ø"°Gð=ñ =ô =ˆõ 	Œ
×Ò  s¤{Ñ3Ô3Ð3å
Œ
×Ò  3¤8Ñ,Ô,Ð,Ð,Ð,r!   c                 ój   — t          t          t          t          j        t          j        d¬¦  «         dS )z$Rejection of unknown sampling methodÚ	not_Sobolr±  N)Úassert_raisesÚ
ValueErrorr   rÃ   r:   r   rÄ   s    r   Útest_2_samplingz TestShgoFailures.test_2_samplingò  s2   € å•j¥$­¬	µ7´>Ø&1ð	3ñ 	3ô 	3ð 	3ð 	3ð 	3r!   c                 óô   — dddœ}t          t          j        t          j        d|d¬¦  «        }t          j                             d|j        ¦  «         t          j                             d|j        ¦  «         d	S )
zoCheck that the routine stops when no minimiser is found
           after maximum specified function evaluationsrc   T)ÚmaxfevrÌ   rg   r§   ©rª   r®   r¯   Fre   N)	r   Ú
test_tabler:   r   r@   r·   r¨  r"  rÉ  rk  s      r   Útest_3_1_no_min_pool_sobolz+TestShgoFailures.test_3_1_no_min_pool_sobol÷  sv   € ð  àð!ð !ˆõ •:”<¥Ô!2°aÀØ#*ð,ñ ,ô ,ˆå
Œ
×Ò  s¤{Ñ3Ô3Ð3å
Œ
×Ò  C¤HÑ-Ô-Ð-Ð-Ð-r!   c                 óª   — dddœ}t          t          j        t          j        d|d¬¦  «        }t          j                             d|j        ¦  «         dS )	zoCheck that the routine stops when no minimiser is found
           after maximum specified sampling evaluationsrc   T©ÚmaxevrÌ   rg   rô   r  FN)r   r  r:   r   r@   r·   r¨  r"  rk  s      r   Útest_3_2_no_min_pool_simplicialz0TestShgoFailures.test_3_2_no_min_pool_simplicial  sZ   € ð Øð!ð !ˆå•:”<¥Ô!2°aÀØ#/ð1ñ 1ô 1ˆå
Œ
×Ò  s¤{Ñ3Ô3Ð3Ð3Ð3r!   c                 óZ   — ddg}t          t          t          t          j        |¦  «         dS )zSpecified bounds ub > lb)rE   rg   ©rg   rd   N©r  r  r   rÃ   r:   ©r   r   s     r   Útest_4_1_bound_errz#TestShgoFailures.test_4_1_bound_err  s(   € à˜&Ð!ˆÝ•j¥$­¬	°6Ñ:Ô:Ð:Ð:Ð:r!   c                 óZ   — ddg}t          t          t          t          j        |¦  «         dS )z)Specified bounds are of the form (lb, ub))rg   rd   rd   r  Nr  r   s     r   Útest_4_2_bound_errz#TestShgoFailures.test_4_2_bound_err  s(   € à˜VÐ$ˆÝ•j¥$­¬	°6Ñ:Ô:Ð:Ð:Ð:r!   c                 óÀ   — dddœ}t          t          j        t          j        t          j        d|d¬¦  «        }t
          j                             d|j        ¦  «         dS )zxEnsures the algorithm terminates on infeasible problems
           after maxev is exceeded. Use infty constraints optionrœ   Tr  r§   ©r©   rª   r®   r¯   FN©	r   Útest_infeasibler:   r   r0   r@   r·   r¨  r"  rk  s      r   Útest_5_1_1_infeasible_sobolz,TestShgoFailures.test_5_1_1_infeasible_sobol  se   € ð  Øð!ð !ˆõ •?Ô$¥oÔ&<Ý.Ô3°sÀGØ#*ð,ñ ,ô ,ˆõ 	Œ
×Ò  s¤{Ñ3Ô3Ð3Ð3Ð3r!   c                 óÂ   — ddddœ}t          t          j        t          j        t          j        d|d¬¦  «        }t
          j                             d|j        ¦  «         dS )zEnsures the algorithm terminates on infeasible problems
           after maxev is exceeded. Do not use infty constraints optionrœ   TF)r  rÌ   râ   r§   r%  Nr&  rk  s      r   Útest_5_1_2_infeasible_sobolz,TestShgoFailures.test_5_1_2_infeasible_sobol"  sh   € ð  ØØ(-ð/ð /ˆõ •?Ô$¥oÔ&<Ý.Ô3°sÀGØ#*ð,ñ ,ô ,ˆõ 	Œ
×Ò  s¤{Ñ3Ô3Ð3Ð3Ð3r!   c                 óÀ   — dddœ}t          t          j        t          j        t          j        d|d¬¦  «        }t
          j                             d|j        ¦  «         dS )z[Ensures the algorithm terminates on infeasible problems
           after maxev is exceeded.iè  Fr  rœ   rô   r%  Nr&  rk  s      r   Útest_5_2_infeasible_simplicialz/TestShgoFailures.test_5_2_infeasible_simplicial/  se   € ð !Ø ð"ð "ˆõ •?Ô$¥oÔ&<Ý.Ô3°sÀGØ#/ð1ñ 1ô 1ˆõ 	Œ
×Ò  s¤{Ñ3Ô3Ð3Ð3Ð3r!   c                 óº   — t           j        dz   dddddœ}t           j        t           j        f}t           j        dd|dd	œ}t          t          t          g|¢R i |¤Ž dS )
z<Test Global mode limiting local evaluations with f* too highry   r&  Tr7   Fri  Nr§   rj  )rÔ   r   r:   r   r0   r   ÚUserWarningr   )r   r®   r†   Úkwargss       r   Útest_6_1_lower_known_f_minz+TestShgoFailures.test_6_1_lower_known_f_min;  s|   € õ Ô)¨CÑ/Øà#'ØØ!&ð(ð (ˆõ ”	�7œ>Ð*ˆÝ!(¤ØØØ$Ø%,ð	ð ˆõ 	�k�4Ð1 $Ð1Ð1Ð1¨&Ð1Ð1Ð1Ð1Ð1r!   c                 ó”   ‡‡— ddl mŠm} g d¢}ˆˆfd„Šd‰_         |‰|¦  «        }t	          |j        |j        ‰j        ¦  «         d S )Nr   )r   r   ©©r   r6   r3  r3  r3  r3  c                 ó:   •— ‰xj         dz  c_          ‰| ¦  «        S ©Nr7   )rÉ  )r9   r*   r   s    €€r   r*   z"TestShgoFailures.test.<locals>.funQ  s   ø€ ØˆHŒH˜‰MˆHŒHØ�5˜‘8”8ˆOr!   )Úscipy.optimizer   r   rÉ  r‚   r9   r*   )r   r   r   Úresultr*   r   s       @@r   rº   zTestShgoFailures.testM  s}   øø€ Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ø9Ð9Ð9ˆð	ð 	ð 	ð 	ð 	ð 	ð ˆŒà��c˜6Ñ"Ô"ˆÝˆfŒh˜œ
 C¤HÑ-Ô-Ð-Ð-Ð-r!   N)r"   r#   r$   r  r  r  r  r!  r#  r(  r*  r,  r0  rº   r%   r!   r   r
  r
  ç  s¹   € € € € € ð-ð -ð -ð3ð 3ð 3ð

.ð 
.ð 
.ð4ð 4ð 4ð;ð ;ð ;ð
;ð ;ð ;ð

4ð 
4ð 
4ð4ð 4ð 4ð
4ð 
4ð 
4ð2ð 2ð 2ð$.ð .ð .ð .ð .r!   r
  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestShgoReturnsc                 óœ   ‡— g d¢}ˆfd„Šd‰_         t          ‰|¦  «        }t          j                             ‰j         |j         ¦  «         d S )Nr2  c                 óB   •— ‰xj         dz  c_         t          | ¦  «        S r5  ©rÉ  r   ©r9   r*   s    €r   r*   z3TestShgoReturns.test_1_nfev_simplicial.<locals>.fun`  ó   ø€ ØˆHŒH˜‰MˆHŒHÝ˜‘8”8ˆOr!   r   ©rÉ  r   r@   r·   r¨  ©r   r   r7  r*   s      @r   Útest_1_nfev_simplicialz&TestShgoReturns.test_1_nfev_simplicial]  sa   ø€ Ø9Ð9Ð9ˆð	ð 	ð 	ð 	ð 	ð ˆŒå�c˜6Ñ"Ô"ˆÝ
Œ
×Ò ¤¨&¬+Ñ6Ô6Ð6Ð6Ð6r!   c                 ó    ‡— g d¢}ˆfd„Šd‰_         t          ‰|d¬¦  «        }t          j                             ‰j         |j         ¦  «         d S )Nr2  c                 óB   •— ‰xj         dz  c_         t          | ¦  «        S r5  r<  r=  s    €r   r*   z.TestShgoReturns.test_1_nfev_sobol.<locals>.funl  r>  r!   r   r§   r±  r?  r@  s      @r   Útest_1_nfev_sobolz!TestShgoReturns.test_1_nfev_soboli  sf   ø€ Ø9Ð9Ð9ˆð	ð 	ð 	ð 	ð 	ð ˆŒå�c˜6°7Ð;Ñ;Ô;ˆÝ
Œ
×Ò ¤¨&¬+Ñ6Ô6Ð6Ð6Ð6r!   N)r"   r#   r$   rA  rD  r%   r!   r   r9  r9  \  s2   € € € € € ð
7ð 
7ð 
7ð
7ð 
7ð 
7ð 
7ð 
7r!   r9  c                  ó�  — d„ } t          | dgdg¦  «        }t          |t          j        ddg¦  «        ¦  «        }t	          t
          ddg|d¬¦  «        }t          j        t          j        |j        dz  ¦  «        dk    ¦  «        sJ ‚t          j        t          j        |j        dz  ¦  «        d	k    ¦  «        sJ ‚|j	        sJ ‚d S )
Nc                 óZ   — t          j        | ¦  «        } t          j        | dz  ¦  «        gS ræ  ©r@   ÚasarrayrA   rB   s    r   Úquadz$test_vector_constraint.<locals>.quadx  ó$   € ÝŒJ�q‰MŒMˆÝ”�q˜A‘v‘”ÐÐr!   gš™™™™™@rg   r�   r  r§   rr  r6   r›   )
r   r   r@   r’  r   r   ÚallrA   r9   r"  )rI  ÚnlcÚoldcr¼   s       r   Útest_vector_constraintrN  v  sÉ   € ð ð  ð  õ ˜d S E¨A¨3Ñ
/Ô
/€CÝ  ¥b¤h°°S¨zÑ&:Ô&:Ñ;Ô;€Då
�u�w Ð(°dÈGÐ
TÑ
TÔ
T€CÝŒ6•"”&˜#œ% !™Ñ$Ô$¨Ò+Ñ,Ô,Ð,Ð,Ð,ÝŒ6•"”&˜#œ% A™Ñ&Ô&¨#Ò-Ñ.Ô.Ð.Ð.Ð.ØŒ;ÐÐˆ;ÐÐr!   zignore:delta_gradc                  óR  — d„ } t          | dgdg¦  «        }ddi}t          t          ddg|d|¬¦  «        }t          j        t          j        |j        d	z  ¦  «        dk    ¦  «        sJ ‚t          j        t          j        |j        d	z  ¦  «        d
k    ¦  «        sJ ‚|j        sJ ‚d S )Nc                 óZ   — t          j        | ¦  «        } t          j        | dz  ¦  «        gS ræ  rG  rB   s    r   rI  ztest_trust_constr.<locals>.quad‡  rJ  r!   gÍÌÌÌÌÌ@rg   rQ  rP  r  r§   )r©   r¯   r­   r6   r›   )r   r   r   r@   rK  rA   r9   r"  )rI  rL  r­   r¼   s       r   Útest_trust_constrrQ  …  sÈ   € ð ð  ð  õ ˜d S E¨A¨3Ñ
/Ô
/€CØ  .Ð1Ðõ ÝØ	�'ÐØØØ)ðñ ô €Cõ Œ6•"”&˜#œ% !™Ñ$Ô$¨Ò+Ñ,Ô,Ð,Ð,Ð,ÝŒ6•"”&˜#œ% A™Ñ&Ô&¨#Ò-Ñ.Ô.Ð.Ð.Ð.ØŒ;ÐÐˆ;ÐÐr!   c                  óÔ  — dgdz  } d„ }t          |dd¦  «        }t          t          | |¬¦  «        }t          t	          j        |j        ¦  «        d¦  «         d„ }d|dœ}t          t          | |¬¦  «        }t          t	          j        |j        ¦  «        d¦  «         d	gd
z  } d„ }d|dœ}t          d„ | |d¬¦  «        }t          t	          j        |j        ¦  «        d¦  «         d S )N)gÍÌÌÌÌÌì?r’   r6   c                 ó$   — | d         | d         z   S r¡   r%   rB   s    r   Úfaultyz)test_equality_constraints.<locals>.faulty   s   € Ø�Œt�a˜”d‰{Ðr!   ç333333@r  c                 ó*   — | d         | d         z   dz
  S )Nr   r7   rU  r%   rB   s    r   rT  z)test_equality_constraints.<locals>.faulty§  s   € Ø�Œt�a˜”d‰{˜SÑ Ð r!   r  r(   rÛ  rf   c                 óN   — | d         | d         z   | d         z   | d         z   dz
  S rá  r%   rB   s    r   rT  z)test_equality_constraints.<locals>.faulty°  s+   € Ø�Œt�a˜”d‰{˜Q˜qœTÑ! A a¤DÑ(¨1Ñ,Ð,r!   c                 ó,   — t          j        | ¦  «         S r   )r@   ÚprodrB   s    r   r  z+test_equality_constraints.<locals>.<lambda>¶  s   € •B”G˜A‘J”J�,€ r!   r§   )r   r©   r¯   r�   )r   r   r   r   r@   rA   r9   )r   rT  rL  r¼   r©   s        r   Útest_equality_constraintsrZ  œ  s  € àˆ\˜AÑ€Fðð ð õ ˜f c¨3Ñ
/Ô
/€CÝ
�u˜V°Ð
5Ñ
5Ô
5€CÝ•B”F˜3œ5‘M”M 3Ñ'Ô'Ð'ð!ð !ð !ð  ¨Ð/Ð/€KÝ
�u˜V°Ð
=Ñ
=Ô
=€CÝ•B”F˜3œ5‘M”M 3Ñ'Ô'Ð'àˆZ˜!‰^€Fð-ð -ð -ð  ¨Ð/Ð/€KÝ
ØÐØØØð	ñ ô €Cõ •B”F˜3œ5‘M”M 3Ñ'Ô'Ð'Ð'Ð'r!   c                  óÜ   — d„ } | ddœ}dddddœd	œ}t          t          d
gdz  ||¬¦  «        }|j        d                              ¦   «         dk    sJ ‚|j        d         d         dk    sJ ‚d S )Nc                 ó6   — t          j        | dz  ¦  «        dz
  S r•  r?   rB   s    r   r0   ztest_gh16971.<locals>.cons¾  s   € ÝŒv�a˜‘d‰|Œ|˜aÑÐr!   r'   )r*   r)   r  rd   r—   gš™™™™™©?)ÚrhobegÚtolÚcatol)rQ  r®   r  r6   )r©   r­   rQ  Úcobylar®   r_  )r   r   r­   Úlower)r0   Úcr­   rˆ   s       r   Útest_gh16971rc  ½  s®   € ð ð  ð  ð ˜fÐ%Ð%€AàØ¨°tÐ<Ð<ðð Ðõ
 	Ý�ˆy˜‰{¨Ð<Lð	ñ 	ô 	€Að Ô˜hÔ'×-Ò-Ñ/Ô/°8Ò;Ð;Ð;Ð;ØÔ˜iÔ(¨Ô1°TÒ9Ð9Ð9Ð9Ð9Ð9r!   )	r%   r¦   rœ   NNNNr§   r7   )Irµ   r  rX  Únumpyr@   r¢  Úmultiprocessingr   Únumpy.testingr   r   rî   r   r  r   r6  r   r	   r
   r   r   r   r   r   r   Úscipy.optimize._constraintsr   Úscipy.optimize._shgor   Ú.scipy.optimize.tests.test_minimize_constrainedr   r   r1   r3   rÃ   rÉ   rÎ   rI   r’  rÔ   rÙ   rT   rÞ   ra   rå   rv   rê   r~   rƒ   r-   rÈ  ÚboundsLJr  r•   Úonesr  r™   r  rž   r'  rï   r*  r½   r¿   rò   r,  r
  r9  rN  ÚfilterwarningsrQ  rZ  rc  r%   r!   r   ú<module>rm     s(  ðØ €€€Ø 
€
€
€
Ø €€€à Ð Ð Ð Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø €€€Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ðYð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yð Yà =Ð =Ð =Ð =Ð =Ð =Ø %Ð %Ð %Ð %Ð %Ð %Ø JÐ JÐ JÐ JÐ JÐ Jð+ð +ð +ð +ð +ñ +ô +ð +ðð ð ð ð ð ð ð Ð$ñ ô ð ð ˆ+˜g wÐ/Ø"# Q ð)ñ )ô )€à
ˆ+˜f fÐ-Ø"# Q ð)ñ )ô )€à
ˆ+˜l¨LÐ9Ø"# Q ð)ñ )ô )€ðð ð ð ð Ð$ñ ô ð ð ˆ+˜g˜YØ", Ø#/ð #+ "¤(¨Z¨LØ-8¨MØ-7¨LØ-8¨MØ-8¨MØ-7¨LØ-8¨MØ-8¨MØ-8¨MØ-8¨Mð	,;ñ 	#<ô 	#<ð %- B¤Hð .Hð .Hð .Hñ %Iô %Ið!ñ ô €ð. ˆ+˜h˜ZØ", Ø$0 >Ø"* "¤(¨Z¨L¨>Ñ":Ô":Ø$, B¤H¨l¨^Ñ$<Ô$<ð	ñ ô €ð#ð #ð #ð #ð #Ð$ñ #ô #ð #ðJ ˆ+˜g wÐ/Ø",¨jÐ!9Ø#&ðñ ô €ðð ð ð ð Ð$ñ ô ð ðD ˆ+˜i˜]¨QÑ.ð"Lð "Lð "Là#.ðñ ô €ðð ð ð ð Ð$ñ ô ð ð ˆ+˜k¨;Ð7Ø$7Ð#8Ø"&¨Ð!5ð7ñ 7ô 7€ð
ð ð ð ð Ð%ñ ô ð ð< €Øˆ4���T�F˜Q‘J  ¨¡	Ñ*Ô*Ñ+Ô+€à	ˆ˜XØ$( 6Ø!%ð	
ñ 	
ô 	
€ðð ð ð ð Ð$ñ ô ð ð 
ˆ˜X˜L¨1Ñ,Ø"%Ø ' ¤¨¡
¤
¨SÑ 0ð
ñ 
ô 
€ðð ð ð ð Ð(ñ ô ð ð ˆ_ Y°	Ð$:Ø+-¨$Ø),¨c¨
ð4ñ 4ô 4€
ð
ð ð ð ð Ð-ñ ô ð ð0 'Ð&¨w¸Ð.@Ø48Ø26ð)ñ )ô )€ð „×Ò�,ÑÔØ9=Ø;?Ø./ðð ð ñ  ÔððD3)ð 3)ð 3)ð 3)ð 3)ñ 3)ô 3)ð 3)ðtj1ð j1ð j1ð j1ð j1ñ j1ô j1ð j1ðZ`&ð `&ð `&ð `&ð `&ñ `&ô `&ð `&ðHq.ð q.ð q.ð q.ð q.ñ q.ô q.ð q.ðj7ð 7ð 7ð 7ð 7ñ 7ô 7ð 7ð4ð ð ð „×ÒÐ/Ñ0Ô0ðð ñ 1Ô0ðð,(ð (ð (ðB:ð :ð :ð :ð :r!   