TEST_INTERP_ND
Test Functions for Multidimensional Interpolation


TEST_INTERP_ND is a FORTRAN90 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:

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 FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

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

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

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

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

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

TOMS526, a FORTRAN90 library which interpolates scattered bivariate data. This is a FORTRAN90 version of ACM TOMS algorithm 526, by Hiroshi Akima;

TOMS660, a FORTRAN90 library which takes scattered 2D data and produces an interpolating function F(X,Y). This is a FORTRAN90 version of ACM TOMS algorithm 660, called qshep2d, by Robert Renka.

TOMS661, a FORTRAN90 library which takes scattered 3D data and produces an interpolating function F(X,Y,Z). This is a FORTRAN90 version of ACM TOMS algorithm 661, called qshep3d, by Robert Renka.

TOMS790, a FORTRAN90 library which computes an interpolating function to a set of scattered data in the plane, by Robert Renka; this library is commonly called cshep2d; this is a FORTRAN90 version of ACM TOMS algorithm 790.

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.

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:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 26 August 2012.