TEST_INTERP_ND\
Test Functions for Multidimensional Interpolation {#test_interp_nd-test-functions-for-multidimensional-interpolation align=”center”}
=================================================
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: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
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.
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: {#reference align=”center”}
- 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.
- 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: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
List of Routines: {#list-of-routines align=”center”}
- 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 co-error 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.