diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2010-05-21 05:35:58 +0000 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2010-05-21 05:35:58 +0000 |
commit | 2041434cbe99115c4c26a7910904769d9bca5c7b (patch) | |
tree | 3cc7131cd35da8b5605e321543a8238eca22d81d /numpy/polynomial/tests/test_chebyshev.py | |
parent | 87e2eecd808c9770355437ca871b70fe9f87b243 (diff) | |
download | numpy-2041434cbe99115c4c26a7910904769d9bca5c7b.tar.gz |
ENH:
1) Let {poly,cheb}int accept 0 for the number of integrations.
2) Let {poly,cheb}(int,der} accept floating integers for number
of integrations or derivations, raise ValueError otherwise.
3) Add tests for same.
Diffstat (limited to 'numpy/polynomial/tests/test_chebyshev.py')
-rw-r--r-- | numpy/polynomial/tests/test_chebyshev.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/numpy/polynomial/tests/test_chebyshev.py b/numpy/polynomial/tests/test_chebyshev.py index 10e3fdafa..6f42d06b9 100644 --- a/numpy/polynomial/tests/test_chebyshev.py +++ b/numpy/polynomial/tests/test_chebyshev.py @@ -136,6 +136,7 @@ class TestCalculus(TestCase) : def test_chebint(self) : # check exceptions + assert_raises(ValueError, ch.chebint, [0], .5) assert_raises(ValueError, ch.chebint, [0], -1) assert_raises(ValueError, ch.chebint, [0], 1, [0,0]) assert_raises(ValueError, ch.chebint, [0], 1, lbnd=[0,0]) @@ -211,18 +212,22 @@ class TestCalculus(TestCase) : def test_chebder(self) : # check exceptions + assert_raises(ValueError, ch.chebder, [0], .5) assert_raises(ValueError, ch.chebder, [0], -1) + # check that zeroth deriviative does nothing for i in range(5) : tgt = [1] + [0]*i res = ch.chebder(tgt, m=0) assert_equal(trim(res), trim(tgt)) + # check that derivation is the inverse of integration for i in range(5) : for j in range(2,5) : tgt = [1] + [0]*i res = ch.chebder(ch.chebint(tgt, m=j), m=j) assert_almost_equal(trim(res), trim(tgt)) + # check derivation with scaling for i in range(5) : for j in range(2,5) : @@ -258,6 +263,7 @@ class TestMisc(TestCase) : for i in range(4) : coef = [0]*i + [1] assert_almost_equal(v[...,i], ch.chebval(x, coef)) + # check for 2d x x = np.array([[1,2],[3,4],[5,6]]) v = ch.chebvander(x, 3) @@ -269,6 +275,7 @@ class TestMisc(TestCase) : def test_chebfit(self) : def f(x) : return x*(x - 1)*(x - 2) + # Test exceptions assert_raises(ValueError, ch.chebfit, [1], [1], -1) assert_raises(TypeError, ch.chebfit, [[1]], [1], 0) @@ -276,6 +283,7 @@ class TestMisc(TestCase) : assert_raises(TypeError, ch.chebfit, [1], [[[1]]], 0) assert_raises(TypeError, ch.chebfit, [1, 2], [1], 0) assert_raises(TypeError, ch.chebfit, [1], [1, 2], 0) + # Test fit x = np.linspace(0,2) y = f(x) @@ -290,8 +298,10 @@ class TestMisc(TestCase) : def test_chebtrim(self) : coef = [2, -1, 1, 0] + # Test exceptions assert_raises(ValueError, ch.chebtrim, coef, -1) + # Test results assert_equal(ch.chebtrim(coef), coef[:-1]) assert_equal(ch.chebtrim(coef, 1), coef[:-3]) |