ó 2ÄÈ[c @`sŒdZddlmZmZmZddlZddljj Z ddl m Z ddl mZmZmZmZd„ZdgZddgZddd gZdd dd gZddd dd gZddddddgZdddddddgZddddddddgZdddddddddg Zdddddddddd g Zeeeeeeeeeeg Zd!efd"„ƒYZd#efd$„ƒYZ d%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 chebyshev module. i(tdivisiontabsolute_importtprint_functionN(tpolyval(tassert_almost_equalt assert_raisest assert_equaltassert_cC`stj|ddƒS(Nttolgíµ ÷Æ°>(tchebtchebtrim(tx((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttrimsiiÿÿÿÿiiýÿÿÿiiøÿÿÿiiiìÿÿÿiiiÐÿÿÿi iùÿÿÿi8iÿÿÿi@iàÿÿÿi iÿÿÿi€i iˆÿÿÿi°iÀýÿÿit TestPrivatecB`seZd„Zd„ZRS(cC`sˆxtdƒD]s}tjdgdg|tjƒ}tjdg|dgdg|tjƒ}tj|ƒ}t||ƒq WdS(Niiigà?(trangetnptarraytdoubleR t_cseries_to_zseriesR(tselftitinpttgttres((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest__cseries_to_zseries!s #.cC`sˆxtdƒD]s}tjdg|dgdg|tjƒ}tjdgdg|tjƒ}tj|ƒ}t||ƒq WdS(Nigà?ii(RRRRR t_zseries_to_cseriesR(RRRRR((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest__zseries_to_cseries(s .#(t__name__t __module__RR(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyR s t TestConstantscB`s,eZd„Zd„Zd„Zd„ZRS(cC`sttjddgƒdS(Niÿÿÿÿi(RR t chebdomain(R((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebdomain2scC`sttjdgƒdS(Ni(RR tchebzero(R((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebzero5scC`sttjdgƒdS(Ni(RR tchebone(R((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebone8scC`sttjddgƒdS(Nii(RR tchebx(R((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebx;s(RRRR!R#R%(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyR0s   tTestArithmeticcB`s5eZd„Zd„Zd„Zd„Zd„ZRS(cC`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=%dR'ii( RR tchebvaltsizeRtlinspacetTlistRRRR(tshape( RR tctyRR,RRtdims((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebval}s"    "c C`s±|j\}}}|j\}}}tttj||d |jƒ||}tj|||jƒ}t||ƒtj dƒ} tj| | |jƒ}t |j dkƒdS(Nii(ii(ii( R RCRt ValueErrorR t chebval2dtc2dRRtonesRRA( Rtx1tx2tx3ty1ty2ty3RRtz((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebval2d’s   c C`s¾|j\}}}|j\}}}tttj|||d |jƒ|||}tj||||jƒ}t||ƒtj dƒ} tj| | | |jƒ}t |j dkƒdS(Nii(ii(ii( R RCRRFR t chebval3dtc3dRRRIRRA( RRJRKRLRMRNRORRRP((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebval3d£s# c C`sœ|j\}}}|j\}}}tjd||ƒ}tj|||jƒ}t||ƒtjdƒ} tj| | |jƒ}t |j dkƒdS(Nsi,j->ijii(ii(ii(iiii( R RCRteinsumR t chebgrid2dRHRRIRRA( RRJRKRLRMRNRORRRP((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebgrid2d´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 RCRRUR t chebgrid3dRSRRIRRA( RRJRKRLRMRNRORRRP((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebgrid3dÂs (ii(RRRRtc1dRURHRStrandomR RRCRERQRTRWRY(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyR<ss    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( RRFR tchebintRRt poly2chebt cheb2polyR R=tlist( RRRaRR^tpolRtchebpolRbR+((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebintÓ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(RRHRBRR((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebint_axis&s1 + 1(RRRhRk(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.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^( RRFR tchebderRRR RbR(RRRRR+((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyt test_chebder9s $!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(RRHRBRR((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebder_axisRs1 +(RRRnRo(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyRl7s 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 chebvanderRRARRR=R(RR tvRtcoef((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebvandercs'*cC`s®|j\}}}tjjdƒ}tj||ddgƒ}tj|||ƒ}tj||jƒ}t||ƒtj|g|gddgƒ}t |j dkƒdS(Niiiii(ii(iii( R RR[R t chebvander2dRGtdottflatRRRA(RRJRKRLRBtvanRR((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebvander2dts !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 chebvander3dRRRwRxRRRA(RRJRKRLRBRyRR((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyttest_chebvander3ds! *(ii(RRRR[R RuRzR|(((sD/tmp/pip-build-fiC0ax/numpy/numpy/polynomial/tests/test_chebyshev.pyRp_s  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…s: "   !$$4^f(0M