Interpolation Method

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 73

Chapter 7: Interpolation

❑  Topics:

❑  Examples

❑  Polynomial Interpolation – bases, error, Chebyshev, piecewise

❑  Orthogonal Polynomials

❑  Splines – error, end conditions

❑  Parametric interpolation

❑  Multivariate interpolation: f(x,y)


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Interpolation
Basic interpolation problem: for given data
(t1 , y1 ), (t2 , y2 ), . . . (tm , ym ) with t1 < t2 < · · · < tm
determine function f : R ! R such that
f (ti ) = yi , i = 1, . . . , m
f is interpolating function, or interpolant, for given data
Additional data might be prescribed, such as slope of
interpolant at given points
Additional constraints might be imposed, such as
smoothness, monotonicity, or convexity of interpolant
f could be function of more than one variable, but we will
Note: consider
We might only one-dimensional
look case
at multi-dimensional
case, even though the text
Michael does
T. Heath not.
Scientific Computing 3 / 56
Piecewise Polynomial Interpolation Existence and Uniqueness

Purposes for Interpolation


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Purposes for Interpolation


Plotting smooth curve through discrete data points

Reading between lines of table


Plotting smooth curve through discrete data points
Differentiating or integrating tabular data
Reading between lines of table
Quick and easy evaluation of mathematical function
Differentiating or integrating tabular data
Replacing complicated function by simple one
Quick and easy evaluation of mathematical function
¡  Basis functions for function approximation in numerical solution of
Replacing
ordinary andcomplicated function
partial differential by simple
equations (ODEsoneand PDEs).
¡  Basis functions for developing integration rules.
¡  Basis functions for developing differentiation techniques.
(Not just tabular Michael
data…) T. Heath Scientific Computing 4 / 56

Michael T. Heath Scientific Computing 4 / 56


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Interpolation vs Approximation

By definition, interpolating function fits given data points


exactly

Interpolation is inappropriate if data points subject to


significant errors

It is usually preferable to smooth noisy data, for example


by least squares approximation

Approximation is also more appropriate for special function


libraries

Michael T. Heath Scientific Computing 5 / 56


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Issues in Interpolation

Arbitrarily many functions interpolate given set of data points

What form should interpolating function have?

How should interpolant behave between data points?

Should interpolant inherit properties of data, such as


monotonicity, convexity, or periodicity?

Are parameters that define interpolating function


meaningful? For example, function values, slopes, etc. ?

If function and data are plotted, should results be visually


pleasing?

Michael T. Heath Scientific Computing 6 / 56


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Choosing Interpolant

Choice of function for interpolation based on


How easy interpolating function is to work with
determining its parameters ! Conditioning? !!
evaluating interpolant
differentiating or integrating interpolant

How well properties of interpolant match properties of data


to be fit (smoothness, monotonicity, convexity, periodicity,
etc.)

Michael T. Heath Scientific Computing 7 / 56


Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Functions for Interpolation

Families of functions commonly used for interpolation


include
Polynomials
Piecewise polynomials
Trigonometric functions
Exponential functions
Rational functions

For now we will focus on interpolation by polynomials and


piecewise polynomials

We will consider trigonometric interpolation (DFT) later

Michael T. Heath Scientific Computing 8 / 56


A Classic Polynomial Interpolation Problem

•  Suppose you’re asked to tabulate data such


that linear interpolation between tabulated
values is correct to 4 digits.

•  How many entries are required on, say, [0,1]?

•  How many digits should you have in the


tabulated data?
A Classic Polynomial Interpolation Problem

An important polynomial interpolation result for f (x) 2 C n :


If p(x) 2 lPn 1 and p(xj ) = f (xj ), j = 1, . . . , n, then there
exists a ✓ 2 [x1 , x2 , . . . , xn , x] such that
f n (✓)
f (x) p(x) = (x x1 )(x x2 ) · · · (x xn ).
n!

In particular, for linear interpolation, we have


f 00 (✓)
f (x) p(x) = (x x1 )(x x2 )
2
|f 00 | h2 h2 |f 00 |
|f (x) p(x)|  max = max
[x1 :x2 ] 2 4 [x1 :x2 ] 8
where the latter result pertains to x 2 [x1 , x2 ].
A Classic Polynomial Interpolation Problem

Example: f (x) = cos(x)


We know that |f 00 |  1 and thus, for linear interpolation
h2
|f (x) p(x)|  .
8
If we want 4 decimal places of accuracy, accounting for rounding, we need
h2 1 4
|f (x) p(x)|   ⇥ 10
8 2
h2  4 ⇥ 10 4

h  0.02

x cos x
0.00 1.00000
0.02 0.99980
0.04 0.99920
0.06 0.99820
0.08 0.99680
Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Basis Functions
Family of functions for interpolating given data points is
spanned by set of basis functions 1 (t), . . . , n (t)
Interpolating function f is chosen as linear combination of
basis functions,
n
X
f (t) = xj j (t)
j=1

Requiring f to interpolate data (ti , yi ) means


n
X
f (ti ) = xj j (ti ) = yi , i = 1, . . . , m
j=1

which is system of linear equations Ax = y for n-vector x


of parameters xj , where entries of m ⇥ n matrix A are
given by aij = j (ti )
Michael T. Heath Scientific Computing 9 / 56
Interpolation Motivation
Polynomial Interpolation Choosing Interpolant
Piecewise Polynomial Interpolation Existence and Uniqueness

Existence, Uniqueness, and Conditioning

Existence and uniqueness of interpolant depend on


number of data points m and number of basis functions n

If m > n, interpolant usually doesn’t exist

If m < n, interpolant is not unique

If m = n, then basis matrix A is nonsingular provided data


points ti are distinct, so data can be fit exactly

Sensitivity of parameters x to perturbations in data


depends on cond(A), which depends in turn on choice of
basis functions

Michael T. Heath Scientific Computing 10 / 56


Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Polynomial Interpolation

Simplest and most common type of interpolation uses


polynomials

Unique polynomial of degree at most n 1 passes through


n data points (ti , yi ), i = 1, . . . , n, where ti are distinct

There are many ways to represent or compute interpolating


polynomial, but in theory all must give same result

< interactive
(i.e., in infinite example
precision >
arithmetic)

Michael T. Heath Scientific Computing 11 / 56


Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Monomial Basis
Monomial basis functions

j (t) = tj 1
, j = 1, . . . , n

give interpolating polynomial of form


n 1
pn 1 (t) = x 1 + x 2 t + · · · + x n t

with coefficients x given by n ⇥ n linear system


2 n 1
32 3 2 3
1 t1 · · · t 1 x1 y1
6 1 t2 · · · t n 1 7 6 x 2 7 6 y 2 7
6 2 76 7 6 7
Ax = 6 . . .
. . . .. 7 6 .. 7 = 6 .. 7 = y
4. . . . 54 . 5 4 . 5
1 tn · · · tnn 1 xn yn

Matrix of this form is called Vandermonde matrix


Michael T. Heath Scientific Computing 12 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Example: Monomial Basis


Determine polynomial of degree two interpolating three
data points ( 2, 27), (0, 1), (1, 0)
Using monomial basis, linear system is
2 2
32 3 2 3
1 t 1 t1 x1 y1
Ax = 41 t2 t22 5 4x2 5 = 4y2 5 = y
1 t3 t23 x3 y3
For these particular data, system is
2 32 3 2 3
1 2 4 x1 27
41 0 05 4x2 5 = 4 15
1 1 1 x3 0
⇥ ⇤T
whose solution is x = 1 5 4 , so interpolating
polynomial is
p2 (t) = 1 + 5t 4t2
Michael T. Heath Scientific Computing 13 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Monomial Basis, continued

< interactive example >

Solving system Ax = y using standard linear equation


solver to determine coefficients x of interpolating
polynomial requires O(n3 ) work
Michael T. Heath Scientific Computing 14 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Monomial Basis, continued

For monomial basis, matrix A is increasingly ill-conditioned


as degree increases
Ill-conditioning does not prevent fitting data points well,
since residual for linear system solution will be small
But it does mean that values of coefficients are poorly
determined
Both conditioning of linear system and amount of
computational work required to solve it can be improved by
using different basis
Change of basis still gives same interpolating polynomial
for given data, but representation of polynomial will be
different
Michael T. Heath Scientific Computing 15 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Monomial Basis, continued


Conditioning with monomial basis can be improved by
shifting and scaling independent variable t
✓ ◆j 1
t c
j (t) =
d
where, c = (t1 + tn )/2 is midpoint and d = (tn t1 )/2 is
half of range of data
New independent variable lies in interval [ 1, 1], which also
helps avoid overflow or harmful underflow
Even with optimal shifting and scaling, monomial basis
usually is still poorly conditioned, and we must seek better
alternatives
< interactive example >
Michael T. Heath Scientific Computing 16 / 56
Polynomial Interpolation

❑  Two types: Global or Piecewise

❑  Choices:
❑  A: points are given to you
❑  B: you choose the points

❑  Case A: piecewise polynomials are most common – STABLE.


❑  Piecewise linear
❑  Splines
❑  Hermite (matlab “pchip” – piecewise cubic Hermite int. polynomial)

❑  Case B: high-order polynomials are OK if points chosen wisely


❑  Roots of orthogonal polynomials
❑  Convergence is exponential: err ~ Ce-¾ n, instead of algebraic: err~Cn-k
Piecewise Polynomial Interpolation

❑  Example – Given the table below,

xj fj
0.6 1.2
0.8 2.0
1.0 2.4

Polynomial
❑  Q: What is f(x=0.75) ? interpolation error for

If p(x) 2 lPn 1 and p(xj ) = f (xj ), j =


exists a ✓ 2 [x1 , x2 , . . . , xn , x] such th

f (x) p(x) =
Polynomial Interpolation

❑  Example – Given the table below,

xj fj
0.6 1.2
0.8 2.0
1.0 2.4

Polynomial
❑  Q: What is f(x=0.75) ? interpolation error for

❑  A: 1.8 --- You’veIf done2(piecewise)


justp(x) lPn 1 and linear p(x j ) = f (xj ), j =
interpolation.
exists a ✓ 2 [x1 , x2 , . . . , xn , x] such th
❑  Moreover, you know the error is · (0.2)2 f’’ / 8.
f (x) p(x) =
xj fj
0.6 1.2
0.8 2.0
1.0 2.4 General Polynomial Interpolation
• Whether interpolating on segments or globally, error formula applies over
the interval.
If p(t) 2 lPn 1 and p(tj ) = f (tj ), j = 1, . . . , n, then there
exists a ✓ 2 [t1 , t2 , . . . , tn , t] such that
f n (✓)
f (t) p(t) = (t t1 )(t t2 ) · · · (t tn )
n!
f n (✓)
= qn (t), qn (t) 2 lPn .
n!
• We generally have no control over f n (✓), so instead seek to optimize
choice of the tj in order to minimize

max |qn (t)| .


t2[t1 ,tn ]

• Such a problem is called a minimax problem and the solution is given


by the tj s being the roots of a Chebyshev polynomial, as we will discuss
shortly.
• First, however, we turn to the problem of constructing p(t) 2 lPn 1 (t).
Constructing High-Order Polynomial Interpolants

❑  Lagrange Polynomials
n
X
p(t) = fj lj (t)
j=1

lj (t) = 1 t = tj
lj (ti ) = 0 t = ti , i 6= j
lj (t) 2 lPn 1 (t)

The lj1(t) polynomials are chosen so that p(tj) = f(tj) := fj


lj (t) = (t t1 )(t t2 ) · · · (t tj 1 )(t tj+1 ) · · · (t tn )
C
The lj(t)s are sometimes called the Lagrange cardinal functions.
C = (tj t1 )(tj t2 ) · · · (tj tj 1 )(tj tj+1 ) · · · (tj tn )
✓ ◆✓ ◆ ✓ ◆✓ ◆ ✓ ◆
t t1 t t2 t tj 1 t tj+1 t tn
l (t) = ··· ··· .
Constructing High-Order Polynomial Interpolants
n
X
❑  Lagrange Polynomials
p(t) = fj lj (t)
j=1

P lj (t) = 1 t = tj
• Construct p(t) = j f j l j (t).
lj (ti ) = 0 t = ti , i 6= j
• lj (t) given by above.
lj (t) 2 lPn 1 (t)
• Error formula f (t) p(t) given as before.
• Can choose tj ’s to minimize error polynomial qn (t).
1
lj (t) = (t t1 )(t t2 ) · · · (t tj 1 )(t tj+1 ) · · · (t tn )
C
• lj (t) is a polynomial of degree n 1
C = (tj t1 )(tj t2 ) · · · (tj tj 1 )(tj tj+1 ) · · · (tj tn )
• It is zero at t =
✓ ti , i 6=
◆ j.
✓ ◆ ✓ ◆✓ ◆ ✓
t t1 t t2 t tj 1 t tj+1 t t
l (t) =
• Choosej C so that · · · ···
tj itt1is 1 at
tj t t=
2
tj . tj tj 1 tj tj+1 tj t

n
• Error formula f (t) p(t) given as before.
Constructing
• Can choose tj ’sHigh-Order
to minimizePolynomial Interpolants
error polynomial qn (t).

• lj (t) is a polynomial of degree n 1


• It is zero at t = ti , i 6= j.
• Choose C so that it is 1 at t = tj .

n
X
p(t) = fj lj (t)
j=1

lj (t) = 1 t = tj
lj (ti ) = 0 t = ti , i 6= j
lj (t) 2 lPn 1 (t)
• Error formula f (t) p(t) given as before.
Constructing
• Can choose tj ’s High-Order
to minimize Polynomial Interpolants
error polynomial qn (t).

• lj (t) is a polynomial of degree n 1


• It is zero at t = ti , i 6= j.
• Choose C so that it is 1 at t = tj .

n
X
p(t) = fj lj (t)
j=1

lj (t) = 1 t = tj
lj (ti ) = 0 t = ti , i 6= j
lj (t) 2 lPn 1 (t)
Constructing High-Order Polynomial Interpolants

❑  Although a bit tedious to do by hand, these formulas are relatively easy to


evaluate with a computer.

❑  So, to recap – Lagrange polynomial interpolation:


P
• Construct p(t) = j fj lj (t).
• lj (t) given by above.
• Error formula f (t) p(t) given as before.
• Can choose tj ’s to minimize error polynomial qn (t).

• lj (t) is a polynomial of degree n 1


• It is zero at t = ti , i 6= j.
Lagrange Basis Functions, n=2 (linear)
Lagrange Basis Functions, n=3 (quadratic)
Also have the Newton Basis

• Given pn (tj ) = fj , j = 1, . . . , n and pn 2 lPn 1 .


• Let

pn+1 (t) := pn (t) + C(t t1 )(t t2 ) · · · (t tn )

such that pn+1 (tn+1 ) = fn+1

• Set
fn+1 pn (tn+1 )
C = ,
qn (tn+1 )

with qn (t) := (t t1 )(t t2 ) · · · (t tn ) 2 lPn

❑  These formulas are interesting because they are adaptive.


(More details are in the text, but this is the essence of the method.)
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Lagrange Interpolation
For given set of data points (ti , yi ), i = 1, . . . , n, Lagrange
basis functions are defined by
n
Y n
Y
`j (t) = (t tk ) / (tj tk ), j = 1, . . . , n
k=1,k6=j k=1,k6=j

For Lagrange basis,



1 if i = j
`j (ti ) = , i, j = 1, . . . , n
0 if i 6= j
so matrix of linear system Ax = y is identity matrix
Thus, Lagrange polynomial interpolating data points (ti , yi )
is given by
pn 1 (t) = y1 `1 (t) + y2 `2 (t) + · · · + yn `n (t)
Michael T. Heath Scientific Computing 18 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Lagrange Basis Functions

< interactive example >

Lagrange interpolant is easy to determine but more


expensive to evaluate for given argument, compared with
monomial basis representation
These concernsform
Lagrangian areisimportant
also morewhen computing
difficult by hand,
to differentiate,
but not important
integrate, etc. when using a computer.
Michael T. Heath Scientific Computing 19 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Example: Lagrange Interpolation

Use Lagrange interpolation to determine interpolating


polynomial for three data points ( 2, 27), (0, 1), (1, 0)

Lagrange polynomial of degree two interpolating three


points (t1 , y1 ), (t2 , y2 ), (t3 , y3 ) is given by p2 (t) =
(t t2 )(t t3 ) (t t1 )(t t3 ) (t t1 )(t t2 )
y1 + y2 + y3
(t1 t2 )(t1 t3 ) (t2 t1 )(t2 t3 ) (t3 t1 )(t3 t2 )

For these particular data, this becomes

t(t 1) (t + 2)(t 1)
p2 (t) = 27 + ( 1)
( 2)( 2 1) (2)( 1)

Michael T. Heath Scientific Computing 20 / 56


Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Interpolating Continuous Functions

If data points are discrete sample of continuous function,


how well does interpolant approximate that function
between sample points?

If f is smooth function, and pn 1 is polynomial of degree at


most n 1 interpolating f at n points t1 , . . . , tn , then

f (n) (✓)
f (t) pn 1 (t) = (t t1 )(t t2 ) · · · (t tn )
n!
where ✓ is some (unknown) point in interval [t1 , tn ]

Since point ✓ is unknown, this result is not particularly


useful unless bound on appropriate derivative of f is
known

Michael T. Heath Scientific Computing 33 / 56


Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Interpolating Continuous Functions, continued

If |f (n) (t)|  M for all t 2 [t1 , tn ], and


h = max{ti+1 ti : i = 1, . . . , n 1}, then

M hn
max |f (t) pn 1 (t)| 
t2[t1 ,tn ] 4n

Error diminishes with increasing n and decreasing h, but


only if |f (n) (t)| does not grow too rapidly with n

< interactive example >

Michael T. Heath Scientific Computing 34 / 56


Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Convergence

Polynomial interpolating continuous function may not


converge to function as number of data points and
polynomial degree increases

Equally spaced interpolation points often yield


unsatisfactory results near ends of interval

If points are bunched near ends of interval, more


satisfactory results are likely to be obtained with
polynomial interpolation

Use of Chebyshev points distributes error evenly and


yields convergence throughout interval for any sufficiently
smooth function

Michael T. Heath Scientific Computing 36 / 56


Unstable and Stable Interpolating Basis Sets

❑  Examples of unstable bases are:


❑  Monomials (modal): φi = xi
❑  High-order Lagrange interpolants (nodal) on uniformly-spaced points.

❑  Examples of stable bases are:


❑  Orthogonal polynomials (modal), e.g.,
❑  Legendre polynomials: Lk(x), or
❑  bubble functions: φk(x) := Lk+1(x) – Lk-1(x).
❑  Lagrange (nodal) polynomials based on Gauss quadrature points
(e.g., Gauss-Legendre, Gauss-Chebyshev, Gauss-Lobatto-Legendre,
etc.)

❑  Can map back and forth between stable nodal bases and
Legendre or bubble function modal bases, with minimal
information loss.
Unstable and Stable Interpolating Basis Sets

• Key idea for Chebyshev interpolation is to choose points that minimize


max |qn+1 (x)| on interval I := [ 1, 1].

qn+1 (x) := (x x0 )(x x1 ) . . . (x xn )

:= xn + cn 1 xn 1
+ . . . + c0

which is a monic polynomial of degree n + 1.


• The roots of the Chebyshev polynomial Tn+1 (x) yield such a set of points
by clustering near the endpoints.
Lagrange Polynomials: Good and Bad Point Distributions

N=4

N=7

φ2 φ4

N=8

Uniform Gauss-Lobatto-Legendre
Here, we see the max qn+1 for uniform
(red) and Chebyshev points.

Chebyshev converges much more rapidly.


Nth-order Gauss-Chebyshev Points
❑  Roots of Nth-order Chebyshev polynomial are projections of
equispaced points on the circle, starting with µ = ±µ/2, then
µ = 3±µ/2,…,¼-±µ/2.
N+1 Gauss-Lobatto Chebyshev Points
❑  N+1 GLC points are projections of equispaced points on the
circle, starting with µ = 0, then µ = ¼/N, 2¼/N, … , k¼/N, … , ¼.
Nth-Order Gauss Chebyshev Points
❑  Matlab Demo
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Example: Runge’s Function


Polynomial interpolants of Runge’s function at equally
spaced points do not converge

< interactive example >


Michael T. Heath Scientific Computing 37 / 56
Interpolation Monomial, Lagrange, and Newton Interpolation
Polynomial Interpolation Orthogonal Polynomials
Piecewise Polynomial Interpolation Accuracy and Convergence

Example: Runge’s Function


Polynomial interpolants of Runge’s function at Chebyshev
points do converge

Chebyshev Convergence is exponential


< interactive example > for smooth f(t).
Michael T. Heath Scientific Computing 38 / 56
Interpolation Testing

• Try a variety of methods for a variety of functions.


• Inspect by plotting the function and the interpolant.
• Compare with theoretical bounds. (Which are accurate!)

Typical Interpolation Experiment

• Given f (t), evaluate fj := f (tj ), j = 1, . . . , n.


• Construct interpolant:
n
X
p(t) = p̂j j (t).
j=1

• Evaluate p(t) at t̃i , i = 1, . . . , m, m n. (Fine mesh, for plotting, say.)


• To check error, compare with original function on fine mesh, t̃i .
• Compare with theoretical bounds. (Which are accurate!)

Typical Interpolation Experiment

• Given f (t), evaluate fj := f (tj ), j = 1, . . . , n.


• Construct interpolant:
n
X
p(t) = p̂j j (t).
j=1

• Evaluate p(t) at t̃i , i = 1, . . . , m, m n. (Fine mesh, for plotting, say.)


• To check error, compare with original function on fine mesh, t̃i .

ei := p(t̃i ) f (t̃i )
maxi |ei |
emax :=
maxi |fi |
max |p f |
⇡ .
max |f |
(Remember, it’s an experiment.)
• Preceding description is for one trial.
• Repeat for increasing n and plot emax (n) on a log-log or semilog plot.
• Compare with other methods and with theory:
– methods – identify best method for given function / requirements
– theory – verify that experiment is correctly implemented
• Repeat with a di↵erent function.
Summary of Key Theoretical Results

• Piecewise linear interpolation:


(
h 2 M := max✓2[a,b] |f 00 (✓) |
max | p f|  M,
t2[a,b] 8 h := maxj2[2,...,n] (tj tj 1 ), tj 1 < tj

• Polynomial interpolation through n points:


qn (✓)
max | p f|  M,
t2[a,b] n!
hn
 M, (for t 2 [a, b]),
4n
with M := max |f n (✓) |.
✓2[a,b,t]

– Here, qn (✓) := (✓ t1 )(✓ t2 ) · · · (✓ tn ).


– The first result also holds true for extrapolation, i.e., t62[a, b].

• Natural cubic spline (s00 (a) = s00 (b) = 0):

max | p f |  C h2 M, M = max |f 00 (✓) |,


t2[a,b] ✓2[a,b]

00 00
– Here, qn (✓) := (✓ t1 )(✓ t2 ) · · · (✓ tn ).
– The first result also holds true for extrapolation, i.e., t62[a, b].

• Natural cubic spline (s00 (a) = s00 (b) = 0):

max | p f |  C h2 M, M = max |f 00 (✓) |,


t2[a,b] ✓2[a,b]

unless f 00 (a) = f 00 (b) = 0, or other lucky circumstances.


• Clamped cubic spline (s0 (a) = f 0 (a), s0 (b) = f 0 (b)):

max | p f |  C h4 M, M = max |f iv (✓) |.


t2[a,b] ✓2[a,b]

• Nyquist sampling theorem:


Roughly: The maximum frequency that can be resolved with n points is N = n/2.
There are other conditions, such as limits on the spacing of the sampling.
• Methods:
– piecewise linear
– polynomial on uniform points
– polynomial on Chebyshev points
– natural cubic spline

• Tests:
– et
– ecos t
– sin t on [0, ⇡]
– sin t on [0, ⇡2 ]
– sin 15t on [0, 2⇡]
– ecos 11t on [0, 2⇡]
1
– Runge function: 1+25t2
on [0, 1]
1
– Runge function: 1+25t2
on [ 1, 1]
p
– Semi-circle: 1 t2 on [ 1, 1]
– Polynomial: tn
– Extrapolation
– Other

interp_test.m interp_test_runge.m
• Methods:
– piecewise linear
– polynomial on uniform points
– polynomial on Chebyshev points
– natural cubic spline

• Tests:
– et
– ecos t
– sin t on [0, ⇡]
– sin t on [0, ⇡2 ]
– sin 15t on [0, 2⇡]
– ecos 11t on [0, 2⇡]
1
– Runge function: 1+25t2
on [0, 1]
1
– Runge function: 1+25t2
on [ 1, 1]
p
– Semi-circle: 1 t2 on [ 1, 1]
– Polynomial: tn
– Extrapolation
– Other

interp_test.m interp_test_runge.m
Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Piecewise Polynomial Interpolation


Fitting single polynomial to large number of data points is
likely to yield unsatisfactory oscillating behavior in
interpolant
Piecewise polynomials provide alternative to practical and
theoretical difficulties with high-degree polynomial
interpolation
Main advantage of piecewise polynomial interpolation is
that large number of data points can be fit with low-degree
polynomials
In piecewise interpolation of given data points (ti , yi ),
different function is used in each subinterval [ti , ti+1 ]
Abscissas ti are called knots or breakpoints, at which
interpolant changes from one function to another
Michael T. Heath Scientific Computing 40 / 56
Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Piecewise Interpolation, continued

Simplest example is piecewise linear interpolation, in


which successive pairs of data points are connected by
straight lines

Although piecewise interpolation eliminates excessive


oscillation and nonconvergence, it appears to sacrifice
smoothness of interpolating function

We have many degrees of freedom in choosing piecewise


polynomial interpolant, however, which can be exploited to
obtain smooth interpolating function despite its piecewise
nature

< interactive example >

Michael T. Heath Scientific Computing 41 / 56


Piecewise Polynomial Bases: Linear and Quadratic
Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Cubic Spline Interpolation


Spline is piecewise polynomial of degree k that is k 1
times continuously differentiable
For example, linear spline is of degree 1 and has 0
continuous derivatives, i.e., it is continuous, but not
smooth, and could be described as “broken line”
Cubic spline is piecewise cubic polynomial that is twice
continuously differentiable
As with Hermite cubic, interpolating given data and
requiring one continuous derivative imposes 3n 4
constraints on cubic spline
Requiring continuous second derivative imposes n 2
additional constraints, leaving 2 remaining free parameters
Michael T. Heath Scientific Computing 44 / 56
Piecewise cubics:

• Interval Ij = [xj 1 , xj ], j = 1, . . . , n

pj (x) 2 lP3 (x) on Ij

pj (x) = aj + bj x + cj x2 + dj x3

• 4n unknowns

pj (xj 1 ) = fj 1 , j = 1, . . . , n

pj (xj ) = fj , j = 1, . . . , n

p0j (xj ) = p0j+1 (xj ), j = 1, . . . , n 1


Spline
p00j (xj ) = p00j+1 (xj ), j = 1, . . . , n 1 conditions
• 4n 2 equations
Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Cubic Splines, continued

Final two parameters can be fixed in various ways

Specify first derivative at endpoints t1 and tn

Force second derivative to be zero at endpoints, which


gives natural spline

Enforce “not-a-knot” condition, which forces two


consecutive cubic pieces to be same

Force first derivatives, as well as second derivatives, to


•  Force first
match derivativestat
at endpoints endpoints to match y’(x) – clamped spline.
1 and tn (if spline is to be periodic)

Michael T. Heath Scientific Computing 45 / 56


Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Example: Cubic Spline Interpolation

Determine natural cubic spline interpolating three data


points (ti , yi ), i = 1, 2, 3

Required interpolant is piecewise cubic function defined by


separate cubic polynomials in each of two intervals [t1 , t2 ]
and [t2 , t3 ]

Denote these two polynomials by

p1 (t) = ↵1 + ↵2 t + ↵3 t2 + ↵4 t3
2 3
p2 (t) = 1 + 2t + 3t + 4t

Eight parameters are to be determined, so we need eight


equations

Michael T. Heath Scientific Computing 46 / 56


Cubic Spline Formulation – 2 Segments

Interpolatory
8 Unknowns
p1 (t1 ) = y1
p1 (t) = ↵1 + ↵2 t + ↵3 t)2 =
p1 (t +↵y24 t
3
2
p2 (t) = + 2t +p (t3 t)2 + 4t
3
2 2 = y2
1

8 Equations p2 (t3 ) = y3

Interpolatory Continuity of Derivatives


Interpolatory
p1 (t1 ) = y1 p01 (t2 ) p=1 (tp102)(t=
2 ) y1

p1 (t2 ) = y2 p001 (t2 ) p=1 (tp2 )002 (t=


2 ) y2

p2 (t2 ) = y2 8 Unknowns p2 (t2 ) = y2


End Conditions
p2 (t3 ) = y3 p001 (t) = p (t↵)1 + = ↵y2 t + ↵3 t2 + ↵4 t3
p1 (t1 ) =2 03 3

p002 (t) = 1 + 2 t + 3 t2 + 4 t3
Continuity of Derivatives
p2 (t3 ) Continuity
= 0 of Derivatives
p01 (t2 ) = p02 (t2 ) p01 (t
(Natural 0
2 ) = p2 (t2 )
Spline)
p001 (t2 ) = p002 (t2 ) p001 (t2 ) = p002 (t2 )
8 Equations

End Conditions End Conditions Interpolatory


p001 (t1 ) = 0 p001 (t1 ) = 0 p1 (t1 ) = y1
p002 (t3 ) = 0 p002 (t3 ) = 0 p1 (t2 ) = y2
p2 (t2 ) = y2
p2 (t3 ) = y3
Some Cubic Spline Properties
❑  Continuous
❑  1st derivative: continuous
❑  2nd derivative: continuous

❑  “Natural Spline” minimizes integrated curvature:


over all twice-differentiable f(x)
passing through (xj,fj), j=1,…,n.

❑  Robust / Stable (unlike high-order polynomial interpolation)


❑  Commonly used in computer graphics, CAD software, etc.
❑  Usually used in parametric form (DEMO)
❑  There are other forms, e.g., tension-splines, that are also useful.
❑  For clamped boundary conditions, convergence is O(h4)
❑  For small displacements, natural spline is like a physical spline.
(DEMO)
Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Hermite Cubic vs Spline Interpolation


Choice between Hermite cubic and spline interpolation
depends on data to be fit and on purpose for doing
interpolation
If smoothness is of paramount importance, then spline
interpolation may be most appropriate
But Hermite cubic interpolant may have more pleasing
visual appearance and allows flexibility to preserve
monotonicity if original data are monotonic
In any case, it is advisable to plot interpolant and data to
help assess how well interpolating function captures
behavior of original data

< interactive example >

Michael T. Heath Scientific Computing 49 / 56


Interpolation Piecewise Polynomial Interpolation
Polynomial Interpolation Hermite Cubic Interpolation
Piecewise Polynomial Interpolation Cubic Spline Interpolation

Hermite Cubic vs Spline Interpolation

Matlab “pchip()” function

Michael T. Heath Scientific Computing 50 / 56


Parametric Interpolation

❑  Important when y(x) is not a function of x; then, define [ x(t), y(t) ]


such that both are (preferably smooth) functions of t.

❑  Example 1: a circle.
Parametric Interpolation: Example 2

❑  Suppose we want to
approximate a cursive letter.

❑  Use (minimally curvy) splines,


parameterized.
Parametric Interpolation: Example 2

❑  Once we have our (xi , yi )


pairs, we still need to pick ti .

❑  One possibility: ti = i , but


usually it’s better to
parameterize by arclength, if x
Stable Lagrange
and y haveInterpolation
the same units.

• An approximate arclength is
❑  An approximate arclength is:
i
X
si = dsj , dsi := ||xi xi 1 ||2
j=0

❑  Note – can also have Lagrange


parametric interpolation…
Parametric Interpolation: Example 2

Pseudo-Arclength-Based Index-Based
Multidimensional Interpolation

❑  Multidimensional interpolation has many applications in computer


aided design (CAD), partial differential equations, high-parameter
data fitting/assimilation.

❑  Costs considerations can be dramatically different (and of course,


higher) than in the 1D case.

2D basis function, N=10


Multidimensional Interpolation

❑  There are many strategies for interpolating f(x,y) [ or f(x,y,z), etc.].


❑  One easy one is to use tensor products of one-dimensional
interpolants, such as bicubic splines or tensor-product Lagrange
polynomials. n nXX
pn(s, t) = li(s) lj (t) fij
i=0 j=0

n X
X n
= li(s) fij lj (t)
i=0 j=0

2D Example: n=2
Consider 1D Interpolation
n
X
f˜(s) = lj (s) fj
j=1

n
X
f˜(s) = lj (s) fj
j=1

n
X
f˜i = lij fj , lij := lj (si)
j=1

f̃ = L f

• si – fine mesh (i.e., target gridpoints)


• L is the matrix of Lagrange cardinal polynomials (or, say, spline
bases) evaluated at the target points, si, i = 1, . . . , m.
Two-Dimensional Case (say, n x n à m x m)
n X
X n
f˜(s, t) = li(s) lj (t) fij
i=1 j=1

n X
X n
= li(s) fij lj (t)
i=1 j=1

n X
X n
f˜pq := f˜(sp, tq ) := lpi fij lqj
i=1 j=1

n X
X n
T
:= lpi fij ljq
i=1 j=1

F̃ = LF LT ! matrix-matrix product, fast

• Note that the storage of L is mn < m2 + n2, which is the storage


of F̃ and F combined.
• That is, in higher space dimensions, the operator cost (L) is less
than the data cost (F̃ , F ).
:= lpi fij ljq
i=1 j=1

Two-DimensionalF̃Case (say,
= LF LT n x n à m x m)

• Note that the storage of L is mn < m2 + n2, which is the storage


of F̃ and F combined.
• That is, in higher space dimensions, the operator cost (L) is less
than the data cost (F̃ , F ).
• This is even more dramatic in 3D, where the relative cost is mn
to m3 + n3.
• Observation: It is difficult to assess relevant operator costs
based on 1D model problems.

1
Aside: GLL Points and Legendre Polynomials

You might also like