TEST_INTERP
Interpolation Test Data
TEST_INTERP
is a FORTRAN77 library which
defines data that may be used to test interpolation algorithms.
The following sets of data are available:
-
p01_plot.png,
18 data points, 2 dimensions.
This example is due to Hans-Joerg Wenz.
It is an example of good data, which is dense enough in areas
where the expected curvature of the interpolant is large.
Good results can be expected with almost any reasonable
interpolation method.
-
p02_plot.png,
18 data points, 2 dimensions. This example is due to ETY Lee of Boeing.
Data near the corners is more dense than in regions of small curvature.
A local interpolation method will produce a more plausible
interpolant than a nonlocal interpolation method, such as
cubic splines.
-
p03_plot.png,
11 data points, 2 dimensions. This example is due to Fred Fritsch and Ralph Carlson.
This data can cause problems for interpolation methods.
There are sudden changes in direction, and at the same time,
sparsely-placed data. This can cause an interpolant to overshoot
the data in a way that seems implausible.
-
p04_plot.png,
8 data points, 2 dimensions. This example is due to Larry Irvine, Samuel Marin and Philip Smith.
This data can cause problems for interpolation methods.
There are sudden changes in direction, and at the same time,
sparsely-placed data. This can cause an interpolant to overshoot
the data in a way that seems implausible.
-
p05_plot.png,
9 data points, 2 dimensions. This example is due to Larry Irvine, Samuel Marin and Philip Smith.
This data can cause problems for interpolation methods.
There are sudden changes in direction, and at the same time,
sparsely-placed data. This can cause an interpolant to overshoot
the data in a way that seems implausible.
-
p06_plot.png,
49 data points, 2 dimensions. The data is due to deBoor and Rice.
The data represents a temperature dependent property of titanium.
The data has been used extensively as an example in spline
approximation with variably-spaced knots.
DeBoor considers two sets of knots:
(595,675,755,835,915,995,1075)
and
(595,725,850,910,975,1040,1075).
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 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:
DIVDIF,
a FORTRAN77 library which
includes many routines to construct and evaluate divided difference
interpolants.
HERMITE,
a FORTRAN77 library which
computes the Hermite interpolant, a polynomial that matches function values
and derivatives.
INTERP,
a FORTRAN90 library which
can compute interpolants to data.
INTERPOLATION,
a dataset directory which
contains datasets to be interpolated.
PPPACK,
a FORTRAN77 library which
implements Carl de Boor's piecewise polynomial functions,
including, particularly, cubic splines.
SPLINE,
a FORTRAN77 library which
includes many routines to construct and evaluate spline
interpolants and approximants.
TEST_APPROX,
a FORTRAN77 library which
defines tests for
approximation and interpolation algorithms.
TEST_INTERP_FUN,
a FORTRAN77 library which
defines a number of test problems for interpolation,
provided as functions (x,f(x)).
Reference:
-
Carl DeBoor, John Rice,
Least-squares cubic spline approximation II - variable knots.
Technical Report CSD TR 21,
Purdue University, Lafayette, Indiana, 1968.
-
Carl DeBoor,
A Practical Guide to Splines,
Springer, 2001,
ISBN: 0387953663,
LC: QA1.A647.v27.
-
Fred Fritsch, Ralph Carlson,
Monotone Piecewise Cubic Interpolation,
SIAM Journal on Numerical Analysis,
Volume 17, Number 2, April 1980, pages 238-246.
-
Larry Irvine, Samuel Marin, Philip Smith,
Constrained Interpolation and Smoothing,
Constructive Approximation,
Volume 2, Number 1, December 1986, pages 129-151.
-
ETY Lee,
Choosing Nodes in Parametric Curve Interpolation,
Computer-Aided Design,
Volume 21, Number 6, July/August 1989, pages 363-370.
-
Hans-Joerg Wenz,
Interpolation of Curve Data by Blended Generalized Circles,
Computer Aided Geometric Design,
Volume 13, Number 8, November 1996, pages 673-680.
Source Code:
Examples and Tests:
List of Routines:
-
P00_DATA returns the data for any problem.
-
P00_DATA_NUM returns the number of data points for any problem.
-
P00_DIM_NUM returns the spatial dimension for any problem.
-
P00_PROB_NUM returns the number of test problems.
-
P00_STORY prints the "story" for any problem.
-
P01_DATA returns the data for problem 01.
-
P01_DATA_NUM returns the number of data points for problem 01.
-
P01_DIM_NUM returns the spatial dimension for problem 01.
-
P01_STORY prints the "story" for problem 1.
-
P02_DATA returns the data for problem 02.
-
P02_DATA_NUM returns the number of data points for problem 02.
-
P02_DIM_NUM returns the spatial dimension for problem 02.
-
P02_STORY prints the "story" for problem 2.
-
P03_DATA returns the data for problem 03.
-
P03_DATA_NUM returns the number of data points for problem 03.
-
P03_DIM_NUM returns the spatial dimension for problem 03.
-
P03_STORY prints the "story" for problem 3.
-
P04_DATA returns the data for problem 04.
-
P04_DATA_NUM returns the number of data points for problem 04.
-
P04_DIM_NUM returns the spatial dimension for problem 04.
-
P04_STORY prints the "story" for problem 4.
-
P05_DATA returns the data for problem 05.
-
P05_DATA_NUM returns the number of data points for problem 05.
-
P05_DIM_NUM returns the spatial dimension for problem 05.
-
P05_STORY prints the "story" for problem 5.
-
P06_DATA returns the data for problem 06.
-
P06_DATA_NUM returns the number of data points for problem 06.
-
P06_DIM_NUM returns the spatial dimension for problem 06.
-
P06_STORY prints the "story" for problem 6.
-
R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
-
R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 06 February 2012.