TEST_INTERP_ND
Test Functions for Multidimensional Interpolation
TEST_INTERP_ND
is a C++ library 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:

Oscillatory;

Product Peak;

Corner Peak;

Gaussian;

Continuous;

Discontinuous;
For each function, methods are provided to evaluate:

the function, f(x);

the derivative with respect to any coordinate, dfdx(i);

the integral of f(x) over the unit hypercube;
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.
TEST_INTERP_ND requires access to the R8LIB library.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
TEST_INTERP_ND is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
LAGRANGE_INTERP_ND,
a C++ library 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 C++ library which
contains many utility routines using double precision real (R8) arithmetic.
RBF_INTERP_ND,
a C++ library which
defines and evaluates radial basis function (RBF) interpolants to multidimensional data.
SHEPARD_INTERP_ND,
a C++ library which
defines and evaluates Shepard interpolants to multidimensional data,
based on inverse distance weighting.
SPARSE_INTERP_ND
a C++ library which
can be used to define a sparse interpolant to a function f(x) of a
multidimensional argument.
SPINTERP,
a MATLAB library which
carries out piecewise multilinear hierarchical sparse grid interpolation;
an earlier version of this software is ACM TOMS Algorithm 847,
by Andreas Klimke;
TEST_INTERP_1D,
a C++ library which
defines test problems for interpolation of data y(x),
depending on a 1D argument.
TEST_INTERP_2D,
a C++ library which
defines test problems for interpolation of data z(x,y)),
depending on a 2D argument.
Reference:

Alan Genz,
Testing Multidimensional Integration Routines,
in Tools, Methods, and Languages for Scientific and
Engineering Computation,
edited by B Ford, JC Rault, F Thomasset,
NorthHolland, 1984, pages 8194,
ISBN: 0444875700,
LC: Q183.9.I53.

Alan Genz,
A Package for Testing Multiple Integration Subroutines,
in Numerical Integration:
Recent Developments, Software and Applications,
edited by Patrick Keast, Graeme Fairweather,
Reidel, 1987, pages 337340,
ISBN: 9027725144,
LC: QA299.3.N38.
Source Code:
Examples and Tests:
List of Routines:

CSEVL evaluates a Chebyshev series.

I4VEC_SUM sums the entries of an I4VEC.

INITS initializes a Chebyshev series.

P00_CW computes a random C parameter vector for any problem.

P00_D returns a derivative component of any function.

P00_F returns the value of any function.

P00_PROB_NUM returns the number of test functions available.

P00_Q returns the integral of any function.

P00_TITLE returns the title for any function.

P00_W computes a random W parameter vector for any problem.

P01_D evaluates any derivative component for problem p01.

P01_F evaluates the function for problem p01.

P01_Q evaluates the integral for problem p01.

P01_TITLE returns the name of problem p01.

P02_D evaluates an derivative component for problem p02.

P02_F evaluates the function for problem p02.

P02_Q evaluates the integral for problem p02.

P02_TITLE returns the title of problem p02.

P03_D evaluates any derivative component for problem p03.

P03_F evaluates the function for problem p03.

P03_Q evaluates the integral for problem p03.

P03_TITLE returns the title of problem p03.

P04_D evaluates any derivative component for problem p04.

P04_F evaluates the function for problem p04.

P04_Q evaluates the integral for problem p04.

P04_TITLE returns the title of problem p04.

P05_D evaluates any derivative component for problem p05.

P05_F evaluates the function for problem p05.

P05_Q evaluates the integral for problem p05.

P05_TITLE returns the title of problem p05.

P06_D evaluates any derivative component for problem p06.

P06_F evaluates the function for problem p06.

P06_Q evaluates the integral for problem p06.

P06_TITLE returns the title of problem p06.

R8_ABS returns the absolute value of an R8.

R8_ERROR evaluates the error function of an R8 argument.

R8_ERRORC evaluates the coerror function of an R8 argument.

R8_MACH returns double precision real machine constants.

TUPLE_NEXT computes the next element of a tuple space.
You can go up one level to
the C++ source codes.
Last revised on 29 August 2012.