+ All Categories
Home > Documents > REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations •...

REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations •...

Date post: 01-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
23
PFJL Lecture 6, 1 Numerical Fluid Mechanics 2.29 2.29 Numerical Fluid Mechanics Spring 2015 – Lecture 6 REVIEW Lecture 5: Systems of Linear Equations • Direct Methods for solving Linear Equation Systems Determinants and Cramer’s Rule Gauss Elimination Algorithm Forward Elimination/Reduction to Upper Triangular System – Back-Substitution Number of Operations: Numerical implementation and stability Partial Pivoting – Equilibration Full pivoting Well suited for dense matrices Issues: round-off, cost, does not vectorize/parallelize well Special cases, Multiple RHSs, Operation count 3 2 2 ( ) ( ) On pn O pn 3 2 2 2 ( ) ( ) 3 O n n On
Transcript
Page 1: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 1Numerical Fluid Mechanics2.29

2.29 Numerical Fluid Mechanics

Spring 2015 – Lecture 6

REVIEW Lecture 5:

Systems of Linear Equations

• Direct Methods for solving Linear Equation Systems

– Determinants and Cramer’s Rule

– Gauss Elimination

• Algorithm

– Forward Elimination/Reduction to Upper Triangular System

– Back-Substitution

– Number of Operations:

• Numerical implementation and stability

– Partial Pivoting

– Equilibration

– Full pivoting

– Well suited for dense matrices

– Issues: round-off, cost, does not vectorize/parallelize well

• Special cases, Multiple RHSs, Operation count3 2 2( ) ( )O n pn O pn

3 2 22( ) ( )3

O n n O n

Page 2: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 2Numerical Fluid Mechanics2.29

TODAY’s Lecture: Systems of Linear Equations II

• Direct Methods

– Cramer’s Rule

– Gauss Elimination

• Algorithm

• Numerical implementation and stability

– Partial Pivoting

– Equilibration

– Full Pivoting

– Well suited for dense matrices

– Issues: round-off, cost, does not vectorize/parallelize well

• Special cases, Multiple right hand sides, Operation count

– LU decomposition/factorization

– Error Analysis for Linear Systems

– Condition Number

– Special Matrices: Tri-diagonal systems

• Iterative Methods

– Jacobi’s method

– Gauss-Seidel iteration

– Convergence

Page 3: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

Numerical Fluid Mechanics2.29 PFJL Lecture 5, 3

Reading Assignment

• Chapters 9 and 10 of “Chapra and Canale, Numerical Methods for Engineers, 2006/2010/204.”– Any chapter on “Solving linear systems of equations” in references on

CFD that we provided. For example: chapter 5 of “J. H. Ferziger and M. Peric, Computational Methods for Fluid Dynamics. Springer, NY, 3rd edition, 2002”

Page 4: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 4Numerical Fluid Mechanics2.29

LU Decomposition/Factorization:

The coefficient Matrix A is decomposed as

where is a lower triangular matrixand is an upper triangular matrix

Then the solution is performed in two simple steps

1.2.

Forward substitution

Back substitution

How to determine and ?

LU Decomposition: Separates time-consuming elimination for A from that for b / B

Page 5: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 5Numerical Fluid Mechanics2.29

After reduction step i-1:

Above and on diagonal:

Below diagonal:

Unchanged after step i-1:

Become and remain 0 in step j:

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

i

jGauss Elimination (GE): iteration eqns.

for the reduction at step k are

This gives the final changes occurring in reduction steps k = 1 to k = i-1

Page 6: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

Numerical Fluid Mechanics2.29 PFJL Lecture 6, 6

After reduction step i-1:

Above and on diagonal:

Below diagonal:

Unchanged after step i-1:

Become and remain 0 in step j:

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

i

j

Now, to evaluate the changes that accumulated from when one started the elimination, let’s try to sum this iteration equation, from:

• 1 to i-1 for above and on diagonal

• 1 to j for below diagonal

Gauss Elimination (GE): iteration eqns.

for the reduction at step k are

This gives the final changes occurring in reduction steps k = 1 to k = i-1

As done in class, you can also sum up to an arbitrary r and see which terms remain.

Page 7: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 7Numerical Fluid Mechanics2.29

After reduction step i-1:

Above and on diagonal:

Below diagonal:

Unchanged after step i-1:

Become and remain 0 in step j:

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

∑ these step-k eqns. from (k=1 to i-1) => Gives the total change above diagonal:

∑ this step-k eqns. from (k=1 to j) => Gives the total change below diagonal:

i

jGauss Elimination (GE): iteration eqns.

for the reduction at step k are

This gives the final changes occurring in reduction steps k = 1 to k = i-1

Page 8: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 8Numerical Fluid Mechanics2.29

After reduction step i-1:

Above and on diagonal:

Below diagonal:

Unchanged after step i-1:

Become and remain 0 in step j:

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

Summary: summing the changes in reduction steps k = 1 to k = i-1 :

We obtained: Total change above diagonal

We obtained: Total change below diagonal

→ Now, if we define:

and use them in equations (1) and (2) =>

(1)

(2)

i

j

Page 9: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

2.29 Numerical Fluid Mechanics PFJL Lecture 6, 9

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

Result seems to be a ‘Matrix product’:

= xi

j

Below diagonal

k

k

Sum stops at diagonal

= x

i

j

Above diagonal

k

k

Lower triangular Upper triangular

0

0

0

0

Page 10: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 10Numerical Fluid Mechanics2.29

=

=

Lower triangular

Upper triangular

GE reduction directly yields LU factorizationCompact storage:no need for additional memory (the unitary diagonal of L does not need to be stored)

Lower diagonal implied

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

Number of Operations for LU?

(referred to as the Doolittle decomposition)

Page 11: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 11Numerical Fluid Mechanics2.29

=

=

Lower triangular

Upper triangular

GE Reduction directly yields LU factorization

Compact storage

Lower diagonal implied

Same as Gauss Elimination:less in Elimination phase (no RHS operations), but more in double back-substitution phase

LU Decomposition / Factorizationvia Gauss Elimination, assuming no pivoting needed

Number of Operations for LU?

Page 12: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 12Numerical Fluid Mechanics2.29

Pivoting in LU Decomposition / Factorization

Before reduction, step k

Pivoting if

or else

To do this interchange of rows i and k,

Pivot element vector

Forward substitution, step k

Interchange rows i and k

use a pivot vector:

Dummy var.

( ),k

n na

If

In code, use b(p(k)),which amounts to:

Page 13: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 13Numerical Fluid Mechanics2.29

LU Decomposition / Factorization:

Variations

• Doolittle decomposition:

– mii=1 (implied but could be stored in L)

• Crout decomposition:

– Directly impose diagonal of U equal to 1’s (instead of L)

– Sweeps both by columns and rows (columns for L and rows for U)

– Reduce storage needs

– Each element of A only employed once

• Matrix inverse: AX=I => (LU)X=I

– Numbers of ops:3 3 3

2 2 3

Forward BackwardLU Decomp. Substitution Substitution

2 2 8 for , 23 3 3n n nO pn pn p n n

Page 14: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 14Numerical Fluid Mechanics2.29

Recall Lecture 3: The Condition Number

• The condition of a mathematical problem relates to its sensitivity to changes in its input values

• A computation is numerically unstable if the uncertainty of the input values are magnified by the numerical method

• Considering x and f(x), the condition number is the ratio of the relative error in f(x) to that in x.

• Using first-order Taylor series

• Relative error in f(x):

• Relative error in x:

• Condition Nb = Ratio of relative errors:

f (x) f (x ) f '(x )(x x )

f (x ) f (x )

x f '(x )K p f x( )

( )x x

x

( ) ( ) '( )( )f x f x f x x x

Page 15: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 15Numerical Fluid Mechanics2.29

Linear Systems of Equations

Error AnalysisLinear systems

How is the relative error of x dependent on errors in b?

Example

Small changes in b give large changes in xThe system is ill-Conditioned

Function of one variable

Condition number

The condition number K is a measure of the amplification of the

relative error by the function f(x)

Using MATLAB with different ’s (see tbt8.m):b

Page 16: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 16Numerical Fluid Mechanics2.29

Linear Systems of Equations: Norms

Vector andMatrix Norms:

Properties:

Evaluation of

Condition Numbers

requires use of Norms

Sub-multiplicative / Associative Norms(n-by-n matrices with such norms form a

Banach Algebra/space)

Page 17: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 17Numerical Fluid Mechanics2.29

Examples of Matrix Norms

“Maximum Column Sum”

“Maximum Row Sum”

“The Frobenius norm” (also called Euclidean norm)”, which for matrices differs from:

“The l-2 norm” (also called spectral norm)

Page 18: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 18Numerical Fluid Mechanics2.29

Linear Systems of Equations

Error Analysis: Perturbed Right-hand Side

Vector and Matrix Norms

Properties

Perturbed Right-hand Side implies

Subtract original equation

Relative Error Magnification

Condition Number

Page 19: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 19Numerical Fluid Mechanics2.29

Linear Systems of Equations

Error Analysis: Perturbed Coefficient Matrix

Vector and Matrix Norms

Properties

Perturbed Coefficient Matrix implies

Subtract unperturbed equation

Relative Error Magnification

Condition Number

(Neglect 2nd order)

Page 20: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 20Numerical Fluid Mechanics2.29

Example: Ill-Conditioned System

n=4

a = [ [1.0 1.0]' [1.0 1.0001]']

b= [1 2]'

ai=inv(a);

a_nrm=max( abs(a(1,1)) + abs(a(1,2)) ,

abs(a(2,1)) + abs(a(2,2)) )

ai_nrm=max( abs(ai(1,1)) + abs(ai(1,2)) ,

abs(ai(2,1)) + abs(ai(2,2)) )

k=a_nrm*ai_nrm

r=ai * b

x=[0 0];

m21=a(2,1)/a(1,1);

a(2,1)=0;

a(2,2) = radd(a(2,2),-m21*a(1,2),n);

b(2) = radd(b(2),-m21*b(1),n);

x(2) = b(2)/a(2,2);

x(1) = (radd(b(1), -a(1,2)*x(2),n))/a(1,1);

x'

tbt6.m

Ill-conditioned system

4-digit Arithmetic

Using Cramer’s rule:

Page 21: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 21Numerical Fluid Mechanics2.29

Example: Better-Conditioned System

n=4

a = [ [0.0001 1.0]' [1.0 1.0]']

b= [1 2]'

ai=inv(a);

a_nrm=max( abs(a(1,1)) + abs(a(1,2)) ,

abs(a(2,1)) + abs(a(2,2)) )

ai_nrm=max( abs(ai(1,1)) + abs(ai(1,2)) ,

abs(ai(2,1)) + abs(ai(2,2)) )

k=a_nrm*ai_nrm

r=ai * b

x=[0 0];

m21=a(2,1)/a(1,1);

a(2,1)=0;

a(2,2) = radd(a(2,2),-m21*a(1,2),n);

b(2) = radd(b(2),-m21*b(1),n);

x(2) = b(2)/a(2,2);

x(1) = (radd(b(1), -a(1,2)*x(2),n))/a(1,1);

x'

tbt7.m

Relatively Well-conditioned system

4-digit Arithmetic

Using Cramer’s rule:

Page 22: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

PFJL Lecture 6, 14Numerical Fluid Mechanics2.29

Recall Lecture 3: The Condition Number

• The condition of a mathematical problem relates to its sensitivity to changes in its input values

• A computation is numerically unstable if the uncertainty of the input values are magnified by the numerical method

• Considering x and f(x), the condition number is the ratio of the relative error in f(x) to that in x.

• Using first-order Taylor series

• Relative error in f(x):

• Relative error in x:

• Condition Nb = Ratio of relative errors:

f (x) f (x ) f '(x )(x x )

f (x ) f (x )

x f '(x )K p f x( )

( )x x

x

f

Page 23: REVIEW Lecture 5: 3 2 2 O n n On ( ) ( ) 3 · LU Decomposition / Factorization: Variations • Doolittle decomposition: – mii=1(implied but could be stored in L) • Crout decomposition:

MIT OpenCourseWarehttp://ocw.mit.edu

2.29 Numerical Fluid MechanicsSpring 2015

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.


Recommended