Skip to article frontmatterSkip to article content

The interpolation problem

In this chapter, we use tkt_k for the nodes and xx to denote the continuous independent variable.

5.1.1Polynomials

Polynomials are the obvious first candidate to serve as interpolating functions. They are easy to work with, and in Polynomial interpolation we saw that a linear system of equations can be used to determine the coefficients of a polynomial that passes through every member of a set of given points in the plane. However, it’s not hard to find examples for which polynomial interpolation leads to unusable results.

In Chapter 9 we explore the large oscillations in the last figure of Example 5.1.1; it turns out that one must abandon either equally spaced nodes or nn\to\infty for polynomials. In the rest of this chapter we will keep nn fairly small and let the nodes be unrestricted.

5.1.2Piecewise polynomials

In order to keep polynomial degrees small while interpolating large data sets, we will choose interpolants from the piecewise polynomials. Specifically, the interpolant pp must be a polynomial on each subinterval [tk1,tk][t_{k-1},t_k] for k=1,,nk=1,\ldots,n.

Usually we designate in advance a maximum degree dd for each polynomial piece of p(x)p(x). An important property of the piecewise polynomials of degree dd is that they form a vector space: that is, any linear combination of piecewise polynomials of degree dd is another piecewise polynomial of degree dd. If pp and qq share the same node set, then the combination is piecewise polynomial on that node set.

We will consider piecewise linear interpolation in more detail in Piecewise linear interpolation, and we look at piecewise cubic interpolation in Cubic splines.

5.1.3Conditioning of interpolation

In the interpolation problem we are given the values (tk,yk)(t_k,y_k) for k=0,,nk=0,\ldots,n. Let us consider the nodes tkt_k of the problem to be fixed, and let a=t0a=t_0, b=tnb=t_n. Then the data for the interpolation problem consists of a vector y\mathbf{y}, and the result of the problem is a function on [a,b][a,b].

Let I\mathcal{I} be a prescription for producing the interpolant from a data vector. That is, I(y)=p\mathcal{I}(\mathbf{y})=p, where p(tk)=ykp(t_k)=y_k for all kk. The interpolation methods we will consider are all linear, in the sense that

I(αy+βz)=αI(y)+βI(z)\cI(\alpha\mathbf{y} + \beta\mathbf{z}) = \alpha \cI(\mathbf{y}) + \beta \cI(\mathbf{z})

for all vectors y,z\mathbf{y},\mathbf{z} and scalars α,β\alpha,\beta.

Linearity greatly simplifies the analysis of interpolation. To begin with, for any data vector y\mathbf{y} we have the standard expression y=ykek\mathbf{y}=\sum y_k \mathbf{e}_k, where, as always, ek\mathbf{e}_k is a column of an identity matrix.[1] Hence by linearity,

I(y)=I(k=0nykek)=k=0nykI(ek).\cI( \mathbf{y} ) = \cI \left( \sum_{k=0}^n y_k \mathbf{e}_k \right) = \sum_{k=0}^n y_k \cI( \mathbf{e}_k ).

The functions appearing within the sum above have particular significance.

For any set of n+1n+1 nodes, there are n+1n+1 cardinal functions ϕ0,,ϕn\phi_0,\ldots,\phi_n, each singling out a different interpolation node in the set. We finish (5.1.2) by writing

I(y)=k=0nykϕk.\cI( \mathbf{y} ) = \sum_{k=0}^n y_k \phi_k.

In the following result we use the function infinity-norm or max-norm defined by

f=maxx[a,b]f(x).\| f\|_{\infty} = \max_{x \in [a,b]} |f(x)|.

5.1.4Exercises

Footnotes
  1. To be precise, we are using ek\mathbf{e}_k to mean column number k+1k+1 from an (n+1)×(n+1)(n+1)\times (n+1) identity matrix, since in linear algebra we start indexing at 1.