In numerical analysis, Hermite interpolation, named after Charles Hermite, is a method of polynomial interpolation, which generalizes Lagrange interpolation. Lagrange interpolation allows computing a polynomial of degree less than n that takes the same value at n given points as a given function. Instead, Hermite interpolation computes a polynomial of degree less than mn such that the polynomial and its first m − 1 derivatives have the same values at n given points as a given function and its first m − 1 derivatives.
Hermite interpolation consists of computing a polynomial of degree as low as possible that matches an unknown function both in observed value, and the observed value of its first m derivatives. This means that n(m + 1) values
must be known. The resulting polynomial has a degree less than n(m + 1). (In a more general case, there is no need for m 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 P(x) of degree less than n(m + 1) with indeterminate coefficients; that is, the coefficients of P(x) are n(m + 1) new variables. Then, by writing the constraints that the interpolating polynomial must satisfy, one gets a system of n(m + 1) linear equations in n(m + 1) unknowns.
In general, such a system has exactly one solution. Charles Hermite proved that this is effectively the case here, as soon as the xi are pairwise different,[citation needed] and provided a method for computing it, which is described below.
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
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
Consider the function . Evaluating the function and its first two derivatives at , we obtain the following data:
x
f(x)
f′(x)
f″(x)
−1
2
−8
56
0
1
0
0
1
2
8
56
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 kth coefficient by , as we would when generating a Newton polynomial.
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