`L iddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z mZdZej j#dgd d Zd Zy) N)fmin_ncg)ConvergenceWarning)Bunch)assert_allclose)_check_optimize_result _newton_cgc tjj|}|jdtjd}fd}fdfd}fd}tj tj t|||d d d ksJtt|||d d t||| d y)N) r )sizer cNj|}d|j|zSNg?)dot)xAxAs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/tests/test_optimize.pyfuncztest_newton_cg..funcs# UU1XbXXb\!!cXjjj|SNTrrrs rgradztest_newton_cg..gradssswwquuQx  rc|jjjj|jSr)rrall)rprs rhessztest_newton_cg..hesss-uuQSSWWQUU1557^,--rc|fdfS)NcXjjj|Srrrs rz3test_newton_cg..grad_hess..s!##''!%%("3r)rrrs r grad_hessz!test_newton_cg..grad_hesssAw333rg|=)tolrgHz>)fx0fprimefhess_pgh㈵>)atol) nprandom RandomStatenormalonesrabsrrr)global_random_seedrngr&rrr#rrs @@rtest_newton_cgr2 s ))   2 3C  !A B"!.4 66"&&ItT25I!LMQUU VV V9dD"$7:4BtT: rverbose)rc ^tjdtjddgtt fdfdfdtj j d||j}|dk(r|jd k(sJgd }|D]}||jvrJ|dk\rgd }|D]}||jvrJ|dk\rtjd dgdd ggdztjd dgtjt5t fdfdfdtjddg|ddd|j}gd}|D]}||jvrJtjd dgddggtjddgtjt5t fdfdfd|dddd|j}dg}|D]}||jvrJtjdtjddgtjt5t fdfdfdtjd d g|dddd|j}d g}|D]}||jvrJtjgd!tjgd"tjt5t fd#fd$fd%tj|dd&ddd|j}d'g}|D]}||jvrJyy#1swY'xYw#1swYxYw#1swYxYw#1swY[xYw)(z0Test the std output of verbose newton_cg solver.r5r4)dtypec|zz fdfS)Nc|zSrr"zrs rr!z...2s !a%rr"rrbs rr!z*test_newton_cg_verbosity..2sQUQY8rc&d|zz|z|zz Sr r"r<s rr!z*test_newton_cg_verbosity..3ssQw{QQ.rc|zz Srr"r<s rr!z*test_newton_cg_verbosity..4sq1uqyrr)r#rrr&r3)zNewton-CG iter = 1zCheck Convergencezmax |gradient|zSolver did converge at loss = )z(Inner CG solver iteration 1 stopped withzsum(|residuals|) <= tolz Line Searchztry line search wolfe1z!wolfe1 line search was successfulg?gꌠ9Y>)F@c|zz fdfS)Nc|zSrr"r:s rr!z...Z !a%rr"r<s rr!z*test_newton_cg_verbosity..ZQUQY$@rc&d|zz|z|zz Sr r"r<s rr!z*test_newton_cg_verbosity..[sQw{QQ6rc|zz Srr"r<s rr!z*test_newton_cg_verbosity..\q1uqyrN)z%wolfe1 line search was not successfulz-check loss |improvement| <= eps * |loss_old|:z,check sum(|gradient|) < sum(|gradient_old|):z#last resort: try line search wolfe2g@c|zz fdfS)Nc|zSrr"r:s rr!z...prErr"r<s rr!z*test_newton_cg_verbosity..prFrc&d|zz|z|zz Sr r"r<s rr!z*test_newton_cg_verbosity..qrHrc|zz Srr"r<s rr!z*test_newton_cg_verbosity..rrJr)r#rrr&r3maxiterztiny_|p| = eps * ||p||^2c|zz fdfS)Nc |zSrr"r:s rr!z...s 1"q&rr"r<s rr!z*test_newton_cg_verbosity..sQUQY0@$Arc&d|zz|z|zz Sr r"r<s rr!z*test_newton_cg_verbosity..rHrc|zz Srr"r<s rr!z*test_newton_cg_verbosity..rJrz9Inner CG solver iteration 0 fell back to steepest descent)gMbP?r4g@@)rKr4rBc|zz fdfS)Nc|zSrr"r:s rr!z...rErr"r<s rr!z*test_newton_cg_verbosity..rFrc&d|zz|z|zz Sr r"r<s rr!z*test_newton_cg_verbosity..rHrc|zz Srr"r<s rr!z*test_newton_cg_verbosity..rJr)r#rrr&r3rPmaxinnerz*Inner CG solver stopped reaching maxiter=1)r*eyearrayfloatrzerosshape readouterroutpytestwarnsRuntimeWarningrdiag ones_like)capsysr3capturedmsgmrr=s @@rtest_newton_cg_verbosityrk+s q A !Qu%A8 . 88AGGAJ    "H!|||r!!!   %A $ $$ %!|  %A $ $$ %!| HHsAhA' (4 / HHc3Z \\. )  @6(88T1I&   $$&   %A $ $$ % HHsAhI/ 0 HHdAY  \\, -  @6(   $$& &  %A $ $$ % FF1I HHdAY  \\. )  A6(88S#J'  $$& G  %A $ $$ % GGN # HH^ $ \\, -  @6(<<?  $$& 8  %A $ $$ %g  ,  *  &  s0&2M=N +3N2N#=N NN #N,cZt}d|_d|_d|_t j 5t j dtd|dddd|_d|_tjt5}td|dddtdk(sJ|djjd}d|vsJ|j|vsJd|vsJd |vsJtjt5}td|d dddt|dk(sJ|djjd}d|vsJ|j|vsJd|vsJd |vsJd |_d |_d |_tjt5}td|d dddt|dk(sJ|djjd}d|vsJ|j|vsJd|vsJd |vsJy#1swYxYw#1swYwxYw#1swYxYw#1swYxYw)Nr4rOKerrorlbfgsz+STOP: TOTAL NO. OF ITERATIONS REACHED LIMITz-lbfgs failed to converge after 1 iteration(s)z!Increase the number of iterationszscale the data)max_iterr5ABNORMALr z-lbfgs failed to converge after 2 iteration(s)) rnitstatusmessagewarningscatch_warnings simplefilterrrbrcrlenargs)resultrecordwarn_msgs rtest_check_optimizer}sO WFFJFMFN  "0g&w/0 FMBFN ( )0Vw/0 v;!  ay  %%a(H :h FF F >>X %% % .h >> > x '' ' ( )>X %% % .( :: : x '' 'FJFMFN ( )=Vw<= v;!  ay  %%a(H :h FF F >>X %% % .h >> > x '' 'W0000<<==s/"G: HHH!:HHH!H*)runumpyr*rbscipy.optimizersklearn.exceptionsrsklearn.utils._bunchrsklearn.utils._testingrsklearn.utils.optimizerrr2mark parametrizerkr}r"rrrsO #1&2E<I.y%/y%x4(r