Polynomial interpolation



         


In the mathematical subfield of numerical analysis, polynomial interpolation is the interpolation of a given data set by a polynomial. In other words, you are given some data points (such as obtained by sampling), and you want to find a polynomial which goes exactly through these points.

[Top]

Definition

Given a set of n+1 data points (xi,yi) where no two xi are the same we are trying to find a polynomial p of degree n with the property

<math>p(x_i) = y_i \mbox{ , } i=0,\ldots,n<math>

The unisolvence theorem states that the polynomial p of degree n is uniquely defined by the n+1 data points.

Or to phrase it in terms of linear algebra: For n+1 interpolation nodes there exists a vector space isomorphism

<math>L_n:\mathbb{K}^{n+1} \to \Pi_n<math>

where <math>\Pi_n<math> is the vector space of polynomials with degree n.

[Top]

Constructing the interpolation polynomial

Suppose that the interpolation polynomial is given by

<math>p(t) = a_n x^n + a_{n-1} x^{n-1} + \cdots + a_2 x^2 + a_1 x + a_0. \qquad (1) <math>

The statement that p interpolates the data points means that

<math>p(x_i) = y_i,\qquad \forall i \in \left\{ 0, 1, \dots, n\right\}.<math>

If we substitute equation (1) in here, we get a system of linear equations in the coefficients <math>a_k<math>. The system in matrix-vector form reads

<math>\begin{bmatrix}

x_0^n & x_0^{n-1} & x_0^{n-2} & \ldots & x_0 & 1 \\ x_1^n & x_1^{n-1} & x_1^{n-2} & \ldots & x_1 & 1 \\ \vdots & \vdots & \vdots & & \vdots & \vdots \\ x_n^n & x_n^{n-1} & x_n^{n-2} & \ldots & x_n & 1 \end{bmatrix} \begin{bmatrix} a_n \\ a_{n-1} \\ \vdots \\ a_0 \end{bmatrix} = \begin{bmatrix} y_0 \\ y_1 \\ \vdots \\ y_n \end{bmatrix} <math> We have to solve this system for <math>a_k<math> to construct the interpolant <math>p(x)<math>.

The matrix on the left is commonly referred to as a Vandermonde matrix. Its determinant is nonzero, which proves the unisolvence theorem: there exists a unique interpolating polynomial.

[Top]

Non-Vandermonde solutions

We are trying to construct our unique interpolation polynomial in the vector space <math>\Pi_n<math> that is the vector space of polynomials of degree n. When using a monomial basis for <math>\Pi_n<math> we have to solve the Vandermonde matrix to construct the coefficients <math>a_k<math> 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 <math>\Pi_n<math> we can simplify the calculation of the coeffiecients but then of course 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 and use the method of divided differences to construct the coefficients. The cost is O<math>(n^2)<math> operations, while Gaussian elimination costs O<math>(n^3)<math> operations. Furthermore, you only need to do a bit of 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 of the interpolation polynomial. The resulting formula immediately shows that the interpolation polynomial exists under the conditions stated in the above theorem.

The Bernstein form was used in a constructive proof of the Weierstrass approximation theorem by Bernstein and has nowadays gained great importance in computer graphics in the form of Bezier curves.

[Top]

Interpolation error

When interpolating a given function f by a polynomial of degree n at the nodes x0,...,xn we get the error

<math>f(x) - p_n(x) = f[x_0,\ldots,x_n,x] \prod_{i=0}^n (x-x_i) <math>

where

<math>f[x_0,\ldots,x_n,x]<math>

is the notation for divided differences. When f is n+1 times continously differentiable on the smallest interval I which contains the nodes xi then we can write the error in the Lagrange form as

<math> f(x) - p_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!} \prod_{i=0}^n (x-x_i) <math>

for some <math>\xi<math> in I. Thus the the remainder term in the Lagrange form of the Taylor theorem is a special case of interpolation error when all interpolation nodes xi are identical.

In the case of equally spaced interpolation nodes <math>x_i = x_0 + ih<math>, it follows that the interpolation error is O<math>(h^n)<math>. However, this does not necessarily mean that the error goes to zero as n → ∞. In fact, the error may increase without bound near the ends of the interval <math>[x_0, x_n]<math>. This is called Runge's phenomenon.

The above error bound suggests choosing the interpolation points xi such that the product | ∏ (xxi) | is as small as possible. The Chebyshev nodes achieve this.

[Top]

Lebesgue constants

We fix the interpolation nodes x0, ..., xn and an interval [a, b] containing all the interpolation nodes. The process of interpolation maps the function f to a polynomial p. This defines a mapping X from the space C([a, b]) of all continuous functions on [a, b] to itself. The map X is linear and it is a projection on the subspace Πn of polynomials of degree n or less.

The Lebesgue constant L is defined as the operator norm of X. This definition requires us to specify a norm on C([a, b]). We will here restrict our attention to the maximum norm.

The Lebesgue constant can be used to give another error estimate for polynomial interpolation. Let p* denote the best approximation of f among the polynomials of degree n or less. In other words, p* minimizes ||pf|| among all p ∈ Πn. Then ||fX(f)|| ≤ ||fp*|| + ||p*X(f)|| by the triangle inequality. But X is a projection on Πn, so p*X(f) = X(p*f). Taken together, this implies that

<math> \|f-X(f)\| \le (L+1) \|f-p^*\| <math>

In other words, the interpolation polynomial is at most a factor (L+1) worse than the best possible approximation. This suggests that we look for a set of interpolation nodes that L small.

The Lebesgue constant can be expressed in terms of the Lagrange basis polynomials

<math>l_j(x) := \prod_{i=0, j\neq i}^{k} \frac{x-x_i}{x_j-x_i} <math>

In fact, we have

<math> L = \max_{x\in[a,b]} \sum_{j=0}^k |l_j(x)|. <math>

Nevertheless, it is not easy to find an explicit expression for L.

In the case of equidistant nodes, the Lebesgue constant grows exponentially. More precisely, we have the following asymptotic estimate

<math> L \sim \frac{2^{n+1}}{\mbox{e} n \log n} \quad\mbox{as}\quad n \to \infty. <math>

On the other hand, the Lebesgue constant grows only logarithmically if Chebyshev nodes are used, since we have

<math> L \sim \frac2\pi \log(n+1) \quad\mbox{as}\quad n \to \infty. <math>

This is asymptotically optimal, because for any set of interpolation nodes we have the bound

<math> L \ge \frac2\pi \log(n+1) + C \quad\mbox{for some constant } C. <math>

We conclude again that Chebyshev nodes are a very good choice for polynomial interpolation.

[Top]

Related concepts

Runge's phenomenon shows that for high values of n, the interpolation polynomial may oscillate wildly between the data points. This problem is commonly resolved by the use of spline interpolation. Here, the interpolant is not a polynomial but a spline: a chain of several polynomials of a lower degree.

Using harmonic functions to interpolate a periodic function is usually done using Fourier series, for example in discrete Fourier transform. This can be seen as a form of polynomial interpolation with harmonic base functions, see trigonometric interpolation and trigonometric polynomial.

[Top]

References






  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License