def test_chebval3d(self): x1, x2, x3 = self.x y1, y2, y3 = self.y #test exceptions assert_raises(ValueError, cheb.chebval3d, x1, x2, x3[:2], self.c3d) #test values tgt = y1*y2*y3 res = cheb.chebval3d(x1, x2, x3, self.c3d) assert_almost_equal(res, tgt) #test shape z = np.ones((2,3)) res = cheb.chebval3d(z, z, z, self.c3d) assert_(res.shape == (2,3))
def test_chebval3d(self): x1, x2, x3 = self.x y1, y2, y3 = self.y #test exceptions assert_raises(ValueError, cheb.chebval3d, x1, x2, x3[:2], self.c3d) #test values tgt = y1*y2*y3 res = cheb.chebval3d(x1, x2, x3, self.c3d) assert_almost_equal(res, tgt) #test shape z = np.ones((2, 3)) res = cheb.chebval3d(z, z, z, self.c3d) assert_(res.shape == (2, 3))
def cheb_eval(dim, coefs, coords): if dim == 1: return chebval(coords[0], coefs) elif dim == 2: return chebval2d(coords[0], coords[1], coefs) elif dim == 3: return chebval3d(coords[0], coords[1], coords[2], coefs) else: raise NotImplementedError('dimension %d not supported' % dim)
def chebReconstruct(orders, locations, coeffs, unusedNumPts): if len(locations.shape) == 1: return np.array(cheb.chebval(locations, coeffs)) else: if locations.shape[1] == 2: return cheb.chebval2d(locations[:, 0], locations[:, 1], coeffs) elif locations.shape[1] == 3: return cheb.chebval3d(locations[:, 0], locations[:, 1], locations[:, 2], coeffs) else: return genericChebVal(locations, coeffs)
def test_chebvander3d(self) : # also tests chebval3d for non-square coefficient array x1, x2, x3 = self.x c = np.random.random((2, 3, 4)) van = cheb.chebvander3d(x1, x2, x3, [1, 2, 3]) tgt = cheb.chebval3d(x1, x2, x3, c) res = np.dot(van, c.flat) assert_almost_equal(res, tgt) # check shape van = cheb.chebvander3d([x1], [x2], [x3], [1, 2, 3]) assert_(van.shape == (1, 5, 24))
def test_chebvander3d(self): # also tests chebval3d for non-square coefficient array x1, x2, x3 = self.x c = np.random.random((2, 3, 4)) van = cheb.chebvander3d(x1, x2, x3, [1, 2, 3]) tgt = cheb.chebval3d(x1, x2, x3, c) res = np.dot(van, c.flat) assert_almost_equal(res, tgt) # check shape van = cheb.chebvander3d([x1], [x2], [x3], [1, 2, 3]) assert_(van.shape == (1, 5, 24))