Hermite interpolation
   HOME

TheInfoList



OR:

In
numerical analysis Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of numerical methods ...
, Hermite interpolation, named after
Charles Hermite Charles Hermite () FRS FRSE MIAS (24 December 1822 – 14 January 1901) was a French mathematician who did research concerning number theory, quadratic forms, invariant theory, orthogonal polynomials, elliptic functions, and algebra. Hermi ...
, is a method of
polynomial interpolation In numerical analysis, polynomial interpolation is the interpolation of a given data set by the polynomial of lowest possible degree that passes through the points of the dataset. Given a set of data points (x_0,y_0), \ldots, (x_n,y_n), with no ...
, which generalizes
Lagrange interpolation In numerical analysis, the Lagrange interpolating polynomial is the unique polynomial of lowest degree that interpolates a given set of data. Given a data set of coordinate pairs (x_j, y_j) with 0 \leq j \leq k, the x_j are called ''nodes'' an ...
. Lagrange interpolation allows computing a
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
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 derivatives have the same values at given points as a given function and its first derivatives. Hermite's method of interpolation is closely related to the Newton's interpolation method, in that both are derived from the calculation of
divided differences In mathematics, divided differences is an algorithm, historically used for computing tables of logarithms and trigonometric functions. Charles Babbage's difference engine, an early mechanical calculator, was designed to use this algorithm in its o ...
. 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 matrices ...
, by taking the coefficients of the interpolating polynomial as unknowns, and writing as linear equations the constraints that the interpolating polynomial must satisfy. For another method, see .


Statement of the problem

Hermite interpolation consists of computing a
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
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 : \begin (x_0, y_0), &(x_1, y_1), &\ldots, &(x_, y_), \\ (x_0, y_0'), &(x_1, y_1'), &\ldots, &(x_, y_'), \\ \vdots & \vdots & &\vdots \\ (x_0, y_0^), &(x_1, y_1^), &\ldots, &(x_, y_^) \end 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.
Charles Hermite Charles Hermite () FRS FRSE MIAS (24 December 1822 – 14 January 1901) was a French mathematician who did research concerning number theory, quadratic forms, invariant theory, orthogonal polynomials, elliptic functions, and algebra. Hermi ...
proved that this is effectively the case here, as soon as the are pairwise different, and provided a method for computing it, which is described below.


Method


Simple case

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 m = 1 for all points.) Therefore, given n + 1 data points x_0, x_1, x_2, \ldots, x_n, and values f(x_0), f(x_1), \ldots, f(x_n) and f'(x_0), f'(x_1), \ldots, f'(x_n) for a function f that we want to interpolate, we create a new dataset :z_0, z_1, \ldots, z_ such that :z_=z_=x_i. Now, we create a divided differences table for the points z_0, z_1, \ldots, z_. However, for some divided differences, :z_i = z_\implies f _i, z_= \frac = \frac which is undefined. In this case, the divided difference is replaced by f'(z_i). All others are calculated normally.


General case

In the general case, suppose a given point x_i has ''k'' derivatives. Then the dataset z_0, z_1, \ldots, z_ contains ''k'' identical copies of x_i. When creating the table,
divided differences In mathematics, divided differences is an algorithm, historically used for computing tables of logarithms and trigonometric functions. Charles Babbage's difference engine, an early mechanical calculator, was designed to use this algorithm in its o ...
of j = 2, 3, \ldots, k identical values will be calculated as :\frac. For example, :f _i, x_i, x_i\frac :f _i, x_i, x_i, x_i\frac etc.


Example

Consider the function f(x) = x^8 + 1. Evaluating the function and its first two derivatives at x \in \, we obtain the following data: : Since we have two derivatives to work with, we construct the set \ = \. Our divided difference table is then: : \begin z_0 = -1 & f _0= 2 & & & & & & & & \\ & & \frac = -8 & & & & & & & \\ z_1 = -1 & f _1= 2 & & \frac = 28 & & & & & & \\ & & \frac = -8 & & f _3,z_2,z_1,z_0= -21 & & & & & \\ z_2 = -1 & f _2= 2 & & f _3,z_2,z_1= 7 & & 15 & & & & \\ & & f _3,z_2= -1 & & f _4,z_3,z_2,z_1= -6 & & -10 & & & \\ z_3 = 0 & f _3= 1 & & f _4,z_3,z_2= 1 & & 5 & & 4 & & \\ & & \frac = 0 & & f _5,z_4,z_3,z_2= -1 & & -2 & & -1 & \\ z_4 = 0 & f _4= 1 & & \frac = 0 & & 1 & & 2 & & 1 \\ & & \frac = 0 & & f _6,z_5,z_4,z_3= 1 & & 2 & & 1 & \\ z_5 = 0 & f _5= 1 & & f _6,z_5,z_4= 1 & & 5 & & 4 & & \\ & & f _6,z_5= 1 & & f _7,z_6,z_5,z_4= 6 & & 10 & & & \\ z_6 = 1 & f _6= 2 & & f _7,z_6,z_5= 7 & & 15 & & & & \\ & & \frac = 8 & & f _8,z_7,z_6,z_5= 21 & & & & & \\ z_7 = 1 & f _7= 2 & & \frac = 28 & & & & & & \\ & & \frac = 8 & & & & & & & \\ z_8 = 1 & f _8= 2 & & & & & & & & \\ \end and the generated polynomial is : \begin P(x) &= 2 - 8(x+1) + 28(x+1) ^2 - 21 (x+1)^3 + 15x(x+1)^3 - 10x^2(x+1)^3 \\ &\quad + 4x^3(x+1)^3 -1x^3(x+1)^3(x-1)+x^3(x+1)^3(x-1)^2 \\ &=2 - 8 + 28 - 21 - 8x + 56x - 63x + 15x + 28x^2 - 63x^2 + 45x^2 - 10x^2 - 21x^3 \\ &\quad + 45x^3 - 30x^3 + 4x^3 + x^3 + x^3 + 15x^4 - 30x^4 + 12x^4 + 2x^4 + x^4 \\ &\quad - 10x^5 + 12x^5 - 2x^5 + 4x^5 - 2x^5 - 2x^5 - x^6 + x^6 - x^7 + x^7 + x^8 \\ &= x^8 + 1. \end by taking the coefficients from the diagonal of the divided difference table, and multiplying the ''k''th coefficient by \prod_^ (x - z_i), as we would when generating a Newton polynomial.


Quintic Hermite interpolation

The quintic Hermite interpolation based on the function (f), its first (f') and second derivatives (f'') at two different points (x_0 and x_1) 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 \begin p(x) & = f(x_0) + f'(x_0) (x - x_0) + \fracf''(x_0) (x - x_0)^2 + \frac (x - x_0)^3 \\ & + \frac (x - x_0)^3 (x - x_1) \\ & + \frac (x - x_0)^3 (x - x_1)^2. \end


Error

Call the calculated polynomial ''H'' and original function ''f''. Evaluating a point x \in _0, x_n/math>, the error function is : f(x) - H(x) = \frac \prod_(x - x_i)^, where ''c'' is an unknown within the range _0, x_N/math>, ''K'' is the total number of data-points, and k_i is the number of derivatives known at each x_i plus one.


See also

*
Cubic Hermite spline In numerical analysis, a cubic Hermite spline or cubic Hermite interpolator is a spline where each piece is a third-degree polynomial specified in Hermite form, that is, by its values and first derivatives at the end points of the correspondi ...
*
Newton series A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for the ...
, also known as
finite differences A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for the ...
* Neville's schema * Bernstein form of the interpolation polynomial


References

* *


External links


Hermites Interpolating Polynomial
at Mathworld {{Authority control Interpolation Finite differences Factorial and binomial topics