Top Banner
CS321 Numerical Analysis Lecture 6 Approximation by Spline Functions Professor Jun Zhang Department of Computer Science University of Kentucky Lexington, KY 40506-0046
43

^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Nov 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

CS321

Numerical Analysis

Lecture 6

Approximation by Spline Functions

Professor Jun Zhang

Department of Computer ScienceUniversity of Kentucky

Lexington, KY 40506-0046

Page 2: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Lower Degree Splines

2

Given a set of data, it is possible to construct a polynomial to interpolate these data. The disadvantage of higher order polynomials is its oscillation behavior

A spline function is a function that consists of polynomial pieces joined together with certain smoothness conditions

First degree spline function is a polygonal function with linear polynomials joined together to achieve continuity

The points t0, t1,…, tn at which the function changes its character are called knots

Note that knots do not have to be nodes

Page 3: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

High Order Polynomials

3

Interpolation uses just one polynomial which may be oscillatory if the order of the polynomial is high

Page 4: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

High Order Polynomial Interpolations

4

Red curve is the Runge function to be interpolated. Blue curve is the 5th

order polynomial, green is the 9th order polynomial interpolations.

Page 5: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Splines

5

A spline function is a function that consists of polynomial pieces joined together with certain smoothness conditions

Page 6: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Piecewise Linear Polynomial

6

A piecewise linear function for the spline of degree 1 can be written as

where

is a linear polynomial

The knots t0, t1,…, tn and the coefficients ai, bi, i = 0, 1,…, n – 1 have to be known in order to evaluate S(x)

First to determine which interval x lies, then evaluate the linear function defined on that interval

],[)(

],[)(],[)(

)(

11

211

100

nnn ttxxS

ttxxSttxxS

xS

iii bxaxS )(

Page 7: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Piecewise Linear Polynomial

7

To evaluate S(x), first to determine which interval x lies, then evaluate the linear function defined on that interval

Page 8: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Spline of Degree 1

8

A function S(x) is called a spline of degree 1 if

1. The domain of S is an interval [a,b]

2. S is continuous on [a,b]

3. There is a partitioning of the interval a = t0 < t1 < … < tn = b such that Sis a linear polynomial on each subinterval [ti,ti+1]

For outside part of the interval [a,b], we define S(x) = S0(x) when x < a, and S(x) = Sn-1(x) when x > b

It is important that the spline of degree 1 be continuous at the knots, i.e., the left limit and the right limit are equal

)()(lim)(lim itxtx

tfxSxSii

Page 9: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

An Example

9

Determine if the following function is a first degree spline

Each linear function is continuous on the subinterval it is defined. We need to verify if they are continuous at the two interior knots x = 0.5 andx = 2

The function is not a spline of degree 1, as

i.e., S(x) is discontinuous at the knot x = 0.5

425.1

25.0)5.0(25.05.01

)(xx

xxxxx

xS

5.0lim)(lim5.05.0

xxSxx

25.0)5.0(25.0lim)(lim5.05.0

xxxSxx

)(lim)(lim5.05.0

xSxSxx

Page 10: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Construct Spline of Degree 1

10

Given a data set with t0 < t1 < … < tn

A linear polynomial can be constructed using two pairs of neighboring data

First compute the slope of the line as

The straight line equation is given by the point-slope formula as

It is easy to see that we have 2n degrees of freedom ai and bi and 2nconditions. So the construction of first degree spline is guaranteed

ii

iii tt

yym

1

1

)()( iiii txmyxS

Page 11: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Piecewise Linear Interpolation

11

Piecewise linear interpolation is not smooth at the knot points

Page 12: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Modulus of Continuity

12

The modulus of continuity of a function f is defined as, for a ≤ u ≤ v ≤ b

The quantity is the largest variation of f over a small interval of size h. It measures how much f can change in such an interval

If f is continuous on [a,b] then

If f is differentiable on [a,b] then

where M1 is the maximum value of |f’(x)| on (a,b). It follows that

hMhf 1);(

0);(lim0

hfh

hMvuMvucfvfuf 11))((')()(

hvuvfufhf :)()(sup);(

Page 13: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Theorems

13

If p is the first degree polynomial that interpolates a function f at the end points of an interval [a,b], then with h = b – a, we have

Note that the linear function passes through [a,b] can be written as

Hence

Note that

The result follows immediately

)();()()( bxahfxpxf

)()()( afab

xbbf

ab

axxp

)()()( xfxfab

xbxf

ab

ax

)()()()()()( afxfab

xbbfxf

ab

axxpxf

Page 14: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Accuracy of First Degree Spline

14

Let p be a first degree spline having knots a = x0 < x1 < … < xn = b. If pinterpolates a function f at these knots, then with h = maxi(xi - xi-1) we have

If more knots are inserted such that the maximum spacing h goes to zero, the corresponding first degree spline will converge uniformly to f

If f’ or f” exist and are continuous, we have

where M1 and M2 are the maximum values of f’ and f” on (a,b), respectively

)();()()( bxahfxpxf

)(8

)()(

)(2

)()(

2

2

1

bxah

Mxpxf

bxah

Mxpxf

Page 15: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Accuracy of First Degree Spline

15

From the estimates of the accuracy of the first-degree spline interpolation

It is obvious that when h approaches zero, with more knot points inserted, the error of the first-degree spline goes to zero

It follows that the spline interpolation can be as accurate as needed, by inserting sufficient number of knot points

The same cannot be said about the polynomial interpolation, because of the oscillations associated with high order polynomials

)(8

)()(

)(2

)()(

2

2

1

bxah

Mxpxf

bxah

Mxpxf

Page 16: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Piecewise Linear Polynomial

16

The interpolation does not look smooth at knots

Page 17: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Second Degree Spline

17

A function Q is a second degree spline if

1.) the domain of Q is an interval [a,b]

2.) Q and Q’ are continuous on [a,b]

3.) there are points ti such that a = t0 < t1 < … < tn = b and Q is a polynomial of degree at most 2 on each subinterval [ti,ti-1]

A quadratic spline is a continuously differentiable piecewise quadratic function. It is a linear combination of basic functions 1, x, x2. The smoothness condition is stronger than that for the first degree spline

To determine a quadratic spline, we must verify the continuity of both Qand Q’ at the knot points

Page 18: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Interpolating Quadratic Spline

18

Given a set of data

A quadratic spline Q(x) can be constructed to interpolate these data, using t0, t1,…, tn as the knots

A quadratic spline consisting of n separate pieces of quadratic functions of the form

There are 3n coefficients to be determined

The interpolating conditions Qi(ti) = yi and Qi(ti+1) = yi+1 give 2n conditions. The continuity of Q’(x) gives another n – 1 conditions at the interior knots. The last condition can be specified (arbitrarily) as Q’(t0) = 0

12 ,)( iiiiii ttxcxbxaxQ

Page 19: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

19

Computational Procedure

Construct a piecewise quadratic function

which is continuously differentiable on [t0,tn] and Q(ti) = yi for 0 ≤ i ≤ n

The computational procedure is based on a recursive procedure on Q’i(ti). Assuming Q’(ti) = zi, then we have

This definition can be verified by showing that Qi(ti) = yi, Q’i(ti) = zi, and Q’i(ti+1) =zi+1. Note that

],[)(

],[)(],[)(

)(

11

211

100

nnn ttxxQ

ttxxQttxxQ

xQ

iiiiii

iii ytxztx

tt

zzxQ

)()()(2

)( 2

1

1

iiii

iii ztx

tt

zzxQ

)()('1

1

Page 20: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

20

Computational Procedure

The defined quadratic function Qi(x) does not necessarily satisfy the condition Qi(ti+1) = yi+1 for i = 0, 1,…, n – 1. If we apply this condition, we have

After simplification, we obtain

From this equation, we can compute the values of z0, z1,…, zn recursively, by assigning an arbitrary value to z0. Then the second degree spline is written as

for each interval [ti,ti+1], i = 0, 1,…, n – 1.

iiiiiiii

iii yttztt

tt

zzy

)()(

)(2 12

11

11

)10(21

11

ni

tt

yyzz

ii

iiii

iiiiii

iii ytxztx

tt

zzxQ

)()()(2

)( 2

1

1

Page 21: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

21

Linear and Quadratic Splines

Quadratic polynomial interpolation has better smoothness than the linear polynomial interpolation

Page 22: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

22

Subbotin Quadratic Spline

Knots are points where the spline function can change its form, nodes are points where the values of the function is specified

It is not necessary that the knots are nodes.

Subbotin suggests to use the midpoints of the knots as the (interpolation) nodes and the two end points. This yields n + 2 conditions. The continuity of Q and Q’ give another 2(n – 1) conditions, for a total of 3n conditions. No free variable is required

Let the knots be a = t0 < t1 < … < tn = b, we define the interpolation nodes as

)1()( 121

00

nittp

tptp

iii

nn

Page 23: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

23

Subbotin Quadratic Spline

The knots are a = t0 < t1 < … < tn = b, the interpolation nodes as

)1()( 121

00

nittp

tptp

iii

nn

Page 24: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

24

Subbotin Quadratic Spline (II)

The quadratic spline function Q(x) should satisfy the interpolation conditions

Let Qi’(ti) = zi, where Qi(x) is defined on the interval [ti,ti+1], which can be written as

where hi = ti+1 – ti. We can verify that

We also want to impose the continuity condition at the knots

)10()( niypQ ii

2112

1

1121

1

))((

))(()(

iiih

iiiii

pxzz

pxzzyxQ

i

11''

11 )(,)(,)( iiiiiiiii ztQztQypQ

)11()(lim)(lim 1

nixQxQ itx

itx ii

Page 25: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

25

Subbotin Quadratic Spline (III)

These conditions lead to a recursive formula

We impose the first and last interpolation conditions

which yield two more equations

Now we have n + 1 equations for the n + 1 unknowns z0, z1,…, zn

We need to solve a linear system of the form Ax = b with A being a tridiagonal matrix

1,,2,1

)(8)(3 11111

ni

yyzhzhhzh iiiiiiiii

for

1100 )()( nn ypQypQ

)(83

)(83

1111

011000

nnnnnn yyzhzh

yyzhzh

Page 26: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

26

An Example

Determine if the function is a quadratic spline

The interval can be viewed as (−∞,∞) which is not a closed interval

Also, the derivative of Q(x) is

Hence, Q’(x) is discontinuous at x = 0. It follows that Q(x) is not a quadratic spline

How about the function

0

0)(

2

xx

xxxQ

01

02)('

x

xxxQ

3.112.94.183.9

101.0)(

2

2

xxx

xxxQ

Page 27: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

27

Natural Cubic Spline

Very high order polynomials oscillate and give undesired feature

Lower order splines do not oscillate, but are not very smooth at the joints (knots) where they may change their characters (shape)

The derivative of the first order spline may not be continuous, the slope of the spline may change abruptly at the knots

The second derivative of the second order spline may not be continuous. The curvature of the quadratic spline may change abruptly at the knots

A better strategy is to use moderate order polynomials to construct spline and to impose smoothness conditions at the knots so that the resulting spline looks smooth but is not oscillatory

Page 28: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

28

Linear Spline

Linear polynomial interpolation is not smooth

Page 29: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

29

Quadratic and Cubic Splines

Smooth higher order polynomial splines

Page 30: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

30

Spline of Degree k

A function S is a spline of degree k if

1.) The domain of S is an interval [a,b]

2.) S, S’,…, S(k-1), are all continuous functions on [a,b]

3.) There are points ti (the knots of S) such that a = t0 < t1 < … < tn = b and such that S is a polynomial of degree at most k on each subinterval [ti,ti+1]

Smoothness is reflected by the order of the continuous derivative at the knots

If we want the approximating spline to have continuous mth derivative, we should choose a spline of degree at least m + 1

Page 31: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

20

Cubic Spline

For a spline of degree (m + 1) at any interior knot ti, we have

Since different polynomials are defined at different side of ti, these two polynomials will be the same if they are at most degree m and their zeroth to mth derivatives are equal

In most applications, a spline of degree 3 is chosen (smooth and inexpensive to construct)

This spline has continuous first and second derivatives

Its graph looks smooth, although higher derivatives may be discontinuous

)0()(lim)(lim )()( mkxSxS k

tx

k

tx ii

Page 32: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

32

Natural Cubic Spline

Cubic spline interpolation is more smooth

Page 33: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

Natural Cubic Spline

33

Given a table of data set

where the ti’s are the knots in ascending order

We want to construct a function S with n piecewise cubic polynomials

Si(x) is the cubic polynomial defined on the subinterval [ti,ti+1], the cubic polynomial looks like

We have a total of 4n unknowns to be determined

nnn txtxS

txtxStxtxS

xS

11

211

100

)(

)()(

)(

10)( 23 nidxcxbxaxS iiiii

Page 34: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

34

Natural Cubic Spline

S(x) must satisfy the interpolation conditions

This will yield 2n conditions for n intervals

S(x), S’(x) and S”(x) have to satisfy the continuity conditions at the interior knots t1, t2,…, tn-1

This will yield 2(n – 1) conditions. (Here we only count k = 1, 2).

The remaining two (natural) conditions are imposed at the end knots as

These particular conditions give the name of natural cubic spline. Other end knot conditions can also be imposed

)0()( niytS ii

)2,1,0()(lim)(lim )()(

kxSxS k

tx

k

tx ii

0)(")(" 0 ntStS

Page 35: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

35

Computational Algorithm

Since S”(x) is continuous, we define

with z0 = zn = 0. For the interval [ti,ti+1], Si”(x) is continuous and takes the values of zi and zi+1 at knots ti and ti+1 (interpolation on interval [ti,ti+1])

with hi = ti+1 – ti for 0 ≤ i ≤ n – 1

It can be verified that Si”(ti) = zi, Si”(ti+1) = zi+1 for the interpolation conditions of Si”(x)

If we integrate Si”(x) twice, we get Si(x)

with c and d being two constants

)0()(" nitSz ii

)()()(" 11 xttxxS ih

zih

zi

i

i

i

i

dcxxttxxS ihz

ihz

ii

i

i

i 3

163

6 )()()( 1

Page 36: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

36

Computational Algorithm (II)

The cubic polynomial can be rewritten as

Since Si(x) must also interpolate at ti and ti+1 we have Si(ti) = yi and Si(ti+1) = yi+1, the constants Ci and Di can be determined

We now have the polynomial as a function of the zi’s

)()()(6

)(6

)( 13

131 xtDtxCxt

h

ztx

h

zxS iiiii

i

ii

i

ii

)(6

)(6

)(6

)(6

)(

1

11

31

31

xtzh

h

y

txzh

h

y

xth

ztx

h

zxS

iii

i

i

iii

i

i

ii

ii

i

ii

Page 37: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

37

Computational Algorithm (III)

In order to impose the continuity conditions for S’(x), we have

We have at the knot ti

and

ii

i

ii

i

i

i

ii

ii

i

ii

zh

h

yz

h

h

y

xth

ztx

h

zxS

66

)(2

)(2

)('

11

21

21

)(1

36)('

1

1

iii

i

iii

ii

ii

yyh

b

bzh

zh

tS

)(1

36)('

11

1

11

11

1

iii

i

iii

ii

ii

yyh

b

bzh

zh

tS

Page 38: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

38

Computational Algorithm (IV)

The continuity condition implies Si’(ti) = S’i-1(ti), i.e.,

For 1 ≤ i ≤ n – 1. We have to solve a tridiagonal system of equations

with

Note that we have a tridiagonal system to solve

It can be shown that pivoting is not needed to solve the tridiagonalsystem, because the coefficient matrix is diagonally dominated

)(6)(2 11111 iiiiiiiii bbzhzhhzh

0

)11(

0

111

0

n

iiiiiii

z

nivzhzuzh

z

)(6

)(2

1

1

iii

iii

bbv

hhu

Page 39: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

39

Comparison of Interpolations

Comparison of linear and cubic spline interpolation

Page 40: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

40

Smoothness of Cubic Spline

The smoothness of an interpolation polynomial can be measured in some sense by the degree of fluctuation of its derivatives

The cubic spline can be shown as “smooth”

If S is the natural cubic spline function that interpolates a twice continuously differentiable function f at knots a = t0 < t1 < … < tn = b, then

If the graph of a function changes abruptly at some knot, we can construct two different natural cubic splines at different side of that knot to avoid forcing derivative continuity at a point where the function’s derivative is not continuous

b

a

b

adxxfdxxS 22 )]("[)]("[

Page 41: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

41

Smoothness Proof

We define

It follows that

because ti are the knot pointsFurthermore

And

)()()( xSxfxg

nitg i 0for 0)(

)(")(")(" xgxSxf

b

a

b

a

b

a

b

adxgSdxgdxSdxf ""2)"()"()"( 222

Page 42: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

42

Smoothness Proof

Look at the last term and use integration by parts

We used the facts of natural cubic spline that

Now, we have

Since S is a cubic polynomial in each interval [ti, ti+1], its third derivative is a constant, say ci, so

b

a

n

i

t

t

n

iiiii

i

i

tgtgcdxgcdxgS1

0

1

01

1

0)]()(['''"

0)(" and 0)(" bSaS

b

a

n

i

t

t

i

i

dxgSdxgS1

0

1

''"''"

b

a

b

a

ba

b

adxgSdxgSgSdxgS ''"''"|'"""

Page 43: ^ ï î í E µ u ] o v o Ç ]jzhang/CS321/lecture6.pdfµ Ç } ( & ] p ^ o ] v í ñ)urp wkh hvwlpdwhv ri wkh dffxudf\ ri wkh iluvw ghjuhh vsolqhlqwhusrodwlrq,w lv reylrxv wkdw zkhq

43

Smoothness Proof

So from

and the fact that

We have

Thus, the smoothness of the cubic spline is proved

b

adxgS 0""

b

a

b

a

b

a

b

adxSdxgdxSdxf 2222 )"()"()"()"(

b

a

b

a

b

a

b

adxgSdxgdxSdxf ""2)"()"()"( 222