0% found this document useful (0 votes)
50 views

Interpolation (Part I) : Simon Fraser University - Surrey Campus MACM 316 - Spring 2005 Instructor: Ha Le

This document discusses polynomial interpolation. It begins by providing an overview of polynomial interpolation, piecewise polynomial interpolation, and planar parametric curves. It then defines the interpolation problem and gives an example. The document explains that the basic theorem of polynomial interpolation is that there exists a unique polynomial of degree n that interpolates n+1 data points. It also presents the Lagrange form of polynomial interpolation using Lagrange basis polynomials.

Uploaded by

Ali Raza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Interpolation (Part I) : Simon Fraser University - Surrey Campus MACM 316 - Spring 2005 Instructor: Ha Le

This document discusses polynomial interpolation. It begins by providing an overview of polynomial interpolation, piecewise polynomial interpolation, and planar parametric curves. It then defines the interpolation problem and gives an example. The document explains that the basic theorem of polynomial interpolation is that there exists a unique polynomial of degree n that interpolates n+1 data points. It also presents the Lagrange form of polynomial interpolation using Lagrange basis polynomials.

Uploaded by

Ali Raza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

' $

Interpolation (Part I)

Simon Fraser University – Surrey Campus


MACM 316 – Spring 2005
Instructor: Ha Le

& %
1
' $

Overview

• Polynomial interpolation
• The basic theorem
• Lagrange form, Neville’s method
• Divided-difference method
• Hermite interpolation
• Piecewise polynomial interpolation
• Cubic spline interpolation
• Planar parametric curves

& %
2
' $

Interpolation: Problem Specification

Input: a set S of data


2
{(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, (xi , yi ) ∈ .

Output: a function P (x) which interpolates the given set of data,


i.e., P (xi ) = yi , for 0 ≤ i ≤ n.

Note. In general, the interpolating function P (x) is NOT unique.

& %
3
' $

Interpolation: an Example

1 11 3 3 7 5 9 11 7
S= (0, 1), , 1 , 1, , , , 2, , , , 3, , ,1
2 10 2 4 8 2 10 10 2



1.4

1.2

0.8

0.6

0 1 2 3 4
z

& %
4
' $

Polynomial Interpolation

The interpolating function is a polynomial, i.e., P (x) ∈ [x].


Polynomial interpolation is used
• for applications involving small sets of data, i.e., typically n not
bigger than 5 or 6;
• as a component of a larger computation including integration,
solving differential equations, piecewise polynomial
interpolation.

& %
5
' $

Polynomial Interpolation: the Basic Theorem

Given (n + 1) data pairs (xi , yi ) ∈ 2 , 0 ≤ i ≤ n, with xi 6= xj if


i 6= j, there is a unique polynomial P (x) of degree not exceeding n
that interpolates this data.
Example. For S = {(x0 , y0 ), (x1 , y1 ), (x2 , y2 ), (x3 , y3 )}, consider
P (x) = c0 + c1 x + c2 x2 + c3 x3 , which interpolates the points in S:

P (x0 ) = c0 + c1 x0 + c2 x20 + c3 x30 = y0


P (x1 ) = c0 + c1 x1 + c2 x21 + c3 x31 = y1
P (x2 ) = c0 + c1 x2 + c2 x22 + c3 x32 = y2 (1)
P (x3 ) = c0 + c1 x3 + c2 x23 + c3 x33 = y3 .

& %
6
' $

In matrix/vector notation:
     
2 3
1 x 0 x0 x0 c0 y0
     
     
 1 x x 2 x 3   c   y 
 1 1 1   1   1 



 ·

=
 


 1 x 2 x2 2 x2 3   c2   y 2 
     
     
1 x 3 x3 2 x3 3 c3 y3
| {z } | {z } | {z }
Vandermonde matrix: V c y
Y
det V = (xi − xj ) =
i<j

(x2 − x3 ) (x1 − x3 ) (x1 − x2 ) (x0 − x3 ) (x0 − x2 ) (x0 − x1 ) 6= 0 (2)

since xi 6= xj for i 6= j.

& %
7
' $

A basic fact in linear algebra. If V is an n × n matrix, the following


two conditions are equivalent:
1. V is nonsingular;
2. the linear system of equations V · c = y has a unique solution c
for any n × 1 matrix y.
It follows from (2) and “a basic fact in linear algebra” that the
linear system of equations (1) has a unique solution c, i.e., there is
a unique polynomial P (x) which interpolates the data set S.

The same argument applies to the general case where |S| = n.

& %
8
' $

Lagrange Form

Given S = {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, xi 6= xj for i 6= j,


consider the set of (n + 1) Lagrange basis functions Lk (x),
k = 0, . . . , n, defined as
(x − x0 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )
Lk (x) = .
(xk − x0 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
It is easy to show that

 0 if j =
6 k,
Lk (xj ) = (3)
 1 if j = k.

Define P (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x). By (3),


P (xi ) = yi for i = 0, . . . , n. Hence, P (x) is the interpolating
polynomial for the data set S.
& %
9
' $

Lagrange Form: an Example

i 0 1 2 3 4
xi 3.2 2.7 1.0 4.8 5.6
P (xi ) 22.0 17.8 14.2 38.3 51.7
Use x0 , x1 , and x2 to construct the second Lagrange interpolating
polynomial.
(x − x1 )(x − x2 ) (x − x0 )(x − x2 )
P0,1,2 (x) = P (x0 ) + P (x1 ) +
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
P (x2 )
(x2 − x0 )(x2 − x1 )
≈ 20.0 (x − 2.7) (x − 1.0) − 20.9 (x − 3.2) (x − 1.0) +
3.80 (x − 3.2) (x − 2.7) .

& %
10
' $

Use x0 , x1 , x2 , and x3 to construct the third Lagrange


interpolating polynomial.
P0,1,2,3 (x) equals
(x − x1 )(x − x2 )(x − x3 ) (x − x0 )(x − x2 )(x − x3 )
P (x0 ) + P (x1 )+
(x0 − x1 )(x0 − x2 )(x0 − x3 ) (x1 − x0 )(x1 − x2 )(x1 − x3 )

(x − x0 )(x − x1 )(x − x3 ) (x − x0 )(x − x1 )(x − x2 )


P (x2 ) + P (x3 ),
(x2 − x0 )(x2 − x1 )(x2 − x3 ) (x3 − x0 )(x3 − x1 )(x3 − x2 )

which approximates

−12.5 (x − 2.7) (x − 1.0) (x − 4.8) + 10.0 (x − 3.2) (x − 1.0) (x − 4.8) −


1.0 (x − 3.2) (x − 2.7) (x − 4.8) + 2.99 (x − 3.2) (x − 2.7) (x − 1.0) .

& %
11
' $

Lagrange Form: Error Estimate

Suppose x0 , x1 , . . . , xn are distinct numbers in the interval [a, b]


and f ∈ C n+1 [a, b]. Then for each x in [a, b], a number ξ(x) in (a, b)
exists with
f (n+1) (ξ(x))
f (x) = P (x) + (x − x0 )(x − x1 ) · · · (x − xn ),
(n + 1)!
where P (x) is the n-th Lagrange polynomial.

Note. The error form for the Lagrange polynomial is quite similar
to that for the Taylor polynomial.

& %
12
' $

Neville’s Method

• The error formula is not applied because we do not know the


derivative values of f . However, we can get an estimate for the
error by examining polynomials of different degrees and by using
different nodes.
• Derivation of the interpolating polynomials in a manner that uses
the previous calculations.
Definition. Let f be a function defined at x0 , x1 , x2 , . . . , xn , and
suppose that m1 , m2 , . . . , mk are k distinct integers, with
0 ≤ mi ≤ n for each i. The Lagrange polynomial that agrees with
f (x) at the k points xm1 , xm2 , . . . , xmk is denoted Pm1 ,m2 ,...,mk (x).
Example. P0,1,2 and P0,1,2,3 in the last example.

& %
13
' $

Theorem. Let f be defined at x0 , x1 , . . . , xk , and let xi and xj be


two distinct numbers in this set. Then
Q̂(x) Q(x)
z }| { z }| {
(x−xj ) P0,...,j−1,j+1,...,k (x) −(x−xi ) P0,...,i−1,i+1,...,k (x)
P0,...,k (x) = .
xi − x j
Proof.
• r 6= i and r 6= j: Q(xr ) = Q̂(xr ) = f (xr ) for 0 ≤ r ≤ k. Hence,
P0,...,k (xr ) = f (xr ).
• r = i: P0,...,k (xi ) =Q̂(xi ) = f (xi ).
• r = j: P0,...,k (xj ) =Q(xj ) = f (xj ).

& %
14
' $

P0
P0,1
P1 P0,1,2
P1,2 P0,1,2,3
P2 P1,2,3 P0,1,2,3,4
P2,3 P1,2,3,4
P3 P2,3,4
P3,4
P4
(x − x1 )P0 − (x − x0 )P1
Example. P0,1 (x) = is derived from P0
x0 − x 1
and P1 . Similarly, P0,1,2,3 can be derived from P0,1,2 and P1,2,3 .

& %
15
' $

Neville’s Method: an Example

• Problem. Let xi = i for i = 0, 1, 2, 3. It is known that

P0,1 (x) = 2x + 1, P0,2 (x) = x + 1, P1,2,3 (2.5) = 3.

Find P0,1,2,3 (2.5).


• Solution.

(x − x3 )P0,1,2 (x) − (x − x0 )P1,2,3 (x)
P0,1,2,3 (2.5) = . (4)
x0 − x 3
x=2.5

(x − x2 )P0,1 (x) − (x − x1 )P0,2 (x)
P0,1,2 (2.5) = ≈ 2.25.
x1 − x 2
x=2.5
By (4), P0,1,2,3 (2.5) ≈ 2.8750.

& %
16
' $

Divided-Difference Method

Let S = {(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))}, xi 6= xj for
i 6= j. Consider

Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · +
an (x − x0 )(x − x1 ) · · · (x − xn−1 ).

Note that Pn (x) ∈ [x], and deg Pn (x) ≤ n.


Problem. Find ai ’s, 0 ≤ i ≤ n so that Pn (x) = f (x) at x = xi ,
0 ≤ i ≤ n.

& %
17
' $

kth Divided Difference

zeroth: f [xi ] = f (xi ).

f [xi+1 ] − f [xi ] f (xi+1 ) − f (xi )


first: f [xi , xi+1 ] = =
xi+1 − xi xi+1 − xi

f [xi+1 , xi+2 ] − f [xi , xi+1 ]


second: f [xi , xi+1 , xi+2 ] =
xi+2 − xi

kth: f [xi , xi+1 , . . . , xi+k−1 , xi+k ] =


f [xi+1 , xi+2 , . . . , xi+k ] − f [xi , xi+1 , . . . , xi+k−1 ]
xi+k − xi

& %
18
' $

Divided Differences: a Table

First Second
x f (x) divided differences divided differences
x0 f [x0 ]
f [x1 ]−f [x0 ]
f [x0 , x1 ] = x1 −x0
f [x1 ,x2 ]−f [x0 ,x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ] = x2 −x0
f [x2 ]−f [x1 ]
f [x1 , x2 ] = x2 −x1
f [x2 ,x3 ]−f [x1 ,x2 ]
x2 f [x2 ] f [x1 , x2 , x3 ] = x3 −x1
f [x3 ]−f [x2 ]
f [x2 , x3 ] = x3 −x2
x3 f [x3 ]

& %
19
' $

Newton’s Divided Difference Formula

Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · +
an (x − x0 )(x − x1 ) · · · (x − xn−1 ). (5)
Pn (x0 ) = f (x0 ) = f [x0 ] = a0 .
Pn (x1 ) = f (x1 ) = f [x1 ] = f [x0 ] + a1 (x − x0 ). Hence,
f [x1 ] − f [x0 ]
a1 = = f [x0 , x1 ].
x1 − x 0
ak = f [x0 , x1 , . . . , xk ].
n
X
By (5), Pn (x) = f [x0 ] + f [x0 , x1 , . . . , xk ](x − x0 ) · · · (x − xk−1 ) =
k=1

f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + · · · +


f [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) · · · (x − xn−1 ).
& %
20
' $

Newton’s Formula: an Example

S = {(3.2, 22.0), (2.7, 17.8), (4.8, 38.3)} .

P3 (x) = f [x0 ]+f [x0 , x1 ](x−x0 )+f [x0 , x1 , x2 ](x−x0 )(x−x1 )


f [x0 ] = f (x0 ) = 3.2
f [x1 ] − f [x0 ]
f [x0 , x1 ] = = 8.4000
x1 − x 0
f [x2 ] − f [x1 ]
f [x1 , x2 ] = = 9.7619
x2 − x 1
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] = = 0.85119
x2 − x 0
Hence,
P3 (x) = 3.2000+8.4000(x−3.2000)+0.85119(x−3.2000)(x−2.7000).
& %
21
' $

Newton Forward-Difference Formula

Equal spacing: xi+1 − xi = h, 0 ≤ i ≤ n − 1. Then xi = x0 + ih.


Let x = x0 + sh. We have
k−1
Y
(x−xi ) = (x0 +sh−x0 )(x0 +sh−x0 −h) · · · (x0 +sh−x0 −h(k−1))
i=0
 
k s
= s(s − 1) · · · (s − k + 1)h = k! hk .
k
Hence,
n
X
Pn (x) = f [x0 ] + f [x0 , x1 , . . . , xk ](x − x0 ) · · · (x − xk−1 )
k=1
n  
X s
= f [x0 ] + k! hk f [x0 , x1 , . . . , xk ].
k
& %
k=1

22
' $
Foward-difference operator.
∆f (xi ) = f (xi+1 )−f (xi ), ∆k f (xi ) = ∆k−1 (∆f (xi )) for k = 2, 3, . . . .
f (x1 ) − f (x0 ) ∆f (x0 )
f [x0 , x1 ] = = .
x1 − x 0 h
 
f [x1 , x2 ] − f [x0 , x1 ] 1 ∆f (x1 ) − ∆f (x0 )
f [x0 , x1 , x2 ] = =
x2 − x 0 2h h
1 1 2
= (∆(f (x 1 ) − f (x 0 ))) = ∆ f (x0 ).
2h2 2! h2
1 k
In general, f [x0 , x1 , . . . , xk ] = ∆ f (x0 ). Hence,
k! hk
n  
X s
Pn (x) = f [x0 ] + k! hk f [x0 , x1 , . . . , xk ]
k
k=1
n  
X s
= f [x0 ] + ∆k f (x0 ).
k

& %
k=1

23
' $

Hermite Interpolation

The interpolating polynomial P (x) is to have the same “shape” as


the function f (x) at the data points in the sense that the tangent
lines to the polynomial and to the function agree at (xi , f (xi )), for
0 ≤ i ≤ n, i.e.,

P (xi ) = f (xi ),
P 0 (xi ) = f 0 (xi ).

Remark. Need to know the values of f (xi ) and f 0 (xi ) for 0 ≤ i ≤ n.

& %
24
' $

Hermite Polynomials

Theorem. If f ∈ C 1 [a, b] and x0 , . . . , xn ∈ [a, b] are distinct, the


unique polynomial of least degree agreeing with f and f 0 at
x0 , . . . , xn is the Hermite polynomial of degree at most 2n + 1:
n
X n
X
H(x) = f (xj )Hj (x) + f 0 (xj )Ĥj (x),
j=0 j=0

where

Hj (x) = 1 − 2(x − xj )L0j (xj ) L2j (x), H̄j (x) = (x − xj )L2j (x).

Moreover, if f ∈ C 2n+2 [a, b], then for some ξ with a < ξ < b,
(x − x0 )2 · · · (x − xn )2 (2n+2)
f (x) = H(x) + f (ξ).
(2n + 2)!

& %
25
' $

Hermite Polynomials: an Example

j xj f (xj ) f 0 (xj )
0 1.3 0.6200860 -0.5220232
1 1.6 0.4554022 -0.5698959
2 1.9 0.2818186 -0.5811571

2
X 2
X
H(x) = f (xj )Hj (x) + f 0 (xj )Ĥj (x)
j=0 j=0

= f (x0 )H0 (x) + f (x1 )H1 (x) + f (x2 )H2 (x) +


f 0 (x0 )Ĥ0 (x) + f 0 (x1 )Ĥ1 (x) + f 0 (x2 )Ĥ2 (x). (6)

& %
26
' $

H0 (x) = (1−2(x−x0 )L00 (x0 )) L20 (x), Ĥ0 (x) = (x−x0 )L20 (x)
H1 (x) = (1−2(x−x1 )L01 (x1 )) L21 (x), Ĥ1 (x) = (x−x1 )L21 (x)
H2 (x) = (1−2(x−x2 )L02 (x2 )) L22 (x), Ĥ2 (x) = (x−x2 )L22 (x)

(x−x1 )(x−x2 ) 50 2 175 152


L0 (x) = (x0 −x1 )(x0 −x2 ) = 9 x − 9 x + 9 ,
(x−x0 )(x−x2 )
L1 (x) = (x1 −x0 )(x1 −x2 ) = − 100
9 x 2
+ 320
9 x − 247
9 ,
(x−x0 )(x−x1 ) 50 2 145 104
L2 (x) = (x2 −x0 )(x2 −x1 ) = 9 x − 9 x + 9 .

100 175 200 320 100 145


L00 (x) = x− , L01 (x) = − x+ , L02 (x) = x− .
9 9 9 9 9 9
Given Lj ’s, L0j ’s, compute Hj ’s and Ĥj ’s, then plug in the values of
f (xj ), f 0 (xj ), Hj (x), Ĥj (x), for 0 ≤ j ≤ 2, into (6).

& %
27
' $

Hermite Polynomials: Newton IDD Formula

• A direct application of the theorem for constructing Hermite


polynomials requires evaluation of the Lagrange polynomials and
their derivatives. This is tedious even for small values of n.
• We instead use Newton interpolatory divided difference formula.
• Main idea. Define a new sequence z0 , z1 , . . . , z2n+1 by

z2i = z2i+1 = xi , for each i = 0, 1, . . . , n,

construct the divided difference table that uses z0 , z1 , . . . , z2n+1 .


Problem. For 0 ≤ i ≤ n, the first divided differences f [z2i , z2i+1 ]
are not defined.
Fix. f [z2i , z2i+1 ] ≈ f 0 (z2i ) = f 0 (xi ).
& %
28
' $

A small table:
First Second
x f (x) divided differences divided differences
z0 = x 0 f [z0 ] = f (x0 )
f [z0 , z1 ] = f 0 (x0 )
f [z1 ,z2 ]−f [z0 ,z1 ]
z1 = x 0 f [z1 ] = f (x0 ) f [z0 , z1 , z2 ] =
z2 −z0
f [z2 ]−f [z1 ]
f [z1 , z2 ] =
z2 −z1
f [z2 ,z3 ]−f [z1 ,z2 ]
z2 = x 1 f [z2 ] = f (x1 ) f [z1 , z2 , z3 ] =
z3 −z1
f [z2 , z3 ] = f 0 (x1 )
z3 = x 1 f [z3 ] = f (x1 )

The Hermite polynomial is then given by


2n+1
X
H(x) = f [z0 ] + f [z0 , . . . , zk ](x − z0 )(x − z1 ) · · · (x − z2k−1 ).
k=1

& %
29
' $

Newton IDD Formula: an Example

Use the data in the last example (p26), we have


5
H(x) = f [z0 ] + f [z0 , . . . , zk ](x − z0 )(x − z1 ) · · · (x − zk−1 )
k=1
= f [z0 ] + f [z0 , z1 ](x − z0 ) + f [z0 , z1 , z2 ](x − z0 )(x − z1 ) +
f [z0 , z1 , z2 , z3 ](x − z0 )(x − z1 )(x − z2 ) +
f [z0 , z1 , z2 , z3 , z4 ](x − z0 )(x − z1 )(x − z2 )(x − z3 ) +
f [z0 , z1 , z2 , z3 , z4 , z5 ](x − z0 )(x − z1 )(x − z2 )(x − z3 )(x − z4 ).

The following table of divided differences should give all the


information needed for the construction of the Hermite polynomial
H(x) given above.

& %
30
' $

z f (z) 1-st 2-nd 3-rd 4-th 5-th


1.3 0.6200860
−0.5220232



f [z0 ,z1 ]
1.3 0.6200860 −0.0897427



f [z0 ,z1 ,z2 ]
−0.5489460 0.0663657






f [z1 ,z2 ] f [z0 ,z1 ,z2 ,z3 ]
1.6 0.4554022 −0.0698330 0.0026663



f [z1 ,z2 ,z3 ]
−0.5698959 0.0679655 -0.0027738







f [z2 ,z3 ] f [z1 ,z2 ,z3 ,z4 ]


1.6 0.4554022 −0.0290537 0.0010020





f [z2 ,z3 ,z4 ]


−0.5786120 0.0685667







f [z3 ,z4 ] f [z2 ,z3 ,z4 ,z5 ]


1.9 0.2818186 −0.0084837





f [z3 ,z4 ,z5 ]


−0.5811571





f [z4 ,z5 ]
1.9 0.2818186

& %
31

You might also like