ó 2ÄÈ[c @`sÚdZddlmZmZmZddlZddljj Z ddl m Z ddl mZmZmZmZejdgƒZejddgƒZejdddgƒd Zejdd dd gƒd Zejddd dd gƒdZejddddddgƒdZejdddddddgƒdZejddddddddgƒdZejd ddddddddg ƒdZejdddd dd!dd"dd#g ƒdZeeeeeeeeeeg Zd$„Zd%efd&„ƒYZ d'efd(„ƒYZ!d)efd*„ƒYZ"d+efd,„ƒYZ#d-efd.„ƒYZ$d/efd0„ƒYZ%d1efd2„ƒYZ&d3efd4„ƒYZ'd5efd6„ƒYZ(d7efd8„ƒYZ)dS(9sTests for legendre module. i(tdivisiontabsolute_importtprint_functionN(tpolyval(tassert_almost_equalt assert_raisest assert_equaltassert_iiÿÿÿÿiiiýÿÿÿiiâÿÿÿi#iiiºÿÿÿi?iûÿÿÿiiiÅþÿÿiçiiÝÿÿÿi;iKýÿÿi­iûÿÿiiÑÿÿi#i€iôíÿÿibFit›ÿÿi{/cC`stj|ddƒS(Nttolgíµ ÷Æ°>(tlegtlegtrim(tx((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttrimst TestConstantscB`s,eZd„Zd„Zd„Zd„ZRS(cC`sttjddgƒdS(Niÿÿÿÿi(RR t legdomain(tself((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legdomain!scC`sttjdgƒdS(Ni(RR tlegzero(R((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legzero$scC`sttjdgƒdS(Ni(RR tlegone(R((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legone'scC`sttjddgƒdS(Nii(RR tlegx(R((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legx*s(t__name__t __module__RRRR(((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyR s   tTestArithmeticcB`sJeZejdddƒZd„Zd„Zd„Zd„Zd„Z RS(iÿÿÿÿiidcC`sËxÄtdƒD]¶}x­tdƒD]Ÿ}d||f}tjt||ƒdƒ}||cd7<||cd7ijs i,j,k->ijkiiiigð?g@c C`sNttjgdgƒjdƒtjddƒ}gtD]}t||ƒ^q8}x[tdƒD]M}d|}||}tj|dg|dgƒ}t ||d|ƒq`Wx–tdƒD]ˆ}dg|}tj |ƒ}ttj|dgƒj |ƒttj|ddgƒj |ƒttj|dddgƒj |ƒq¾WdS( Niiiÿÿÿÿi sAt i=%dRii( RR R,tsizeRR<tLlistRRRRtshape( RR tctyR R"R#R$tdims((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legvalrs"    "c C`s±|j\}}}|j\}}}tttj||d |jƒ||}tj|||jƒ}t||ƒtj dƒ} tj| | |jƒ}t |j dkƒdS(Nii(ii(ii( R RBRt ValueErrorR tlegval2dtc2dRRtonesRR@( Rtx1tx2tx3ty1ty2ty3R#R$tz((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legval2d‡s   c C`s¾|j\}}}|j\}}}tttj|||d |jƒ|||}tj||||jƒ}t||ƒtj dƒ} tj| | | |jƒ}t |j dkƒdS(Nii(ii(ii( R RBRRER tlegval3dtc3dRRRHRR@( RRIRJRKRLRMRNR#R$RO((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legval3d˜s# c C`sœ|j\}}}|j\}}}tjd||ƒ}tj|||jƒ}t||ƒtjdƒ} tj| | |jƒ}t |j dkƒdS(Nsi,j->ijii(ii(ii(iiii( R RBRteinsumR t leggrid2dRGRRHRR@( RRIRJRKRLRMRNR#R$RO((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_leggrid2d©s c C`s¥|j\}}}|j\}}}tjd|||ƒ}tj||||jƒ}t||ƒtjdƒ} tj| | | |jƒ}t |j dkƒdS(Ns i,j,k->ijkii(ii(ii(iiiiii( R RBRRTR t leggrid3dRRRRHRR@( RRIRJRKRLRMRNR#R$RO((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_leggrid3d·s (ii(RRRtarraytc1dRTRGRRtrandomR RRBRDRPRSRVRX(((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyR=hs    t TestIntegralcB`seZd„Zd„ZRS(c C`sïtttjdgdƒtttjdgdƒtttjdgdddgƒtttjdgddgƒtttjdgddgƒtttjdgddƒx`tdd ƒD]O}dg|ddg}tjdgd |d |ƒ}t|ddgƒq¾Wx¦td ƒD]˜}|d}dg|dg}|gdg|d|g}tj|ƒ}tj|d dd |gƒ}tj|ƒ}tt|ƒt|ƒƒqWx~td ƒD]p}|d}dg|dg}tj|ƒ}tj|d dd |gddƒ}ttj d|ƒ|ƒqÇWx¬td ƒD]ž}|d}dg|dg}|gdg|d|g}tj|ƒ}tj|d dd |gddƒ}tj|ƒ}tt|ƒt|ƒƒqHWx£td ƒD]•}xŒtdd ƒD]{} dg|dg}|}x)t| ƒD]}tj|d dƒ}q;Wtj|d | ƒ}tt|ƒt|ƒƒq Wq÷Wx¾td ƒD]°}x§tdd ƒD]–} dg|dg}|}x2t| ƒD]$}tj|d dd |gƒ}qáWtj|d | d t t| ƒƒƒ}tt|ƒt|ƒƒq³WqWxÊtd ƒD]¼}x³tdd ƒD]¢} dg|dg}|}x8t| ƒD]*}tj|d dd |gddƒ}q¢Wtj|d | d t t| ƒƒddƒ}tt|ƒt|ƒƒqtWq^WxÊtd ƒD]¼}x³tdd ƒD]¢} dg|dg}|}x8t| ƒD]*}tj|d dd |gddƒ}qoWtj|d | d t t| ƒƒddƒ}tt|ƒt|ƒƒqAWq+WdS( Nigà?iÿÿÿÿitlbndtscltaxisiitmtk( RRER tlegintRRtpoly2legtleg2polyR R,tlist( RR RaR$R^tpolR#tlegpolRbR!((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legintÈs€"  $ $!"'!(-!(-cC`stjjdƒ}tjg|jD]}tj|ƒ^q"ƒj}tj|ddƒ}t||ƒtjg|D]}tj|ƒ^qrƒ}tj|ddƒ}t||ƒtjg|D]}tj|ddƒ^q¿ƒ}tj|ddddƒ}t||ƒdS(NiiR_iiRa(ii(RR[tvstacktTR RbR(RRGRAR#R$((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legint_axiss1 + 1(RRRhRk(((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyR\Æs StTestDerivativecB`seZd„Zd„ZRS(c C`sŸtttjdgdƒtttjdgdƒxVtdƒD]H}dg|dg}tj|ddƒ}tt|ƒt|ƒƒq?WxtdƒD]q}xhtddƒD]W}dg|dg}tjtj|d|ƒd|ƒ}tt|ƒt|ƒƒq®Wq˜Wx‹tdƒD]}}xttddƒD]c}dg|dg}tjtj|d|ddƒd|ddƒ}tt|ƒt|ƒƒq0WqWdS( Nigà?iÿÿÿÿiiR`iR^( RRER tlegderRRR RbR(RR R#R$R!((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyt test_legder.s $!0cC`s¶tjjdƒ}tjg|jD]}tj|ƒ^q"ƒj}tj|ddƒ}t||ƒtjg|D]}tj|ƒ^qrƒ}tj|ddƒ}t||ƒdS(NiiR_ii(ii(RR[RiRjR RmR(RRGRAR#R$((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legder_axisGs1 +(RRRnRo(((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyRl,s t TestVandercB`s=eZejjdƒddZd„Zd„Zd„ZRS(iiiicC`s#tjdƒ}tj|dƒ}t|jd kƒxKtdƒD]=}dg|dg}t|d|ftj||ƒƒqAWtj ddgddgddggƒ}tj|dƒ}t|jd kƒxKtdƒD]=}dg|dg}t|d|ftj||ƒƒqÞWdS( Niiii.iii(ii(iii( RtarangeR t legvanderRR@RRR,RY(RR tvR tcoef((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legvanderXs'*cC`s®|j\}}}tjjdƒ}tj||ddgƒ}tj|||ƒ}tj||jƒ}t||ƒtj|g|gddgƒ}t |j dkƒdS(Niiiii(ii(iii( R RR[R t legvander2dRFtdottflatRRR@(RRIRJRKRAtvanR#R$((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legvander2dis !cC`sÀ|j\}}}tjjdƒ}tj|||dddgƒ}tj||||ƒ}tj||jƒ}t||ƒtj|g|g|gdddgƒ}t |j dkƒdS( Niiiiii(iii(iii( R RR[R t legvander3dRQRwRxRRR@(RRIRJRKRARyR#R$((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyttest_legvander3dvs! *(ii(RRRR[R RuRzR|(((sC/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_legendre.pyRpTs  t TestFittingcB`seZd„ZRS(c C`síd„}d„}tttjdgdgdƒtttjdggdgdƒtttjgdgdƒtttjdgdgggdƒtttjddgdgdƒtttjdgddgdƒtttjdgdgdddggƒtttjdgdgddddgƒtttjdgdgdgƒtttjdgdgdddgƒtttjdgdggƒtjddƒ}||ƒ}tj||d ƒ}tt|ƒd ƒt tj ||ƒ|ƒtj||dddd gƒ}tt|ƒd ƒt tj ||ƒ|ƒtj||d ƒ}tt|ƒd ƒt tj ||ƒ|ƒtj||dddd d gƒ}tt|ƒd ƒt tj ||ƒ|ƒtj||dd d ddgƒ}tt|ƒd ƒt tj ||ƒ|ƒtj|tj ||gƒj d ƒ}t |tj ||gƒj ƒtj|tj ||gƒj dddd gƒ}t |tj ||gƒj ƒtj |ƒ}|jƒ} d|ddd…s6 ""%(+.1$ :^f(0M