+
    /i5S                         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IHtHtHt RR lt ! R R4      t ! R R	4      t ! R
 R4      tR# )z4
Unit tests for trust-region iterative subproblem.

N) estimate_smallest_singular_valuesingular_leading_submatrixIterativeSubproblem)svdget_lapack_funcsdetqrnorm)assert_array_equalassert_equalassert_array_almost_equalc                 t   \         P                  P                  V4      pVP                  R^W 3R7      p\	        VRR7      w  p pVP                  WV R7      p\         P
                  ! V4      RRR1,          p\         P                  ! W4      p	\         P                  ! WP                  4      p
VR8X  dN   \         P                  ! V 4      pVP                  R^V ^,
          R7      VRR% \         P                  ! Wk4      pW3# VR8X  d   \         P                  ! V 4      pW3# VP                  R^V R7      pW3# )   )lowhighsizeTrue)pivotingNhardjac_equal_zero)
nprandomdefault_rnguniformr   sortmultiplydotTzeros)nmin_eigmax_eigcaserngrandQ_	eigvaluesQauxAgs   &&&&&       i/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/optimize/tests/test_trustregion_exact.pyrandom_entryr-      s   
))


$C ;;2AQF;3D 'GAq! A>I	"4R4(I ;;y$D
tSSA v~HHQK!!A#6#2FF1L 4K 
!	!HHQK 4K KKBQQK/4K    c                   &   a  ] tR t^/t o R tRtV tR# )!TestEstimateSmallestSingularValuec                    \         P                  ! . RO. RO. RO. RO.4      p\        V4      w  r#pVR,          pVR,          p\        V4      w  rx\	        Wu^R7       \	        \        V4      \        V4      ^R7       R# )	r   )decimalN)r            )    g?<      )r6   r6   皙?	   )r6   r6   r6   
   r   )r   :NNN)r   arrayr   r   r   abs)	selfCUsVtsmin_svdzmin_svdsminzmins	   &        r,    test_for_ill_condiotioned_matrixBTestEstimateSmallestSingularValue.test_for_ill_condiotioned_matrix1   ss     HHl&$#% & q6b R5e9 6a8
 	"$!<!#d)S]AFr.    N)__name__
__module____qualname____firstlineno__rG   __static_attributes____classdictcell____classdict__s   @r,   r0   r0   /   s     G Gr.   r0   c                   2   a  ] tR t^Ht o R tR tR tRtV tR# )TestSingularLeadingSubmatrixc                   \         P                  ! . RO. RO. RO.4      p\        RV34      w  pV! VRRRR7      w  r4\        WV4      w  rVW^,
          V^,
          3;;,          V,          uu&   \	        \        VRV1RV13,          4      ^ 4       \         P                  ! V\         P                  ! W4      4      p\	        V^ 4       R# )	r   FTloweroverwrite_acleanN)r   r3   r4   )r3   r5      )r4   rY      potrfr   r<   r   r   r   r   r   r>   r*   choleskyckdeltavquadratic_terms   &       r,   +test_for_already_singular_leading_submatrixHTestSingularLeadingSubmatrix.test_for_already_singular_leading_submatrixJ   s     HHi! "
 %Z!6	 EF-aA6	A#qs(u 	"#aBQBi.!4 266!<0!.!4r.   c                   \         P                  ! . RO. RO. RO. RO. R	O.4      p\        R
V34      w  pV! VRRRR7      w  r4\        WV4      w  rVW^,
          V^,
          3;;,          V,          uu&   \	        \        VRV1RV13,          4      ^ 4       \         P                  ! V\         P                  ! W4      4      p\	        V^ 4       R# )r   FTrU   N)r   r3   r4   r8      )r3   rY   rY   r:   r6   )r4   rY      r   r3   )r8   r:   r   r8   rY   )rh   r6   r3   rY   rh   r[   )r   asarrayr   r   r   r   r   r^   s   &       r,   #test_for_simetric_indefinite_matrix@TestSingularLeadingSubmatrix.test_for_simetric_indefinite_matrixc   s     JJ'(''	) * %Z!6	 EF-aA6	A#qs(u 	"#aBQBi.!4 266!<0!.!4r.   c                   \         P                  ! . RO. RO. RO.4      p\        RV34      w  pV! VRRRR7      w  r4\        WV4      w  rVW^,
          V^,
          3;;,          V,          uu&   \	        \        VRV1RV13,          4      ^ 4       \         P                  ! V\         P                  ! W4      4      p\	        V^ 4       R# )	r6   FTrU   N)r6   r4   ri   )r4      rY   )ri   rY   rZ   r[   r]   r^   s   &       r,   $test_for_first_element_equal_to_zeroATestSingularLeadingSubmatrix.test_for_first_element_equal_to_zero~   s     HHj  " #
 %Z!6	 EF-aA6	A#qs(u 	"#aBQBi.!4 266!<0!.!4r.   rI   N)	rJ   rK   rL   rM   re   rk   ro   rN   rO   rP   s   @r,   rS   rS   H   s     52565 5r.   rS   c                      a  ] tR t^t o R tR tR tR tR t]	P                  P                  RR7      ]	P                  P                  ^
4      R 4       4       tR	 tR
tV tR# )TestIterativeSubproblemc           	        aa . RO. R	O. R
O. RO.o. ROo^p\        ^ R V3R lV3R lRRR7      pVP                  V4      w  r4\        V. RO4       \        VR4       R# )r;   c                     ^ # r6   rI   xs   &r,   <lambda>@TestIterativeSubproblem.test_for_the_easy_case.<locals>.<lambda>       Ar.   c                 0   < \         P                  ! S4      # Nr   r<   rw   r+   s   &r,   rx   ry          BHHQKr.   c                 0   < \         P                  ! S4      # r|   r}   rw   Hs   &r,   rx   ry          RXXa[r.   绽|=rw   funjachessk_easyk_hardTNr;   r3   r4   r5   r3   r   r8   r   r4   r8   r   r8   r5   r   r8   r3   )r   r   r   r   )g8<bp?ggEg v?gˍ۪߿r   solver   )r>   trust_radiussubprobphits_boundaryr   r+   s   &    @@r,   test_for_the_easy_case.TestIterativeSubproblem.test_for_the_easy_case   sp        &*5*?+@-2-24 #==6!! &? 	@!-6r.   c           	        aa . RO. RO. R	O. R
O.o. ROoRp^p\        ^ R V3R lV3R lRRR7      pVP                  V4      w  rE\        V) VP                  4       R# )r;   c                     ^ # ru   rI   rv   s   &r,   rx   @TestIterativeSubproblem.test_for_the_hard_case.<locals>.<lambda>   rz   r.   c                 0   < \         P                  ! S4      # r|   r}   r~   s   &r,   rx   r      r   r.   c                 0   < \         P                  ! S4      # r|   r}   r   s   &r,   rx   r      r   r.   r   r   Nr   r   r   r   )gAS@r   r   r   grvf(n )r   r   r   lambda_current)r>   rA   r   r   r   r   r   r+   s   &     @@r,   test_for_the_hard_case.TestIterativeSubproblem.test_for_the_hard_case   sm      *  &*5*?+@-2-24 #==6!1"g&<&<=r.   c                  aa . RO. R	O. R
O. RO. RO.o. ROo\        ^ R V3R lV3R lR7      pVP                  R4      w  r#\        V. RO4       \        VR4       \        VP                  ^ 4       \        VP                  ^4       R# )no?c                     ^ # ru   rI   rv   s   &r,   rx   GTestIterativeSubproblem.test_for_interior_convergence.<locals>.<lambda>   rz   r.   c                 0   < \         P                  ! S4      # r|   r}   r~   s   &r,   rx   r      r   r.   c                 0   < \         P                  ! S4      # r|   r}   r   s   &r,   rx   r      r   r.   )rw   r   r   r   皙?FN)r   獞u?,wn)?/K뚘G?)r   g켮wO@٢yn*?r<8ٿ&Î?)r   r   g6
@ĽCԿ8K?)r   r   r   gc?>ڿ)r   r   r   r   g-Q?)g*<sA?gE?gM x?gz?g=޿)g8b҄gO
L?gp4OF̿g qgo-7?)r   r   r   r   niterr>   r   r   r   r   r+   s   &   @@r,   test_for_interior_convergence5TestIterativeSubproblem.test_for_interior_convergence   s    HJILJ	L J &*5*?+@B #==-!! &? 	@!-7!'"8"8!<!'--3r.   c           	        aa . R	O. R
O. RO. RO. RO.o. ROo\        ^ R V3R lV3R lRRR7      pVP                  R4      w  r#\        V. RO4       \        VR4       R# )VaU?c                     ^ # ru   rI   rv   s   &r,   rx   ATestIterativeSubproblem.test_for_jac_equal_zero.<locals>.<lambda>   rz   r.   c                 0   < \         P                  ! S4      # r|   r}   r~   s   &r,   rx   r      r   r.   c                 0   < \         P                  ! S4      # r|   r}   r   s   &r,   rx   r      r   r.   r   r   r   TNr   `A@5F?9)n@cѿr   g{.<?~:]?r   r   g@33 5:Ir   r   r   gйTFKտr   r   r   r   g&R)r6   r6   r6   r6   r6   giG7㰱?gl$WgZg-O|οgm/r   r   s   &   @@r,   test_for_jac_equal_zero/TestIterativeSubproblem.test_for_jac_equal_zero   sl    KKLLM	O  &*5*?+@-2-24 #==-!! &3 	4 	"-6r.   c           	        aa . R	O. R
O. RO. RO. RO.o. ROo\        ^ R V3R lV3R lRRR7      pVP                  R4      w  r#\        V. RO4       \        VR4       R# )r   c                     ^ # ru   rI   rv   s   &r,   rx   ITestIterativeSubproblem.test_for_jac_very_close_to_zero.<locals>.<lambda>  rz   r.   c                 0   < \         P                  ! S4      # r|   r}   r~   s   &r,   rx   r   	  r   r.   c                 0   < \         P                  ! S4      # r|   r}   r   s   &r,   rx   r   
  r   r.   r   r   r   TNr   r   r   r   r   )r6   r6   r6   r6   gV瞯<r   r   r   s   &   @@r,   test_for_jac_very_close_to_zero7TestIterativeSubproblem.test_for_jac_very_close_to_zero   sl    KKLLM	O   &*5*?+@-2-24 #==-!! &3 	4 	"-6r.   zfails in parallel)reasonc                4  aa \         P                  P                  ^4      p^pR EF  p. ROpV EF  w  rV\        W%WcVR7      w  oo. ROpV EF  p\	        ^ R V3R lV3R lRRR7      p	V	P                  V4      w  rR\         P                  ! V
\         P                  ! SV
4      4      ,          \         P                  ! SV
4      ,           p. ROpV EF1  w  r\        V^,
          ^\         P                  ! V4      ,
          4      p^V,
          p\	        ^ R V3R	 lV3R
 lVVR7      pVP                  V4      w  ppR\         P                  ! V\         P                  ! SV4      4      ,          \         P                  ! SV4      ,           pV'       dC   \        \         P                  ! \        V4      V,
          4      V^,
          V,          8*  R4       M\        \        V4      V8*  R4       \        VW,          8*  R4       EK4  	  EK  	  EK  	  EK  	  R# )r   )r$   c                     ^ # ru   rI   rv   s   &r,   rx   ATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>2  s    qr.   c                    < S# r|   rI   r~   s   &r,   rx   r   3      qr.   c                    < S# r|   rI   r   s   &r,   rx   r   4  r   r.   r   )r   r         ?c                     ^ # ru   rI   rv   s   &r,   rx   r   M  s    r.   c                    < S# r|   rI   r~   s   &r,   rx   r   N      r.   c                    < S# r|   rI   r   s   &r,   rx   r   O  r   r.   TN)easyr   r   ))ii))r   r6   )r   rY   )r   r;   )r6   r;   )rY   r;   )      )	皙?g333333?g333333?r9   r   g333333?gffffff
@g      @r;   ))r   r3   )r   r   )g?g)\(?)r   r   r   r-   r   r   r   minsqrtr
   r=   r	   r   )r>   r$   r    r#   
eig_limitsr!   r"   trust_radius_listr   
subprob_acp_achits_boundary_acJ_acstop_criteriak_optk_trfr   r   r   r   r   Jr   r+   s   &                     @@r,   test_for_random_entries/TestIterativeSubproblem.test_for_random_entries  s    ii##A& 6D$J %/  $A3G1 %O!$5L!4Q5@5@5@<A<A"CJ .8-=-=l-K*D rvvdBFF1dO<<RVVAt_LD%2M )6 "%U1W%&rwwu~%5"7!"5 #6a6A6A6A=C=C#E ,3==+F(=  q"&&A, 77q!D ).rvvd1gl6J/K05a/E0FGKM )aL)@$G %Q%*_d;= )6% %6 %/ 7r.   c                  aa \         P                  ! . RO. R	O. R
O. RO. RO. RO. R	O. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.4      o\         P                  ! . RO4      oR^
.pV Fm  p\        ^ R V3R lV3R lRRVR7      p^pVP                  V4      w  rVVf$   VP                  \        P
                  8:  g   Q hKZ  VP                  V8:  d   Km  Q h	  R# )zRegression test for gh-12513Nc                     ^ # ru   rI   rv   s   &r,   rx   NTestIterativeSubproblem.test_for_finite_number_of_iterations.<locals>.<lambda>  s    ar.   c                    < S# r|   rI   )rw   r   s   &r,   rx   r     s    ar.   c                    < S# r|   rI   r   s   &r,   rx   r     s    qr.   r   g?)rw   r   r   r   r   r   maxiter)g`]B@nضo}crs'@9bS.Q- 8w r   8T`w^ѿ-U\v\?炾_j@R^ݸiT[ʢ]LX?篍>'@,:Y,>7*3?)r   "J@XWmх?%6@x(,@r
  yֱ@ַ#@&8L0@皇lB|sɂ(h0s?	@Fyb@{P(CfR?爏c)r   r  gϠrm@G)ܿP{ۍ`t<r  8$p&
>Jwy>b*P gc\@K@畑E1@!a"*%DS	5Vh	@k	ؒ@)r   r  r  gOhj?L ?Z"'?r  \,8Q?ZϪޡy?Mؤh?B?NR?HOAK9%?琒O$V?>fB?OZ?ϗ@dA )r   r  r  r*  g3333@J_@r  r`J@"<5@|DL$d@JZRU]Ջ)T@~?@l%H@祿U"翀^sw7 [Z@ 8)&)r   r  r  r+  r8  g<A?r  x극B@sd^[?烙b?睶c~7%7F8Qt?Bd?7`ƭ?Vu]ܿ{jfu?BE)r   r  r  r,  r9  rE  r  g~@sϡ*J@WE@砇}Q4q%@?.XG? }#: @pr*@ݦg	oB@TY"_2#?/)S)r   r  r  r-  r:  rF  r  rQ  gBw[E@<ۤbs@W#y4uֲ>Иe);M>''@Ѐz3jXD@!xtJ>ICı=฿crZ?)r   r  r   r.  r;  rG  r  rR  r\  gR,@珉f`bB<tk3mIE۶T@ۄ{e6r@ǫ#u!qs =磴?)r  r  r!  r/  r<  rH  r  rS  r]  rf  g6mkS@[z4Ud@罹l25ם<9
x>HO$d@瓊_l@瀛o{폽@)r  r  r"  r0  r=  rI  r  rT  r^  rg  ro  gI~w@u'|rfF>ɋ[餭 '@}@+LcEV!@)r  r  r#  r1  r>  rJ  r  rU  r_  rh  rp  rw  gR3Z?A	#?jG@7VeeG|83緭v,?/yng)r  r  r$  r2  r?  rK  r  rV  r`  ri  rq  rx  r~  gGb:@G>_R@`)Y禀\ɍ^?9o2)r  r  r%  r3  r@  rL  r  rW  ra  rj  rr  ry  r  r  g6x"m@oe%JnqvyN?~+)r  r  r&  r4  rA  rM  r  rX  rb  rk  rs  rz  r  r  r  gbS?RBU>@WUKܿsliq?)r  r  r'  r5  rB  rN  r  rY  rc  rl  rt  r{  r  r  r  r  g<8bM@Q;*ʔ K6@)r  r  r(  r6  rC  rO  r  rZ  rd  rm  ru  r|  r  r  r  r  r  g&Ad?aBI)r	  r  r)  r7  rD  rP  r  r[  re  rn  rv  r}  r  r  r  r  r  r  gC	f@)gqՠgbk>g6ߓR>gI눑gXF;>g)	@AnN>g\>ghM>gV֕gH4>Sg͜>gsCa!T>g'sdg6KJg~|WRg,Nh>g		>gZ|O>g+ݱf>)r   r<   r   r   r   MAXITER_DEFAULT)	r>   subproblem_maxiterr   r   r   r   r   r   r   s	   &      @@r,   $test_for_finite_number_of_iterations<TestIterativeSubproblem.test_for_finite_number_of_iterationsb  s   HH>
>
<
@
=
@
>
=
?
?
<
<
?
>
>
>
<
?
=u^>`
B HH 
  #BZ)G) G L&}}\:A}}(;(K(KKKK}}///# *r.   rI   N)rJ   rK   rL   rM   r   r   r   r   r   pytestmarkthread_unsafe	fail_slowr   r  rN   rO   rP   s   @r,   rr   rr      sk     74>24.7070 [[&9:[[2I<  ;I<X}0 }0r.   rr   r|   )__doc__r  numpyr   !scipy.optimize._trustregion_exactr   r   r   scipy.linalgr   r   r   r   r	   numpy.testingr
   r   r   r-   r0   rS   rr   rI   r.   r,   <module>r     s[       @ ?D D>G G2M5 M5`G0 G0r.   