test_interp_nd
test_interp_nd,
an Octave 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:
-
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.
The code 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 MIT license
Languages:
test_interp_nd is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version.
Related Data and Programs:
lagrange_interp_nd,
an Octave 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,
an Octave code which
contains many utility routines using double precision real (r8) arithmetic.
rbf_interp_nd,
an Octave code which
defines and evaluates radial basis function (rbf) interpolants to multidimensional data.
shepard_interp_nd,
an Octave code which
defines and evaluates shepard interpolants to multidimensional data,
based on inverse distance weighting.
sparse_interp_nd
an Octave code which
can be used to define a sparse interpolant to a function f(x) of a
multidimensional argument.
spinterp,
an Octave code 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,
an Octave code which
defines test problems for interpolation of data y(x),
depending on a 2d argument.
test_interp_2d,
an Octave code which
defines test problems for interpolation of data z(x,y),
depending on a 2d argument.
test_interp_nd_test
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,
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:
-
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.
-
tuple_next.m,
computes the next element of a tuple space.
Last revised on 06 June 2023.