In
numerical analysis, polynomial interpolation is the
interpolation
In the mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points.
In engineering and science, one often has ...
of a given
data set by the
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 ex ...
of lowest possible degree that passes through the points of the dataset.
Given a set of data points
, with no two
the same, a polynomial function
is said to interpolate the data if
for each
.
Two common explicit formulas for this polynomial are the
Lagrange polynomials
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 ...
and
Newton polynomials.
Applications
Polynomials can be used to approximate complicated curves, for example, the shapes of letters in
typography
Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. The arrangement of type involves selecting typefaces, point sizes, line lengths, line-spacing ( leading), an ...
, given a few points. A relevant application is the evaluation of the
natural logarithm
The natural logarithm of a number is its logarithm to the base of the mathematical constant , which is an irrational and transcendental number approximately equal to . The natural logarithm of is generally written as , , or sometimes, if ...
and
trigonometric functions: pick a few known data points, create a
lookup table, and interpolate between those data points. This results in significantly faster computations. Polynomial interpolation also forms the basis for algorithms in
numerical quadrature
In analysis, numerical integration comprises a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations ...
and
numerical ordinary differential equations and
Secure Multi Party Computation,
Secret Sharing schemes.
Polynomial interpolation is also essential to perform sub-quadratic multiplication and squaring such as
Karatsuba multiplication and
Toom–Cook multiplication, where an interpolation through points on a polynomial which defines the product yields the product itself. For example, given ''a'' = ''f''(''x'') = ''a''
0''x''
0 + ''a''
1''x''
1 + ... and ''b'' = ''g''(''x'') = ''b''
0''x''
0 + ''b''
1''x''
1 + ..., the product ''ab'' is equivalent to ''W''(''x'') = ''f''(''x'')''g''(''x''). Finding points along ''W''(''x'') by substituting ''x'' for small values in ''f''(''x'') and ''g''(''x'') yields points on the curve. Interpolation based on those points will yield the terms of ''W''(''x'') and subsequently the product ''ab''. In the case of Karatsuba multiplication this technique is substantially faster than quadratic multiplication, even for modest-sized inputs. This is especially true when implemented in parallel hardware.
Interpolation theorem
There exists a unique polynomial of degree at most
that interpolates the
data points
, where no two
are the same.
Equivalently, for a fixed choice of interpolation nodes
, polynomial interpolation defines a linear
bijection between the n-tuples of real-number values
and the
vector space
In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called '' vectors'', may be added together and multiplied ("scaled") by numbers called '' scalars''. Scalars are often real numbers, but ...
of real polynomials of degree at most :
:
This is a type of
unisolvence theorem. The theorem is also valid over any infinite
field in place of the real numbers
, for example the rational or complex numbers.
First proof
Consider the Lagrange basis functions given by
:
Notice that
is a polynomial of degree
. Furthermore, for each
we have
, where
is the
Kronecker delta. It follows that the linear combination
:
is an interpolating polynomial of degree
.
To prove uniqueness, assume that there exists another interpolating polynomial
of degree at most
. Since
for all
, it follows that the polynomial
has
distinct zeros. However,
is of degree at most
and, by the
fundamental theorem of algebra, can have at most
zeros; therefore,
.
Second proof
Write out the interpolation polynomial in the form
:
Substituting this into the interpolation equations
, we get a
system of linear equations in the coefficients
, which reads in matrix-vector form as the following
multiplication:
:
An interpollant
corresponds to a solution
of the above matrix equation
. The matrix ''X'' on the left is a
Vandermonde matrix
In linear algebra, a Vandermonde matrix, named after Alexandre-Théophile Vandermonde, is a matrix with the terms of a geometric progression in each row: an matrix
:V=\begin
1 & x_1 & x_1^2 & \dots & x_1^\\
1 & x_2 & x_2^2 & \dots & x_2^\\
1 & x ...
, whose determinant is known to be
which is non-zero since the nodes
are all distinct. This ensures that the matrix is
invertible and the equation has the unique solution
; that is,
exists and is unique.
Corollary
If
is a polynomial of degree at most
, then the interpolating polynomial of
at
distinct points is
itself.
Constructing the interpolation polynomial

The Vandermonde matrix in the second proof above may have large
condition number, causing large errors when computing the coefficients if the system of equations is solved using
Gaussian elimination.
Several authors have therefore proposed algorithms which exploit the structure of the Vandermonde matrix to compute numerically stable solutions in O(''n''
2) operations instead of the O(''n''
3) required by Gaussian elimination. These methods rely on constructing first a
Newton interpolation of the polynomial and then converting it to the
monomial form above.
Alternatively, we may write down the polynomial immediately in terms of
Lagrange polynomial
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 ...
s:
:
For matrix arguments, this formula is called
Sylvester's formula and the matrix-valued Lagrange polynomials are the
Frobenius covariants.
Non-Vandermonde solutions
We are trying to construct our unique interpolation polynomial in the vector space Π
''n'' of polynomials of degree . When using a
monomial basis for Π
''n'' we have to solve the Vandermonde matrix to construct the coefficients for the interpolation polynomial. This can be a very costly operation (as counted in clock cycles of a computer trying to do the job). By choosing another basis for Π
''n'' we can simplify the calculation of the coefficients but then we have to do additional calculations when we want to express the interpolation polynomial in terms of a
monomial basis.
One method is to write the interpolation polynomial in the
Newton form
Newton most commonly refers to:
* Isaac Newton (1642–1726/1727), English scientist
* Newton (unit), SI unit of force named after Isaac Newton
Newton may also refer to:
Arts and entertainment
* ''Newton'' (film), a 2017 Indian film
* Newton ...
and use the method of
divided differences to construct the coefficients, e.g.
Neville's algorithm. The cost is
O(''n''2) operations, while Gaussian elimination costs O(''n''
3) operations. Furthermore, you only need to do O(''n'') extra work if an extra point is added to the data set, while for the other methods, you have to redo the whole computation.
Another method is to use the
Lagrange form
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 ...
of the interpolation polynomial. The resulting formula immediately shows that the interpolation polynomial exists under the conditions stated in the above theorem. Lagrange formula is to be preferred to Vandermonde formula when we are not interested in computing the coefficients of the polynomial, but in computing the value of ''p''(''x'') in a given ''x'' not in the original data set. In this case, we can reduce complexity to O(''n''
2).
The
Bernstein form was used in a constructive proof of the
Weierstrass approximation theorem by
Bernstein and has gained great importance in computer graphics in the form of
Bézier curves.
Linear combination of the given values
The
Lagrange form
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 ...
of the interpolating polynomial is a linear combination of the given values. In many scenarios, an efficient and convenient polynomial interpolation is a linear combination of the given values, using previously known coefficients. Given a set of
data points
where each data point is a (position, value) pair and where no two positions
are the same, the interpolation polynomial in the Lagrange form is a
linear combination
:
of the given values
with each coefficient
given by evaluating the corresponding Lagrange basis polynomial using the given
positions
.
:
Each coefficient
in the linear combination depends on the given positions
and the desired position
, but not on the given values
. For each coefficient, inserting the values of the given positions
and simplifying yields an expression
, which depends only on
. Thus the same coefficient expressions
can be used in a polynomial interpolation of a given second set of
data points
at the same given positions
, where the second given values
differ from the first given values
. Using the same coefficient expressions
as for the first set of data points, the interpolation polynomial of the second set of data points is the linear combination
:
For each coefficient
in the linear combination, the expression resulting from the Lagrange basis polynomial
only depends on the relative spaces between the given positions, not on the individual value of any position. Thus the same coefficient expressions
can be used in a polynomial interpolation of a given third set of
data points
:
where each position
is related to the corresponding position
in the first set by
and the desired positions are related by
, for a constant scaling factor ''a'' and a constant shift ''b'' for all positions. Using the same coefficient expressions
as for the first set of data points, the interpolation polynomial of the third set of data points is the linear combination
:
In many applications of polynomial interpolation, the given set of
data points is at equally spaced positions. In this case, it can be convenient to define the ''x''-axis of the positions such that
. For example, a given set of 3 equally-spaced data points
is then
.
The interpolation polynomial in the Lagrange form is the
linear combination
:
This quadratic interpolation is valid for any position ''x'', near or far from the given positions. So, given 3 equally-spaced data points at
defining a quadratic polynomial, at an example desired position
, the interpolated value after simplification is given by
This is a quadratic interpolation typically used in the Multigrid method. Again given 3 equally-spaced data points at
defining a quadratic polynomial, at the next equally spaced position
, the interpolated value after simplification is given by
:
In the above polynomial interpolations using a linear combination of the given values, the coefficients were determined using the Lagrange method. In some scenarios, the coefficients can be more easily determined using other methods. Examples follow.
According to the
method of finite differences
A difference engine is an automatic mechanical calculator designed to tabulate polynomial functions. It was designed in the 1820s, and was first created by Charles Babbage. The name, the difference engine, is derived from the method of divided d ...
, for any polynomial of degree ''d'' or less, any sequence of
values at equally spaced positions has a
th difference exactly equal to 0. The element ''s''
''d+1'' of the
Binomial transform is such a
th difference. This area is surveyed here. The
binomial transform, ''T'', of a sequence of values , is the sequence defined by
:
Ignoring the sign term
, the
coefficients of the element ''s''
''n'' are the respective
elements of the row ''n'' of Pascal's Triangle. The
triangle of binomial transform coefficients is like Pascal's triangle. The entry in the ''n''th row and ''k''th column of the BTC triangle is
for any non-negative integer ''n'' and any integer ''k'' between 0 and ''n''. This results in the following example rows ''n'' =
0 through ''n'' = 7, top to bottom, for the BTC triangle:
For convenience, each row ''n'' of the above example BTC triangle also has a label
. Thus for any polynomial of degree ''d'' or less, any sequence of
values at equally spaced positions has a
linear combination result of 0, when using the
elements of row ''d'' as the corresponding linear coefficients.
For example, 4 equally spaced data points of a quadratic polynomial obey the
linear equation given by row
of the BTC triangle.
This is the same linear equation as obtained above using the Lagrange method.
The BTC triangle can also be used to derive other polynomial interpolations. For example, the above quadratic interpolation
:
can be derived in 3 simple steps as follows. The equally spaced points of a quadratic polynomial obey the rows of the BTC triangle with
or higher. First, the row
spans the given and desired data points
with the linear equation
:
Second, the unwanted data point
is replaced by an expression in terms of wanted data points. The row
provides a linear equation with a term
, which results in a term
by multiplying both sides of the linear equation by 4.
Third, the above two linear equations are added to yield a linear equation equivalent to the above quadratic interpolation for
.
Similar to other uses of linear equations, the above derivation scales and adds vectors of coefficients. In polynomial interpolation as a linear combination of values, the elements of a vector correspond to a contiguous sequence of regularly spaced positions. The ''p'' non-zero elements of a vector are the ''p'' coefficients in a linear equation obeyed by any sequence of ''p'' data points from any degree ''d'' polynomial on any regularly spaced grid, where ''d'' is noted by the subscript of the vector. For any vector of coefficients, the subscript obeys
. When adding vectors with various subscript values, the lowest subscript applies for the resulting vector. So, starting with the vector of row
and the vector of row
of the BTC triangle, the above quadratic interpolation for
is derived by the vector calculation
:
Similarly, the cubic interpolation typical in the
Multigrid method In numerical analysis, a multigrid method (MG method) is an algorithm for solving differential equations using a hierarchy of discretizations. They are an example of a class of techniques called multiresolution methods, very useful in problems exhi ...
,
:
can be derived by a vector calculation starting with the vector of row
and the vector of row
of the BTC triangle.
:
Interpolation error
When interpolating a given function ''f'' by a polynomial of degree at the nodes ''x''
0,...,''x''
''n'' we get the error
:
where
: