L i;jLddlZddlmZddlmZddlmZddlZGddZ y)N)assert_allclose)raises)nnlscfeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZy)TestNNLScLtjjd|_y)NlF_fr/)nprandom default_rngrng)selfs d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_nnls.py setup_methodzTestNNLS.setup_method s99(()9:ctjdjdd}tjd}||z}t||\}}|dksJtjj ||z|z dksJy)Ng9@g@gHz>)r arangereshaperlinalgnorm)r axyress r test_nnlszTestNNLS.test_nnls sp IIdO # #B * IIcN Ea3Tzzyy~~q1uk*T111rc |jjddddg}tj|jjdddg}d|ddd<||z}t ||\}}t ||dd |d ksJy) N 2lowhighsizer绽|=rtolatol-q=r uniformr absrrr rrbxactrnorms rtest_nnls_tallzTestNNLS.test_nnls_talls HH  2RH  = FF488##"#> ?#A# E1aj eabu5u}}rc |jjddddg}tj|jjdddg}d|ddd<||z}t ||\}}t ||d d |d ksJy) Nrrdxr!r%r&rr'r(r)r,r-r0s rtest_nnls_widezTestNNLS.test_nnls_wides HH  2S#J  ? FF488####? @#A# E1aj eabu5u}}rc|jjd}|jjd}tt5t ||ddddy#1swYyxYw)N)rr)r$r)maxiter)r r. assert_raises RuntimeErrorrr rr1s r test_maxiterzTestNNLS.test_maxiter(sY HH  '  * HH  !  $ < ( " Aq ! " " "s A  A)c0tjgd}tjgd}tjgd}t|}tj|tjtj ||fz}|dz}|dk(j d}d|||f<d||tj|dz|dz f<d||<d||<tj|}t||z||z\} } t| |dd y) N)Cr&rr:r:r:rA)/59CLgYa^U_NrSrSMIr r 8DbrRprbn\?<4rErD rrrr:r&rArr&)Cr'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'祠oN?r'goN?rn祠oN@祠oN@rpgVS(@gقfC.@gD -4@gĎ$]a;@g-R#H@gPxG@g:6:"Q@gVSX@gA[[@g9`@g^;ma@goNg@gYHoe@ERWi@gg݈n@g_Zgj@g9 al@ghbm@rqgIe@gQg@g1D/Dd@gBA{/c@gGM^^ [@gxWY@gIU@gقfCN@gIE@gPx7@gVS8@g|:@K1@goN'@rpgD -@gΈ b @r'ror'r'r')Cr'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'g]?r'r'r'r'g _k?r'r'r'r'r'r'r'r'r'r'?rr:rr'r(r)) r arraylendiagtrilonesnonzerominimumrr) r nkdNAwnzWdact_s rtest_nnls_inner_loop_case1z#TestNNLS.test_nnls_inner_loop_case1/s HH   HH , -" HH   F GGAJ!Q1 1 H1f    ""b& +-"bjjaQ' '("" GGAJ q1ua!e$aabu5rctjgd}tjgd}tjgd}t|}tj|tjtj ||fz}|dz}|dk(j d}d|||f<d||tj|dz|dz f<d||<d||<tj|}t||z||z\} } tj| } tj| dk\sJtjj||| zz tjd ksJt| |d d y) N)Dr:rr:r&r&r&rArArrCrC$*r@rrQrQrQrRrRrRKrLEr>;rWrGrKJrSvrerarMhrrV( r rmrBr&r:r:r:)Dr'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'焱?r'r'g#V@rr'gLKA @gLKA@g&@#V0@XdÓ|4@rg^uB@gyK@g S@g{Y@gԗ}Z@gܢ+o_@gP @ڡb@g[{f@gwf@ch@gԗ}j@go=i@gI:m@g $tk@g%uh@g( どh@gH+n5g@gs-}g@guqib@g*Bl`@g}#]@gϸOW@g"(@V@gb"a4J@gF@gJ?@g( ど8@rT;Oκ#@r焱@r焱?rr)Dr'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'r'g"%&a?r'r'gYM ?r'r'gR.S?ghq?gwLBW?gQ?gF }?gǙH?gL'%?g*O?gްac?r'r'r'r'r'r'r'r'r'r'r'gKu?gbb,Mn?r'r'r'r'r'gwլD?r'r'r'r'r'r'r'r'gLg?r'r'g'?rrrr:r)ordr'r(r))r rsrtrurvrwrxryrcumsumallrrinfr) r rzr{r|r}r~rrrrrps rtest_nnls_inner_loop_case2z#TestNNLS.test_nnls_inner_loop_case2isU HH   HH 5 6" HH C D F GGAJ!Q1 1 H1f    ""b& +-"bjjaQ' '("" GGAJq1ua!e$a IIdOvvdai   yy~~a!a%iRVV~4r999abu5rctjgdjdd}tjdtj}t ||\}}t |tjgdt |dy)N(g\a?g{ 6?g'ݯ(?gʧy?g{ 6?gzM?g=YZM[g?g?gÆ@?gqp@g+8L^@g7^?gD`vC?g€b?g\h @g’yIg@g֑^6?gVmӵH?gi%;?g9H#"@gVmӵHl@g̢'ߒ?g2t;wO?gZ:>?g *\:'@gy">'t@gQS7:1?gA%V?gz_i?gɻwE0@gXa@gy֙r?g3~8V?gl?g>3@g'T @gZQ"?g;pO?gY)o.M?gt-8@g&f'_@gŋTg?g SUG?g]3?gO>@g6AT @gZ?g@?gEm?g ^BD@go}@gehT?gF%^?g8?gŕG"@gAʔ@goݜAgGGGZ?gIBR?gJH;:%@g%O@g_ѱ/ AgW?g94Of?gY>\'@gZ,@g'Ag\OgFU?gGFy?gߜb+@gcC!>7@gjb0AgټS?gq?g5-W.@gSg.Id@g5@K7AgFk P?g~By?g_1@gKYi@g8*6@Agb?1AN?g`՟?g.b633@g zYM@gb4wGAgKJ?gr) ?g?H5@gOY44@gXPAg"4 H?g'6ͽ?g5pf8@g勦@g-LWAgD̢E?gBAMd?gpM DZ;@gAFk@g4WGaAg6 +JsC?gD#V?g;yTS?@g@g;JhAg*$JfA?g ?g YWưA@gbɥ@ghpQqAg{?g 2y?gQC@g%@gn)$9xAgqi;?g.ZOW?gx9F@gmk @gN[ZAgwEu8?garj?gI@g}Oq\Ȣ@gTRثAgtrl5?gmfeT?g/L@g_(@g&3gfAg[M3?g!I?g.5ͺtO@gy)G1@gmwAg@s<1?gN 9]?gk))Q@gWw]@g:AgW;!.?g'?gUT@g“50@g Ag$+?gAg>;+Bg gk+?gB5?g(x@gM VSCAg8yBg9W,?g-xU@?g04r{@g`1|HAgeC&Bg*<>g6"i?gd_t~@g1PAgmQ0Bg +>gID?gEax@gsVAgj 9Bg㪢9O>g|b2?gW|f@g x_Ago,CBg{%>g!D)?g] ݍ@ggba7U΢?g ϊ@gYpDlAg΍VBgW_>g!?ꢓ?g4hcC@g1rAgW`Bgst>g,L?g9u:p@gvAgk5gBg/˦]>g%#?gU=@guX3]ߏ|Ag"1pBg >g0#+?g;~;@g:PswAgvI@vBg U>gkW?gOM@g\#=FAg_xlp~Bg Nn>g@-?ggՖ@gX!nAgV^Bgc5>gR?gXf@g%;Ag֫m5BgC?'L>g#*K?g3Kե@ga2G}LAgpBg*̺Sg90L?gu@g-$AgkMÆg?7g&>0?gN:x@g+s?ɨXAg%pg"gX ?gVb\@g`o"Agf!ygQ ?g ~b?g~鎅@g z@Agͅ}sBgu f>g"~(#?g4J@g`%TFAgѺDbBg$u gz#(g?gY @gq$Ag6aJgI]q7i>gw8?gSfv@g6v_n1Ag~j3BrNr)dtype)gdM?gmUq @r'r'r'g|%?)r rsrrwfloat64rr)r r~r1solr3s rtest_nnls_gh20302zTestNNLS.test_nnls_gh20302sn HHT U j!(Ak l GGBbjj )!QZ URXX&JKL12rcgdgdgdgdgdg}gd}tjgd}t||\}}t||tjtj j ||z|z |z dksJy) N)g*ds?g&g%Ug F?g,Xѿg['Jʿgu;ƿgs?)g_bhg@68mӿgFW=o$?gޜ䤱g.*ڿgIy f[?g>kTȿgoJ)gm*eпghgȏMM?gVj gz|ga{TgnCY?gC9gT?)g2u51?g^:°,?g..B?gӿgײ_1?gOw׿g.Ig7Ϸѿ)gQo?g%Tɿg:?g0ٔ!?g??g^=пgU_pĿg>dJ?)g]j 2@gsQd 2g&@+@g{!Rg^H'U"@)r'g#]@gA>>rcTtjddgddgddgddgg}tjgd }t||\}}t|tjd d gtjtj j ||z|z |z d ksJy) Ngȱ} ?gοgr9W?g ޺c?g {:?gmgRnP>z?ggAD㳿)g/ t8@gF <@gfkyD@gaCSg,v'K@r'rrr r~r1rrs rtest_nnls_gh21021_ex2zTestNNLS.test_nnls_gh21021_ex2]s HH !5 6  2 3 !5 6 !#7 8 : ; HH+ , 1:SRXX'7&=>?vvbiinnQsUQY/#56>>>rctjgdgdgdgdgdgdgdgdgd gd gd gd gd gdgdgdgdgdgdgdgdgdgdgdgdg}tjgd}t||\}}t|tjgddtjtj j ||z|z |z dksJy)N)gyS$?ge_?gUjHhg+)?geJu66)g:1y?g<˿guـ밻gKK ?gj9e;ÿ)g?g5 Vhg8~ڥ?gc}◒gQ=?)gH?gO?g[z?grKbP/?g7ET?gAF?)gJ}9gθ\Q5Ŀg4eg~Ӹ[gN.)ggyFgteR?gKd?gBƿg )?)gajO?go ѿg)~?g>#¿gd)gOBisgp=WמgdLU]gXꉸ?gOVʢ?)gɵ鵆?gy7ۍg`a޳?gFK ߳2g+g*¿)g:\?g NZƿgqVXgs÷??gU!a?)g3As?gXRy?gGkFUgP!bDZ?g:;l̿)g&ًͨg՞*?g~7Q#퟿g34g?g4l?)g,V?gHRTgY"?gH1ZпgVT%?)g#w?g{?gR20g𨇨?gnF}ο)g,.}O?g~kn-޿g?g2/gI)g_UnR?g;O?gP@MgJ m?g}Noɿ)g}r9!g|sb?gy gɀ?gt@/W )gة?gN1 UʿgvrM ?g^Fe ?gȡ?)gBC˽gW<}1?g?g0$X?gW)gGX?g,4a?g͋Hق?gLy ?gмX ?)g{Wg%rg]{1Do?g=\_пgk7W6?)g#gG g|2 @gPu:F@gW@go?`%gL0 @g"Wk?g>>rctjddgddgddgg}tjgd}tjtd5t ||ddddy#1swYyxYw) z;Test that using atol parameter triggers deprecation warningr:r)r&r:r:z{'atol'}matchg:0yE>rN)r rspytestwarnsDeprecationWarningrr>s rtest_atol_deprecation_warningz&TestNNLS.test_atol_deprecation_warningsa HHq!fq!fq!f- . HHY  \\,J ? " AD ! " " "s A))A2ctjgdgdgdg}tjgdgj}t||\}}t |tjgdt |dy)N?rrrrrr')rr'r)r@r)rrg@r')r rsTrr)r r~r1rrs rtest_2D_singleton_RHS_inputz$TestNNLS.test_2D_singleton_RHS_inputsc HHo%%' ( HH&' ( * *Aqz1288O453rc tjgdgdgdgdg}tjddgtj}t j t d5t||dddy#1swYyxYw) Nrr)r'r'rrr&)shaperzExpected a 1D arrayr)r rsrwrrr ValueErrorr)r r~r1s r!test_2D_not_singleton_RHS_input_2z*TestNNLS.test_2D_not_singleton_RHS_input_2sg HHo%%%' ( GG1a& 3 ]]:-B C  AJ   s $ A::Bcgd}tjjd}d\}}|j||}d|ddddf<|j|}t ||\}}t ||y)N) rrgŚ?rrrrg?rrrg ?r)rrmrr&)r r RandomStaterandnrr) r desiredr n_samples n_featuresXrcoefrs rtest_gh_22791_32bitzTestNNLS.test_gh_22791_32bitsmQii##B' % : IIi ,"1"a% IIi q!*ag&rN)__name__ __module__ __qualname__rrr4r8r?rrrrrrrrrrrrrrsS;2 "86t96v[3z?8 ?B?H"  'rr) numpyr numpy.testingrrrr<scipy.optimizerrrrrrs )* M'M'r