+
    LV-j¦  ã                   ót   € ^ RI t ^ RIt^ RIHtHt ^ RIHtHtH	t	H
t
HtHt  ! R R4      tR t ! R R4      tR# )	é    N)Úassert_allcloseÚassert_array_almost_equal)Úfmin_cobylaÚminimizeÚBoundsÚNonlinearConstraintÚLinearConstraintÚOptimizeResultc                   óV   a € ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )Ú
TestCobylac                ó˜   € \         P                  ! R4      R	.V n        \        P                  ! R4      R.V n        R^ R^RRR^d/V n        R# )
é   ÚdispÚrhobegÚtolg�íµ ÷Æ°>ÚmaxiterNgUUUUUUå?gä8Žã8Ž8@g7®l'Vå?)ÚnpÚsqrtÚx0ÚmathÚsolutionÚopts©Úselfs   &Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_cobyla.pyÚsetup_methodÚTestCobyla.setup_method   sI   € ô —7’7˜?Ó+¨\Ð:ˆŒÜŸš ?Ó3°UÐ;ˆŒØ˜Q ¨!¨U°DØ ð%ˆŽ	ó    c                ó^   € V^ ,          ^,          \        V^,          4      ^,          ,           # ©r   )Úabs©r   Úxs   &&r   ÚfunÚTestCobyla.fun   s!   € Ø��t�Q�wœ˜Q˜q�T› A�Õ%Ð%r   c                óZ   € V^ ,          ^,          V^,          ^,          ,           ^,
          # r    © r"   s   &&r   Úcon1ÚTestCobyla.con1   s"   € Ø��t�Q�w˜˜1�˜q�Õ  2Õ%Ð%r   c                ó&   € V P                  V4      ) # ©N)r(   r"   s   &&r   Úcon2ÚTestCobyla.con2   s   € Ø—	‘	˜!“ˆ}Ðr   c           
     ó¬   € \        V P                  V P                  V P                  V P                  .^R^d^R7      p\        WP                  RR7       R# )é   çñhãˆµøä>)r   ÚrhoendÚmaxfunr   ç-Cëâ6?©ÚatolN)r   r$   r   r(   r,   r   r   r"   s   & r   Útest_simpleÚTestCobyla.test_simple   s>   € ä˜Ÿ™ $§'¡'¨D¯I©I°t·y±yÐ+AÈ!Ø#¨C°aô9ˆä˜Ÿ=™=¨t×4r   c           	     óD  €  ! R  R4      p ! R R4      pV! 4       pV! 4       p\        V P                  ^ \        P                  4      RRRV P                  /3p\        V P                  V P                  RVW0P                  R7      p\        V P                  V P                  RVW@P                  R7      p\        VP                  V P                  R	R
7       VP                  '       g   Q VP                  4       hVP                  R8  g   Q V4       hVP                  ^F8  g   Q V4       hVP                  V P                  V P                  4      R,           8  g   Q V4       h\!        VP                  VP"                  ^RR7       VP                  '       g   Q VP                  4       hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP$                  VP$                  8X  g   Q R4       hR# )c                   ó,   a € ] tR t^%t o R tR tRtV tR# )Ú1TestCobyla.test_minimize_simple.<locals>.Callbackc                ó"   € ^ V n         RV n        R# ©r   N©Ún_callsÚlast_xr   s   &r   Ú__init__Ú:TestCobyla.test_minimize_simple.<locals>.Callback.__init__&   s   € Ø �”Ø"�–r   c                óD   € V ;P                   ^,          un         Wn        R# ©r/   Nr=   r"   s   &&r   Ú__call__Ú:TestCobyla.test_minimize_simple.<locals>.Callback.__call__*   s   € Ø—’ Õ!•Ø–r   )r?   r>   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r@   rD   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚCallbackr:   %   s   ø‡ € ò#÷ ð  r   rO   c                   ó,   a € ] tR t^.t o R tR tRtV tR# )Ú:TestCobyla.test_minimize_simple.<locals>.CallbackNewSyntaxc                ó   € ^ V n         R# r<   ©r>   r   s   &r   r@   ÚCTestCobyla.test_minimize_simple.<locals>.CallbackNewSyntax.__init__/   s	   € Ø �–r   c                óh   € \        V\        4      '       g   Q hV ;P                  ^,          un        R# rC   )Ú
isinstancer
   r>   )r   Úintermediate_results   &&r   rD   ÚCTestCobyla.test_minimize_simple.<locals>.CallbackNewSyntax.__call__2   s$   € Ü!Ð"5´~×FÒFÐFÐFØ—’ Õ!—r   rS   NrF   rM   s   @r   ÚCallbackNewSyntaxrQ   .   s   ø‡ € ò!÷"ð "r   rY   ÚtypeÚineqr$   Úcobyla)ÚmethodÚconstraintsÚcallbackÚoptionsr3   r4   r0   çü©ñÒMbP?zGLast design vector sent to the callback is not equal to returned value.)ÚdecimalÚerr_msgzGCallback is not called the same amount of times for old and new syntax.N)r   r(   r   Úinfr,   r   r$   r   r   r   r#   r   ÚsuccessÚmessageÚmaxcvÚnfevr   r?   r>   )r   rO   rY   r_   Úcallback_new_syntaxÚconsÚsolÚsol_news   &       r   Útest_minimize_simpleÚTestCobyla.test_minimize_simple$   s¸  € ÷	 ñ 	 ÷	"ñ 	"ñ “:ˆÙ/Ó1Ðô $ D§I¡I¨q´"·&±&Ó9Ø˜ ¨¯	©	Ð2ð4ˆä�t—x‘x §¡°ÀtØ (·)±)ô=ˆä˜4Ÿ8™8 T§W¡W°XÈ4Ø 3¿Y¹YôHˆä˜Ÿ™˜tŸ}™}°4Õ8Ø�{�{ˆ{Ð'˜CŸK™KÓ'ˆ{Ø�y‰y˜4ÔÐ$ Ó$ÐØ�x‰x˜"Œ}Ð!˜cÓ!ˆ}Ø�w‰w˜Ÿ™ $§-¡-Ó0°4Õ7Ô7Ð<¸Ó<Ð7Ü!Ø�E‰EØ�O‰OØð$õ		
ð ��ˆÐ/ §¡Ó/ˆØ�w‰w˜'Ÿ+™+Ô%Ð%Ð%Ø�y‰y˜GŸM™MÔ)Ð)Ð)Ø�x‰x˜7Ÿ<™<Ô'Ð'Ð'Ø×ÑÐ#6×#>Ñ#>Ô>ð 	VØUó	VÒ>r   c                ó  € R RRR /R RRR /3p\        R ^ .RVRR/R	7      pVP                  R
8”  g   Q hVP                  '       g   Q h\        R ^ .RVRR/R	7      pVP                  R
8”  g   Q hVP                  '       d   Q hR# )rZ   r[   r$   c                 ó   € ^V ,
          # )é   r'   ©r#   s   &r   Ú<lambda>Ú?TestCobyla.test_minimize_constraint_violation.<locals>.<lambda>V   ó   € °!°a¶%r   c                 ó   € V ^,
          # )é   r'   rr   s   &r   rs   rt   W   ru   r   c                 ó   € V # r+   r'   rr   s   &r   rs   rt   X   ó   € ¡r   r\   Úcatolg333333ã?©r]   r^   r`   gš™™™™™¹?c                 ó   € V # r+   r'   rr   s   &r   rs   rt   \   ry   r   gš™™™™™Ù?N)r   rg   re   )r   rj   rk   s   &  r   Ú"test_minimize_constraint_violationÚ-TestCobyla.test_minimize_constraint_violationS   s—   € ð ˜ ©Ð8Ø˜ ©Ð8ð:ˆä‘{ Q C°ÀdØ '¨˜~ô/ˆà�y‰y˜3ŒÐˆØ�{�{ˆ{Ðˆ{Ü‘{ Q C°ÀdØ '¨˜~ô/ˆà�y‰y˜3ŒÐˆØ—;—;�;Ðˆ‘;r   c                ó¤   € ^úp\        R R.RRV/R7      pVP                  ^8X  g   Q hVP                  '       g   Q hVP                  V8:  g   Q hR# )éú   c                 ó   € V ^,          # ©é   r'   rr   s   &r   rs   Ú*TestCobyla.test_f_target.<locals>.<lambda>c   s   €   A¦r   iô  r\   Úf_target)r]   r`   N)r   Ústatusre   r$   )r   r…   rk   s   &  r   Útest_f_targetÚTestCobyla.test_f_targeta   sQ   € ØˆÜ‘~¨ u°XØ *¨HÐ5ô7ˆà�z‰z˜QŒÐˆØ�{�{ˆ{Ðˆ{Ø�w‰w˜(Ô"Ð"Ò"r   c                óB  € \        R R .R R 4      p\        V P                  V P                  RVV P                  R7      p^\
        P                  ! ^4      ,
          ^,          \
        P                  ! ^4      ^,
          ^,          .p\        VP                  VRR7       VP                  '       g   Q VP                  4       hVP                  R8  g   Q V4       hVP                  ^d8:  g   Q V4       hVP                  V P                  V4      R,           8  g   Q V4       hR# )g      ð?r\   r{   r3   r4   g:Œ0âŽyE>ra   N)r	   r   r$   r   r   r   r   r   r#   re   rf   rg   rh   )r   r^   rk   r   s   &   r   Ú test_minimize_linear_constraintsÚ+TestCobyla.test_minimize_linear_constraintsi   sß   € Ü&¨¨S z°3¸Ó<ˆÜØ�H‰HØ�G‰GØØ#Ø—I‘Iô
ˆð œŸš ›•^ qÕ(¬2¯7ª7°1«:¸­>¸QÕ*>Ð?ˆÜ˜Ÿ™˜x¨dÕ3Ø�{�{ˆ{Ð'˜CŸK™KÓ'ˆ{Ø�y‰y˜4ÔÐ$ Ó$ÐØ�x‰x˜3ŒÐ# Ó#ˆØ�w‰w˜Ÿ™ (Ó+¨dÕ2Ô2Ð7°CÓ7Ò2r   )r   r   r   N)rG   rH   rI   rJ   r   r$   r(   r,   r6   rm   r}   r‡   rŠ   rK   rL   rM   s   @r   r   r      s9   ø‡ € ò%ò&ò&òò5ò-Vò^ò#÷8ð 8r   r   c                  ó2  a
€ R  o
V
3R lp R pR p\         P                  ! ^^ .4      pS
W.pRR.pRp\        S
W4RR7      p\        WuR	R
7       \        S
W0RR7      p\        S
! V4      ^R	R
7       V Uu. uF	  pRRRV/NK  	  p	p\	        S
W9RR7      p\        VP
                  VR	R
7       VP                  '       g   Q VP                  4       h\        VP                  VR	R
7       RRRV /p	\	        S
W9RR7      p\        VP                  ^R	R
7       R# u upi )c                 óh   € V ^ ,          ^,
          ^,          V ^,          R,
          ^,          ,           # )r   g      @r'   rr   s   &r   r$   Ú$test_vector_constraints.<locals>.fun}   s%   € Ø�!•�q•˜1�}  !¥ s¥
¨Q�Õ.Ð.r   c                 ó"   <€ S! V 4      ^,
          # )r/   r'   )r#   r$   s   &€r   ÚfminÚ%test_vector_constraints.<locals>.fmin€   s   ø€ Ù�1‹v˜�zÐr   c           	      ó>  € \         P                  ! . RO. RO. RO.4      p\         P                  ! \        \        V4      4       Uu. uFG  pW^ 3,          V ^ ,          ,          W^3,          V ^,          ,          ,           W^3,          ,           NKI  	  up4      # u upi )r/   )r/   éþÿÿÿrƒ   )éÿÿÿÿr“   é   )r”   rƒ   rƒ   )r   ÚarrayÚrangeÚlen)r#   ÚaÚis   &  r   Úcons1Ú&test_vector_constraints.<locals>.cons1ƒ   s„   € Ü�HŠH’j¢+ªzÐ:Ó;ˆÜ�xŠxÜ*/´°A³¬-ó9Ù*7 Qð ˜a˜4� 1 Q¥4�¨!¨q¨D­'°A°aµD­.Õ8Ø˜a˜4�÷!ð !Ù*7ñ9ó :ð 	:ùò 9s   ÁABc                 ó   € V # r+   r'   rr   s   &r   Úcons2Ú&test_vector_constraints.<locals>.cons2ˆ   s   € Øˆr   gffffffö?g333333û?gš™™™™™é?r0   )r1   r3   r4   rZ   r[   r$   )r^   r   N)	r   r–   r   r   r   r#   re   rf   r$   )r�   r›   rž   r   Ú	cons_listÚxsolÚfsolrk   rj   r^   r$   s             @r   Útest_vector_constraintsr£   z   s  ø€ ò/õò:ò
ô 
�Š�1�a�&Ó	€BØ�eÐ#€Ià�ˆ:€DØ€Dô �c˜2°Ô
6€CÜ�C DÕ)ä
�c˜2¨DÔ
1€CÜ‘C˜“H˜a dÕ+ñ >GÓG¹Y°T�F˜F E¨4Ó0¹Y€KÐGÜ
�3˜¸Ô
>€CÜ�C—E‘E˜4 dÕ+Ø�;�;ˆ;Ð#˜Ÿ™Ó#ˆ;Ü�C—G‘G˜T¨Õ-à˜6 5¨$Ð/€KÜ
�3˜¸Ô
>€CÜ�C—G‘G˜Q T×*ùò Hs   Á4Dc                   ó,   a € ] tR t^¤t o R tR tRtV tR# )Ú
TestBoundsc                óè   € R  p. ROp. ROp\        W#4       UUu. uF  w  rEWE3NK
  	  ppp\        V. RORVR7      p. R	OpVP                  '       g   Q h\        VP                  VRR7       R# u uppi )
c                 ó<   € \         P                  ! V ^,          4      # r‚   ©r   Úsumrr   s   &r   ÚfÚ TestBounds.test_basic.<locals>.fª   ó   € Ü—6’6˜!˜Q�$“<Ðr   Nr\   ©r   r]   Úboundsra   r4   )r”   Nr/   Nç      à¿)r¯   r¯   NNr¯   )r/   rƒ   é   rq   rw   )r¯   r¯   r/   r   r¯   )Úzipr   re   r   r#   )	r   rª   ÚlbÚubr™   Úbr®   ÚresÚrefs	   &        r   Ú
test_basicÚTestBounds.test_basic©   si   € ò	 ò 'ˆÚ+ˆÜ%(¨¤[Ô1¡[™T˜Q�1“&¡[ˆÑ1ô �qš_°XÀfÔMˆÚ&ˆØ�{�{ˆ{Ðˆ{Ü˜Ÿ™˜s¨×.ùó 2s   šA.c                ó  € R  p\        \        P                  ) \        P                  ) .\        P                  \        P                  .4      p\        V^^.RVR7      pVP                  '       g   Q h\        VP                  ^ RR7       \        ^\        P                  ) .\        P                  \        P                  .4      p\        V^^.RVR7      pVP                  '       g   Q h\        VP                  ^^ .RR7       R# )c                 ó<   € \         P                  ! V ^,          4      # r‚   r¨   rr   s   &r   rª   Ú$TestBounds.test_unbounded.<locals>.f¸   r¬   r   r\   r­   ra   r4   N)r   r   rd   r   re   r   r#   )r   rª   r®   rµ   s   &   r   Útest_unboundedÚTestBounds.test_unbounded·   s¾   € ò	 ô œ"Ÿ&™&˜¤2§6¡6 'Ð*¬R¯V©V´R·V±VÐ,<Ó=ˆÜ�q˜a ˜V¨H¸VÔDˆØ�{�{ˆ{Ðˆ{Ü˜Ÿ™˜q tÕ,ä˜œRŸV™V˜G˜¤r§v¡v¬r¯v©vÐ&6Ó7ˆÜ�q˜a ˜V¨H¸VÔDˆØ�{�{ˆ{Ðˆ{Ü˜Ÿ™  1˜v¨D×1r   r'   N)rG   rH   rI   rJ   r·   r¼   rK   rL   rM   s   @r   r¥   r¥   ¤   s   ø‡ € ò
/÷2ð 2r   r¥   )r   Únumpyr   Únumpy.testingr   r   Úscipy.optimizer   r   r   r   r	   r
   r   r£   r¥   r'   r   r   Ú<module>rÁ      s5   ðÛ ã ß D÷÷ ÷k8ñ k8ò\'+÷T2ó 2r   