+
    Y°³jÕ¤  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	t	^ RI	H
tHt ^ RIHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt  ! R	 R
4      tR t ! R R]4      t]! RERE.^ ^ .R7      t ]! RFRF.^ ^ .R7      t!]! RGRG.^ ^ .R7      t" ! R R]4      t#]#! RH.R.RI]PH                  ! R.R.R.R.R.R.R.R.R.R..
4      ]PH                  ! . RJO4      R7      t%]#! RK.R.RI.]PH                  ! R..4      ]PH                  ! RI.4      R7      t& ! R R]4      t']'! RLRM.RNRO.RR 7      t( ! R! R"]4      t)])! RP.^,          . RQOR#R 7      t* ! R$ R%]4      t+]+! RRRR.RS.R&R'.R(7      t, ! R) R*]4      t-^t.]/! ]0! RT.^,          R+.^,          4      4      t1]-! ]1RU.RR(7      t2 ! R, R-]4      t3]3! RV.^,          R.]Ph                  ! ^4      R,
          R(7      t5 ! R/ R0]4      t6]6! RPRP.^2.R1R1.R(7      t7 ! R2 R3]4      t8]8! RLRW.RRR(7      t9]	Pt                  Pw                  R44      RXR5 l4       t< ! R6 R74      t= ! R8 R94      t> ! R: R;4      t? ! R< R=4      t@ ! R> R?4      tAR@ tB]	Pt                  P‡                  RA4      RB 4       tDRC tERD tFR# )Yé    N)ÚPool)Úassert_allclose)ÚraisesÚwarns)	ÚshgoÚBoundsÚminimize_scalarÚminimizeÚrosenÚ	rosen_derÚ
rosen_hessÚNonlinearConstraintÚOptimizeWarning)Únew_constraint_to_old)ÚSHGO)ÚMaratosTestArgsc                   ó*   a € ] tR t^t o RR ltRtV tR# )ÚStructTestFunctionNc                óB   € Wn         W n        W0n        W@n        WPn        R # ©N©ÚboundsÚ
expected_xÚexpected_funÚexpected_xlÚexpected_funl)Úselfr   r   r   r   r   s   &&&&&&Ú`/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test__shgo.pyÚ__init__ÚStructTestFunction.__init__   s   € àŒØ$ŒØ(ÔØ&ÔØ*Öó    )r   r   r   r   r   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷+ò +r!   r   c                 ó¸   € . pV eR   \        V \        \        ,          4      '       g   V 3p M V  F  p VP                  RRRV /4       K  	  \        V4      pV# R pV# )NÚtypeÚineqÚfun)Ú
isinstanceÚtupleÚlistÚappend)ÚgÚconss   & r   Úwrap_constraintsr4      si   € Ø€DØ‚}Ü˜!œU¤T�\×*Ò*Ø�‰AàÛˆAØ�K‰K˜ Ø ð#ö $ñ ô �T‹{ˆð €Kð ˆØ€Kr!   c                   ó<   a € ] tR t^+t o R tR t]! ]4      tRtV t	R# )ÚStructTest1c                óL   € V^ ,          ^,          V^,          ^,          ,           # ©r   © ©r   Úxs   &&r   ÚfÚStructTest1.f,   ó   € Ø��t�q�y˜1˜Q�4 1�9Õ$Ð$r!   c                óB   € \         P                  ! V ^ R7      R,
          ) # )r   ©Úaxisg      @©ÚnpÚsum©r;   s   &r   r2   ÚStructTest1.g/   s   € Ü—’˜ Ô" SÕ(Ð)Ð)r!   r9   N©
r"   r#   r$   r%   r<   r2   r4   r3   r&   r'   r(   s   @r   r6   r6   +   s   ø‡ € ò%ò*ñ ˜AÓ†Dr!   r6   )r   r   c                   ó@   a € ] tR t^=t o RtR tR t]! ]4      tRt	V t
R# )ÚStructTest2zF
Scalar function with several minima to test all minimiser retrievals
c                óJ   € V^,
          \         P                  ! V4      ,          # )é   )rC   Úsinr:   s   &&r   r<   ÚStructTest2.fB   s   € Ø�B•œ"Ÿ&š& ›)Õ#Ð#r!   c                ó@   € ^:\         P                  ! V ^ R7      ,
          # )é:   r@   rB   rE   s   &r   r2   ÚStructTest2.gE   s   € Ø”B—F’F˜1 1Ô%Õ%Ð%r!   r9   N©r"   r#   r$   r%   Ú__doc__r<   r2   r4   r3   r&   r'   r(   s   @r   rI   rI   =   s    ø‡ € ñò$ò&ñ ˜AÓ†Dr!   rI   gâ¡½4$’ø?g±ç ûG‚K@gô½
]<@gøI{¤½_H@gÌi<&,@g–±»å>E@gºqÅ¤CQ4@g‹8øž$B@gÜo.n:@g^5	½‚Ã>@r   c                   ój   a € ] tR t^jt o RtR tR tR tR t]	! ]^ ]
P                  4      t]3tRtV tR# )ÚStructTest3ah  
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                óZ   € R V^ ,          ^,          ,          V^,          ^,          ,           # )g{®Gáz„?r9   r:   s   &&r   r<   ÚStructTest3.f|   s"   € Ø�q˜•t •kÕ! Q q¥T¨a¥KÕ/Ð/r!   c                ó>   € V ^ ,          V ^,          ,          R,
          # ©r   g      9@r9   rE   s   &r   Úg1ÚStructTest3.g1   s   € Ø��t�a˜•d�{˜TÕ!Ð!r!   c                óZ   € V ^ ,          ^,          V ^,          ^,          ,           R,
          # rX   r9   rE   s   &r   Úg2ÚStructTest3.g2‚   s"   € Ø��t�q�y˜1˜Q�4 1�9Õ$ tÕ+Ð+r!   c                ó–   € V ^ ,          V ^,          ,          R,
          V ^ ,          ^,          V ^,          ^,          ,           R,
          3# rX   r9   rE   s   &r   r2   ÚStructTest3.gˆ   s8   € Ø��t�a˜•d�{˜TÕ! 1 Q¥4¨1¥9¨q°­t°q­yÕ#8¸4Õ#?Ð?Ð?r!   r9   N)r"   r#   r$   r%   rR   r<   rY   r\   r2   r   rC   ÚinfÚ_StructTest3__nlcr3   r&   r'   r(   s   @r   rT   rT   j   s:   ø‡ € ñò"0ò"ò,ò@ñ    1 b§f¡fÓ-€EØˆ8†Dr!   rT   ç      à?ç      @)r   r   r   c                   ó^   a € ] tR t^•t o RtR tR tR tR tR t	]]]]	3t
]! ]
4      tRtV tR# )	Ú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                ó  € V^ ,          ^
,
          ^,          ^V^,          ^,
          ^,          ,          ,           V^,          ^,          ,           ^V^,          ^,
          ^,          ,          ,           ^
V^,          ^,          ,          ,           ^V^,          ^,          ,          ,           V^,          ^,          ,           ^V^,          ,          V^,          ,          ,
          ^
V^,          ,          ,
          ^V^,          ,          ,
          # r8   r9   r:   s   &&r   r<   Ú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                óö   € ^V ^ ,          ^,          ,          ^V ^,          ^,          ,          ,           V ^,          ,           ^V ^,          ^,          ,          ,           ^V ^,          ,          ,           ^,
          ) # ©é   r9   rE   s   &r   rY   Ú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                óÌ   € ^V ^ ,          ,          ^V ^,          ,          ,           ^
V ^,          ^,          ,          ,           V ^,          ,           V ^,          ,
          R,
          ) # )é   g      q@r9   rE   s   &r   r\   ÚStructTest4.g2¨   sH   € Ø�Q�q•T•˜A  !¥�HÕ$ r¨A¨a­D°A­I¥~Õ5¸¸!½Õ<¸qÀ½tÕCÀeÕKÐLÐLr!   c                ó¾   € ^V ^ ,          ,          V ^,          ^,          ,           ^V ^,          ^,          ,          ,           ^V ^,          ,          ,
          ^Ä,
          ) # )é   r9   rE   s   &r   Úg3Ú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                ó.  € ^V ^ ,          ^,          ,          V ^,          ^,          ,           ^V ^ ,          ,          V ^,          ,          ,
          ^V ^,          ^,          ,          ,           ^V ^,          ,          ,           ^V ^,          ,          ,
          ) # )é   r9   rE   s   &r   Úg4Ú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!   r9   N©r"   r#   r$   r%   rR   r<   rY   r\   rq   ru   r2   r4   r3   r&   r'   r(   s   @r   re   re   •   s?   ø‡ € ñòò#òMòIò)ð 
ˆR��RÐ€Aá˜AÓ†Dr!   re   gÙP{[
E…@c                   ó:   a € ] tR t^¾t o R tRt]! ]4      tRtV t	R# )ÚStructTest5c                óž  € V^,          R,           ) \         P                  ! \         P                  ! \        V^ ,          R,          V^,          R,           ,           4      4      4      ,          V^ ,          \         P                  ! \         P                  ! \        V^ ,          V^,          R,           ,
          4      4      4      ,          ,
          # ©é   g     €G@ç       @©rC   rL   ÚsqrtÚabsr:   s   &&r   r<   ÚStructTest5.f¿   s~   € à��d�T�kˆNœ2Ÿ6š6¤"§'¢'¬#¨a°­d°3­h¸!¸A½$À½+Õ.FÓ*GÓ"HÓIÕIØ��d”2—6’6œ"Ÿ'š'¤# a¨¥d¨a°­d°T­kÕ&:Ó";Ó<Ó=Õ=õ>ð	
r!   Nr9   rG   r(   s   @r   ry   ry   ¾   s   ø‡ € ò
ð 	€AÙ˜AÓ†Dr!   ry   g      €@gøž™yµCy@)r   r   r   c                   ó>   a € ] tR t^Ît o RtR tRt]! ]4      tRt	V t
R# )ÚStructTestLJzN
LennardJones objective function. Used to test symmetry constraints
settings.
c                ój  € \        R V 24       V^ ,          V n        \        V P                  ^,          4      pRp\        V^,
          4       Fâ  p\        V^,           V4       FÈ  p^V,          p^V,          pW,          W,          ,
          p	W^,           ,          W^,           ,          ,
          p
W^,           ,          W^,           ,          ,
          pW™,          Wª,          ,           W»,          ,           pWÌ,          V,          pVR8”  g   Kª  VRV,          R,
          V,          ,          pKÊ  	  Kä  	  V# )zx = ç        ç      ð?r}   )ÚprintÚNÚintÚrange)r   r;   ÚargsÚkÚsÚiÚjÚaÚbÚxdÚydÚzdÚedÚuds   &&*           r   r<   ÚStructTestLJ.fÔ   sç   € Ü��Q�CˆjÔØ�a•ˆŒÜ�—‘˜•
‹OˆØˆä�q˜1•u–ˆAÜ˜1˜q�5 !–_�Ø˜•E�Ø˜•E�Ø•T˜A�D•[�Ø˜1•u•X  a¥%¥Õ(�Ø˜1•u•X  a¥%¥Õ(�Ø•W˜r�wÕ&¨­Õ0�Ø•W˜r•\�Ø˜–8Ø˜# �( S�.¨BÕ.Õ.’Aó %ñ ð ˆr!   N)rˆ   rQ   r(   s   @r   rƒ   rƒ   Î   s    ø‡ € ñò
ð( 	€AÙ˜AÓ†Dr!   rƒ   ç      @c                   ó:   a € ] tR t^ût o R tRt]! ]4      tRtV t	R# )ÚStructTestSc                óØ   € V^ ,          R,
          ^,          V^,          R,
          ^,          ,           V^,          R,
          ^,          ,           V^,          R,
          ^,          ,           # )r   rb   r9   r:   s   &&r   r<   ÚStructTestS.fü   sS   € Ø�1•˜• Õ! Q q¥T¨C¥Z°AÕ$5Õ5Ø�Q•4˜#•: !Õ#õ$Ø'(¨¥t¨c¥z°aÕ&7õ8ð 	9r!   Nr9   rG   r(   s   @r   rš   rš   û   s   ø‡ € ò9ð 	€AÙ˜AÓ†Dr!   rš   r…   c                   ó:   a € ] tR tRt o R tRt]! ]4      tRtV t	R# )ÚStructTestTablei
  c                óB   € V^ ,          R8X  d   V^,          R8X  d   ^2# ^d# )r   ç      @r9   r:   s   &&r   r<   ÚStructTestTable.f  s   € ØˆQ�4�3Œ;˜1˜Q�4 3œ;Ùár!   Nr9   rG   r(   s   @r   rž   rž   
  s   ø‡ € òð 	€AÙ˜AÓ†Dr!   rž   r    c                   ó^   a € ] tR tRt o RtR tR tR tR tR t	]]]]	3t
]! ]
4      tRtV tR	# )
ÚStructTestInfeasiblei  z(
Test function with no feasible domain.
c                óL   € V^ ,          ^,          V^,          ^,          ,           # r8   r9   )r   r;   r‹   s   &&*r   r<   ÚStructTestInfeasible.f  r>   r!   c                ó>   € V ^ ,          V ^,          ,           ^,
          # r8   r9   rE   s   &r   rY   ÚStructTestInfeasible.g1"  s   € Ø��t�a˜•d�{˜Q�Ðr!   c                ó@   € V ^ ,          V ^,          ,           ^,
          ) # r8   r9   rE   s   &r   r\   ÚStructTestInfeasible.g2%  s   € Ø�1•˜˜!�•˜q•Ð!Ð!r!   c                ó@   € V ^ ,          ) V ^,          ,           ^,
          # r8   r9   rE   s   &r   rq   ÚStructTestInfeasible.g3(  s   € Ø�!•ˆu�q˜•t�|˜aÕÐr!   c                óB   € V ^ ,          ) V ^,          ,           ^,
          ) # r8   r9   rE   s   &r   ru   ÚStructTestInfeasible.g4+  s   € Ø�A•$�˜˜1�• Õ!Ð"Ð"r!   r9   Nrw   r(   s   @r   r£   r£     s=   ø‡ € ñò%òò"ò ò#ð 
ˆR��RÐ€AÙ˜AÓ†Dr!   r£   ú
Not a testc
                 óÖ  € \        V P                  V P                  WP                  W4VWgW‰R 7      p
\	        RV
 24       \
        P                  ! RV
 24       V P                  e8   \        P                  P                  V
P                  V P                  VVR7       V P                  e7   \        P                  P                  V
P                  V P                  VR7       V P                  e7   \        P                  P                  V
P                  V P                  VR7       V P                   e7   \        P                  P                  V
P"                  V P                   VR7       R# ))	r‹   ÚconstraintsÚnÚitersÚcallbackÚminimizer_kwargsÚoptionsÚsampling_methodÚworkerszres = N©ÚrtolÚatol©rº   )r   r<   r   r3   r‡   ÚloggingÚinfor   rC   Útestingr   r;   r   r-   r   Úxlr   Úfunl)Útestr‹   Ú	test_atolr±   r²   r³   r´   rµ   r¶   r·   Úress   &&&&&&&&&& r   Úrun_testrÄ   8  s+  € ô ˆt�v‰v�t—{‘{¨¿9¹9Ø¨(Ø 0Ø.ôA€Cô
 
ˆF�3�%ˆ.ÔÜ‡L‚L�6˜#˜�Ô Ø‡�Ò"Ü
�
‰
×"Ñ" 3§5¡5¨$¯/©/Ø(1Ø(1ð 	#ô 	3ð
 ×ÑÒ$Ü
�
‰
×"Ñ" 3§7¡7Ø#'×#4Ñ#4Ø(1ð 	#ô 	3ð ×ÑÒ#Ü
�
‰
×"Ñ" 3§6¡6Ø#'×#3Ñ#3Ø(1ð 	#ô 	3ð ×ÑÒ%Ü
�
‰
×"Ñ" 3§8¡8Ø#'×#5Ñ#5Ø(1ð 	#ô 	3ñ r!   c                   óŒ   a € ] tR tRt o RtR tR tR tR tR t	R t
]P                  P                  R	 4       tR
 tR tRtV tR# )ÚTestShgoSobolTestFunctionsi[  z0
Global optimisation tests with Sobol sampling:
c                ó$   € \        \        4       R# )úNMultivariate 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_sobolÚ*TestShgoSobolTestFunctions.test_f1_1_sobola  ó   € ô 	”Ör!   c                ó$   € \        \        4       R# )úLMultivariate test function 1:
x[0]**2 + x[1]**2 with bounds=[(0, 1), (0, 1)]N©rÄ   Útest1_2rË   s   &r   Útest_f1_2_sobolÚ*TestShgoSobolTestFunctions.test_f1_2_sobolf  rÎ   r!   c                ó0   € RR/p\        \        VR7       R# )zWMultivariate 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_sobolÚ*TestShgoSobolTestFunctions.test_f1_3_sobolk  s   € ð ˜4�.ˆÜ” '×*r!   c                ó$   € \        \        4       R# )úJUnivariate test function on
f(x) = (x - 30) * sin(x) with bounds=[(0, 60)]N©rÄ   Útest2_1rË   s   &r   Útest_f2_1_sobolÚ*TestShgoSobolTestFunctions.test_f2_1_sobolq  rÎ   r!   c                ó$   € \        \        4       R# )úFUnivariate test function on
f(x) = (x - 30) * sin(x) bounds=[(0, 4.5)]N©rÄ   Útest2_2rË   s   &r   Útest_f2_2_sobolÚ*TestShgoSobolTestFunctions.test_f2_2_sobolv  rÎ   r!   c                ó$   € \        \        4       R# )ú%NLP: Hock and Schittkowski problem 18N©rÄ   Útest3_1rË   s   &r   Útest_f3_sobolÚ(TestShgoSobolTestFunctions.test_f3_sobol{  s
   € ä”Ör!   c                ó2   € RR/p\        \        RVR7       R# )ú?NLP: (High dimensional) Hock and Schittkowski 11 problem (HS11)Úinfty_constraintsF©r±   rµ   Ni¼  ©rÄ   Útest4_1rÙ   s   & r   Útest_f4_sobolÚ(TestShgoSobolTestFunctions.test_f4_sobol  s   € ð '¨Ð.ˆä”˜G¨W×5r!   c                ó(   € \        \        ^<R7       R# )úNLP: Eggholder, multimodal)r±   N©rÄ   Útest5_1rË   s   &r   Útest_f5_1_sobolÚ*TestShgoSobolTestFunctions.test_f5_1_sobol†  s   € ô 	”˜B×r!   c                ó*   € \        \        ^<^R7       R# )r÷   )r±   r²   Nrø   rË   s   &r   Útest_f5_2_sobolÚ*TestShgoSobolTestFunctions.test_f5_2_sobol‹  s   € ô 	”˜B a×(r!   r9   N)r"   r#   r$   r%   rR   rÌ   rÓ   rÚ   rà   ræ   rì   ÚpytestÚmarkÚslowrô   rú   rý   r&   r'   r(   s   @r   rÆ   rÆ   [  sU   ø‡ € ñò
ò
ò
+òò
ò
ð ‡[�[×Ññ6ó ð6ò ÷
)ð )r!   rÆ   c                   óX  a € ] tR tRt o RtR tR tR tR tR t	R t
]P                  P                  R	 4       tR
 tR tR t]P                  P%                  ^
4      R 4       t]P                  P)                  R4      R 4       t]P                  P)                  R4      R 4       tRtV tR# )ÚTestShgoSimplicialTestFunctionsi•  z5
Global optimisation tests with Simplicial sampling:
c                ó*   € \        \        ^RR7       R# )rÈ   Ú
simplicial©r±   r¶   NrÉ   rË   s   &r   Útest_f1_1_simplicialÚ4TestShgoSimplicialTestFunctions.test_f1_1_simplicialš  ó   € ô 	”˜A¨|×<r!   c                ó*   € \        \        ^RR7       R# )rÐ   r  r  NrÑ   rË   s   &r   Útest_f1_2_simplicialÚ4TestShgoSimplicialTestFunctions.test_f1_2_simplicialŸ  r	  r!   c                ó*   € \        \        ^RR7       R# )zWMultivariate test function 1: x[0]**2 + x[1]**2
with bounds=[(None, None),(None, None)]r  r  Nr×   rË   s   &r   Útest_f1_3_simplicialÚ4TestShgoSimplicialTestFunctions.test_f1_3_simplicial¤  r	  r!   c                ó6   € RR/p\        \        ^È^VRR7       R# )rÝ   Úminimize_every_iterFr  ©r±   r²   rµ   r¶   NrÞ   rÙ   s   & r   Útest_f2_1_simplicialÚ4TestShgoSimplicialTestFunctions.test_f2_1_simplicial©  s!   € ð )¨%Ð0ˆÜ”˜C q°'Ø!-÷	/r!   c                ó*   € \        \        ^RR7       R# )rã   r  r  Nrä   rË   s   &r   Útest_f2_2_simplicialÚ4TestShgoSimplicialTestFunctions.test_f2_2_simplicial°  r	  r!   c                ó*   € \        \        ^RR7       R# )ré   r  r  Nrê   rË   s   &r   Útest_f3_simplicialÚ2TestShgoSimplicialTestFunctions.test_f3_simplicialµ  s   € ä”˜A¨|×<r!   c                ó*   € \        \        ^RR7       R# )rï   r  r  Nrò   rË   s   &r   Útest_f4_simplicialÚ2TestShgoSimplicialTestFunctions.test_f4_simplicial¹  r	  r!   c           	     ó@   € RRRR/pRp\        \        VRV^RR7       R# )	z&LJ: Symmetry-constrained test functionÚsymmetryTrÖ   é,  r  ©r‹   r±   rµ   r²   r¶   N©é   ©rÄ   ÚtestLJ©r   rµ   r‹   s   &  r   Útest_lj_symmetry_oldÚ4TestShgoSimplicialTestFunctions.test_lj_symmetry_old¾  s.   € à˜tØ˜4ð!ˆàˆÜ”˜d cØ ¨Ø!-÷	/r!   c           	     óP   € R^ .^,          RR/pRp\        \        VRV^RR7       R# )	z&LJ: Symmetry constrained test functionr  rÖ   Tr   r  r!  Nr"  r$  r&  s   &  r   Útest_f5_1_lj_symmetryÚ5TestShgoSimplicialTestFunctions.test_f5_1_lj_symmetryÇ  s4   € à ˜u q�yØ˜4ð!ˆàˆä”˜d cØ ¨Ø!-÷	/r!   c                ó>   € R^ ^ .RR/p\        \        ^ÈV^RR7       R# )z"Symmetry constrained test functionr  rÖ   Tr  ©r±   rµ   r²   r¶   NrÉ   rÙ   s   & r   Útest_f5_2_cons_symmetryÚ7TestShgoSimplicialTestFunctions.test_f5_2_cons_symmetryÑ  s-   € à  1˜vØ˜4ð!ˆô 	”˜CØ ¨Ø!-÷	/r!   c                ó>   € R. RORR/p\        \        RV^RR7       R# )	z(Asymmetrically constrained test functionr  rÖ   Ti'  r  r-  N)r   r   r   é   )rÄ   Útest_srÙ   s   & r   Útest_f5_3_cons_symmetryÚ7TestShgoSimplicialTestFunctions.test_f5_3_cons_symmetryÚ  s,   € ð š|Ø˜4ð!ˆô 	”˜5Ø ØØ!-÷	/r!   r®   c                óì   a€ RoRRRV3R l/p\        \        P                  ^R
.,          VR7      pVP                  '       g   Q h\	        VP
                  ^ RR7       \	        VP                  R4       R	# )zCReturn a minimum on a perfectly symmetric problem, based on
gh10429rb   r+   Úeqr-   c                 ó>   <€ \         P                  ! V 4      S,
          # r   )rC   Úmean)r;   Úavgs   &€r   Ú<lambda>ÚFTestShgoSimplicialTestFunctions.test_f0_min_variance.<locals>.<lambda>ê  s   ø€ ¬r¯wªw°q«z¸CÖ/?r!   ©r   r°   çVçž¯Ò<r»   N©r   r|   )r   rC   ÚvarÚsuccessr   r-   r;   )r   r3   rÃ   r9  s   &  @r   Útest_f0_min_varianceÚ4TestShgoSimplicialTestFunctions.test_f0_min_varianceå  s_   ø€ ð ˆØ˜˜eÔ%?Ð@ˆô ”2—6‘6 ! v h¥,¸DÔAˆØ�{�{ˆ{Ðˆ{Ü˜Ÿ™ ¨Õ/Ü˜Ÿ™˜sÖ#r!   c                óü   € R pR.p\        WR7      p\        W^ ,          R7      pVP                  '       g   Q h\        VP                  VP                  4       \        VP
                  VP
                  RR7       R# )zFReturn a minimum on a perfectly symmetric 1D problem, based on
gh10538c                 ó<   € W R ,
          ,          V R,
          ,          # )r†   rb   r9   rE   s   &r   r-   ÚDTestShgoSimplicialTestFunctions.test_f0_min_variance_1D.<locals>.fun÷  s   € Ø˜C�•= A¨¥GÕ,Ð,r!   )r   ç�íµ ÷Æ°>)r¹   Nr>  )r   r	   r@  r   r-   r;   )r   r-   r   rÃ   Úrefs   &    r   Útest_f0_min_variance_1DÚ7TestShgoSimplicialTestFunctions.test_f0_min_variance_1Dò  s\   € ò
	-ð �ˆÜ�3Ô&ˆÜ˜c°­)Ô4ˆØ�{�{ˆ{Ðˆ{Ü˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™u¨4×0r!   r9   N)r"   r#   r$   r%   rR   r  r  r  r  r  r  rÿ   r   r  r  r'  r*  r.  Ú	fail_slowr3  ÚskiprA  rH  r&   r'   r(   s   @r   r  r  •  s¾   ø‡ € ñò=ò
=ò
=ò
/ò=ò
=ð ‡[�[×Ññ=ó ð=ò/ò/ò/ð ‡[�[×Ñ˜2Óñ/ó ð/ð ‡[�[×Ñ�lÓ#ñ
$ó $ð
$ð ‡[�[×Ñ�lÓ#ñ1ó $ö1r!   r  c                   ó  a € ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  P                  R
 4       t]P                  P                  R 4       tR tR tR tR tR tR tR tR tR tR tR tR t]P                  P;                  RR7      R 4       tR tR t R t!R t"R t#R  t$]P                  PK                  ^
4      R! 4       t&R" t'R# t(]P                  PS                  R$. R*O4      R% 4       t*R& t+R' t,R(t-V t.R)# )+ÚTestShgoArgumentsi  c                ó,   € \        \        R^RR7       R# )z>Iterative simplicial sampling on TestFunction 1 (multivariate)Nr  ©r±   r²   r¶   rÑ   rË   s   &r   Útest_1_1_simpl_iterÚ%TestShgoArguments.test_1_1_simpl_iter  s   € ä”˜D¨¸<×Hr!   c                ó6   € RR/p\        \        R^	VRR7       R# )z3Iterative simplicial on TestFunction 2 (univariate)r  FNr  r  rÞ   rÙ   s   & r   Útest_1_2_simpl_iterÚ%TestShgoArguments.test_1_2_simpl_iter  s   € à(¨%Ð0ˆÜ”˜D¨°7Ø!-÷	/r!   c                ó,   € \        \        R^RR7       R# )z9Iterative Sobol sampling on TestFunction 1 (multivariate)NÚsobolrO  rÑ   rË   s   &r   Útest_2_1_sobol_iterÚ%TestShgoArguments.test_2_1_sobol_iter  s   € ä”˜D¨¸7×Cr!   c           	     óf  € \        \        P                  \        P                  \        P                  R^RR7      p\
        P                  P                  VP                  \        P                  RRR7       \
        P                  P                  VP                  \        P                  RR7       R# )z7Iterative Sobol sampling on TestFunction 2 (univariate)NrV  )r°   r±   r²   r¶   çñhãˆµøä>r¸   r»   )r   rß   r<   r   r3   rC   r¾   r   r;   r   r-   r   ©r   rÃ   s   & r   Útest_2_2_sobol_iterÚ%TestShgoArguments.test_2_2_sobol_iter  so   € ä”7—9‘9œgŸn™n¼'¿,¹,Ø °Gô=ˆô 	�
‰
×"Ñ" 3§5¡5¬'×*<Ñ*<À4ÈdÐ"ÔSÜ
�
‰
×"Ñ" 3§7¡7¬G×,@Ñ,@ÀtÐ"ÖLr!   c           
     óÎ   € R p\         \        3 FQ  p\        VP                  VP                  ^RVRR/R7       \        VP                  VP                  ^RVRR/R7       KS  	  R# )zKIterative sampling on TestFunction 1 and 2  (multi and univariate)
        c                 ó   € \        R 4       R# ©z Local minimization callback testN©r‡   rE   s   &r   Úcallback_funcÚATestShgoArguments.test_3_1_disp_simplicial.<locals>.callback_func  ó   € ÜÐ4Ö5r!   r  rÖ   T©r²   r¶   r³   rµ   ©r±   r¶   r³   rµ   N©rÊ   rß   r   r<   r   ©r   rb  rÁ   s   &  r   Útest_3_1_disp_simplicialÚ*TestShgoArguments.test_3_1_disp_simplicial  s_   € ò	6ô œgÓ&ˆDÜ�—‘˜Ÿ™¨AØ!-Ø'°&¸$°õAô �—‘˜Ÿ™¨¸<Ø'°&¸$°÷Aó	 'r!   c           
     óÎ   € R p\         \        3 FQ  p\        VP                  VP                  ^RVRR/R7       \        VP                  VP                  ^RVRR/R7       KS  	  R# )	zAIterative sampling on TestFunction 1 and 2 (multi and univariate)c                 ó   € \        R 4       R# r`  ra  rE   s   &r   rb  Ú<TestShgoArguments.test_3_2_disp_sobol.<locals>.callback_func*  rd  r!   rV  rÖ   Tre  r  rf  Nrg  rh  s   &  r   Útest_3_2_disp_sobolÚ%TestShgoArguments.test_3_2_disp_sobol'  s^   € ò	6ô œgÓ&ˆDÜ�—‘˜Ÿ™¨A¸wØ'°&¸$°õAô �—‘˜Ÿ™¨¸<Ø'°&¸$°÷Aó	 'r!   c                óÄ   € \        R R.RR7      p\        R R.R7      p\        VP                  VP                  4       \        VP                  VP                  4       R# )zEUsing `args` used to cause `shgo` to fail; see #14589, #15986,
#16506c                 ó    € W,          V,           # r   r9   )r;   ÚyÚzs   &&&r   r:  Ú5TestShgoArguments.test_args_gh14589.<locals>.<lambda>7  s
   € ¨­°®	r!   )Úfuncr   r‹   c                 ó"   € ^V ,          ^,           # ri   r9   rE   s   &r   r:  rt  9  s   €  ! a¥%¨!¦)r!   )ru  r   N)r   r1  )r|   rj   )r   r   r-   r;   )r   rÃ   rG  s   &  r   Útest_args_gh14589Ú#TestShgoArguments.test_args_gh145894  sJ   € ô Ñ1¸6¸(Èô ˆäÑ+°V°HÔ=ˆÜ˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™uÖ%r!   c                óô  € \        R^ê4      p\        RR.^^.4      Vn        \        VP                  RR.VP
                  VP                  RRVP                  R7      p\        VP                  VP                  RR7       \        R^ê4      p\        RR.RR.4      Vn        \        P                  ! 4       ;_uu_ 4        \        P                  ! R\        \        34       \        VP                  VP                  RR	RR
VP
                  RVP                  RVP                  RR/VP
                  RR7      p\        VP                  VP                  RR7       \        VP                  VP                  RR	RR
VP
                  RVP                  RVP                  RVP                   /VP
                  RR7      p\        VP                  VP                  RR7       RRR4       R#   + '       g   i     R# ; i)z7
Checks that using `args` for func, jac and hess works
r�   r˜   útrust-constr)r°   r   Úmethodr‹   ÚjacrF  r»   g      $@Úignorer{  r°   r   r|  r‹   rV  )ru  r   r‹   r´   r°   r¶   ÚhessNéûÿÿÿ)r�   éê   g      $À)r   r   r   r
   r-   ÚconstrÚgradr   r;   Úx_optÚwarningsÚcatch_warningsÚsimplefilterr   ÚRuntimeWarningr   r~  )r   ÚobjÚres2rÃ   s   &   r   Útest_args_gh23517Ú#TestShgoArguments.test_args_gh23517=  sŸ  € ô ˜c 3Ó'ˆÜ˜R ˜H q¨! fÓ-ˆŒ
ÜØ�G‰GØ�#ˆJØŸ
™
Ø—:‘:Ø!ØØ—‘ô
ˆô 	˜Ÿ™ §	¡	°Õ5ä˜c 3Ó'ˆÜ˜T 4˜L¨3°¨*Ó5ˆŒ
Ü×$Ò$×&Õ&ô ×!Ò!ØÜ ¤.Ð1ôô Ø—W‘WØ—z‘zØà˜nØ! 3§:¡:Ø˜cŸj™jØ˜3Ÿ8™8Ø˜Jð"ð  ŸJ™JØ 'ôˆCô ˜CŸE™E 3§9¡9°4Õ8äØ—W‘WØ—z‘zØà˜nØ! 3§:¡:Ø˜cŸj™jØ˜3Ÿ8™8Ø˜CŸH™Hð"ð  ŸJ™JØ 'ôˆCô ˜CŸE™E 3§9¡9°4Õ8÷K '×&×&Ò&ús   Â>DG&Ç&G7	c                óZ   € R\         P                  RRRR/p\        \         RRVRR	7       R# )
z,Test known function minima stopping criteriaÚf_minÚf_tolrF  r  TNrZ  r  ©r±   rÂ   rµ   r¶   ©ró   r   rÄ   rÙ   s   & r   Útest_4_1_known_f_minÚ&TestShgoArguments.test_4_1_known_f_minw  s5   € ð œG×0Ñ0Ø˜DØ(¨$ð0ˆô 	”˜D¨D¸'Ø!-÷	/r!   c                ó^   € R\         P                  RRRRR^/p\        \         RRVR	R
7       R# )z+Test Global mode limiting local evaluationsr�  rŽ  rF  r  TÚ
local_iterNrZ  r  r�  r�  rÙ   s   & r   Útest_4_2_known_f_minÚ&TestShgoArguments.test_4_2_known_f_min‚  s:   € ð ”W×)Ñ)Ø�Tà! 4Ø˜!ðˆô 	”˜D¨D¸'Ø!-÷	/r!   c           
     ó(  € R\         P                  RRRRR^RR/p\        \         P                  \         P                  \         P
                  R	R	VR
R7      p\        P                  P                  VP                  \         P                  RRR7       R	# )z8Test Global mode limiting local evaluations for 1D funcsr�  rŽ  rF  r  Tr”  rð   FNrV  )r°   r±   r²   rµ   r¶   rZ  r¸   )rß   r   r   r<   r   r3   rC   r¾   r   r;   r   ©r   rµ   rÃ   s   &  r   Útest_4_4_known_f_minÚ&TestShgoArguments.test_4_4_known_f_min�  sy   € ð ”W×)Ñ)Ø�Tà! 4Ø˜!Ø ð(ˆô ”7—9‘9œgŸn™n¼'¿,¹,Ø ¨wØ#*ô,ˆô 	�
‰
×"Ñ" 3§5¡5¬'×*<Ñ*<À4ÈdÐ"ÖSr!   c                óì   € \        \        P                  \        P                  \        P                  R7      p\
        P                  P                  VP                  \        P                  RRR7       R# )z;Test Default simplicial sampling settings on TestFunction 1©r°   rZ  r¸   N©
r   rÊ   r<   r   r3   rC   r¾   r   r;   r   r[  s   & r   Útest_5_1_simplicial_arglessÚ-TestShgoArguments.test_5_1_simplicial_arglessž  sA   € ä”7—9‘9œgŸn™n¼'¿,¹,ÔGˆÜ
�
‰
×"Ñ" 3§5¡5¬'×*<Ñ*<À4ÈdÐ"ÖSr!   c                óî   € \        \        P                  \        P                  \        P                  RR7      p\
        P                  P                  VP                  \        P                  RRR7       R# )z6Test Default sobol sampling settings on TestFunction 1rV  ©r°   r¶   rZ  r¸   Nr�  r[  s   & r   Útest_5_2_sobol_arglessÚ(TestShgoArguments.test_5_2_sobol_argless£  sF   € ä”7—9‘9œgŸn™n¼'¿,¹,Ø#*ô,ˆä
�
‰
×"Ñ" 3§5¡5¬'×*<Ñ*<À4ÈdÐ"ÖSr!   c                ól  € R^/p\        \        P                  \        P                  \        P                  VRR7      p\
        P                  P                  VP                  \        P                  RRR7       \
        P                  P                  VP                  \        P                  RR7       R# )ú:Test that maximum iteration option works on TestFunction 3Úmax_iterr  ©r°   rµ   r¶   rZ  r¸   r»   N©r   rë   r<   r   r3   rC   r¾   r   r;   r   r-   r   r˜  s   &  r   Útest_6_1_simplicial_max_iterÚ.TestShgoArguments.test_6_1_simplicial_max_iter©  óu   € à˜q�/ˆÜ”7—9‘9œgŸn™n¼'¿,¹,Ø"°LôBˆä
�
‰
×"Ñ" 3§5¡5¬'×*<Ñ*<À4ÈdÐ"ÔSÜ
�
‰
×"Ñ" 3§7¡7¬G×,@Ñ,@ÀtÐ"ÖLr!   c                ól  € R^/p\        \        P                  \        P                  \        P                  VRR7      p\
        P                  P                  VP                  \        P                  RRR7       \
        P                  P                  VP                  \        P                  RR7       R# )r¥  Úmin_iterr  r§  rZ  r¸   r»   Nr¨  r˜  s   &  r   Útest_6_2_simplicial_min_iterÚ.TestShgoArguments.test_6_2_simplicial_min_iter±  r«  r!   c           	     óh   € R F+  pRVR\         P                  /p\        \         ^dRVRR7       K-  	  R# )z@Test the minimizer_kwargs arguments for solvers with constraintsr{  r°   çü©ñÒMbP?rV  ©r±   rÂ   r´   r¶   N)ÚCOBYLAÚCOBYQAÚSLSQP)rë   r3   rÄ   )r   Úsolverr´   s   &  r   Útest_7_1_minkwargsÚ$TestShgoArguments.test_7_1_minkwargs¹  s:   € ó 4ˆFð !)¨&Ø -¬w¯|©|ð =Ðä”W ¨tØ&6Ø%,÷.ó 4r!   c                ó–   € RR/pRR/p\        \        P                  \        P                  \        P                  ^ ,          WR7       R# )z'Test the minimizer_kwargs default initsÚftolrZ  rÖ   T)r°   r´   rµ   N©r   rë   r<   r   r3   )r   r´   rµ   s   &  r   Útest_7_2_minkwargsÚ$TestShgoArguments.test_7_2_minkwargsÅ  s7   € à" D˜>ÐØ˜4�.ˆÜŒW�Y‰YœŸ™´G·L±LÀµOØ.÷	Ar!   c           	     óº   € R FT  pR pR pRVRVRV/p\         P                  ! RV 24       \         P                  ! R4       \        \        ^dRVRR	7       KV  	  R
# )z?Test minimizer_kwargs arguments for solvers without constraintsc                 ó~   € \         P                  ! ^V ^ ,          ,          ^V ^,          ,          .4      P                  # ri   )rC   ÚarrayÚTrE   s   &r   r|  Ú1TestShgoArguments.test_7_3_minkwargs.<locals>.jacÑ  s,   € Ü—x’x  Q q¥T¥¨1¨q°­t­8Ð 4Ó5×7Ñ7Ð7r!   c                 ó:   € \         P                  ! ^^ .^ ^..4      # ri   )rC   rÀ  rE   s   &r   r~  Ú2TestShgoArguments.test_7_3_minkwargs.<locals>.hessÔ  s   € Ü—x’x ! Q ¨!¨Q¨Ð 0Ó1Ð1r!   r{  r|  r~  z	Solver = r±  rV  r²  N)zNelder-MeadÚPowellÚCGÚBFGSú	Newton-CGzL-BFGS-BÚTNCÚdoglegz	trust-ncgztrust-exactztrust-krylovzd====================================================================================================)r¼   r½   rÄ   rÊ   )r   r¶  r|  r~  r´   s   &    r   Útest_7_3_minkwargsÚ$TestShgoArguments.test_7_3_minkwargsÌ  sf   € ó'ˆFò8ò2ð !)¨&Ø % sØ &¨ð .Ðô �LŠL˜9 V HÐ-Ô.Ü�LŠL˜Ô#Ü”W ¨tØ&6Ø%,÷.ó'r!   c                ó:   € R ^RR/p\        \        RRVRR7       R# )Úminhgrdr  TNr  r  rÉ   rÙ   s   & r   Útest_8_homology_group_diffÚ,TestShgoArguments.test_8_homology_group_diffà  s(   € Ø˜aØ(¨$ð0ˆô 	”˜D¨°gØ!-÷	/r!   c                ó„   € \        \        P                  \        P                  \        P                  ^ ,          R7       R# )ú'Test single function constraint passingrœ  Nr»  rË   s   &r   Útest_9_cons_gÚTestShgoArguments.test_9_cons_gç  s   € äŒW�Y‰YœŸ™´G·L±LÀµO×Dr!   c                ót   € RR/pR p\        V\        P                  ^VR7      pVP                  ^8X  g   Q hR# )rÒ  Úmaxtimer=  c                 ó2   € \         P                  ! R 4       R# )g›+¡†›„=r…   )ÚtimeÚsleeprE   s   &r   r<   Ú0TestShgoArguments.test_10_finite_time.<locals>.fï  s   € Ü�JŠJ�uÔÙr!   )r²   rµ   N)r   rÊ   r   Únit)r   rµ   r<   rÃ   s   &   r   Útest_10_finite_timeÚ%TestShgoArguments.test_10_finite_timeë  s7   € à˜eÐ$ˆò	ô �1”g—n‘n¨A°wÔ?ˆà�w‰w˜!Œ|ÐŠ|r!   c           	     ó0  € RRRR/p\        \        P                  \        P                  ^
RVRR7      p\        P
                  P                  ^ VP                  ^ ,          4       \        P
                  P                  ^ VP                  ^,          4       R# )ú*Test to cover the case where f_lowest == 0r�  r…   rÖ   TNrV  r  )r   rÒ   r<   r   rC   r¾   Úassert_equalr;   r˜  s   &  r   Útest_11_f_min_0Ú!TestShgoArguments.test_11_f_min_0÷  sj   € à˜CØ˜4ð!ˆä”7—9‘9œgŸn™n°¸$Ø"°Gô=ˆä
�
‰
×Ñ  3§5¡5¨¥8Ô,Ü
�
‰
×Ñ  3§5¡5¨¥8Ö,r!   z no way of currently testing this)Úreasonc           	     óÀ   € RRRR/p\        \        P                  \        P                  ^RVRR7      p\        P
                  P                  RVP                  4       R# )rß  rÖ  r=  r�  r…   NrV  r  )r   rÒ   r<   r   rC   r¾   rà  r-   r˜  s   &  r   Útest_12_sobol_inf_consÚ(TestShgoArguments.test_12_sobol_inf_cons  sL   € ð ˜eØ˜Cð!ˆä”7—9‘9œgŸn™n°¸Ø"°Gô=ˆä
�
‰
×Ñ  S§W¡WÖ-r!   c                ó^   € R pR.^),          p\        WRR7      pVP                  ^^24       R# )z-Test init of high-dimensional sobol sequencesc                 ó   € ^ # r8   r9   rE   s   &r   r<   Ú/TestShgoArguments.test_13_high_sobol.<locals>.f  ó   € Ùr!   NrV  ©r¶   ©NN)r   Úsampling_function)r   r<   r   ÚSHGOcs   &   r   Útest_13_high_sobolÚ$TestShgoArguments.test_13_high_sobol  s2   € ò	ð Ð! BÕ&ˆÜ�Q°Ô8ˆà×Ñ  2Ö&r!   c                ó2   € R^/p\        \        ^<VR7       R# )z6Test limited local iterations for a pseudo-global moder”  rñ   Nrø   rÙ   s   & r   Útest_14_local_iterÚ$TestShgoArguments.test_14_local_iter  s   € à Ð#ˆÜ”˜B¨×0r!   c                ó6   € RR/p\        \        ^^VRR7       R# )z9Test minimize every iter options and cover function cacher  TrV  r  NrÉ   rÙ   s   & r   Útest_15_min_every_iterÚ(TestShgoArguments.test_15_min_every_iter  s   € à(¨$Ð/ˆÜ”˜A Q°Ø!(÷	*r!   c                ó:   € RR/pRR/p\        \        RW#R7       R# )z:Test disp=True with minimizers that do not support bounds rÖ   Tr{  znelder-meadr  )r¶   rµ   r´   NrÑ   )r   Úcapsysrµ   r´   s   &&  r   Útest_16_disp_bounds_minimizerÚ/TestShgoArguments.test_16_disp_bounds_minimizer#  s&   € à˜4�.ˆØ$ mÐ4ÐÜ”¨,Ø ÷	Er!   c                ó0   € R p\        \        ^VR7       R# )ú=Test the functionality to add custom sampling methods to shgoc                 óD   € \         P                  P                  W3R 7      # ))Úsize)rC   ÚrandomÚuniform)r±   Úds   &&r   ÚsampleÚ9TestShgoArguments.test_17_custom_sampling.<locals>.sample-  s   € Ü—9‘9×$Ñ$¨1¨&Ð$Ó1Ð1r!   r  NrÉ   )r   r  s   & r   Útest_17_custom_samplingÚ)TestShgoArguments.test_17_custom_sampling*  s   € ò	2ô 	”˜B°×7r!   c                ó   € R  p. ROp. ROp\        \        W#4      4      p\        W#4      p\        W4      p\        W4      pVP                  VP                  8X  g   Q hVP
                  VP
                  8X  g   Q hVP                  VP                  8X  g   Q h\        P                  ! . RO4      p\        P                  P                  VP                  V4       \        P                  P                  VP                  VP                  4       R# )c                 óJ   € \         P                  ! V 4      P                  4       # r   )rC   ÚsquarerD   rE   s   &r   r<   Ú1TestShgoArguments.test_18_bounds_class.<locals>.f4  s   € Ü—9’9˜Q“<×#Ñ#Ó%Ð%r!   N)g      Àr†   g      À)ç      ð¿r    rc   )r
  r†   r…   )r0   Úzipr   r   ÚnfevÚmessager@  rC   rÀ  r¾   r   r;   )	r   r<   ÚlbÚubÚ
bounds_oldÚ
bounds_newÚres_old_boundsÚres_new_boundsrƒ  s	   &        r   Útest_18_bounds_classÚ&TestShgoArguments.test_18_bounds_class2  sÔ   € ò	&ò ˆÚˆÜœ#˜b›+Ó&ˆ
Ü˜B“^ˆ
ä˜aÓ,ˆÜ˜aÓ,ˆà×"Ñ" n×&9Ñ&9Ô9Ð9Ð9Ø×%Ñ%¨×)?Ñ)?Ô?Ð?Ð?Ø×%Ñ%¨×)?Ñ)?Ô?Ð?Ð?Ü—’šÓ'ˆÜ
�
‰
×"Ñ" >×#3Ñ#3°UÔ;Ü
�
‰
×"Ñ" >×#3Ñ#3°^×5EÑ5EÖFr!   c                óŠ  € \        ^4      ;_uu_ 4       p\        \        ^VP                  R7       RRR4       \        \        ^\        R7       \        ^4      ;_uu_ 4       p\        \        ^VP                  R7       RRR4       \        \        ^\        R7       R#   + '       g   i     Lv; i  + '       g   i     L;; i)rü  )r±   r·   N)r   rÄ   rÊ   Úmapr2  )r   Úps   & r   Útest_19_parallelizationÚ)TestShgoArguments.test_19_parallelizationF  sl   € ô �!�WŒW˜Ü”W ¨A¯E©EÕ2÷ ä”˜B¬Õ,Ü�!�WŒW˜Ü”V˜r¨1¯5©5Õ1÷ ä”˜2¤s×+÷ �Wú÷ �Wús   ”BÁ"B2ÂB/	Â2C	c           	     óœ   € R pR pR.^,          pR pR pR pRRRVR	R/RRRV/RR
RV/3p\        W#R^VR7       \        W#R^VRR7       R# )z0Test that constraints can be passed to argumentsc                 óž  € V ^,          R,           ) \         P                  ! \         P                  ! \        V ^ ,          R,          V ^,          R,           ,           4      4      4      ,          V ^ ,          \         P                  ! \         P                  ! \        V ^ ,          V ^,          R,           ,
          4      4      4      ,          ,
          # r{   r~   rE   s   &r   Ú	eggholderÚ=TestShgoArguments.test_20_constrained_args.<locals>.eggholderT  s   € à�A•$˜•+�œrŸvšv¤b§g¢g¬c°!°Aµ$¸µ*ÀÀ!ÅÀtÅÕ2LÓ.MÓ&NÓOÕOØ�A•$”r—v’vœbŸgšg¤c¨!¨A­$°!°Aµ$¸µ+Õ*>Ó&?Ó@ÓAÕAõBðr!   c                 ó    € R V ^ ,          ,          RV ^,          ,          ,           ^'V ^,          ,          ,           RV ^,          ,          ,           # )gÍÌÌÌÌŒ8@g     À:@g     @D@r9   rE   s   &r   r<   Ú5TestShgoArguments.test_20_constrained_args.<locals>.fZ  s7   € Ø˜1˜Q�4•< %¨!¨A­$¥,Õ.°°a¸µdµÕ:¸UÀQÀqÅT½\ÕIÐIr!   c                 óÊ   € VR ,          V ^ ,          ,          VR,          V ^,          ,          ,           RV ^,          ,          ,           RV ^,          ,          ,           ^,
          # )gffffff@gffffff@g333333&@gÍÌÌÌÌÌô?r9   )r;   rŽ   s   &&r   Úg1_modifiedÚ?TestShgoArguments.test_20_constrained_args.<locals>.g1_modified_  sT   € Ø�s•7˜Q˜q�T•> A¨¥G¨a°­d¥NÕ2°T¸A¸a½Dµ[Õ@À3ÈØõJõ Dõ Øõð r!   c                 óÄ  € ^V ^ ,          ,          RV ^,          ,          ,           RV ^,          ,          ,           RV ^,          ,          ,           ^,
          R\         P                  ! RV ^ ,          ^,          ,          RV ^,          ^,          ,          ,           RV ^,          ^,          ,          ,           RV ^,          ^,          ,          ,           4      ,          ,
          # )	é   gÍÌÌÌÌÌ'@gfffffæD@gÍÌÌÌÌJ@gR¸…ëQú?gìQ¸…ëÑ?gR¸…ëQÈ?g     €4@g×£p=
×ã?)rC   r   rE   s   &r   r\   Ú6TestShgoArguments.test_20_constrained_args.<locals>.g2c  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                 óv   € V ^ ,          V ^,          ,           V ^,          ,           V ^,          ,           ^,
          # r8   r9   rE   s   &r   Úh1Ú6TestShgoArguments.test_20_constrained_args.<locals>.h1k  s+   € Ø�Q•4˜!˜A�$•;  1¥Õ%¨¨!­Õ,¨qÕ0Ð0r!   r+   r,   r-   r‹   r6  r   )r±   r²   r°   rV  )r±   r²   r°   r¶   N©r   r†   r8   )r   )r   r  r<   r   r"  r\   r(  r3   s   &       r   Útest_20_constrained_argsÚ*TestShgoArguments.test_20_constrained_argsQ  s~   € ò	ò	Jð � Õ!ˆò	ò	ò	1ð ˜ ¨°V¸TÐBØ˜ ¨Ð+Ø˜˜u bÐ)ð+ˆô 	ˆQ˜# Q°DÕ9äˆQ˜# Q°DØ$÷	&r!   c           
     ól  € R pRRRR/pRR/p\        VR^.^^..^d^RVVR7       VR,          RJ g   Q hRV9   g   Q hR pR^.^^.R^.^^.^ ^..p\        WRRRRR/R	7      p\        V. ROVRR
7      pVP                  '       g   Q h\        VP                  VP                  4       \        VP
                  VP
                  RR7       \        WRRR/RR/R7      pVP                  '       g   Q h\        VP                  VP                  4       \        VP
                  VP
                  RR7       R# )ztTest that shgo can handle objective functions that return the
gradient alongside the objective value. Fixes gh-13547c                 ój   € \         P                  ! \         P                  ! V ^4      4      ^V ,          3# ri   )rC   rD   ÚpowerrE   s   &r   ru  Ú2TestShgoArguments.test_21_1_jac_true.<locals>.func{  s$   € Ü—6’6œ"Ÿ(š( 1 a›.Ó)¨1¨q­5Ð0Ð0r!   r{  rµ  r|  TrV  )r   r±   r²   r¶   r´   rµ   c                 óN   € \         P                  ! V ^,          4      ^V ,          3# ri   rB   rE   s   &r   ru  r0  Œ  s   € Ü—6’6˜!˜q�&“> 1 q¥5Ð(Ð(r!   )r   r¶   r´   )Úx0r   r|  r=  r»   )r   r¶   r´   rµ   Néÿÿÿÿ)r|   r|   r|   r|   r|   )r   r
   r@  r   r-   r;   )r   ru  Úmin_kwdsÚopt_kwdsr   rÃ   rG  s   &      r   Útest_21_1_jac_trueÚ$TestShgoArguments.test_21_1_jac_truew  sM  € ò	1ð ˜g u¨dÐ3ˆØ˜4�=ˆÜØØ˜�G˜a ˜VÐ$Ø˜Ø#Ø%Øõ	
ð ˜� $Ó&Ð&Ð&Ø˜Ô Ð Ð ò	)ð �q�'˜A˜q˜6 B¨ 7¨Q°¨F°Q¸°FÐ;ˆä�4¸Ø%-¨w¸¸tÐ$DôFˆä�t¢¸Øô!ˆà�{�{ˆ{Ðˆ{Ü˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™u¨5Õ1ô �4¸Ø%-¨wÐ$7Ø! 4˜=ô*ˆð �{�{ˆ{Ðˆ{Ü˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™u¨5×1r!   Ú
derivativec                óŠ  € R pR pR pR pRVRVRV/pWV,          /pRR	/pR.p	\        W)VVR
7      p
\        V3R^ .RV	/VBVB pV
P                  '       g   Q h\        P                  P                  V
P                  VP                  4       \        P                  P                  V
P                  VP                  4       R# )zjshgo used to raise an error when passing `options` with 'jac'
# see gh-12963. check that this is resolved
c                 óv   € ^V ^ ,          ,          V ^ ,          ,          ^V ^ ,          ,          ,           ^,           # )r1  r9   rE   s   &r   Ú	objectiveÚATestShgoArguments.test_21_2_derivative_options.<locals>.objective§  s*   € Ø�q˜•t•8˜a �d•? Q¨¨1­¥XÕ-°Õ1Ð1r!   c                 ó0   € ^V ^ ,          ,          ^,           # r"  r9   rE   s   &r   ÚgradientÚ@TestShgoArguments.test_21_2_derivative_options.<locals>.gradientª  s   € Ø�q˜•t•8˜a•<Ðr!   c                 ó   € ^# r"  r9   rE   s   &r   r~  Ú<TestShgoArguments.test_21_2_derivative_options.<locals>.hess­  rê  r!   c                 ó   € ^V,          # r"  r9   )r;   r  s   &&r   ÚhesspÚ=TestShgoArguments.test_21_2_derivative_options.<locals>.hessp°  s   € Ø�q•5ˆLr!   r|  r~  rC  r{  rz  ©r´   rµ   r2  r   N)iœÿÿÿéd   )r   r
   r@  rC   r¾   r   r-   r;   )r   r8  r;  r>  r~  rC  Úderivative_funcsrµ   r´   r   rÃ   rG  s   &&          r   Útest_21_2_derivative_optionsÚ.TestShgoArguments.test_21_2_derivative_options¡  sÐ   € ò	2ò	 ò	ò	ð " 8¨V°T¸7ÀEÐJÐØ°
Õ;Ð<ˆØ$ nÐ5Ðà�ˆÜ�9Ð7GØ"ô$ˆä�yñ " a Sð "°ð "Ð;Kð "Ø ñ"ˆð �{�{ˆ{Ðˆ{Ü
�
‰
×"Ñ" 3§7¡7¨C¯G©GÔ4Ü
�
‰
×"Ñ" 3§5¡5¨#¯%©%Ö0r!   c                óP  € . R	OpR\         R\        /pRR/p\        \        WVR7      p\	        \        \
        P                  ! ^4      3RR/VB pVP                  '       g   Q h\        VP                  VP                  4       \        VP                  VP                  RR7       R# )
zcEnsure the Hessian gets passed correctly to the local minimizer
routine. Previous report gh-14533.
r|  r~  r{  rÈ  rE  r=  r»   N)©r   gš™™™™™ù?rK  ©r   gffffffö?rL  rL  )r   r   r   r   r
   rC   Úzerosr@  r   r-   r;   )r   r   rµ   r´   rÃ   rG  s   &     r   Útest_21_3_hess_options_rosenÚ.TestShgoArguments.test_21_3_hess_options_rosenÁ  s�   € ò DˆØœ) V¬ZÐ8ˆØ$ kÐ2ÐÜ”5˜&Ø"ô$ˆä”uœbŸhšh q›kñ "°+ð "Ø ñ"ˆà�{�{ˆ{Ðˆ{Ü˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™u¨5×1r!   c                ó.  € R pRRRR /pR
.p\        WRVRR7      p\        V\        P                  ! ^4      VRVR7      pVP                  '       g   Q h\        VP                  VP                  4       \        VP                  VP                  4       R	# )zoshgo used to raise an error when passing `args` with Sobol sampling
# see gh-12114. check that this is resolvedc                 ó"   € V ^ ,          V,          # r8   r9   )r;   rŒ   s   &&r   r-   Ú6TestShgoArguments.test_21_arg_tuple_sobol.<locals>.funÔ  s   € Ø�Q•4˜1•9Ðr!   r+   r,   r-   c                 ó"   € V ^ ,          ^,
          # r8   r9   rE   s   &r   r:  Ú;TestShgoArguments.test_21_arg_tuple_sobol.<locals>.<lambda>×  s   € ¸¸1½À¾r!   rV  )r‹   r°   r¶   )r   r‹   r°   N©r   é
   ©r|   )r   r
   rC   rM  r@  r   r-   r;   )r   r-   r°   r   rÃ   rG  s   &     r   Útest_21_arg_tuple_sobolÚ)TestShgoArguments.test_21_arg_tuple_sobolÐ  s�   € ò	ð  ¨Ñ/AÐBˆà�ˆÜ�3 T°{Ø#*ô,ˆä�sœBŸHšH Q›K°¸TØ#.ô0ˆà�{�{ˆ{Ðˆ{Ü˜Ÿ™ §¡Ô)Ü˜Ÿ™˜sŸu™uÖ%r!   r9   N)r|  r~  rC  )/r"   r#   r$   r%   rP  rS  rW  r\  ri  rn  rw  rŠ  rÿ   r   r  r‘  r•  r™  rž  r¢  r©  r®  r·  r¼  rË  rÏ  rÓ  rÜ  rá  rK  rå  rï  rò  rõ  rù  r  r  rJ  r  r+  r6  ÚparametrizerH  rN  rX  r&   r'   r(   s   @r   rM  rM    s_  ø‡ € òIò/òDòMòAòAò&ò89ðt ‡[�[×Ññ/ó ð/ð ‡[�[×Ññ
/ó ð
/òTòTò
TòMòMò
.òAò.ò(/òEò
ò-ð ‡[�[×ÑÐ?ÐÓ@ñ	.ó Að	.ò	'ò1ò
*òEò8òGð( ‡[�[×Ñ˜2Óñ,ó ð,ò$&òL(2ðT ‡[�[×Ñ˜\Ò+CÓDñ1ó Eð1ò>2÷&ð &r!   rM  c                   ób   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )ÚTestShgoFailuresiä  c           	     ó  € R^/p\        \        P                  \        P                  ^RVRR7      p\        P
                  P                  RVP                  4       \        P
                  P                  ^VP                  4       R# )z'Test failure on insufficient iterationsÚmaxiterNrV  r  F)	r   ró   r<   r   rC   r¾   rà  r@  Útnevr˜  s   &  r   Útest_1_maxiterÚTestShgoFailures.test_1_maxiterå  s\   € à˜a�.ˆÜ”7—9‘9œgŸn™n°¸Ø"°Gô=ˆô 	�
‰
×Ñ  s§{¡{Ô3ä
�
‰
×Ñ  3§8¡8Ö,r!   c                ón   € \        \        \        \        P                  \        P
                  RR7       R# )z$Rejection of unknown sampling methodÚ	not_Sobolrë  N)Úassert_raisesÚ
ValueErrorr   rÊ   r<   r   rË   s   &r   Útest_2_samplingÚ TestShgoFailures.test_2_samplingï  s   € ä”j¤$¬¯	©	´7·>±>Ø&1÷	3r!   c                ó  € R^
RR/p\        \        P                  \        P                  ^VRR7      p\        P
                  P                  RVP                  4       \        P
                  P                  ^VP                  4       R# )zdCheck that the routine stops when no minimiser is found
after maximum specified function evaluationsÚmaxfevrÖ   TrV  ©r±   rµ   r¶   FN)	r   Ú
test_tabler<   r   rC   r¾   rà  r@  r  r˜  s   &  r   Útest_3_1_no_min_pool_sobolÚ+TestShgoFailures.test_3_1_no_min_pool_sobolô  sf   € ð ˜Rà˜4ð!ˆô ”:—<‘<¤×!2Ñ!2°aÀØ#*ô,ˆä
�
‰
×Ñ  s§{¡{Ô3ä
�
‰
×Ñ  C§H¡HÖ-r!   c                ó¾   € R^
RR/p\        \        P                  \        P                  ^VRR7      p\        P
                  P                  RVP                  4       R# )zdCheck that the routine stops when no minimiser is found
after maximum specified sampling evaluationsÚmaxevrÖ   Tr  rj  FN)r   rk  r<   r   rC   r¾   rà  r@  r˜  s   &  r   Útest_3_2_no_min_pool_simplicialÚ0TestShgoFailures.test_3_2_no_min_pool_simplicial   sL   € ð ˜BØ˜4ð!ˆä”:—<‘<¤×!2Ñ!2°aÀØ#/ô1ˆä
�
‰
×Ñ  s§{¡{Ö3r!   c                óV   € RR.p\        \        \        \        P                  V4       R# )zSpecified bounds ub > lbN)r#  r1  ©r1  é   ©rd  re  r   rÊ   r<   ©r   r   s   & r   Útest_4_1_bound_errÚ#TestShgoFailures.test_4_1_bound_err	  s   € à˜&Ð!ˆÜ”j¤$¬¯	©	°6Ö:r!   c                óV   € RR.p\        \        \        \        P                  V4       R# )z)Specified bounds are of the form (lb, ub)N)r1  rt  rt  rs  ru  rv  s   & r   Útest_4_2_bound_errÚ#TestShgoFailures.test_4_2_bound_err  s   € à˜VÐ$ˆÜ”j¤$¬¯	©	°6Ö:r!   c           	     óÜ   € R^dRR/p\        \        P                  \        P                  \        P                  ^dVRR7      p\
        P                  P                  RVP                  4       R# )zmEnsures the algorithm terminates on infeasible problems
after maxev is exceeded. Use infty constraints optionro  rÖ   TrV  ©r°   r±   rµ   r¶   FN©	r   Útest_infeasibler<   r   r3   rC   r¾   rà  r@  r˜  s   &  r   Útest_5_1_1_infeasible_sobolÚ,TestShgoFailures.test_5_1_1_infeasible_sobol  s[   € ð ˜CØ˜4ð!ˆô ”?×$Ñ$¤o×&<Ñ&<Ü.×3Ñ3°sÀGØ#*ô,ˆô 	�
‰
×Ñ  s§{¡{Ö3r!   c           	     óà   € R^dRRRR/p\        \        P                  \        P                  \        P                  ^dVRR7      p\
        P                  P                  RVP                  4       R# )	ztEnsures the algorithm terminates on infeasible problems
after maxev is exceeded. Do not use infty constraints optionro  rÖ   Trð   FrV  r}  Nr~  r˜  s   &  r   Útest_5_1_2_infeasible_sobolÚ,TestShgoFailures.test_5_1_2_infeasible_sobol  s`   € ð ˜CØ˜4Ø&¨ð/ˆô ”?×$Ñ$¤o×&<Ñ&<Ü.×3Ñ3°sÀGØ#*ô,ˆô 	�
‰
×Ñ  s§{¡{Ö3r!   c           	     óÜ   € RRRR/p\        \        P                  \        P                  \        P                  ^dVRR7      p\
        P                  P                  RVP                  4       R# )zPEnsures the algorithm terminates on infeasible problems
after maxev is exceeded.ro  iè  rÖ   Fr  r}  Nr~  r˜  s   &  r   Útest_5_2_infeasible_simplicialÚ/TestShgoFailures.test_5_2_infeasible_simplicial,  s[   € ð ˜DØ˜5ð"ˆô ”?×$Ñ$¤o×&<Ñ&<Ü.×3Ñ3°sÀGØ#/ô1ˆô 	�
‰
×Ñ  s§{¡{Ö3r!   c           
     óì   € R\         P                  R,           RRRRR^RR	/p\         P                  \         P                  3pR
\         P                  RRRRRVRR/p\        \        \        .VO5/ VB  R# )z<Test Global mode limiting local evaluations with f* too highr�  r}   rŽ  rF  r  Tr”  rð   Fr°   r±   Nr²   rµ   r¶   rV  )rß   r   r<   r   r3   r   ÚUserWarningr   )r   rµ   r‹   Úkwargss   &   r   Útest_6_1_lower_known_f_minÚ+TestShgoFailures.test_6_1_lower_known_f_min8  s}   € ð ”W×)Ñ)¨CÕ/Ø�Tà! 4Ø˜!Ø ð(ˆô —	‘	œ7Ÿ>™>Ð*ˆØ¤§¡Ø�tØ˜4Ø˜WØ# Wð	ˆô 	Œkœ4Ð1 $Ò1¨&Ô1r!   c                ó¦   aa€ ^ RI HoHp . ROpVV3R lo^ Sn        V! SV4      p\	        VP
                  VP                  SP                  4       R# )r   )r   r   c                 óF   <€ S;P                   ^,          un         S! V 4      # rW  )r  )r;   r-   r   s   &€€r   r-   Ú"TestShgoFailures.test.<locals>.funN  s   ø€ Ø�HŠH˜�M�HÙ˜“8ˆOr!   N©©r   rj   r‘  r‘  r‘  r‘  )Úscipy.optimizer   r   r  r‡   r;   r-   )r   r   r   Úresultr-   r   s   &   @@r   rÁ   ÚTestShgoFailures.testJ  s=   ù€ ß.Ú9ˆö	ð ˆŒá�c˜6Ó"ˆÜˆf�h‰h˜Ÿ
™
 C§H¡HÖ-r!   r9   N)r"   r#   r$   r%   r`  rf  rl  rp  rw  rz  r€  rƒ  r†  r‹  rÁ   r&   r'   r(   s   @r   r\  r\  ä  sA   ø‡ € ò-ò3ò

.ò4ò;ò
;ò

4ò4ò
4ò2÷$.ð .r!   r\  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestShgoReturnsiY  c                óª   a€ . ROpV3R lo^ Sn         \        SV4      p\        P                  P	                  SP                   VP                   4       R# )r   c                 óL   <€ S;P                   ^,          un         \        V 4      # rW  ©r  r   ©r;   r-   s   &€r   r-   Ú3TestShgoReturns.test_1_nfev_simplicial.<locals>.fun]  ó   ø€ Ø�HŠH˜�M�HÜ˜“8ˆOr!   Nr�  ©r  r   rC   r¾   rà  ©r   r   r“  r-   s   &  @r   Útest_1_nfev_simplicialÚ&TestShgoReturns.test_1_nfev_simplicialZ  s>   ø€ Ú9ˆõ	ð ˆŒä�c˜6Ó"ˆÜ
�
‰
×Ñ §¡¨&¯+©+Ö6r!   c                ó®   a€ . ROpV3R lo^ Sn         \        SVRR7      p\        P                  P	                  SP                   VP                   4       R# )r   c                 óL   <€ S;P                   ^,          un         \        V 4      # rW  r™  rš  s   &€r   r-   Ú.TestShgoReturns.test_1_nfev_sobol.<locals>.funi  rœ  r!   rV  rë  Nr�  r�  rž  s   &  @r   Útest_1_nfev_sobolÚ!TestShgoReturns.test_1_nfev_sobolf  s@   ø€ Ú9ˆõ	ð ˆŒä�c˜6°7Ô;ˆÜ
�
‰
×Ñ §¡¨&¯+©+Ö6r!   r9   N)r"   r#   r$   r%   rŸ  r¤  r&   r'   r(   s   @r   r–  r–  Y  s   ø‡ € ò
7÷
7ð 
7r!   r–  c                  óØ  € R  p \        V R.^.4      p\        V\        P                  ! RR.4      4      p\	        \
        RR.VRR7      p\        P                  ! \        P                  ! VP                  ^,          4      R8¬  4      '       g   Q h\        P                  ! \        P                  ! VP                  ^,          4      R8*  4      '       g   Q hVP                  '       g   Q hR# )c                 ój   € \         P                  ! V 4      p \         P                  ! V ^,          4      .# ri   ©rC   ÚasarrayrD   rE   s   &r   ÚquadÚ$test_vector_constraint.<locals>.quadu  ó$   € Ü�JŠJ�q‹MˆÜ—’�q˜A•v“ÐÐr!   gš™™™™™@r†   rV  r¡  r    NrU  )
r   r   rC   rÀ  r   r   ÚallrD   r;   r@  )rª  ÚnlcÚoldcrÃ   s       r   Útest_vector_constraintr°  s  s­   € ò ô ˜d S E¨A¨3Ó
/€CÜ  ¤b§h¢h°°S¨zÓ&:Ó;€Dä
Œu�w Ð(°dÈGÔ
T€CÜ�6Š6”"—&’&˜#Ÿ%™% !�Ó$¨Ñ+×,Ò,Ð,Ð,Ü�6Š6”"—&’&˜#Ÿ%™% A�Ó&¨#Ñ-×.Ò.Ð.Ð.Ø�;�;ˆ;ÐŠ;r!   zignore:delta_gradc                  óž  € R  p \        V R.^.4      pRR/p\        \        RR.VRVR7      p\        P                  ! \        P
                  ! VP                  ^,          4      R8¬  4      '       g   Q h\        P                  ! \        P
                  ! VP                  ^,          4      R8*  4      '       g   Q hVP                  '       g   Q hR# )	c                 ój   € \         P                  ! V 4      p \         P                  ! V ^,          4      .# ri   r¨  rE   s   &r   rª  Útest_trust_constr.<locals>.quad„  r¬  r!   gÍÌÌÌÌÌ@r{  rz  rV  )r°   r¶   r´   r    NrU  )r   r   r   rC   r­  rD   r;   r@  )rª  r®  r´   rÃ   s       r   Útest_trust_constrr´  ‚  s¬   € ò ô ˜d S E¨A¨3Ó
/€CØ  .Ð1Ðô ÜØ	�'ÐØØØ)ô€Cô �6Š6”"—&’&˜#Ÿ%™% !�Ó$¨Ñ+×,Ò,Ð,Ð,Ü�6Š6”"—&’&˜#Ÿ%™% A�Ó&¨#Ñ-×.Ò.Ð.Ð.Ø�;�;ˆ;ÐŠ;r!   c                  óÒ  € R.^,          p R p\        VRR4      p\        \        WR7      p\        \        P
                  ! VP                  4      R4       R pRRRV/p\        \        WR7      p\        \        P
                  ! VP                  4      R4       R.^,          p R	 pRRRV/p\        R
 V VRR7      p\        \        P
                  ! VP                  4      R4       R# )çÍÌÌÌÌÌì?c                 ó0   € V ^ ,          V ^,          ,           # r8   r9   rE   s   &r   ÚfaultyÚ)test_equality_constraints.<locals>.faulty�  s   € Ø��t�a˜•d�{Ðr!   ç333333@r<  c                 ó>   € V ^ ,          V ^,          ,           R,
          # )r   rº  r9   rE   s   &r   r¸  r¹  ¤  s   € Ø��t�a˜•d�{˜SÕ Ð r!   r+   r6  r-   r†   c                 óv   € V ^ ,          V ^,          ,           V ^,          ,           V ^,          ,           ^,
          # r8   r9   rE   s   &r   r¸  r¹  ­  s+   € Ø��t�a˜•d�{˜Q˜q�TÕ! A a¥DÕ(¨1Õ,Ð,r!   c                 ó0   € \         P                  ! V 4      ) # r   )rC   ÚprodrE   s   &r   r:  Ú+test_equality_constraints.<locals>.<lambda>³  s   € ”B—G’G˜A“J‘,r!   rV  )r   r°   r¶   N)r¶  r˜   r*  )r   r   r   r   rC   rD   r;   )r   r¸  r®  rÃ   r°   s        r   Útest_equality_constraintsrÀ  ™  sÊ   € àˆ\˜AÕ€Fòô ˜f c¨3Ó
/€CÜ
Œu˜VÔ
5€CÜ”B—F’F˜3Ÿ5™5“M 3Ô'ò!ð ˜4 ¨Ð/€KÜ
Œu˜VÔ
=€CÜ”B—F’F˜3Ÿ5™5“M 3Ô'àˆZ˜!�^€Fò-ð ˜4 ¨Ð/€KÜ
ÙØØØô	€Cô ”B—F’F˜3Ÿ5™5“M 3Ö'r!   c            	      óö   € R  p RV RR/pRRRR^RR	R
R//p\        \        R.^,          WR7      pVP                  R,          P                  4       R8X  g   Q hVP                  R,          R
,          R8X  g   Q hR# )c                 óJ   € \         P                  ! V ^,          4      ^ ,
          # ri   rB   rE   s   &r   r3   Útest_gh16971.<locals>.cons»  s   € Ü�vŠv�a˜•d‹|˜aÕÐr!   r-   r+   r,   r{  r³  rµ   ÚrhobegÚtolrb   Úcatolgš™™™™™©?)r°   r´   ÚcobylaNrU  )r   r   r´   Úlower)r3   Úcr´   r�   s       r   Útest_gh16971rÊ  º  s‘   € ò ð 
��f˜fÐ%€Aà�(Ø�H˜a ¨¨g°tÐ<ðÐô
 	Ü�ˆy˜�{¨ô	€Að ×Ñ˜hÕ'×-Ñ-Ó/°8Ô;Ð;Ð;Ø×Ñ˜iÕ(¨Õ1°TÔ9Ð9Ò9r!   )r3  r#  r>  rì  )r   é<   çÕ0ðš_r<À)
rÌ  g³Ê¾sÿ8Àg^ÑÖV&+6Àg+Ô?-«¸2Àg+ä!¾ÙÉ/ÀgÛN|1ç(Àgc’ä=C#Àg¾^Ì\ÕÀg´ÄN¡ˆÀgêíè‡ªÝ¿)r   g      @)rj   é2   )r   rÍ  g'ò�InŸ/@gS[Ú:XLù?)iöÿÿÿrV  )g¹ââ¨Ü¤@g$H¥ØÑ8ÿ?g„ßÍ	�Þ¿g0eà€v@gnÞ8)Ìûã¿g k_@/œð?g0g¶+ô�ù?)i þÿÿi   gŽÎÆ ý�Àg      Àr
  )r   r}   )r3  r|   )	r9   rZ  rF  NNNNrV  r|   )Gr¼   r„  ÚnumpyrC   rØ  Úmultiprocessingr   Únumpy.testingr   rÿ   r   rd  r   r’  r   r   r	   r
   r   r   r   r   r   Úscipy.optimize._constraintsr   Úscipy.optimize._shgor   Ú.scipy.optimize.tests.test_minimize_constrainedr   r   r4   r6   rÊ   rÒ   rØ   rI   rÀ  rß   rå   rT   rë   re   ró   ry   rù   rƒ   rˆ   r0   r  ÚboundsLJr%  rš   Úonesr2  rž   rk  r£   r  r   rK  rÄ   rÆ   r  rM  r\  r–  r°  Úfilterwarningsr´  rÀ  rÊ  r9   r!   r   Ú<module>r×     s:  ðÛ Û ã Û Ý  Ý )Û ß 1÷Y÷ Yõ Yå =Ý %Ý 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ð	,;ó 	#<ð %'§H¢Hò .Hó %Iô!€ñ. ˜h˜ZØ", Ø$0 >Ø"$§(¢(¨Z¨L¨>Ó":Ø$&§H¢H¨l¨^Ó$<ô	€ô#Ð$ô #ñJ ˜g wÐ/Ø",¨jÐ!9Ø#&ô€ôÐ$ô ñD ˜i˜]¨QÕ.ò"Là#.ô€ôÐ$ô ñ ˜k¨;Ð7Ø$7Ð#8Ø"&¨Ð!5ô7€ô
Ð%ô ð< €Ù‘�T�F˜Q•J  ¨¥	Ó*Ó+€á	˜XØ$( 6Ø!%ô	
€ôÐ$ô ñ 
˜X˜L¨1Õ,Ø"%Ø "§¢¨£
¨SÕ 0ô
€ôÐ(ô ñ  Y°	Ð$:Ø+-¨$Ø),¨c¨
ô4€
ô
Ð-ô ñ0 '¨w¸Ð.@Ø48Ø26ô)€ð ‡�×Ñ�,Óóó  ð÷D3)ñ 3)÷tj1ñ j1÷Z^&ñ ^&÷Dq.ñ q.÷j7ñ 7ò4ð ‡�×ÑÐ/Ó0ñó 1ðò,(ôB:r!   