HERMITE
Hermite polynomial interpolating function and derivative values


HERMITE is a FORTRAN90 library 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.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

HERMITE is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

BERNSTEIN_POLYNOMIAL, a FORTRAN90 library which evaluates the Bernstein polynomials, useful for uniform approximation of functions;

CHEBYSHEV, a FORTRAN90 library which computes the Chebyshev interpolant/approximant to a given function over an interval.

DIVDIF, a FORTRAN90 library which computes interpolants by divided differences.

HERMITE_CUBIC, a FORTRAN90 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 FORTRAN90 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 FORTRAN90 library which computes piecewise polynomial functions, including cubic splines.

RBF_INTERP, a FORTRAN90 library which defines and evaluates radial basis interpolants to multidimensional data.

SPLINE, a FORTRAN90 library which includes many routines to construct and evaluate spline interpolants and approximants.

TEST_INTERP, a FORTRAN90 library which defines a number of test problems for interpolation.

TOMS446, a FORTRAN90 library which manipulates Chebyshev series for interpolation and approximation;
this is a version of ACM TOMS algorithm 446, by Roger Broucke.

Reference:

  1. Philip Davis,
    Interpolation and Approximation,
    Dover, 1975,
    ISBN: 0-486-62495-1,
    LC: QA221.D33
  2. Carl deBoor,
    A Practical Guide to Splines,
    Springer, 2001,
    ISBN: 0387953663,
    LC: QA1.A647.v27.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 01 November 2011.