L i\ddlZddlZddlZddlmZmZddlmZm Z m Z m Z m Z GddZ y)N)assert_allclose assert_equal)BoundsLinearConstraintNonlinearConstraintOptimizeResultminimizecdeZdZdZed dZedZdZdZdZ dZ dZ d Z d Z d Zy ) TestCOBYQAc(ddg|_ddi|_y)N@Q?maxfevd)x0optionsselfs f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_cobyqa.py setup_methodzTestCOBYQA.setup_methods, # c<|ddz|t|ddzzzS)Nr)abs)xcs rfunzTestCOBYQA.funs&tQwS1Y\)))rc*|ddz|ddzzdz S)Nrrrg9@)rs rconzTestCOBYQA.cons"tQw1q 4''rc$Gdd}Gdd}ddg}|}|}t|jdd}t|j|d|||j }t|j|d|||j }t j d d g} t|j| d |jsJ|j|jdksJ||jdksJ||j|j| dzksJ||j|jk(sJdt|j|j|jsJ|j|j|jk(sJ|j|jk(sJ|j|jk(sJ|j|jk(sJ|j|jk(sJdy)NceZdZdZdZy)1TestCOBYQA.test_minimize_simple..CallbackcDtj|_d|_yNr threadingLocklockn_callsrs r__init__z:TestCOBYQA.test_minimize_simple..Callback.__init__%NN,   rct|tjsJ|j5|xjdz c_dddy#1swYyxYwNr) isinstancenpndarrayr+r,)rrs r__call__z:TestCOBYQA.test_minimize_simple..Callback.__call__#s@!!RZZ000YY&LLA%L&&&s AAN__name__ __module__ __qualname__r-r4r!rrCallbackr%  ! &rr9ceZdZdZdZy):TestCOBYQA.test_minimize_simple..CallbackNewSyntaxcDtj|_d|_yr'r(rs rr-zCTestCOBYQA.test_minimize_simple..CallbackNewSyntax.__init__)r.rct|tsJ|j5|xjdz c_dddy#1swYyxYwr0)r1rr+r,)rintermediate_results rr4zCTestCOBYQA.test_minimize_simple..CallbackNewSyntax.__call__-s=!"5~FFFYY&LLA%L&&&s >ANr5r!rrCallbackNewSyntaxr<(r:rr@r rcobyqa)method constraintscallbackr888@UUUUUU?-C6?atol:0yE>rMbP?z.fun_check_boundsZs>66&))q.)bffQ&))^.D DD88A; r@333333?@ffffff?rArBrCr^rDrrFrGrHrIrKrrLg@g?gffffff?)rrr"r rrr2rMrrrNrOrPr[r\r]rQr)rr_rDrTrVr^s` @rtest_minimize_boundszTestCOBYQA.test_minimize_boundsYs  c S#J/)$((C=   GG#LL  GG,-y9xd3{{'CKK'{yy4$$vvfii355()bffSUUfii5G.HM#MHxx3##ww(+d227C72c S$K0  GG#LL  ;;+ +yy4$$vvfii355()bffSUUfii5G.HM#MHxx3##rctddgdd}t|j|jd||j}dt j dz dz t j ddz dz g}t|j|d |jsJ|j|jd ksJ||jd ksJ||j|j|d zksJ|y) N?rBrCrDrrrrHrIrKrrL) rr rrrr2rMrrrNrOrPrQrrDrTrVs r test_minimize_linear_constraintsz+TestCOBYQA.test_minimize_linear_constraintss&Sz3<  HH GG#LL  ^q(2771:>Q*>?xd3{{'CKK'{yy4$$xx3##ww(+d227C72rct|jdd}t|j|jdd||j }t jddg}t|j|d|jsJ|j|jd ksJ||jd ksJ||j|j|d d zksJ|y) NrA)@rB)argsrCrDrg988@gUUUUUU?rHrIrKrrnrL)rr"r rrrr2rMrrrNrOrPrQrks rtest_minimize_argszTestCOBYQA.test_minimize_argss)$((C=  HH GG#LL  GG-. :xd3{{'CKK'{yy4$$xx3##ww(C0477<<7rc fd}tddgddg}tjdd}tjj d||j }d D]}t|j |fd||j }t|j|j|jsJ|j|j|jk(sJ|j|jk(sJ|j|jk(sJ|j|jk(rJtjt 5tfd j d||j dddy#1swYyxYw) Nc~tjj|}tj|d|zS)N)r)r2arrayrreshape)rdimfrs r fun_arrayz1TestCOBYQA.test_minimize_array..fun_arrays.!%A::a, ,rr`rarbrcrArBrd)rrr)rorCr^rDrcntjj|j|gSrZ)r2rsr)rrs rz0TestCOBYQA.test_minimize_array..s%"((DHHQK!#=>r)rrr"r rrrrrrNrOrPrQrRpytestraises TypeError)rrwr^rDrTru sol_arrays` rtest_minimize_arrayzTestCOBYQA.test_minimize_arrays] - c S#J/)$((C=  HH GG#LL   ,C V' I  ,$$ 7i&7&7 7$77imm+ ++99 / //88y~~- --77imm+ ++ ,$]]9 %  >'     s )E??Fct|jdd}ddi}t|j|jd||}|j rJ|j |jdksJ|y)NrArrrBrh)rr"r rrrNrOrQrrDrrTs rtest_minimize_maxfevzTestCOBYQA.test_minimize_maxfevsj)$((C= Q- HH GG#  ;;+ +xx1}!c!}rct|jdd}ddi}t|j|jd||}|j rJ|j |jdksJ|y)NrAmaxiterrrBrh)rr"r rrrNrOrRrs rtest_minimize_maxiterz TestCOBYQA.test_minimize_maxitersj)$((C= a. HH GG#  ;;+ +ww!| S |rct|jdd}t|j|jd||j }t |j }|j|d<t|j|jd||}|jsJ|j|jdksJ||j|jksJ||j|jksJ|y)NrArBrhf_targetrK) rr"r rrrdictrNrOrPrQ)rrDsol_refrrTs rtest_minimize_f_targetz!TestCOBYQA.test_minimize_f_targets)$((C=  HH GG#LL  t||$%kk  HH GG#  {{'CKK'{yy4$$xx7<<',,'ww'++%*s*%rN)rg)r6r7r8r staticmethodrr"rWrerlrpr~rrrr!rrr r s['**((:Kx%$N8 ="*X " !+rr )numpyr2rzr) numpy.testingrrscipy.optimizerrrrr r r!rrrs' 7m+m+r