test_interp_nd, a FORTRAN90 code which provides test functions for multidimensional interpolation.
All the functions are defined over the unit hypercube [0,1]^M, for arbitrary spatial dimension M. They include:
For each function, methods are provided to evaluate:
Most of the functions include a shift vector w whose entries can be chosen randomly in the unit hypercube, and a coefficient vector c whose entries should be positive, and for which the integration problem becomes harder as the sum of the entries increases.
The code requires access to the R8LIB library.
test_interp_nd is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
LAGRANGE_INTERP_ND, a FORTRAN90 code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data depending on a multidimensional argument x that was evaluated on a product grid, so that p(x(i)) = z(i).
R8LIB, a FORTRAN90 code which contains many utility routines using double precision real (R8) arithmetic.
RBF_INTERP_ND, a FORTRAN90 code which defines and evaluates radial basis function (RBF) interpolants to multidimensional data.
SHEPARD_INTERP_ND, a FORTRAN90 code which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.
SPARSE_INTERP_ND a FORTRAN90 code which can be used to define a sparse interpolant to a function f(x) of a multidimensional argument.
TEST_INTERP_1D, a FORTRAN90 code which defines test problems for interpolation of data y(x), depending on a 1D argument.
TEST_INTERP_2D, a FORTRAN90 code which defines test problems for interpolation of data z(x,y)), depending on a 2D argument.
VANDERMONDE_INTERP_2D, a MATLAB library which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.