test_interp_nd
    
    
    
      test_interp_nd,
      a MATLAB 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 information on this web page is 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:
    
    
      
      test_interp_nd_test
    
    
      
      lagrange_interp_nd,
      a MATLAB 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,
      a MATLAB code which
      contains many utility routines using double precision real (r8) arithmetic.
    
    
      
      rbf_interp_nd,
      a MATLAB code which
      defines and evaluates radial basis function (rbf) interpolants to multidimensional data.
    
    
      
      shepard_interp_nd,
      a MATLAB code which
      defines and evaluates shepard interpolants to multidimensional data,
      based on inverse distance weighting.
    
    
      
      sparse_interp_nd
      a MATLAB code which
      can be used to define a sparse interpolant to a function f(x) of a 
      multidimensional argument.
    
    
      
      spinterp,
      a MATLAB 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,
      a MATLAB code which
      defines test problems for interpolation of data y(x),
      depending on a 2d argument.
    
    
      
      test_interp_2d,
      a MATLAB code 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,
          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 29 March 2019.