2 Overview of Numerical Analysis

59
2. Overview of numerical analysis numerical calculus ● linear algebraic systems ● interpolation ● ordinary differential equations ● relaxation

Transcript of 2 Overview of Numerical Analysis

Page 1: 2 Overview of Numerical Analysis

2. Overview of numerical analysis

numerical calculus ● linear algebraic systems ● interpolation ● ordinary differential equations ●

relaxation

Page 2: 2 Overview of Numerical Analysis

1. System of linear algebraic equations

nnnnnn

n

n

b

bb

x

xx

aaa

aaaaaa

2

1

2

1

21

22221

11211

bAxOrder n

• The execution time of Gaussian elimination depends on the amount of floating point operations (FLOPS).

• Cramer’s rule ~ (n+1)!• Say for a 99 X 99 matrix in a 2 GHz computer,

– Gaussian elimination: FLOPS ~ 3.5 x105, t = 1.8 x 10-4 s

– Cramer’s rule: FLOPS ~ 100! = 9.3 x 10157, t = 1.3 x 10142 years!

][3

2222 231

1

221

1

nOnkknnnknknGn

k

n

k

Page 3: 2 Overview of Numerical Analysis

1.1 Band systems (Thomas method)• In typical finite difference or element schemes, band

systems occur often.

n

n

nnnn

nnnnnn

bb

bb

xdxaxcxdxd

xcxdxaxcxdxa

xcxd

1

2

1

11

111

433322

322211

2111

Instead of storing n × n matrix,we need only to store a, d and c

nnnn

n

b

bb

x

xx

dac

dacda

cd

2

1

2

1

1

1

32

221

11

0000

000

Page 4: 2 Overview of Numerical Analysis

n

n

nnnn

nnnnnn

bb

bb

xdxaxcxdxd

xcxdxaxcxd

xcxd

1

)1(2

1

11

111

433322

322)1(

2

2111

pivoting

11

12

)1(21

1

12

)1(2 , b

da

bbcda

dd

Page 5: 2 Overview of Numerical Analysis

n

n

nnnn

nnnnnn

bb

bbb

xdxaxcxdxd

xcxdxcxd

xcxd

1

)2(3

)1(2

1

11

111

433)2(

3

322)1(

2

2111

)1()1(1

)(1)1(1

)(1 ,

kkk

k

kk

kkkk

k

kk

kk b

da

bbcd

add

Similarly

pivoting

k = 1,…,n - 1

Page 6: 2 Overview of Numerical Analysis

)1(

)2(1

)2(3

)1(2

1

)1(11

)2(1

433)2(

3

322)1(

2

2111

nn

nn

nn

n

nnnn

n

bb

bbb

xdxcxd

xcxdxcxd

xcxd

Until ...

Then use back substitution

1,,1)1(1

)1(

nkd

xcbx k

k

kkk

kk

Page 7: 2 Overview of Numerical Analysis

1.1.1 Thomas method example

114152472322

43

432

321

21

xxxxx

xxxxx

111572

1400241002310021

111552

1400241002100021

111052

1400220002100021

91052

3000220002100021

pivot

01

)1)(2(211

)2)(2(522

)3)(2(10339

1234

xxxx

Page 8: 2 Overview of Numerical Analysis

1.2 Gauss-Seidel method

nnnnnn

n

n

b

bb

x

xx

aaa

aaaaaa

2

1

2

1

21

22221

11211

)(1

)(1

)(1

11,2211

2232312122

2

1131321211

1

nnnnnnnn

n

nn

nn

bxaxaxaa

x

bxaxaxaa

x

bxaxaxaa

x

)(1

)(1

)(1

)1(11,

)1(22

)1(11

)1(

2)(

2)(

323)1(

12122

)1(2

1)(

1)(

313)(

21211

)1(1

nk

nnnk

nk

nnn

kn

knn

kkk

knn

kkk

bxaxaxaa

x

bxaxaxaa

x

bxaxaxaa

x

Page 9: 2 Overview of Numerical Analysis

1.2.1 Gauss-Seidel method example

52014

19024011

1364

3

2

1

xxx

5000.002500.002500.0

05556.0011111.002222.0

21875.001563.004688.0

)1(2

)1(1

)1(3

)1(3

)1(1

)1(2

)(3

)(2

)1(1

kkk

kkk

kkk

xxx

xxx

xxx

k = 0 k = 1 k = 2 k =3x1 0.21875 0.22916 0.22955 0.22955x2 0.05556 0.06621 0.06613 0.06613x3 0.50000 0.49262 0.49261 0.49261

Page 10: 2 Overview of Numerical Analysis

1.2.2 Convergence criterion

n

ijijii aa

1

• FLOPS for Gauss-Seidel ~ 4n2 (k+1) , k depends on accuracy required obviously

• For a 999 X 999 matrix in a 2 GHz single-processor computer, – Gaussian elimination: FLOPS ~ 3.3 x 108, t = 0.167 s– Gauss-Seidel method: FLOPS (say 5 iterations) ~ 2.4

x 107, t = 0.0121 s

Page 11: 2 Overview of Numerical Analysis

1.3 Relaxation

To accelerate the Gauss-Seidel iteration in Ax = B, we can consider

)()1()1(

1

)(1

1

)1()1(

)1(

1

mi

mi

mi

n

ij

mjij

i

j

mjiji

ii

mi

xzx

xaxaba

z

Relaxation parameter

Page 12: 2 Overview of Numerical Analysis

2. Interpolation

nixfxP ii ,...,1][][

• Interpolation is NOT curve-fitting!

Page 13: 2 Overview of Numerical Analysis

2.1 Lagrange polynomials

1

0

1

01

][

1,...,1,0][][][

n

ij ji

ji

n

iiin

xxxx

xl

nixlxfxPLagrange polynomial

!][)(][][

)(1

01 n

fxxxPxfnn

i

nin

Lagrange error

Page 14: 2 Overview of Numerical Analysis

• Suppose j (0 j n-1), lj:

• Then

• To satisfy this, xi (i j) must be root of lj

• Since lj[xj] = 1, thus

kjkj

xl kj

10

][

1

01 ][][][

n

iiin xlxfxP

1

0

1110

)(

)())(()(][n

jiii

njjii

xxC

xxxxxxxxCxl

1

0

1n

ji ii xx

C

Page 15: 2 Overview of Numerical Analysis

2.2 Example

2sin1sin0sin][210210

i

i

xfxi

2)1()2(sin)2()1(sin

2)2)(1()0(sin][2

xxxxxxxP

2)1(

)12)(02()1)(0(][

)2()21)(01()2)(0(][

2)2)(1(

)20)(10()2)(1(][

2

1

0

xxxxxl

xxxxxl

xxxxxl

Page 16: 2 Overview of Numerical Analysis

2.3 Pitfalls of interpolating polynomials

222

1][xba

xf

Page 17: 2 Overview of Numerical Analysis

3. Numerical differentiation: 2-point formula

hxfhxfxf

hxfhxfxf

h

][][]['

][][lim]['

000

0

Two-point formula

][][''2

][][]['

][''2

]['][][

000

2

000

hOfhh

xfhxfxf

fhxhfxfhxf

Page 18: 2 Overview of Numerical Analysis

3.1 Error of 2-point formula

nx hxexf 101][ 0

n f[1+h_k] f[1+h_k]-e f'[x]1 3.004166024 0.2858841600 2.85884162 2.745601015 0.0273191870 2.73191873 2.721001470 0.0027196410 2.71964104 2.718553670 0.0002718420 2.71842005 2.718309012 0.0000271830 2.71830006 2.718284547 0.0000027180 2.71800007 2.718282100 0.0000002720 2.72000008 2.718281856 0.0000000270 2.70000009 2.718281831 0.0000000003 3.0000000

10 2.718281829 0.0000000000 0.0000000

Page 19: 2 Overview of Numerical Analysis

3.2 Error analysis of 2-point formula

hhM

h

xfxfxfxfhM

hxfxf

hxfxf

hxfxfxf

hxfxfxf

22

][][][][

2

][][][][][][]['

][][]['

2

00112

0101010

010

Page 20: 2 Overview of Numerical Analysis

3.3 Step-size optimisation

n

n

n

nMnh

hnnMhhQ

21

optimal ][)!1(

)!1(][][

02587.01

)105.0(6

1105.02cos][

61

10

optimal

10

h

Mnxxf

Page 21: 2 Overview of Numerical Analysis

3.4 Interpolatory differentiation

201

1

211

0210

12

0111

011

1010

110

1101

1012

01010

2)()(][

)()(][2

)()(][]['

))(())((][

))(())((][

))(())((][][

hxxxxxf

hxxxxxf

hxxxxxfxP

xxxxxxxxxf

xxxxxxxxxf

xxxxxxxxxfxP

hxxhxxx

Page 22: 2 Overview of Numerical Analysis

][62

][][]['

))()((6

][][][

][][2][][''

2][][]['

)3(2

000

101

)3(

2

2000

0

000

fhh

hxfhxfxf

xxxxxxfxPxf

hhxfxhxfxf

hhxfhxfxf

Page 23: 2 Overview of Numerical Analysis

3.5 Method of undetermined coefficients

][3

2]['''3

4][''2]['2][]2[

][24

]['''6

][''2

]['][][

2)4(

4

0

3

02

000

1)4(

4

0

3

0

2

000

fhxfhxfhxhfxfhxf

fhxfhxfhxhfxfhxf

]2[][][]['' 0000 hxcfhxbfxafxf

32

)3(1

)3(

02

00

000

][34][

6

][''22

][')2(][)(

]2[][][

hfcfb

xfhcbxhfcbxfcba

hxcfhxbfxaf

Page 24: 2 Overview of Numerical Analysis

• Determine derivatives by comparing coefficients to the desired degree of accuracy

• For f’

• Similarly for f’’h

hxfhxfxfxf

hc

hb

ha

cbh

cbcba

6]2[][4][3]['

61,

32,

21

022

,12,0

0000

2000

0 3]2[][2][3][''

hhxfhxfxfxf

Page 25: 2 Overview of Numerical Analysis

3.6 Finite difference formulae

• Central difference

• Forward / Backward difference

][][][2][][''2

][][][' 22

1111 hOh

xfxfxfxfh

xfxfxf iiii

iii

][][2][5][4][][''2

][3][4][]['2

2123

12

hO

hxfxfxfxfxf

hxfxfxfxf

iiiii

iiii

Page 26: 2 Overview of Numerical Analysis

4. Newton-Cotes integration formulae

b

a

n

iii xfwdxxf

0

][][

b

a

n

i

b

a ii

n

ii

nn

iii

dxxlxfdxxf

xxn

fxlxfxf

0

0

)1(

0

][][][

)()!1(

][][][][

Page 27: 2 Overview of Numerical Analysis

4.1 Trapezoidal rule

1

01

1

01

111

1

11

1

11

][][2

][][

][][2

][][2

][

][][][

1

1

n

iii

n

i

x

x

b

a

iiiiii

x

x

ii

ii

ii

ii

xfxfhdxxPdxxf

xfxfhxfxfxxdxxP

xxxxxf

xxxxxfxP

i

i

i

i

Elemental trapezoidal rule

Composite trapezoidal rule

Page 28: 2 Overview of Numerical Analysis

12][)(

12][error total

12][

!2][))((errorn integratio

!2][))((1 toerror ion interpolat

)2(21

0

)2(3

)2(3)2(

1

)2(

1

1

fhabfh

fhdxfxxxx

fxxxxii

n

i

x

x ii

ii

i

i

• FUNCTION Trap (h,n,f)– Sum = f_0– DO i = 1, n-1

• Sum = sum + 2*f_i– END DO– sum = sum + f_n– Trap = h * sum /2

• END Trap

Page 29: 2 Overview of Numerical Analysis

4.2 Simpson’s 1/3 rule

])[][4][2

][4][2][4][(3

][

])[][4][(3

][

][

][][][

12

3210

212

12

1

22

21

2

11

2

2

1

12

2

nnn

b

a

iii

x

x

ii

i

ii

ii

ii

i

ii

ii

ii

i

ii

ii

xfxfxf

xfxfxfxfhdxxf

xfxfxfhdxxP

xxxx

xxxxxf

xxxx

xxxxxf

xxxx

xxxxxfxP

i

i

Composite Simpson’s rule

Elemental Simpson’s rule

Page 30: 2 Overview of Numerical Analysis

][180

)(error total

][90

2 to fromerror

)4(4

)4(5

fhab

fhii

• FUNCTION Simpint(a,b,n,f)– h = (b-a)/n– sum = sum + Simp13(h,m,f)– Simpint = sum

• END Simpint

• FUNCTION Simp13(h,n,f)– Sum=f(0)– DO i = 1,n-2,2

• Sum = sum + 4*f_i + 2*f_(i+1)– END DO– sum = sum + 4*f_(n-1) +f_n– Simp13 = h * sum /3

• END Simp13

Page 31: 2 Overview of Numerical Analysis

• Not much improvement gained

][80

)(error total

][6480

3 toerror

])[][3

][3][2][3][3][(83][

])[][3][3][(83][

3

)4(4

)4(5

1

43210

32133

fhab

fhii

xfxf

xfxfxfxfxfhdxxf

xfxfxfxfhdxxP

n

nn

b

a

iiii

x

x

i

i

4.3 Simpson’s 3/8 rule

Page 32: 2 Overview of Numerical Analysis

4.4 Gauss-Legendre quadrature

1

0

][][][n

kkk

b

a

b

axPwdxxPdxxf

b

a

n

iii xfwdxxf

0

][][

:objective

Problem: Find xk and corresponding wk for various n so that error is minimum

Page 33: 2 Overview of Numerical Analysis

even1

2odd0

1)1(1

0

2

1,1][let

11

10

1

1

1

0

1

1

1

0

0

0

kk

k

kdxxxw

dxxxw

dxxxw

baxxP

kk

n

i

kii

n

iii

n

iii

jj

Page 34: 2 Overview of Numerical Analysis

]0[2][

0,20,21

1

1

00

101

000

fdxxf

xwxwxwn

343.2

]3

1[]3

1[][

31,

31,1

0,32

,0,22

1

1

1

1

1010

311

300

211

200

111

100

011

000

dxe

ffdxxf

xxww

xwxwxwxw

xwxwxwxwn

x

Page 35: 2 Overview of Numerical Analysis

4.4.1 Gauss-Legendre nodes

Points Weight Arguments1 1 02 1 ±0.5773502693 0.5555556 ±0.774596669

0.8888889 04 0.3478548 ±0.861136312

0.6521452 ±0.3399810445 0.2369269 ±0.906179846

0.4786287 ±0.538469310

0.5688889 06 0.1713245 ±0.932469514

0.3607616 ±0.661209386

0.4679139 ±0.238619186

Page 36: 2 Overview of Numerical Analysis

4.4.2 Gaussian limit-transform

n

iii

b

a

b

a

abxabfwabI

dtabtabfabI

baba

baba

dttfIxt

dxxfI

0

1

1

222

222

,21,1

][1

][

Page 37: 2 Overview of Numerical Analysis

4.4.3 Example

793.4exact 793.4

53,0,

53

95,

98,

95

25.22

25.02

5.2,0.2

210210

5.2

0.2

II

xxxwww

abab

badxe x

Page 38: 2 Overview of Numerical Analysis

4.4.4 Characteristics of Gauss-Legendre quadrature

• Advantages:– Can handle singular integrals– Very small number of points to give very accurate

results– Simple calculations

• Disadvantages:– Complicated theories– Use of table for weights and nodes– Difficult to estimate errors– Unable to use preceding formulae: inefficiency

Page 39: 2 Overview of Numerical Analysis

5. Ordinary differential equations

• Initial-value problems (IVP): ODE in which information about the solution is given at a single time point, e.g. first-order systems

• Boundary-value problems (BVP): ODE in which information about the solution is given by two or more points, e.g. multi-order systems

00 ][]],[,[][' yxyxyxfxy

],[':]['][

ionconsideratunder domain ])[,(

00

yxfyxyyxy

xyx

];,[1 hyxhyy iiii

Increment function

Page 40: 2 Overview of Numerical Analysis

5.1 Euler’s method

• No differentiation needed

• Very simple algorithm'

1

1 jjj hyyym

Page 41: 2 Overview of Numerical Analysis

5.1.1 Example

001.0],[

0],[0]0[,'

1112

0001

22

yxhfyyyxhfyy

yyxy

0

0.1

0.2

0.3

0.4

0 0.2 0.4 0.6 0.8 1

x

y

exact

euler

x_j y_j0.0 0.0000000.1 0.0000000.2 0.0010000.3 0.0050000.4 0.0140030.5 0.0300220.6 0.0551120.7 0.0914160.8 0.1412520.9 0.2072471.0 0.292542

Page 42: 2 Overview of Numerical Analysis

5.2 Foundations of Runge-Kutta’s method

• Consider the Taylor’s series for m = 2

• Now consider a small step h* (smaller than h)],[]][,[][''

!3''

!2' 2

1

jjjjjj

jjjj

yxfxyxfxyy

hy

hy

yy

*

**

*

**

*

*

]],[]],[][,[

]][,[]][,[

][']['][''''

hyxfyxfhxyhxf

hxyxfhxyhxf

hxyhxy

xyy

jjjjjj

jjjj

jjjj

Page 43: 2 Overview of Numerical Analysis

• Let h* = h

• Comparing

]],[,[

21],[

2111 jjjjjjjj yxhfyhxfyxfyy

22111

21

121

21

211

],[],[

kkhyy

hkyhxfkyxfk

jj

jjjj

Page 44: 2 Overview of Numerical Analysis

5.2.1 General Runge-Kutta’s formula

sikhyhxfk

yxfk

khyy

i

mmimjiji

jj

s

iiijj

,,2,

],[

generalin

1

1

1

11

stage

Page 45: 2 Overview of Numerical Analysis

5.2.2 Euler’s method and its modification

1 when minimizederror

],[1

1

11

jjjj yxfhyys

12

1

21

21221

2,

2

],[

21

2110

2

khyhxfk

yxfk

hkyy

s

jj

jj

jj

Euler’s method

Modified Euler’s methodHeun’s method

Page 46: 2 Overview of Numerical Analysis

5.2.3 Heun’s and Ralston’s method

12

1

211

32,

32

],[4

34

2

hkyhxfk

yxfk

kkhyy

s

jj

jj

jj

12

1

211

43,

43

],[3

23

2

hkyhxfk

yxfk

kkhyy

s

jj

jj

jj

Heun’s 2nd method

Ralston’s method

Page 47: 2 Overview of Numerical Analysis

5.2.4 Classical 4th-order Runge-Kutta’s method

32

23

12

1

43211

,21,

21

21,

21

],[

226

hkyhxfk

hkyhxfk

hkyhxfk

yxfk

kkkkhyy

jj

jj

jj

jj

jj

• SUB Rk4(x,y,h,ynew)– CALL Derive(x,y,k1)– ym = y+k1 * h/2– CALL Derive(x+h/2,ym,k3)– ym = y + k2 * h/2– CALL Derive(x + h/2, ym, k3)– ye = y + k3 *h– CALL Derive (x+h,ye,k4)– slope = (k1+2(k2+k3)+k4)/6– ynew = y + slope *h– x = x+h

• END SUB

Page 48: 2 Overview of Numerical Analysis

5.2.5 Errors of various RK’s method

Page 49: 2 Overview of Numerical Analysis

5.2.6 Runge-Kutta’s method example

i xi yi k1 k2 k3 k4 yi+10 0 0 0 0.0025 0.002500016 0.010000063 0.0003333351 0.1 0.000333335 0.010000111 0.022500694 0.022502127 0.040006675 0.0026668752 0.2 0.002666875 0.040007112 0.062521783 0.062533558 0.090079571 0.0090034983 0.3 0.009003498 0.090081063 0.122682454 0.122729148 0.160452686 0.0213594474 0.4 0.021359447 0.160456226 0.203363317 0.20349399 0.251739628 0.0417912885 0.5 0.041791288 0.251746512 0.305457034 0.305756316 0.365236971 0.0724481256 0.6 0.072448125 0.365248731 0.430728406 0.431333095 0.503359068 0.1156603057 0.7 0.115660305 0.503377306 0.582332855 0.583460365 0.670278207 0.1740810048 0.8 0.174081004 0.670304196 0.765596188 0.767597115 0.872921065 0.2509078699 0.9 0.250907869 0.872954758 0.989263005 0.992722749 1.122626133 0.350233742

10 1 0.350233742 1.122663674 1.267634078 1.273577737 1.438093656 0.477620091

0]0[,' 22 yyxy

Page 50: 2 Overview of Numerical Analysis

5.2.7 Runge-Kutta’s parameter

• The central principle of Runge-Kutta approach is to choose the parameters i, i and im for fixed s so that a power series expansion in h agrees with that of Taylor’s expansion for as high a power of h as possible.

• Almost impossible to solve, trial and error

s

iiijj khyxg

1

],,[Define

1

00

)(

!],,[

!][ p

q

q

qjj

q

j

p

q

qjq

qh

dhhyxgd

hyhq

xy

Page 51: 2 Overview of Numerical Analysis

5.3 Predictor-corrector algorithms

• Use more previous or intermediate data to predict values

Page 52: 2 Overview of Numerical Analysis

5.3.1 Adams-Bashforth-Moulton formulae

Adams-Bashforth predictor Adams-Moulton corrector• not self-starting, need Runge-Kutta to obtain

first few yj

p

mmjmjm

p

mmjmj yxfhyy

011

111 ,

• Obtain yj,…,yj+1-i by Runge-Kutta formula• Use Adams-Bashforth predictor to obtain yj+1 (=

yj+1I)

• Define f[xj+1,yj+1I]

• Use Adams-Moulton to construct yj+1II with

f[xj+1,yj+1I]

• Compute f[xj+1,yj+1II]

• Repeat until converge

Page 53: 2 Overview of Numerical Analysis

5.3.2 ABM coefficients

p

mmjmjmjj yxfhyy

0111 ,

720251

7201276

7202616

7202774

7201901

249

2437

2459

2455

125

1216

1223

21

23

54321

5432

11

p

72019

720106

720264

720646

720251

241

245

2419

249

121

128

125

21

21

43210

5432

11

p

Adams-Bashforth predictor Adams-Moulton corrector

Page 54: 2 Overview of Numerical Analysis

5.3.3 Example

],[21],[

21

],[21],[

23

2],['

1

1

11

11

jjC

jjj

jjjjjC

yxfyxfhyy

yxfyxfhyy

pyxfy

j

jAdams-Bashforth

Adams-Moulton

Page 55: 2 Overview of Numerical Analysis

5.4 System of ODE

• All methods discussed can be extended to the system shown above with no apparent difficulty.

n

n

n

yyyxfdxdy

yyyxfdxdy

yyyxfdxdy

,...,,,

,...,,,

,...,,,

2114

2112

2111

Page 56: 2 Overview of Numerical Analysis

5.5 Higher-order BVP

• Decomposing the ODE to a system of 1st-order ODE• Introduce the new variables yi

10][

]][,],[,[][)(

00)(

)1()(

kjyxy

xyxyxfxyjj

kk

][][

],['][],[][

)1(

2

1

xyxy

xyxyxyxy

kk

Page 57: 2 Overview of Numerical Analysis

)1(001

)2(0011

)1(00232

)0(00121

][]],[,],[,[]['

][],[]['

][],[]['

][],[]['

kkkk

kkkk

yxyxyxyxfxy

yxyxyxy

yxyxyxy

yxyxyxy

1(0

)0(0

0

21

]][,[

][

]['

]['

kk y

y

xyxf

xy

xy

xy y

• Solve as a system of 1st-order ODE

Page 58: 2 Overview of Numerical Analysis

5.6 Shooting method

• Based on converting the BVP into an IVP• Solve by trial and error

• Define200]10[,40]0[:0)20(01.0 TTT

dxdT

)20(01.0

Tdxdz

zdxdT

Page 59: 2 Overview of Numerical Analysis

• Make guess

• Therefore, looking at the boundary conditions, a solution must exist between 0 and 10

• Solve it using any rootfinding techniques, eg secant method

• Continue until converge

[0] 20 [10] 285.8980[0] 10 [10] 168.3797

z Tz T

6907.12)3797.168200(3797.1688980.285

102010]0[

z