K iH dZddlmZddlZddlmcmZddl m Z ddl m Z m Z mZmZej dgZej ddgZej gdZej gd Zej gd Zej gd Zej gd Zej gd Zej gdZej gdZeeeeeeeeeeg ZdZGddZGddZGddZGddZ GddZ!GddZ"GddZ#Gdd Z$Gd!d"Z%Gd#d$Z&y)%zTests for hermite module. )reduceN)polyval)assert_assert_almost_equal assert_equal assert_raises)r)rir) rir)rxri`r )iriri r@)ripri rir) iriri4rir) ri vriririric0tj|dS)Ngư>)tol)hermhermtrimxs i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_hermite.pytrimrs == %%c$eZdZdZdZdZdZy) TestConstantsc<ttjddgy)Nr )rr hermdomainselfs rtest_hermdomainzTestConstants.test_hermdomain$sT__r1g.rc:ttjdgy)Nr)rrhermzeror#s r test_hermzerozTestConstants.test_hermzero'sT]]QC(rc:ttjdgyNr )rrhermoner#s r test_hermonezTestConstants.test_hermone*sT\\A3'rc<ttjddgy)Nr?)rrhermxr#s r test_hermxzTestConstants.test_hermx-sTZZ!R)rN)__name__ __module__ __qualname__r%r(r,r0rrrr"s/)(*rrcXeZdZejdddZdZdZdZdZ dZ d Z y ) TestArithmeticdcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdz cc<t j dg|zdgzdg|zdgz}t t|t||yNAt i=, j=r rerr_msg)rangenpzerosmaxrhermaddrrr$ijmsgtgtress r test_hermaddzTestArithmetic.test_hermadd4q @A1X @aSQC(hhs1ay1}-A! A! llA37aS=1#'QC-@T#YS 3?  @ @rcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdzcc<t j dg|zdgzdg|zdgz}t t|t||yr;)rArBrCrDrhermsubrrrFs r test_hermsubzTestArithmetic.test_hermsub>rMrcttjdgdgttjdgddgtddD]:}dg|zdgz}dg|dz z|ddgz}ttj||<y)Nrr r.r<)rrhermmulxrA)r$rGserrJs r test_hermmulxzTestArithmetic.test_hermmulxHsT]]A3'!-T]]A3'!R1q! 2A#'QC-C#Q-1a*,C s+S 1 2rctdD]}dg|zdgz}tj|j|}tdD]}d|d|}dg|zdgz}tj|j|}tj||}tj|j|} t t |||zdzk(|t| ||z|y)Nr<rr r=r>r?)rArhermvalrhermmulrlenr) r$rGpol1val1rHrIpol2val2pol3val3s r test_hermmulzTestArithmetic.test_hermmulPsq DA37aS=D<<-D1X DaSQC(sQw!}||DFFD1||D$/||DFFD1D QUQY.4#D$+sC D DrcntdD]}tdD]}d|d|}dg|zdgz}dg|zdgz}tj||}tj||\}}tjtj|||} t t | t ||y)Nr<r=r>rr r?)rArrEhermdivrWrr) r$rGrHrIcicjrJquoremrKs r test_hermdivzTestArithmetic.test_hermdiv^sq @A1X @aSQC(S1Ws]S1Ws]ll2r*<<R0Sll4<<R#8#>T#YS 3? @ @rc VtdD]}tdD]}d|d|}tj|dz}ttj |g|ztj dg}t j||}tt|t||y)Nr<r=r>r r?) rArBarangerrrWarrayhermpowrr)r$rGrHrIcrJrKs r test_hermpowzTestArithmetic.test_hermpowisq @A1X @aSQC(IIa!e$T\\A37BHHaSMBll1a(T#YS 3?  @ @rN) r1r2r3rBlinspacerrLrPrTr_rfrlr4rrr6r61s9 B3A@@2 D @@rr6ceZdZejgdZej deeZej deeeZejjddzdz Z e e gdZ dZ d Zd Zd Zd Zy )TestEvaluation)g@?g?i,j->ij i,j,k->ijkr8r<r r )rpg@g@cttjgdgjdt j dd}t Dcgc]}t||}}tdD]8}d|}||}tj|dg|zdgz}t|||:tdD]}dg|z}t j|}ttj|dgj|ttj|ddgj|ttj|gd j|ycc}w) Nr rr! r=r?r8r )r rr) rrrVsizerBrmHlistrrArrCshape) r$rrkyrGrIrJrKdimss r test_hermvalzTestEvaluation.test_hermval}s$T\\"qc*//3 KKA $) *qWQ] * *r 7A!+CA$C,,q1#'QC-0C S# 6  7q AA37DA a!-33T : a!Q066 = a3994 @  A +s Ec|j\}}}|j\}}}tttj ||dd|j ||z}t j |||j }t||tjd} t j | | |j }t|jdk(yNr r r8) rryr ValueErrorr hermval2dc2drrBonesrrx r$x1x2x3y1y2y3rJrKzs rtest_hermval2dzTestEvaluation.test_hermval2dsVV BVV B j$.."b!fdhhG2gnnRTXX.C% GGFOnnQ488, V#$rc |j\}}}|j\}}}tttj |||dd|j ||z|z}t j ||||j }t||tjd} t j | | | |j }t|jdk(yr}) rryrrr hermval3dc3drrBrrrxrs rtest_hermval3dzTestEvaluation.test_hermval3dsVV BVV B j$.."b"Ra&$((K2glnnRR2C% GGFOnnQ1dhh/ V#$rch|j\}}}|j\}}}tjd||}t j |||j }t||tjd} t j | | |j }t|jdk(y)Nrqr~)r r8r r8) rryrBeinsumr hermgrid2drrrrrxrs rtest_hermgrid2dzTestEvaluation.test_hermgrid2dsVV BVV Bii 2r*oob"dhh/C% GGFOooaDHH- Z'(rcn|j\}}}|j\}}}tjd|||}t j ||||j }t||tjd} t j | | | |j }t|jdk(y)Nrrr~)r r8r r8r r8) rryrBrr hermgrid3drrrrrxrs rtest_hermgrid3dzTestEvaluation.test_hermgrid3dsVV BVV Bii b"b1oob"b$((3C% GGFOooaAtxx0 Z'(rN)r1r2r3rBric1drrrrandomrrryr{rrrrr4rrroross "((> "C "))IsC (C "))L#sC 0C  1$q(A< AA*%"%" ) )rroceZdZdZdZy) TestIntegralc 2 tttjdgdtttjdgdtttjdgdddgtttjdgdgtttjdgdgtttjdgdt dd D]6}dg|dz zdgz}tjdg|| }t |ddg8t d D]}|dz}dg|zdgz}|gdg|zzd|z gz}tj|}tj|d|g }tj|}t t|t|t d D]`}|dz}dg|zdgz}tj|}tj|d|gd }t tjd||bt d D]}|dz}dg|zdgz}|gdg|zzd|z gz}tj|}tj|d|gd }tj|}t t|t|t d D]~}t dd D]m} dg|zdgz}|dd}t | D]}tj|d }tj|| }t t|t|ot d D]}t dd D]} dg|zdgz}|dd}t | D]}tj|d|g }tj|| tt |  }t t|t|t d D]}t dd D]} dg|zdgz}|dd}t | D]}tj|d|gd }tj|| tt | d }t t|t|t d D]}t dd D]} dg|zdgz}|dd}t | D]}tj|d|gd }tj|| tt | d }t t|t|y)Nrr.r!r )lbnd)sclaxisr r<)mk)rrr)rrrr) r TypeErrorrhermintrrAr poly2herm herm2polyrrVlist) r$rGrrKrpolrJhermpolrrHs r test_hermintzTestIntegral.test_hermintsisB7j$,,R8j$,,QA?j$,,1#>j$,,!=is<q! .Aq1u #A,,sa1-C aW - . q 6Aa%C#'QC-C#a-1s7)+CnnS)Gll7aA37G..)C S 49 5 6q >Aa%C#'QC-CnnS)Gll7aA3R@G  R 91 =  >q 6Aa%C#'QC-C#a-1s7)+CnnS)Gll7aA3A>G..)C S 49 5 6q :A1a[ :cAgm!fq1A,,sa0C1ll3!,#DItCy9  : :q :A1a[ :cAgm!fq8A,,saA37C8ll3!tE!H~>#DItCy9  : :q :A1a[ :cAgm!fqAA,,saA3R@CAll3!tE!H~BG#DItCy9  : :q :A1a[ :cAgm!fq?A,,saA3A>C?ll3!tE!H~1E#DItCy9  : :rc tjjd}tj|jDcgc]}t j |c}j}t j |d}t ||tj|Dcgc]}t j |c}}t j |d}t ||tj|Dcgc]}t j |dc}}t j |dd}t ||ycc}wcc}wcc}w)Nr8r rrr r8)r)rr)rBrvstackTrrrr$rrkrJrKs rtest_hermint_axiszTestIntegral.test_hermint_axis&siiv&ii#%%8Qa89;;ll3Q'C%ii#6Qa67ll3Q'C%iis;!a1-;<ll3!!,C%97.fsA;!a%( (rc|dz|dzzdzS)Nr r r r4rs rf2z$TestFitting.test_hermfit..f2sa4!Q$;? "rr r!rr )w)r r!rr8r )rr r r8r<)rr r r8r )r r8r r r)r y?r!yr.)rr r )rrrhermfitrrBrmrrXrrVrir zeros_likecopy)r$rrrrycoef3coef4coef2drywwcoef3wcoef2dcoef1coef2s r test_hermfitzTestFitting.test_hermfits ) # j$,,aS"=iuqc1=irA3:isqcUGQ?i1vsA>isQFA>isQCseDisQCq!fEj$,,aS2%@j$,,aS*EisQC< KK1  aD Q1%SZ#DLLE2A6 Q<0SZ#DLLE2A6 Q1%SZ#DLLE2A6 Q?3SZ#DLLE2A6 Q?3SZ#DLLE2A6a1a&!1!3!3Q7FBHHeU^$<$>$>?a1a&!1!3!3\BFBHHeU^$<$>$>? MM!  VVX!$Q$!$Q$aQ!,FE*a\Q7FE*,,q"((B8"4"6"6Q?GRXXuen%=%?%?@,,q"((B8"4"6"6 JGRXXuen%=%?%?@ DLLAq1Ar7;DLLA1v6B@ KKA  qE Q1%DLLE2A6 Q9-DLLE2A6E5)rN)r1r2r3rr4rrrrsH*rrceZdZdZdZdZy) TestCompanionctttjgtttjdgyr*)rrr hermcompanionr#s r test_raiseszTestCompanion.test_raisess(j$"4"4b9j$"4"4qc:rctddD]9}dg|zdgz}ttj|j||fk(;y)Nr r<r)rArrrrx)r$rGrs rtest_dimensionszTestCompanion.test_dimensionssJq! >A37aS=D D&&t,22q!f< = >rcPttjddgddk(y)Nr r )rrgп)rrrr#s rtest_linear_rootzTestCompanion.test_linear_roots#""Aq6*40D89rN)r1r2r3rrrr4rrrrs;> :rrceZdZdZy) TestGaussctjd\}}tj|d}tj|j |z|}dtj |jz }|dddf|z|z}t|tjdtj tj}t|j|y)Nr9cr ) r hermgaussrrBrrsqrtdiagonalreyepisum)r$rrrvvvdrJs rtest_100zTestGauss.test_100s~~c"1 OOAr " VVACC!GQ  ' ' 4[2  "Bs ,ggbeenAEEGS)rN)r1r2r3rr4rrrrs*rrc6eZdZdZdZdZdZdZdZdZ y) TestMiscc tjg}tt|dgt ddD]}t j t jt j dd|zdzddd}tj|}tj||}d}tt||dzk(ttj|ddt||y)Nr r<rr r!) r hermfromrootsrrrArBcosrmrrVrrXr)r$rKrGrootsrrJs rtest_hermfromrootszTestMisc.test_hermfromrootss  $DIs+q! *AFF2;;vq!a%!)r"sc''/RXXqc] RXXq!f RXXj RXXn RXX!" RXX&' RXX,- RXX34 RXX;< RXX?@ RRRRR0& * *?@?@D[)[)|c&c&L%&%&P-)-)`J*J*Z : :**&0&0&r