In
numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
, Hermite interpolation, named after
Charles Hermite, is a method of
polynomial interpolation, which generalizes
Lagrange interpolation. Lagrange interpolation allows computing a
polynomial
In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
of degree less than that takes the same value at given points as a given function. Instead, Hermite interpolation computes a polynomial of degree less than such that the polynomial and its first few derivatives have the same values at (fewer than ) given points as the given function and its first few derivatives at those points. The number of pieces of information, function values and derivative values, must add up to
.
Hermite's method of interpolation is closely related to the
Newton's interpolation method, in that both can be derived from the calculation of
divided differences. However, there are other methods for computing a Hermite interpolating polynomial. One can use
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
, by taking the coefficients of the interpolating polynomial as
unknowns, and writing as
linear equation
In mathematics, a linear equation is an equation that may be put in the form
a_1x_1+\ldots+a_nx_n+b=0, where x_1,\ldots,x_n are the variables (or unknowns), and b,a_1,\ldots,a_n are the coefficients, which are often real numbers. The coeffici ...
s the constraints that the interpolating polynomial must satisfy. For another method, see . For yet another method, see,
which uses contour integration.
Statement of the problem
In the restricted formulation studied in, Hermite interpolation consists of computing a
polynomial
In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
of degree as low as possible that matches an unknown function both in observed value, and the observed value of its first derivatives. This means that values must be known.
The resulting polynomial has a degree less than . (In a more general case, there is no need for to be a fixed value; that is, some points may have more known derivatives than others. In this case the resulting polynomial has a degree less than the number of data points.)
Let us consider a polynomial of degree less than with
indeterminate coefficients; that is, the coefficients of are new variables. Then, by writing the constraints that the interpolating polynomial must satisfy, one gets a
system of linear equations in unknowns.
In general, such a system has exactly one solution. In,
Charles Hermite used contour integration to prove that this is effectively the case here, and to find the unique solution, provided that the are pairwise different. The Hermite interpolation problem is a problem of
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
that has the coefficients of the interpolation polynomial as unknown variables and a
confluent Vandermonde matrix as its matrix. The general methods of linear algebra, and specific methods for confluent Vandermonde matrices are often used for computing the interpolation polynomial. Another method is described below.
Using Chinese remainder theorem
Let be a positive integer, be nonnegative integers, and values that are
real number
In mathematics, a real number is a number that can be used to measure a continuous one- dimensional quantity such as a duration or temperature. Here, ''continuous'' means that pairs of values can have arbitrarily small differences. Every re ...
s or belong to any other
field of
characteristic zero. Hermite interpolation problem consists of finding a
polynomial
In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
such that
:
for , where the are given values in the same field as the .
These conditions implies that the
Taylor polynomial of of degree at is
:
In other words, the desired polynomial is
congruent to this polynomial modulo
.
The
Chinese remainder theorem for polynomials implies that there is exactly one solution of degree less than
Moreover, this solution can be computed with
arithmetic operations, or even faster with fast
polynomial multiplication.
This approach does not works in positive characteristic, because of the denominators of the coefficients of the Taylor polynomial. The approach through divided differences, below, works in every characteristic.
Using divided differences
Simple case when all k=2
When using divided differences to calculate the Hermite polynomial of a function ''f'', the first step is to copy each point ''m'' times. (Here we will consider the simplest case
for all points.) Therefore, given
data points
, and values
and
for a function
that we want to interpolate, we create a new dataset
such that
Now, we create a
divided differences table for the points
. However, for some divided differences,
which is undefined.
In this case, the divided difference is replaced by
. All others are calculated normally.
A more general case when k>2
In the general case, suppose a given point
has ''k'' derivatives. Then the dataset
contains ''k'' identical copies of
. When creating the table,
divided differences of
identical values will be calculated as
For example,
etc.
A fast algorithm for the fully general case is given in.
A slower but more numerically stable algorithm is described in.
Example
Consider the function
. Evaluating the function and its first two derivatives at
, we obtain the following data:
Since we have two derivatives to work with, we construct the set
. Our divided difference table is then:
and the generated polynomial is
by taking the coefficients from the diagonal of the divided difference table, and multiplying the ''k''th coefficient by
, as we would when generating a Newton polynomial.
Quintic Hermite interpolation
The quintic Hermite interpolation based on the function (
), its first (
) and second derivatives (
) at two different points (
and
) can be used for example to interpolate the position of an object based on its position, velocity and acceleration.
The general form is given by
Error
Call the calculated polynomial ''H'' and original function ''f''. Consider first the real-valued case. Evaluating a point