hermite_interpolant, a Fortran77 code which constructs the Hermite polynomial which interpolates function and derivative values at given points.
In other words, the user supplies n sets of data, (x(i),y(i),yp(i)), and the algorithm determines a polynomial p(x) such that, for 1 <= i <= n
p(x(i)) = y(i)
p'(x(i)) = yp(i)
Note that p(x) is a "global" polynomial, not a piecewise polynomial. Given n data points, p(x) will be a polynomial of degree 2n-1. As the value n increases, the increasing degree of the interpolating polynomial makes it liable to oscillations between the data, and eventually to severe inaccuracy even at the data points.
Generally, the interpolation problem for a large number of data points should be handled differently, for instance by piecewise polynomials.
The information on this web page is distributed under the MIT license.
hermite_interpolant is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and an Octave version.
bernstein_polynomial, a Fortran77 library which evaluates the Bernstein polynomials, useful for uniform approximation of functions;
divdif, a Fortran77 library which computes interpolants by divided differences.
hermite_cubic, a Fortran77 library which can compute the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolating function made up of piecewise Hermite cubic polynomials.
INTERP, a Fortran90 library which can compute interpolants to data.
LAGRANGE_INTERP_1D, a Fortran77 library which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).
PPPACK, a Fortran77 library which computes piecewise polynomial functions, including cubic splines.
RBF_INTERP, a Fortran77 library which defines and evaluates radial basis interpolants to multidimensional data.
SPLINE, a Fortran77 library which includes many routines to construct and evaluate spline interpolants and approximants.
TEST_INTERP_1D, a Fortran77 library which defines test problems for interpolation of data y(x), depending on a 1D argument.