bgH dZddlmZddlZddlmcmZddl m Z ddl m Z m Z mZmZejdgZejddgZejgddz Zejgd dz Zejgd d z Zejgd d z Zejgd dz Zejgddz Zejgddz Zejgddz Zeeeeeeeeeeg ZdZGddZGddZGddZGddZ GddZ!GddZ"Gd d!Z#Gd"d#Z$Gd$d%Z%Gd&d'Z&dS)(zTests for legendre module. )reduceNpolyval)assert_almost_equal assert_raises assert_equalassert_)r)rr)r rir#)rrir?)ririr)rir;riKri) rriririri#) rrriribFritri{/c.tj|dS)Ngư>)tol)leglegtrimxs w/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/polynomial/tests/test_legendre.pytrimr!s ;qd # # ##c&eZdZdZdZdZdZdS) TestConstantsc>ttjddgdS)Nr r )rr legdomainselfs r test_legdomainzTestConstants.test_legdomain!sS]RG,,,,,r"c<ttjdgdS)Nr)rrlegzeror's r test_legzerozTestConstants.test_legzero$sS[1#&&&&&r"c<ttjdgdSNr )rrlegoner's r test_legonezTestConstants.test_legone'sSZ!%%%%%r"c>ttjddgdS)Nrr )rrlegxr's r test_legxzTestConstants.test_legx*sSX1v&&&&&r"N)__name__ __module__ __qualname__r)r,r0r3r"r r$r$sP---'''&&&'''''r"r$cVeZdZejdddZdZdZdZdZ dZ d Z d S) TestArithmeticr r dctdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdz cc<t jdg|zdgzdg|zdgz}t t|t||dSNrAt i=, j=r rerr_msg)rangenpzerosmaxrlegaddrr!r(ijmsgtgtress r test_legaddzTestArithmetic.test_legadd1q @ @A1XX @ @(a((Q((hs1ayy1}--A! A! j!Q!qc!eqck::T#YYS 3?????  @ @ @r"ctdD]}tdD]}d|d|}tjt||dz}||xxdz cc<||xxdzcc<t jdg|zdgzdg|zdgz}t t|t||dSr<)rArBrCrDrlegsubrr!rFs r test_legsubzTestArithmetic.test_legsub;rMr"cVttjdgdgttjdgddgtddD]N}d|zdz}dg|zdgz}dg|dz z||z d|dz|z gz}ttj||OdS)Nrr rr )rrlegmulxrA)r(rGtmpserrJs r test_legmulxzTestArithmetic.test_legmulxEsS[!%%s+++S[!%%1v...q! 0 0AA#'C#a%1#+C#q1u+3AE3; 77C S))3 / / / /  0 0r"ctdD]}dg|zdgz}tj|j|}tdD]}d|d|}dg|zdgz}tj|j|}tj||}tj|j|} t t |||zdzk|t| ||z|dS)Nrrr r=r>r?)rArlegvalrlegmulr lenr) r(rGpol1val1rHrIpol2val2pol3val3s r test_legmulzTestArithmetic.test_legmulNsq B BA3q5A3;D:dfd++D1XX B B(a((Q((s1us{z$&$//z$--z$&$//D QUQY.444#D$t)SAAAAA B B Br"ctdD]}tdD]}d|d|}dg|zdgz}dg|zdgz}tj||}tj||\}}tjtj|||} t t | t ||dS)Nrr=r>rr r?)rArrElegdivrXrr!) r(rGrHrIcicjrJquoremrKs r test_legdivzTestArithmetic.test_legdiv\sq @ @A1XX @ @(a((Q((SUaS[SUaS[jR((:c2..SjC!4!4c::T#YYS 3????? @ @ @r"c rtdD]}tdD]}d|d|}tj|dz}ttj|g|ztjdg}t j||}tt|t||dS)Nrr=r>r r?) rArBarangerrrXarraylegpowrr!)r(rGrHrIcrJrKs r test_legpowzTestArithmetic.test_legpowgsq @ @A1XX @ @(a((Q((Ia!e$$SZ!Q! >>jA&&T#YYS 3?????  @ @ @r"N) r4r5r6rBlinspacerrLrPrUr`rgrmr7r"r r9r9.s B3A@@@@@@000 B B B @ @ @@@@@@r"r9ceZdZejgdZejdeeZejdeeeZej ddzdz Z e e gdZ dZ d Zd Zd Zd Zd S)TestEvaluation)@rqrqi,j->ij i,j,k->ijkr rr r )?rqg@cttjgdgjdt jddfdt D}tdD]>}d|}||}tjdg|zdgz}t|||?tdD]}d g|z}t j |ttjdgj |ttjddgj |ttjgd j |dS) Nr rr c0g|]}t|Sr7r).0rlrs r z.TestEvaluation.test_legval..s! * * *qWQ]] * * *r" r=r?r r )r rr) rrrWsizerBrnLlistrArrCshape)r(yrGrIrJrKdimsrs @r test_legvalzTestEvaluation.test_legval{sQSZQC((-q111 KA   * * * *E * * *r 7 7A!++CA$C*QA ,,C S# 6 6 6 6 6q ? ?A3q5DA As++14 8 8 8 A1v..4d ; ; ; Ayyy117 > > > >  ? ?r"c~|j\}}}|j\}}}tttj||dd|j||z}t j|||j}t||tj d} t j| | |j}t|j dkdSNr r r ) rr~r ValueErrorrlegval2dc2drrBonesr r} r(x1x2x3y1y2y3rJrKzs r test_legval2dzTestEvaluation.test_legval2dsV BV B j#,BrrFDHEEEel2r48,,C%%% GFOOl1a** V#$$$$$r"c |j\}}}|j\}}}tttj|||dd|j||z|z}t j||||j}t||tj d} t j| | | |j}t|j dkdSr) rr~rrrlegval3dc3drrBrr r}rs r test_legval3dzTestEvaluation.test_legval3dsV BV B j#,B2A2IIIeBhl2r2tx00C%%% GFOOl1aDH-- V#$$$$$r"cB|j\}}}|j\}}}tjd||}t j|||j}t||tjd} t j| | |j}t|j dkdS)Nrrr)r r r r ) rr~rBeinsumr leggrid2drrrr r}rs r test_leggrid2dzTestEvaluation.test_leggrid2dsV BV Bi 2r**mBDH--C%%% GFOOmAq$(++ X%&&&&&r"cH|j\}}}|j\}}}tjd|||}t j||||j}t||tjd} t j| | | |j}t|j dkdS)Nrsr)r r r r r r ) rr~rBrr leggrid3drrrr r}rs r test_leggrid3dzTestEvaluation.test_leggrid3dsV BV Bi b"b11mBB11C%%% GFOOmAq!TX.. X%&&&&&r"N)r4r5r6rBrjc1drrrrandomrrr~rrrrrr7r"r rprpqs "(<<< C ")IsC ( (C ")L#sC 0 0C   "Q&A<<<  A???*%%%"%%%" ' ' ' ' ' ' ' 'r"rpc eZdZdZdZdZdS) TestIntegralc T tttjdgdtttjdgdtttjdgdddgtttjdgdgtttjdgdgtttjdgdt dd D]9}dg|dz zdgz}tjdg|| }t |ddg:t d D]}|dz}dg|zdgz}|gdg|zzd|z gz}tj|}tj|d|g }tj|}t t|t|t d D]a}|dz}dg|zdgz}tj|}tj|d|gd }t tj d||bt d D]}|dz}dg|zdgz}|gdg|zzd|z gz}tj|}tj|d|gd }tj|}t t|t|t d D]}t dd D]~} dg|zdgz}|dd}t | D]}tj|d }tj|| }t t|t|t 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|dS)Nr?r r )lbnd)sclaxisr r)mk)rrr)rrrr) r TypeErrorrlegintrrArpoly2legleg2polyr!rWlist) r(rGrrKrpolrJlegpolrrHs r test_legintzTestIntegral.test_legintsiaS"555j#*qc2666j#*qc1q!f===j#*qc<<<<j#*qcs;;;;iaSr::::q! - -AQU qc!A*aSA+++C aV , , , ,q 6 6Aa%C#a%1#+C#A+3'C\#&&FZ!s333F,v&&C S 499 5 5 5 5q ; ;Aa%C#a%1#+C\#&&FZ!s<<>>CCjT%((^^"EEE#DIItCyy9999  :q : :A1a[[ : :c!eqck!!!fq==A*SA!!<<.( 6661A666r"rrc6g|]}tj|Sr7rrs r ryz1TestIntegral.test_legint_axis.., 4441A444r"r c:g|]}tj|dS)r )rrrs r ryz1TestIntegral.test_legint_axis..0s'999A+++999r"r )rr)rBrvstackTrrrr(rrJrKs r test_legint_axiszTestIntegral.test_legint_axis$siv&&i66666779j1%%%C%%%i4444455j1%%%C%%%i99S999::j***C%%%%%r"cLttjddddS)Nr r r r)rrrr's r test_legint_zerointordz#TestIntegral.test_legint_zerointord4s$SZ 1--y99999r"N)r4r5r6rrrr7r"r rrsEQ:Q:Q:f&&& :::::r"rc eZdZdZdZdZdS)TestDerivativec Vtttjdgdtttjdgdt dD]L}dg|zdgz}tj|d}t t|t|Mt dD]s}t ddD]`}dg|zdgz}tjtj|||}tt|t|att dD]u}t ddD]b}dg|zdgz}tjtj||d|d}tt|t|cvdS) Nrrr rr rr )rr) rrrlegderrrArr!rr)r(rGrJrKrHs r test_legderzTestDerivative.test_legder:siaS"555j#*qc2666q / /A#a%1#+C*SA&&&C cDII . . . .q : :A1a[[ : :c!eqckjC1!5!5!5;;;#DIItCyy9999 : q : :A1a[[ : :c!eqckjC1!!.Wrr"rrc6g|]}tj|Sr7rrs r ryz3TestDerivative.test_legder_axis..[rr"r )rBrrrrrrrs r test_legder_axiszTestDerivative.test_legder_axisSsiv&&i66666779j1%%%C%%%i4444455j1%%%C%%%%%r"cRd}ttj|ddgdS)N)r r r rrr)rrr)r(rls r test_legder_orderhigherthancoeffz/TestDerivative.test_legder_orderhigherthancoeff_s+ SZ1%%s+++++r"N)r4r5r6rrrr7r"r rr8sA:::2 & & &,,,,,r"rcfeZdZejddzdz ZdZdZdZdZ dS) TestVanderrtr r c8tjd}tj|d}t |jdkt dD]7}dg|zdgz}t|d|ftj||8tj ddgddgdd gg}tj|d}t |jd kt dD]7}dg|zdgz}t|d|ftj||8dS) Nr rrrr .r r)r r r) rBrir legvanderr r}rArrWrj)r(rvrGcoefs r test_legvanderzTestVander.test_legvandergs) IaLL M!Q  6!"""q @ @A3q5A3;D #q& 3:a+>+> ? ? ? ? Hq!fq!fq!f- . . M!Q  9$%%%q @ @A3q5A3;D #q& 3:a+>+> ? ? ? ? @ @r"cn|j\}}}tjd}tj||ddg}tj|||}tj||j}t||tj|g|gddg}t|j dkdS)Nrr r )r rr) rrBrr legvander2drdotflatrr r}r(rrrrlvanrJrKs r test_legvander2dzTestVander.test_legvander2dxsV B I  V $ $ob"q!f--l2r1%%fS!&!!C%%%ordRD1a&11 Y&'''''r"cv|j\}}}tjd}tj|||gd}tj||||}tj||j}t||tj|g|g|ggd}t|j dkdS)N)r r rr)r r) rrBrr legvander3drrrrr r}rs r test_legvander3dzTestVander.test_legvander3dsV B I  Y ' 'ob"b)))44l2r2q))fS!&!!C%%%ordRD2$ :: Z'(((((r"cHtttjdddS)Nrr )rrrrr's r test_legvander_negdegz TestVander.test_legvander_negdegsj#-B?????r"N) r4r5r6rBrrrrrrr7r"r rrcsw   "Q&A@@@" ( ( ( ) ) )@@@@@r"rceZdZdZdS) TestFittingc  d}d}tttjdgdgdtttjdggdgdtttjgdgdtttjdgdgggdtttjddgdgdtttjdgddgdtttjdgdgddggtttjdgdgdddgtttjdgdgdgtttjdgdggdtttjdgdggt jdd}||}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 ||gj d }t|t j ||gj tj|t j ||gj gd }t|t j ||gj t j |}|} d|ddd<d|ddd<tj|| d |} t| |tj|| gd |} t| |tj|t j | | gj d |} t| t j ||gj tj|t j | | gj gd |} t| t j ||gj gd}ttj||dddgttj||ddgddgt jdd}||}tj||d } ttj || |tj||gd} ttj || |t| | dS)Nc||dz z|dz zS)Nr r r7rs r fz"TestFitting.test_legfit..fsa!e9a!e$ $r"c|dz|dzzdzS)Nrr r r7rs r f2z#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)rrrlegfitrrBrnrrYrrWrjr zeros_likecopy)r(rrrr~coef3coef4coef2drywwcoef3wcoef2dcoef1coef2s r test_legfitzTestFitting.test_legfits % % % # # # j#*qcA3;;;iqcUQC;;;iR!a888iaSQC5'1===iaVaS!<<<iaS1a&!<<<iaS1#qaSEBBBBiaS1#qQFCCCCj#*qcA3>>>j#*qcA3 CCCiaS1#r::: K1   AaDD 1a##SZZ###CJq%00!444 1a..SZZ###CJq%00!444 1a##SZZ###CJq%00!444 1a11SZZ###CJq%00!444 1a11SZZ###CJq%00!444ArxA//1155FBHeU^$<$<$>???ArxA//1<<<@@FBHeU^$<$<$>??? M!   VVXX!$Q$!$Q$Ar1***FE***Ar<<<1555FE****Q"b 2 2 4a1===GRXuen%=%=%?@@@*Q"b 2 2 4lllaHHHGRXuen%=%=%?@@@   CJq!Q//!Q888CJq!aV44q!f=== KA   BqEE 1a##CJq%00!444 1a++CJq%00!444E5)))))r"N)r4r5r6rr7r"r rrs(H*H*H*H*H*r"rc eZdZdZdZdZdS) TestCompanionctttjgtttjdgdSr.)rrr legcompanionr's r test_raiseszTestCompanion.test_raisess4j#"2B777j#"2QC88888r"ctddD]8}dg|zdgz}ttj|j||fk9dS)Nr rr)rAr rrr})r(rGrs r test_dimensionszTestCompanion.test_dimensionss\q! < eZdZdZdZdZdZdZdZdZ dZ d S) TestMiscc  tjg}tt|dgt ddD]}t jt jt j dd|zdzddd}tj|}tj ||}d}tt||dzkttj |ddt||dS)Nr rrr r ) r legfromrootsrr!rArBcosrnpirWr rYr)r(rKrGrootsrrJs r test_legfromrootszTestMisc.test_legfromrootssr""DIIs+++q! * *AF2;vq!A#'::14a4@AAE"5))C*UC((CC CHHA% & & &  S 1 1" 5q 9 9 9 S ) ) ) ) * *r"cttjdggttjddgdgtddD]h}t jdd|}tjtj|}tt|t|idS)Nr r rrr )rrlegrootsrArBrnrr!)r(rGrJrKs r test_legrootszTestMisc.test_legrootssCL!--r222CL!Q003%888q! 6 6A+b!Q''C,s/4455C S 499 5 5 5 5 6 6r"cBgd}tttj|dt tj||ddt tj|d|ddt tj|ddgdS)N)r r r rr r rr r)rrrrr)r(rs r test_legtrimzTestMisc.test_legtrims}} j#+tR888 S[&&SbS 222S[q))49555S[q))A3/////r"cPttjddddgdS)Nr rrrlegliner's r test_leglinezTestMisc.test_legline&s(S[A&&A/////r"cNttjdddgdS)Nr rrr's r test_legline_zerosclzTestMisc.test_legline_zeroscl)s&S[A&&,,,,,r"ctdD]7}ttjdg|zdgzt|8dSNrzrr )rArrrr|r(rGs r test_leg2polyzTestMisc.test_leg2poly,sRr E EA  aSUaS[ 9 958 D D D D E Er"ctdD]7}ttjt|dg|zdgz8dSr!)rArrrr|r"s r test_poly2legzTestMisc.test_poly2leg0sRr E EA  U1X 6 6A D D D D E Er"c~tjddd}d}tj|}t ||dS)Nr r ru)rBrnr legweightr)r(rrJrKs r test_weightzTestMisc.test_weight4s? KAr " "mAC%%%%%r"N) r4r5r6rrrrrr#r%r)r7r"r rrs * * *666 0 0 0000---EEEEEE&&&&&r"r)'__doc__ functoolsrnumpyrBnumpy.polynomial.legendre polynomiallegendrernumpy.polynomial.polynomialr numpy.testingrrrr rjL0L1L2L3L4L5L6L7L8L9r|r!r$r9rprrrrrrrr7r"r r<s'''''''''//////RXqc]] RXq!f RXjjj! RXmmmQ RX   !!!# RX$$$%%a' RX+++,,R/ RX///003 RX999::3> RX???@@D RRRRR0$$$ ' ' ' ' ' ' ' '@@@@@@@@@@@@@@@@F['['['['['['['['|f:f:f:f:f:f:f:f:R),),),),),),),),V0@0@0@0@0@0@0@0@fJ*J*J*J*J*J*J*J*Z 7 7 7 7 7 7 7 7********&3&3&3&3&3&3&3&3&3&3&r"