K iuI dZddlmZddlZddlmcmZddl m Z ddl m Z m Z mZmZej dgZej ddgZej gddz Zej gd dz Zej gd d z Zej gd d z Zej gd dz Zej gddz Zej gddz Zej gddz Zeeeeeeeeeeg ZdZGddZGddZGddZGddZ GddZ!GddZ"Gd d!Z#Gd"d#Z$Gd$d%Z%Gd&d'Z&y)(zTests for legendre module. )reduceN)polyval)assert_assert_almost_equal assert_equal assert_raises)r)rr)r rir#)rrir?)ririr)rir;riKri) rriririri#) rrriribFritri{/c0tj|dS)Ngư>)tol)leglegtrimxs j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_legendre.pytrimr s ;;qd ##c$eZdZdZdZdZdZy) TestConstantsc<ttjddgy)Nr r )rr legdomainselfs rtest_legdomainzTestConstants.test_legdomain$sS]]RG,r!c:ttjdgy)Nr)rrlegzeror&s r test_legzerozTestConstants.test_legzero'sS[[1#&r!c:ttjdgyNr )rrlegoner&s r test_legonezTestConstants.test_legone*sSZZ!%r!c<ttjddgy)Nrr )rrlegxr&s r test_legxzTestConstants.test_legx-sSXX1v&r!N)__name__ __module__ __qualname__r(r+r/r2r!rr#r#"s-'&'r!r#cXeZdZejdddZdZdZdZdZ dZ d Z y ) TestArithmeticr r dcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdz cc<t j dg|zdgzdg|zdgz}t t|t||yNrAt i=, j=r rerr_msg)rangenpzerosmaxrlegaddrr r'ijmsgtgtress r test_legaddzTestArithmetic.test_legadd4q @A1X @aSQC(hhs1ay1}-A! A! jj!qA3a1# >T#YS 3?  @ @r!cXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdzcc<t j dg|zdgzdg|zdgz}t t|t||yr;)r@rArBrCrlegsubrr rEs r test_legsubzTestArithmetic.test_legsub>rLr!c>ttjdgdgttjdgddgtddD]K}d|zdz}dg|zdgz}dg|dz z||z d|dz|z gz}ttj||My)Nrr rr )rrlegmulxr@)r'rFtmpserrIs r test_legmulxzTestArithmetic.test_legmulxHsS[[!%s+S[[!%1v.q! 0Aa%!)C#'QC-C#Q-1s7AA}"==C S)3 /  0r!ctdD]}dg|zdgz}tj|j|}tdD]}d|d|}dg|zdgz}tj|j|}tj||}tj|j|} t t |||zdzk(|t| ||z|y)Nrrr r<r=r>)r@rlegvalrlegmulrlenr) r'rFpol1val1rGrHpol2val2pol3val3s r test_legmulzTestArithmetic.test_legmulQsq DA37aS=D::dffd+D1X DaSQC(sQw!}zz$&&$/zz$-zz$&&$/D QUQY.4#D$+sC D Dr!cntdD]}tdD]}d|d|}dg|zdgz}dg|zdgz}tj||}tj||\}}tjtj|||} t t | t ||y)Nrr<r=rr r>)r@rrDlegdivrWrr ) r'rFrGrHcicjrIquoremrJs r test_legdivzTestArithmetic.test_legdiv_sq @A1X @aSQC(S1Ws]S1Ws]jjR(::c2.SjjC!4c:T#YS 3? @ @r!c VtdD]}tdD]}d|d|}tj|dz}ttj |g|ztj dg}t j||}tt|t||y)Nrr<r=r r>) r@rAarangerrrWarraylegpowrr )r'rFrGrHcrIrJs r test_legpowzTestArithmetic.test_legpowjsq @A1X @aSQC(IIa!e$SZZ!q"((A3-@jjA&T#YS 3?  @ @r!N) r3r4r5rAlinspacerrKrOrTr_rfrlr6r!rr8r81s9 B3A@@0 D @@r!r8ceZdZejgdZej deeZej deeeZejjddzdz Z e e gdZ dZ d Zd Zd Zd Zy )TestEvaluation)@rprpi,j->ij i,j,k->ijkr rr r )?rpg@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>r r )r rr) rrrVsizerArmLlistrr@rrBshape) r'rrkyrFrHrIrJdimss r test_legvalzTestEvaluation.test_legval~s"SZZQC(--q1 KKA $) *qWQ] * *r 7A!+CA$C**Qa1# .C S# 6  7q ?A37DA As+114 8 A1v.44d ; Ay177 >  ? +s Ec|j\}}}|j\}}}tttj ||dd|j ||z}t j |||j }t||tjd} t j | | |j }t|jdk(yNr r r ) rrzr ValueErrorrlegval2dc2drrAonesrry r'x1x2x3y1y2y3rIrJzs r test_legval2dzTestEvaluation.test_legval2dsVV BVV B j#,,BrFDHHE2gll2r488,C% GGFOll1a* V#$r!c |j\}}}|j\}}}tttj |||dd|j ||z|z}t j ||||j }t||tjd} t j | | | |j }t|jdk(yr~) rrzrrrlegval3dc3drrArrryrs r test_legval3dzTestEvaluation.test_legval3dsVV BVV B j#,,B2AI2glll2r2txx0C% GGFOll1aDHH- V#$r!ch|j\}}}|j\}}}tjd||}t j |||j }t||tjd} t j | | |j }t|jdk(y)Nrqr)r r r r ) rrzrAeinsumr leggrid2drrrrryrs rtest_leggrid2dzTestEvaluation.test_leggrid2dsVV BVV Bii 2r*mmBDHH-C% GGFOmmAq$((+ Z'(r!cn|j\}}}|j\}}}tjd|||}t j ||||j }t||tjd} t j | | | |j }t|jdk(y)Nrrr)r r r r r r ) rrzrArr leggrid3drrrrryrs rtest_leggrid3dzTestEvaluation.test_leggrid3dsVV BVV Bii b"b1mmBB1C% GGFOmmAq!TXX. Z'(r!N)r3r4r5rAric1drrrrandomrrrzr|rrrrr6r!rrorots "((< C "))IsC (C "))L#sC 0C  1$q(A< A?*%"%" ) )r!roceZdZdZdZdZy) 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)Nr?r r )lbnd)sclaxisr r)mk)rrr)rrrr) r TypeErrorrlegintrr@rpoly2legleg2polyr rVlist) r'rFrrJrpolrIlegpolrrGs r test_legintzTestIntegral.test_legintsiaS"5j#**qc26j#**qc1q!f=j#**qc<j#**qcs;iaSr:q! -Aq1u #A**aSA+C aV , - q 6Aa%C#'QC-C#a-1s7)+C\\#&FZZ!s3F,,v&C S 49 5 6q ;Aa%C#'QC-C\\#&FZZ!sC?jjT%(^"E#DItCy9  : :q :A1a[ :cAgm!fq=A**SA!! ? @ HHq!fq!fq!f- . MM!Q 9$%q @A37aS=D #q& 3::a+> ? @r!c|j\}}}tjjd}tj||ddg}tj |||}tj ||j}t||tj|g|gddg}t|jdk(y)Nrr r )r rr) rrArr legvander2drdotflatrrryr'rrrrkvanrIrJs rtest_legvander2dzTestVander.test_legvander2d{sVV B II  V $oob"q!f-ll2r1%ffS!&&!C%oordRD1a&1 Y&'r!c|j\}}}tjjd}tj|||gd}tj ||||}tj ||j}t||tj|g|g|ggd}t|jdk(y)N)r r rr)r r) rrArr legvander3drrrrrryrs rtest_legvander3dzTestVander.test_legvander3dsVV B II  Y 'oob"b)4ll2r2q)ffS!&&!C%oordRD2$ : Z'(r!cDtttjddy)Nrr )rrrrr&s rtest_legvander_negdegz TestVander.test_legvander_negdegsj#--B?r!N) r3r4r5rArrrrrrr6r!rrrfs6  1$q(A@" ( )@r!rceZdZdZy) TestFittingc V d}d}tttjdgdgdtttjdggdgdtttjgdgdtttjdgdgggdtttjddgdgdtttjdgddgdtttjdgdgddggtttjdgdgdddgtttjdgdgdgtttjdgdggdtttjdgdggt j dd}||}tj||d }tt|d ttj|||tj||gd }tt|d ttj|||tj||d }tt|d ttj|||tj||gd }tt|d ttj|||tj||gd}tt|d ttj|||tj|t j||gjd }t|t j||gjtj|t j||gjgd }t|t j||gjt j|}|j} d|ddd<d|ddd<tj|| d |} t| |tj|| gd |} t| |tj|t j| | gjd |} t| t j||gjtj|t j| | gjgd |} t| t j||gjgd}ttj||dddgttj||ddgddgt j dd}||}tj||d } ttj|| |tj||gd} ttj|| |t| | y)Nc||dz z|dz zS)Nr r r6rs rfz"TestFitting.test_legfit..fsA;!a%( (r!c|dz|dzzdzS)Nrr r r6rs rf2z#TestFitting.test_legfit..f2sa4!Q$;? "r!r r rr )w)r r rr r)rr r r r)rr r r r)r r rr r)r y?r y)rr r)rrrlegfitrrArmrrXrrVrir zeros_likecopy)r'rrrrzcoef3coef4coef2drywwcoef3wcoef2dcoef1coef2s r test_legfitzTestFitting.test_legfits ) # j#**qcA3;iqcUQC;iR!a8iaSQC5'1=iaVaS!<iaS1a&!<iaS1#qaSEBiaS1#qQFCj#**qcA3>j#**qcA3 CiaS1#r: KK1  aD 1a#SZ#CJJq%0!4 1a.SZ#CJJq%0!4 1a#SZ#CJJq%0!4 1a1SZ#CJJq%0!4 1a1SZ#CJJq%0!4ArxxA/1115FBHHeU^$<$>$>?ArxxA/11<@FBHHeU^$<$>$>? MM!  VVX!$Q$!$Q$Ar1*FE*Ar<15FE***Q"b 2 4 4a1=GRXXuen%=%?%?@**Q"b 2 4 4laHGRXXuen%=%?%?@ CJJq!Q/!Q8CJJq!aV4q!f= KKA  qE 1a#CJJq%0!4 1a+CJJq%0!4E5)r!N)r3r4r5rr6r!rrrsH*r!rceZdZdZdZdZy) TestCompanionctttjgtttjdgyr-)rrr legcompanionr&s r test_raiseszTestCompanion.test_raisess(j#"2"2B7j#"2"2QC8r!ctddD]9}dg|zdgz}ttj|j||fk(;y)Nr rr)r@rrrry)r'rFrs rtest_dimensionszTestCompanion.test_dimensionssJq! r.s''/RXXqc] RXXq!f RXXjA RXXmq  RXX !A% RXX$%) RXX+,r1 RXX/025 RXX9:S@ RXX?@3F RRRRR0$ ' '@@@@F[)[)|f:f:R),),V0@0@fJ*J*Z 7 7**&3&3&r!