Fast multidimensional Chebyshev interpolation on a hypercube (Cartesian-product) domain, using a separable (tensor-product) grid of Chebyshev interpolation points.
For domain upper and lower bounds
ub, and a given
tuple, you would create an interpolator for a function
using FastChebInterp x = chebpoints(order, lb, ub) # an array of StaticVector c = chebfit(f.(x), lb, ub)
and then evaluate the interpolant for a point
y (a vector)
We also provide a function
chebgradient(c,y) that returns a tuple
(c(y), ∇c(y)) of
the interpolant and its gradient at a point
The FastChebInterp package also supports complex and vector-valued functions
c(y) returns a vector of interpolants, and one can use
to compute the tuple
(c(y), J(y)) of the interpolant and its Jacobian matrix at
This package is an experimental replacement for some of the functionality in ChebyshevApprox.jl in order to get more performance. The ApproxFun.jl package also performs Chebyshev interpolation and many other tasks.