TEST_INTERP_ND Test Functions for Multidimensional Interpolation

TEST_INTERP_ND, a MATLAB 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:

1. Oscillatory;
2. Product Peak;
3. Corner Peak;
4. Gaussian;
5. Continuous;
6. 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.

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 MATLAB 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 MATLAB library which contains many utility routines using double precision real (R8) arithmetic.

RBF_INTERP_ND, a MATLAB library which defines and evaluates radial basis function (RBF) interpolants to multidimensional data.

SHEPARD_INTERP_ND, a MATLAB library which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.

SPARSE_INTERP_ND a MATLAB 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 MATLAB library which defines test problems for interpolation of data y(x), depending on a 2D argument.

TEST_INTERP_2D, a MATLAB library which defines test problems for interpolation of data z(x,y), depending on a 2D argument.

Reference:

1. Alan Genz,
Testing Multidimensional Integration Routines,
in Tools, Methods, and Languages for Scientific and Engineering Computation,
edited by B Ford, JC Rault, F Thomasset,
North-Holland, 1984, pages 81-94,
ISBN: 0444875700,
LC: Q183.9.I53.
2. 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 337-340,
ISBN: 9027725144,
LC: QA299.3.N38.

Source Code:

• csevl.m, evaluates a Chebyshev series.
• inits.m, initializes a Chebyshev series.
• p00_cw.m, returns a random C parameter vector for any problem.
• p00_d.m, returns a derivative component of any function.
• p00_f.m, returns the value of any function.
• p00_prob_num.m, returns the number of test functions available.
• p00_q.m, returns the integral of any function.
• p00_title.m, returns the title for any function.
• p00_cw.m, returns a random W parameter vector for any problem.
• p01_d.m, evaluates a derivative component for problem p01.
• p01_f.m, evaluates the function for problem p01.
• p01_q.m, returns the integral for problem p01.
• p01_title.m, returns the name of problem p01.
• p02_d.m, evaluates a derivative component for problem p02.
• p02_f.m, evaluates the function for problem p02.
• p02_q.m, returns the integral for problem p02.
• p02_title.m, returns the title of problem p02.
• p03_d.m, evaluates a derivative component for problem p03.
• p03_f.m, evaluates the function for problem p03.
• p03_q.m, returns the integral for problem p03.
• p03_title.m, returns the title of problem p03.
• p04_d.m, evaluates a derivative component for problem p04.
• p04_f.m, evaluates the function for problem p04.
• p04_q.m, returns the integral for problem p04.
• p04_title.m, returns the title of problem p04.
• p05_d.m, evaluates a derivative component for problem p05.
• p05_f.m, evaluates the function for problem p05.
• p05_q.m, returns the integral for problem p05.
• p05_title.m, returns the title of problem p05.
• p06_d.m, evaluates a derivative component for problem p06.
• p06_f.m, evaluates the function for problem p06.
• p06_q.m, returns the integral for problem p06.
• p06_title.m, returns the title of problem p06.
• r8_error.m, evaluates the error function of an R8 argument.
• r8_errorc.m, evaluates the co-error function of an R8 argument.
• r8_mach.m, returns double precision real machine-dependent constants.
• timestamp.m, prints the YMDHMS date as a timestamp.
• tuple_next.m, computes the next element of a tuple space.

Last revised on 29 March 2019.