+
    LV-j  ã                   ór   € R t ^ RIt^ RIt^ RIHtHtHt ^ RIH	t	H
t
HtHtHt  ! R R4      t ! R R4      tR# )z5
Unit tests for trust-region optimization routines.

N)Úassert_Úassert_equalÚassert_allclose)ÚminimizeÚrosenÚ	rosen_derÚ
rosen_hessÚrosen_hess_prodc                   ó0   a € ] tR t^t o RtR tR tRtV tR# )ÚAccumulatorzThis is for testing callbacks.c                ó"   € ^ V n         RV n        R# )é    N)ÚcountÚaccum©Úselfs   &Úv/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_trustregion.pyÚ__init__ÚAccumulator.__init__   s   € ØˆŒ
ØˆŽ
ó    c                óÀ   € V ;P                   ^,          un         V P                  f   \        P                  ! V4      V n        R# V ;P                  V,          un        R# )é   N)r   r   ÚnpÚarray)r   Úxs   &&r   Ú__call__ÚAccumulator.__call__   s5   € Ø�
Š
�a��
Ø�:‰:ÒÜŸš !›ˆDŽJà�JŠJ˜!�O�Jr   )r   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € Ù)ò÷ð r   r   c                   ó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# )ÚTestTrustRegionSolversc                ó<   € R R .V n         RR.V n        RR .V n        R# )g      ð?g       @Ng333333ó¿)Úx_optÚ
easy_guessÚ
hard_guessr   s   &r   Úsetup_methodÚ#TestTrustRegionSolvers.setup_method   s#   € Ø˜3�ZˆŒ
Ø ˜*ˆŒØ ˜+ˆŽr   c           
     ó  € V P                   p\        \        V\        \        R RRR/R7      p\        WR,          ^ ,          4       \        VR,          VR,          R,          4       \        VR,          V P                  4       R# )	ç:Œ0âŽyE>ÚdoglegÚ
return_allT©ÚjacÚhessÚtolÚmethodÚoptionsÚallvecsr   Néÿÿÿÿ)r+   r   r   r   r   r   r)   ©r   Úx0Úrs   &  r   Útest_dogleg_accuracyÚ+TestTrustRegionSolvers.test_dogleg_accuracy!   sc   € à�_‰_ˆÜ”U˜B¤I´JÀDØ$¨|¸TÐ.BôEˆä˜˜i�L¨�OÔ,Ü˜˜#�  )¥¨RÕ 0Ô1Ü˜˜#� §
¡
Ö+r   c                ó„  € \        4       p^p\        \        V P                  \        \
        VRRRRV/R7      p\        VP                  V4       \        \        VR,          4      V^,           4       \        VR,          VR,          R
,          4       \        \        VR,          R,          4      VP                  4       R	# )é   r0   r1   TÚmaxiter)r3   r4   Úcallbackr6   r7   r8   r   :r   NNNr9   )r   r   r   r+   r   r   r   r   Úlenr   Úsumr   )r   ÚaccumulatorrA   r<   s   &   r   Útest_dogleg_callbackÚ+TestTrustRegionSolvers.test_dogleg_callback*   s”   € ä!“mˆØˆÜ”U˜DŸO™O´ÄØ)°(Ø*¨D°)¸WÐEôHˆô 	�[×&Ñ&¨Ô0Ü”S˜˜9�Ó&¨°­	Ô2Ü˜˜#�  )¥¨RÕ 0Ô1Üœ˜A˜i�L¨Õ,Ó-¨{×/@Ñ/@ÖAr   c                óÞ   € \         P                  ! \        R R7      ;_uu_ 4        \        \        V P
                  \        \        RRRR^/R7       RRR4       R#   + '       g   i     R# ; i)zMaximum number of iterations)Úmatchr0   ÚdispTrA   )r3   r4   r6   r7   N)ÚpytestÚwarnsÚRuntimeWarningr   r   r+   r   r   r   s   &r   Útest_dogleg_user_warningÚ/TestTrustRegionSolvers.test_dogleg_user_warning6   sV   € Ü�\Š\œ.Ø ?÷Aö Aä”U˜DŸO™O´Ü$¨XØ$ d¨I°qÐ9õ=÷A÷ A÷ Aò Aús   ¥,AÁA,	c                óž  € \         p\        p\        pV P                  V P                  3 EF  p\        WW#R RRR/R7      p\        WW#R RRR/R7      p\        WW#R RRR/R7      p\        WW#R RRR/R7      p\        WW#R RRR/R7      p	\        V P                  VR	,          4       \        V P                  VR	,          4       \        V P                  VR	,          4       \        V P                  VR	,          4       \        V P                  V	R	,          4       \        \        VR
,          4      \        VR
,          4      8  4       EK   	  R# )r/   r0   r1   Tr2   ú	trust-ncgútrust-krylovz	newton-cgútrust-exactr   r8   N)
r   r   r   r*   r+   r   r   r)   r   rC   )
r   ÚfÚgÚhr;   Úr_doglegÚr_trust_ncgÚr_trust_krylovÚr_ncgÚr_iteratives
   &         r   Útest_solver_concordanceÚ.TestTrustRegionSolvers.test_solver_concordance=   s8  € ô
 ˆÜˆÜˆØ—?‘? D§O¡OÔ4ˆBÜ ¨1¸$Ø'/¸,ÈÐ9MôOˆHä" 1¨a¸TØ*5Ø,8¸$Ð+?ôAˆKô & a°ÀØ*8Ø,8¸$Ð+?ôAˆNô ˜Q¨°tØ$/¸,ÈÐ9MôOˆEä" 1¨a¸TØ*7Ø,8¸$Ð+?ôAˆKô ˜DŸJ™J¨°­Ô6Ü˜DŸJ™J¨°CÕ(8Ô9Ü˜DŸJ™J¨°sÕ(;Ô<Ü˜DŸJ™J¨¨c­
Ô3Ü˜DŸJ™J¨°CÕ(8Ô9Ü”C˜ Õ+Ó,¬s°5¸Õ3CÓ/DÑD×Eó' 5r   c           
     óÎ   € V P                   V P                  V P                  3 F=  p\        \        V\
        \        R RR7      p\        V P                  VR,          4       K?  	  R# )r/   rQ   )r3   Úhesspr5   r6   r   N)r*   r+   r)   r   r   r   r	   r   r:   s   &  r   Útest_trust_ncg_hesspÚ+TestTrustRegionSolvers.test_trust_ncg_hesspZ   sI   € Ø—?‘? D§O¡O°T·Z±ZÓ@ˆBÜœ ¬	¼Ø!¨+ô7ˆAä˜DŸJ™J¨¨#­Ö/ó Ar   c           	     óŽ   € \        \        V P                  \        \        R RR7      p\        V P                  VR,          4       R# )r/   rQ   ©r;   r3   r4   r5   r6   r   N©r   r   r)   r   r   r   ©r   r<   s   & r   Útest_trust_ncg_start_in_optimumÚ6TestTrustRegionSolvers.test_trust_ncg_start_in_optimum`   s/   € Ü”U˜tŸz™z¬y¼zØ kô3ˆä˜Ÿ
™
 A c¥FÖ+r   c           	     óŽ   € \        \        V P                  \        \        R RR7      p\        V P                  VR,          4       R# )r/   rR   rc   r   Nrd   re   s   & r   Ú"test_trust_krylov_start_in_optimumÚ9TestTrustRegionSolvers.test_trust_krylov_start_in_optimume   s/   € Ü”U˜tŸz™z¬y¼zØ nô6ˆä˜Ÿ
™
 A c¥FÖ+r   c           	     óŽ   € \        \        V P                  \        \        R RR7      p\        V P                  VR,          4       R# )r/   rS   rc   r   Nrd   re   s   & r   Ú!test_trust_exact_start_in_optimumÚ8TestTrustRegionSolvers.test_trust_exact_start_in_optimumj   s/   € Ü”U˜tŸz™z¬y¼zØ mô5ˆä˜Ÿ
™
 A c¥FÖ+r   )r*   r+   r)   N)r   r   r   r    r,   r=   rF   rN   r\   r`   rf   ri   rl   r"   r#   r$   s   @r   r'   r'      s9   ø‡ € ò&ò
,ò
Bò=òFò:0ò,ò
,÷
,ð ,r   r'   )r!   rK   Únumpyr   Únumpy.testingr   r   r   Úscipy.optimizer   r   r   r   r	   r   r'   © r   r   Ú<module>rr      s8   ðñó Û ß @Ñ @÷-õ -÷ñ ÷S,ó S,r   