def test_interp_1Dflat_list_x(self): x = np.array([0., 1., 2., 3., 4.]) y = x**2 f = InterpND(points=x, values=y) computed = f.interpolate([np.array([2.5]), np.array([3.5])]) assert_equal_arrays(computed, np.array([6.5, 12.5]))
def test_spline_deriv_xi1d(self): # tests gradient values points, values, func, df = self._get_sample_2d() np.random.seed(1234) test_pt = np.random.uniform(0, 3, 2) actual = np.array(df(*test_pt)) for method in self.interp_methods: interp = InterpND(method=method, points=points, values=values) computed = interp.gradient(test_pt) r_err = rel_error(actual, computed) assert r_err < 2.5 * self.tol[method] # test that gradients have been cached assert_equal_arrays(interp._xi.flatten(), test_pt.flatten()) assert_equal_arrays(interp._d_dx.flatten(), computed.flatten())
def assert_equal_arrays(self, a1, a2): assert_equal_arrays(a1, a2)