Exemple #1
0
 def test_shapes_scalarvalue_derivative(self):
     P = KroghInterpolator(self.xs, self.ys)
     n = P.n
     assert_array_equal(np.shape(P.derivatives(0)), (n, ))
     assert_array_equal(np.shape(P.derivatives(np.array(0))), (n, ))
     assert_array_equal(np.shape(P.derivatives([0])), (n, 1))
     assert_array_equal(np.shape(P.derivatives([0, 1])), (n, 2))
Exemple #2
0
 def test_shapes_scalarvalue_derivative(self):
     P = KroghInterpolator(self.xs,self.ys)
     n = P.n
     assert_array_equal(np.shape(P.derivatives(0)), (n,))
     assert_array_equal(np.shape(P.derivatives(np.array(0))), (n,))
     assert_array_equal(np.shape(P.derivatives([0])), (n,1))
     assert_array_equal(np.shape(P.derivatives([0,1])), (n,2))
 def test_wrapper(self):
     P = KroghInterpolator(self.xs, self.ys)
     assert_almost_equal(P(self.test_xs), krogh_interpolate(self.xs, self.ys, self.test_xs))
     assert_almost_equal(P.derivative(self.test_xs, 2), krogh_interpolate(self.xs, self.ys, self.test_xs, der=2))
     assert_almost_equal(
         P.derivatives(self.test_xs, 2), krogh_interpolate(self.xs, self.ys, self.test_xs, der=[0, 1])
     )
Exemple #4
0
 def test_wrapper(self):
     P = KroghInterpolator(self.xs, self.ys)
     ki = krogh_interpolate
     assert_almost_equal(P(self.test_xs), ki(self.xs, self.ys, self.test_xs))
     assert_almost_equal(P.derivative(self.test_xs, 2),
                         ki(self.xs, self.ys, self.test_xs, der=2))
     assert_almost_equal(P.derivatives(self.test_xs, 2),
                         ki(self.xs, self.ys, self.test_xs, der=[0, 1]))
Exemple #5
0
    def test_derivatives_complex(self):
        # regression test for gh-7381: krogh.derivatives(0) fails complex y
        x, y = np.array([-1, -1, 0, 1, 1]), np.array([1, 1.0j, 0, -1, 1.0j])
        func = KroghInterpolator(x, y)
        cmplx = func.derivatives(0)

        cmplx2 = (KroghInterpolator(x, y.real).derivatives(0) +
                  1j * KroghInterpolator(x, y.imag).derivatives(0))
        assert_allclose(cmplx, cmplx2, atol=1e-15)
Exemple #6
0
    def test_derivatives_complex(self):
        # regression test for gh-7381: krogh.derivatives(0) fails complex y
        x, y = np.array([-1, -1, 0, 1, 1]), np.array([1, 1.0j, 0, -1, 1.0j])
        func = KroghInterpolator(x, y)
        cmplx = func.derivatives(0)

        cmplx2 = (KroghInterpolator(x, y.real).derivatives(0) +
                  1j*KroghInterpolator(x, y.imag).derivatives(0))
        assert_allclose(cmplx, cmplx2, atol=1e-15)
 def test_vector(self):
     xs = [0, 1, 2]
     ys = np.array([[0, 1], [1, 0], [2, 1]])
     P = KroghInterpolator(xs, ys)
     Pi = [KroghInterpolator(xs, ys[:, i]) for i in xrange(ys.shape[1])]
     test_xs = np.linspace(-1, 3, 100)
     assert_almost_equal(P(test_xs), np.rollaxis(np.asarray([p(test_xs) for p in Pi]), -1))
     assert_almost_equal(
         P.derivatives(test_xs), np.transpose(np.asarray([p.derivatives(test_xs) for p in Pi]), (1, 2, 0))
     )
Exemple #8
0
 def test_vector(self):
     xs = [0, 1, 2]
     ys = np.array([[0,1],[1,0],[2,1]])
     P = KroghInterpolator(xs,ys)
     Pi = [KroghInterpolator(xs,ys[:,i]) for i in xrange(ys.shape[1])]
     test_xs = np.linspace(-1,3,100)
     assert_almost_equal(P(test_xs),
             np.rollaxis(np.asarray([p(test_xs) for p in Pi]),-1))
     assert_almost_equal(P.derivatives(test_xs),
             np.transpose(np.asarray([p.derivatives(test_xs) for p in Pi]),
                 (1,2,0)))
Exemple #9
0
 def test_shapes_vectorvalue_derivative(self):
     P = KroghInterpolator(self.xs,np.outer(self.ys,np.arange(3)))
     n = P.n
     assert_array_equal(np.shape(P.derivatives(0)), (n,3))
     assert_array_equal(np.shape(P.derivatives([0])), (n,1,3))
     assert_array_equal(np.shape(P.derivatives([0,1])), (n,2,3))
Exemple #10
0
 def test_derivative(self):
     P = KroghInterpolator(self.xs,self.ys)
     m = 10
     r = P.derivatives(self.test_xs,m)
     for i in xrange(m):
         assert_almost_equal(P.derivative(self.test_xs,i),r[i])
Exemple #11
0
 def test_low_derivatives(self):
     P = KroghInterpolator(self.xs,self.ys)
     D = P.derivatives(self.test_xs,len(self.xs)+2)
     for i in xrange(D.shape[0]):
         assert_almost_equal(self.true_poly.deriv(i)(self.test_xs),
                             D[i])
Exemple #12
0
 def test_shapes_vectorvalue_derivative(self):
     P = KroghInterpolator(self.xs, np.outer(self.ys, np.arange(3)))
     n = P.n
     assert_array_equal(np.shape(P.derivatives(0)), (n, 3))
     assert_array_equal(np.shape(P.derivatives([0])), (n, 1, 3))
     assert_array_equal(np.shape(P.derivatives([0, 1])), (n, 2, 3))
Exemple #13
0
 def test_derivative(self):
     P = KroghInterpolator(self.xs, self.ys)
     m = 10
     r = P.derivatives(self.test_xs, m)
     for i in range(m):
         assert_almost_equal(P.derivative(self.test_xs, i), r[i])
Exemple #14
0
 def test_low_derivatives(self):
     P = KroghInterpolator(self.xs, self.ys)
     D = P.derivatives(self.test_xs, len(self.xs) + 2)
     for i in range(D.shape[0]):
         assert_almost_equal(self.true_poly.deriv(i)(self.test_xs), D[i])