K iDrdZddlmZddlZddlmcmZddl m Z ddl m Z m Z mZmZej dgdz Zej ddgdz Zej gdd z Zej gd d z Zej gd d z Zej gddz Zej gddz ZeeeeeeegZdZGddZGddZGddZGddZGddZGddZGdd Z Gd!d"Z!Gd#d$Z"Gd%d&Z#y)'zTests for laguerre module. )reduceN)polyval)assert_assert_almost_equal assert_equal assert_raises)r r )i r r )iHir r)xiiXi8r r)i iiiir rc0tj|dS)Ngư>)tol)laglagtrimxs j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_laguerre.pytrimrs ;;qd ##c$eZdZdZdZdZdZy) TestConstantsc<ttjddgy)Nrr )rr lagdomainselfs rtest_lagdomainzTestConstants.test_lagdomain!sS]]QF+rc:ttjdgy)Nr)rrlagzeror!s r test_lagzerozTestConstants.test_lagzero$sS[[1#&rc:ttjdgyNr )rrlagoner!s r test_lagonezTestConstants.test_lagone'sSZZ!%rc<ttjddgy)Nr r )rrlagxr!s r test_lagxzTestConstants.test_lagx*sSXX2w'rN)__name__ __module__ __qualname__r#r&r*r-rrrrs,'&(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)rangenpzerosmaxrlagaddrrr"ijmsgtgtress r test_lagaddzTestArithmetic.test_lagadd1q @A1X @aSQC(hhs1ay1}-A! A! jj!qA3a1# >T#YS 3?  @ @rcXtdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdzcc<t j dg|zdgzdg|zdgz}t t|t||yr8)r>r?r@rArlagsubrrrCs r test_lagsubzTestArithmetic.test_lagsub;rJrc2ttjdgdgttjdgddgtddD]E}dg|zdgz}dg|dz z| d|zdz|dz gz}t tj||Gy)Nrr r r9r )rrlagmulxr>r)r"rDserrGs r test_lagmulxzTestArithmetic.test_lagmulxEsS[[!%s+S[[!%2w/q! 7A#'QC-C#Q-A2q1uqyAE(";;C  C 0# 6 7rctdD]}dg|zdgz}tj|j|}tdD]}d|d|}dg|zdgz}tj|j|}tj||}tj|j|} t t |||zdzk(|t| ||z|y)Nr9rr r:r;r<)r>rlagvalrlagmulrlenr) r"rDpol1val1rErFpol2val2pol3val3s r test_lagmulzTestArithmetic.test_lagmulMsq DA37aS=D::dffd+D1X DaSQC(sQw!}zz$&&$/zz$-zz$&&$/D QUQY.4#D$+sC D DrcntdD]}tdD]}d|d|}dg|zdgz}dg|zdgz}tj||}tj||\}}tjtj|||} t t | t ||y)Nr9r:r;rr r<)r>rrBlagdivrTrr) r"rDrErFcicjrGquoremrHs r test_lagdivzTestArithmetic.test_lagdiv[sq GA1X GaSQC(S1Ws]S1Ws]jjR(::c2.SjjC!4c:#DItCy#F G Grc VtdD]}tdD]}d|d|}tj|dz}ttj |g|ztj dg}t j||}tt|t||y)Nr9r:r;r r<) r>r?arangerrrTarraylagpowrr)r"rDrErFcrGrHs r test_lagpowzTestArithmetic.test_lagpowfsq @A1X @aSQC(IIa!e$SZZ!q"((A3-@jjA&T#YS 3?  @ @rN) r.r/r0r?linspacerrIrMrQr\rcrir1rrr3r3.s9 B3A@@7 D G@rr3ceZdZejgdZej deeZej deeeZejjddzdz Z e e gdZ dZ d Zd Zd Zd Zy )TestEvaluation)g"@g,g@i,j->ij i,j,k->ijkr5r9r r )?g@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<r5r )r rr) rrrSsizer?rjLlistrr>rr@shape) r"rrhyrDrFrGrHdimss r test_lagvalzTestEvaluation.test_lagvalzs"SZZQC(--q1 KKA $) *qWQ] * *q 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 r5) rrvr ValueErrorrlagval2dc2drr?onesrru r"x1x2x3y1y2y3rGrHzs r test_lagval2dzTestEvaluation.test_lagval2dsVV BVV B j#,,BrFDHHE2gll2r488,C% GGFOll1a* V#$rc |j\}}}|j\}}}tttj |||dd|j ||z|z}t j ||||j }t||tjd} t j | | | |j }t|jdk(yrz) rrvrr|rlagval3dc3drr?rrrurs r test_lagval3dzTestEvaluation.test_lagval3dsVV BVV B j#,,B2AI2glll2r2txx0C% GGFOll1aDHH- V#$rch|j\}}}|j\}}}tjd||}t j |||j }t||tjd} t j | | |j }t|jdk(y)Nrmr{)r r5r r5) rrvr?einsumr laggrid2dr~rrrrurs rtest_laggrid2dzTestEvaluation.test_laggrid2dsVV BVV Bii 2r*mmBDHH-C% GGFOmmAq$((+ Z'(rcn|j\}}}|j\}}}tjd|||}t j ||||j }t||tjd} t j | | | |j }t|jdk(y)Nrnr{)r r5r r5r r5) rrvr?rr laggrid3drrrrrurs rtest_laggrid3dzTestEvaluation.test_laggrid3dsVV BVV Bii b"b1mmBB1C% GGFOmmAq!TXX. Z'(rN)r.r/r0r?rfc1drr~rrandomrrrvrxrrrrr1rrrlrlps "((> "C "))IsC (C "))L#sC 0C  1$q(A< A?*%"%" ) )rrlceZdZdZdZy) 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 r9)mk)rrr)rrrr) r TypeErrorrlagintr|r>rpoly2laglag2polyrrSlist) r"rDrrHrpolrGlagpolrrEs r test_lagintzTestIntegral.test_lagintsiaS"5j#**qc26j#**qc1q!f=j#**qc<j#**qcs;iaSr:q! .Aq1u #A**aSA+C aW - . 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!!rrrr)r"rDrGrHrEs r test_lagderzTestDerivative.test_lagder6sFiaS"5j#**qc26q /A#'QC-C**SA&C cDI . / q :A1a[ :cAgmjjC1!5;#DItCy9 : :q :A1a[ :cAgmjjC1!!<rJ#DItCy9 : :rctjjd}tj|jDcgc]}t j |c}j}t j |d}t ||tj|Dcgc]}t j |c}}t j |d}t ||ycc}wcc}w)Nrrrr )r?rrrrrrrs rtest_lagder_axiszTestDerivative.test_lagder_axisOsiiv&ii61A6799jj1%C%ii41A45jj1%C% 75s C' C,N)r.r/r0rrr1rrrr4s :2 &rrc`eZdZejj ddzdz ZdZdZdZy) TestVanderror r ctjd}tj|d}t |j dk(t dD]1}dg|zdgz}t|d|ftj||3tjddgddgdd gg}tj|d}t |j d k(t dD]1}dg|zdgz}t|d|ftj||3y) Nr5rrrr .r r9r )r5r r) r?rer lagvanderrrur>rrSrf)r"rvrDcoefs rtest_lagvanderzTestVander.test_lagvander`s IIaL MM!Q 6!"q @A37aS=D #q& 3::a+> ? @ HHq!fq!fq!f- . MM!Q 9$%q @A37aS=D #q& 3::a+> ? @rc|j\}}}tjjd}tj||ddg}tj |||}tj ||j}t||tj|g|gddg}t|jdk(y)Nr{r r )r r9r ) rr?rr lagvander2dr}dotflatrrrur"rrrrhvanrGrHs rtest_lagvander2dzTestVander.test_lagvander2dqsVV B II  V $oob"q!f-ll2r1%ffS!&&!C%oordRD1a&1 Y&'rc|j\}}}tjjd}tj|||gd}tj ||||}tj ||j}t||tj|g|g|ggd}t|jdk(y)N)r r5r)r r r5)r r9r) rr?rr lagvander3drrrrrrurs rtest_lagvander3dzTestVander.test_lagvander3d~sVV B II  Y 'oob"b)4ll2r2q)ffS!&&!C%oordRD2$ : Z'(rN) r.r/r0r?rrrrrr1rrrr\s0  1$q(A@" ( )rrceZdZdZy) TestFittingc  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|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||ddgddgy)Nc||dz z|dz zS)Nr r r1rs rfz"TestFitting.test_lagfit..fsA;!a%( (rr r rr )w)r r r r5r)rr r r5r9)rr r r5r)r y?r y)rr|rlagfitrr?rjrrUrrSrfr zeros_likecopy) r"rrrvcoef3coef4coef2drywwcoef3wcoef2ds r test_lagfitzTestFitting.test_lagfits ) 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!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/!R9CJJq!aV4q"g>rN)r.r/r0rr1rrrrs9?rrceZdZdZdZdZy) TestCompanionctttjgtttjdgyr()rr|r lagcompanionr!s r test_raiseszTestCompanion.test_raisess(j#"2"2B7j#"2"2QC8rctddD]9}dg|zdgz}ttj|j||fk(;y)Nr r9r)r>rrrru)r"rDrs rtest_dimensionszTestCompanion.test_dimensionssJq! r?cosrjpirSrrUr)r"rHrDrootsrrGs rtest_lagfromrootszTestMisc.test_lagfromrootssr"DIs+q! *AFF2;;vq!a%!)r?rjrr)r"rDrGrHs r test_lagrootszTestMisc.test_lagrootssCLL!-r2CLL!Q01#6q! 6A++aA&C,,s//45C S 49 5 6rcgd}tttj|dt tj||ddt tj|d|ddt tj|ddgy)N)r r r rr r r4r r)rr|rrr)r"rs r test_lagtrimzTestMisc.test_lagtrimsh j#++tR8 S[[&Sb 2S[[q)495S[[q)A3/rcHttjddddgy)Nr5rrrr )rrlagliner!s r test_laglinezTestMisc.test_lagline sS[[A&B0rctdD]0}ttjdg|zdgzt|2yNrrrr )r>rrrrtr"rDs r test_lag2polyzTestMisc.test_lag2polys:q GA  aS1Ws] ;U1X F GrctdD]0}ttjt|dg|zdgz2yr)r>rrrrtrs r test_poly2lagzTestMisc.test_poly2lags:q GA  U1X 6a1# F Grctjddd}tj| }tj|}t ||y)Nr )r?rjexpr lagweightr)r"rrGrHs r test_weightzTestMisc.test_weights; KK2r "ffaRjmmAC%rN) r.r/r0rrrrrrrr1rrrrs' *6 01GG&rr)$__doc__ functoolsrnumpyr?numpy.polynomial.laguerre polynomiallaguerrernumpy.polynomial.polynomialr numpy.testingrrrrrfL0L1L2L3L4L5L6rtrrr3rlrrrrrrrr1rrrsK''/RXXqc]Q RXXq"g RXXjA RXXo" RXX#$r) RXX,-3 RXX45; RRR$$ ( (?@?@D[)[)|c&c&L%&%&P-)-)`;?;?| 7 7**&0&0&r