Program Lecture 2. Numerical Linear Algebra. Gaussian elimination (2) Gaussian elimination. Decompositions, numerical aspects

Similar documents
Numerical Linear Algebra

Scientific Computing

Lecture 2 Decompositions, perturbations

Linear Algebra Section 2.6 : LU Decomposition Section 2.7 : Permutations and transposes Wednesday, February 13th Math 301 Week #4

Gaussian Elimination and Back Substitution

Numerical Linear Algebra

LU Factorization. LU factorization is the most common way of solving linear systems! Ax = b LUx = b

1.Chapter Objectives

Numerical Methods I Solving Square Linear Systems: GEM and LU factorization

MATH 3511 Lecture 1. Solving Linear Systems 1

14.2 QR Factorization with Column Pivoting

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Lecture 12 (Tue, Mar 5) Gaussian elimination and LU factorization (II)

2.1 Gaussian Elimination

AMS526: Numerical Analysis I (Numerical Linear Algebra for Computational and Data Sciences)

Matrix decompositions

LU Factorization. Marco Chiarandini. DM559 Linear and Integer Programming. Department of Mathematics & Computer Science University of Southern Denmark

Review of matrices. Let m, n IN. A rectangle of numbers written like A =

Linear Systems of n equations for n unknowns

Direct Methods for Solving Linear Systems. Matrix Factorization

Solution of Linear Equations

Dense LU factorization and its error analysis

Solving linear systems (6 lectures)

Matrix decompositions

Direct Methods for Solving Linear Systems. Simon Fraser University Surrey Campus MACM 316 Spring 2005 Instructor: Ha Le

MODULE 7. where A is an m n real (or complex) matrix. 2) Let K(t, s) be a function of two variables which is continuous on the square [0, 1] [0, 1].

Scientific Computing: An Introductory Survey

Next topics: Solving systems of linear equations

5.1 Banded Storage. u = temperature. The five-point difference operator. uh (x, y + h) 2u h (x, y)+u h (x, y h) uh (x + h, y) 2u h (x, y)+u h (x h, y)

Introduction to Mathematical Programming

Lecture Notes to Accompany. Scientific Computing An Introductory Survey. by Michael T. Heath. Chapter 2. Systems of Linear Equations

Solving Dense Linear Systems I

This can be accomplished by left matrix multiplication as follows: I

Linear Algebraic Equations

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit VII Sparse Matrix

Linear Algebra Linear Algebra : Matrix decompositions Monday, February 11th Math 365 Week #4

Applied Mathematics 205. Unit II: Numerical Linear Algebra. Lecturer: Dr. David Knezevic

Numerical Linear Algebra

1.5 Gaussian Elimination With Partial Pivoting.

Computational Methods. Systems of Linear Equations

CME 302: NUMERICAL LINEAR ALGEBRA FALL 2005/06 LECTURE 6

CS412: Lecture #17. Mridul Aanjaneya. March 19, 2015

1 Multiply Eq. E i by λ 0: (λe i ) (E i ) 2 Multiply Eq. E j by λ and add to Eq. E i : (E i + λe j ) (E i )

CS227-Scientific Computing. Lecture 4: A Crash Course in Linear Algebra

Numerical Methods I: Numerical linear algebra

7. LU factorization. factor-solve method. LU factorization. solving Ax = b with A nonsingular. the inverse of a nonsingular matrix

lecture 2 and 3: algorithms for linear algebra

Computational Linear Algebra

Linear Equations and Matrix

STAT 309: MATHEMATICAL COMPUTATIONS I FALL 2018 LECTURE 13

AM205: Assignment 2. i=1

AMS 209, Fall 2015 Final Project Type A Numerical Linear Algebra: Gaussian Elimination with Pivoting for Solving Linear Systems

(17) (18)

The Solution of Linear Systems AX = B

. =. a i1 x 1 + a i2 x 2 + a in x n = b i. a 11 a 12 a 1n a 21 a 22 a 1n. i1 a i2 a in

Roundoff Analysis of Gaussian Elimination

Numerical Linear Algebra

Matrix decompositions

Linear Algebra. Solving Linear Systems. Copyright 2005, W.R. Winfrey

Scientific Computing: Dense Linear Systems

Numerical Methods - Numerical Linear Algebra

Today s class. Linear Algebraic Equations LU Decomposition. Numerical Methods, Fall 2011 Lecture 8. Prof. Jinbo Bi CSE, UConn

Ax = b. Systems of Linear Equations. Lecture Notes to Accompany. Given m n matrix A and m-vector b, find unknown n-vector x satisfying

Lecture Note 2: The Gaussian Elimination and LU Decomposition

Review Questions REVIEW QUESTIONS 71

Linear System of Equations

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Numerical Methods I Non-Square and Sparse Linear Systems

lecture 3 and 4: algorithms for linear algebra

Pivoting. Reading: GV96 Section 3.4, Stew98 Chapter 3: 1.3

ACM106a - Homework 2 Solutions

Gaussian Elimination for Linear Systems

Process Model Formulation and Solution, 3E4

The System of Linear Equations. Direct Methods. Xiaozhou Li.

Numerical Analysis Fall. Gauss Elimination

Draft. Lecture 12 Gaussian Elimination and LU Factorization. MATH 562 Numerical Analysis II. Songting Luo

BLAS: Basic Linear Algebra Subroutines Analysis of the Matrix-Vector-Product Analysis of Matrix-Matrix Product

Chapter 4 No. 4.0 Answer True or False to the following. Give reasons for your answers.

CME 302: NUMERICAL LINEAR ALGEBRA FALL 2005/06 LECTURE 9

On the Skeel condition number, growth factor and pivoting strategies for Gaussian elimination

5 Solving Systems of Linear Equations

4.2 Floating-Point Numbers

Introduction to PDEs and Numerical Methods Lecture 7. Solving linear systems

GAUSSIAN ELIMINATION AND LU DECOMPOSITION (SUPPLEMENT FOR MA511)

CSE 160 Lecture 13. Numerical Linear Algebra

I-v k e k. (I-e k h kt ) = Stability of Gauss-Huard Elimination for Solving Linear Systems. 1 x 1 x x x x

Hani Mehrpouyan, California State University, Bakersfield. Signals and Systems

ECE133A Applied Numerical Computing Additional Lecture Notes

Solving Linear Systems of Equations

A Review of Matrix Analysis

1 GSW Sets of Systems

Practical Linear Algebra: A Geometry Toolbox

Scientific Computing: Solving Linear Systems

CHAPTER 6. Direct Methods for Solving Linear Systems

MTH 464: Computational Linear Algebra

Direct solution methods for sparse matrices. p. 1/49

Numerical Linear Algebra And Its Applications

MTH 215: Introduction to Linear Algebra

Gaussian Elimination without/with Pivoting and Cholesky Decomposition

Lecture 9. Errors in solving Linear Systems. J. Chaudhry (Zeb) Department of Mathematics and Statistics University of New Mexico

Transcription:

Numerical Linear Algebra Decompositions, numerical aspects Program Lecture 2 LU-decomposition Basic algorithm Cost Stability Pivoting Cholesky decomposition Sparse matrices and reorderings Gerard Sleijpen and Martin van Gijzen September 27, 2017 1 Delft University of Technology September 27, 2017 2 Gaussian elimination Gaussian elimination (2) Consider the system Ax = 2 1 1 4 1 0 2 2 1 x 1 x 2 x 3 = 1 2 7 The resulting equivalent system is 2 1 1 Ux = 0 1 2 0 0 4 x 1 x 2 x 3 = 1 4 4 Then we can reduce this system to upper triangular form 1. Subtract 2 equation one from equation two 2. Subtract 1 equation one from equation three 3. Subtract 3 the second equation from the third This system can be solved by back substitution. If we have a different right-hand side, do we have to do the same operations? Or can we save what we did? September 27, 2017 3 September 27, 2017 4

Gaussian elimination (3) The first reduction step was Subtract 2 equation one from equation two. The so-called elementary matrix E 2,1 that performs this operations is E 2,1 2 1 0 = I 2e 2 e Here, e 1 (1,0,0) T, 1.... 0 0 1 Multiplying A with this matrix yields 2 1 1 E 2,1 A = 0 1 2. 2 2 1 September 27, 2017 5 Gaussian elimination (4) The second reduction step Subtract 1 equation one from equation three is equivalent with multiplying with the matrix E 3,1 0 1 0 = I + e 3 e 1 1 0 1 and Subtract 3 the second equation from the third is equivalent with multiplying with the matrix E 3,2 0 1 0 = I + 3e 3 e 2. 0 3 1 September 27, 2017 6 Gaussian elimination (5) Gaussian elimination (6) Hence, we can write E 3,2 E 3,1 E 2,1 A = U Notice that the matrix E 3,2 E 3,1 E 2,1 is a product of lower triangular matrices and therefore lower triangular. The above equation can also be written as A = E 1 2,1 E 1 3,1 E 1 3,2 U Since the inverse of a lower triangular matrix is lower triangular, the matrix E 1 2,1 E 1 3,1 E 1 3,2 must be lower triangular: It is easy to check that E 1 2,1 = 2 1 0, E 1 0 0 1 and that 3,1 = L = E 1 2,1 E 1 3,1 E 1 3,2 = 0 1 0, E 1 1 0 1 3,2 = 2 1 0 1 3 1 0 1 0 0 3 1, L E 1 2,1 E 1 3,1 E 1 3,2, A = LU September 27, 2017 8 September 27, 2017 7

Gaussian elimination (6) It is easy to check that (I αe i e j ) 1 = I + αe i e j (i j) E 1 2,1 = 2 1 0, E 1 0 0 1 and that 3,1 = 0 1 0, E 1 1 0 1 3,2 = L = E 1 2,1 E 1 3,1 E 1 3,2 = 2 1 0 1 3 1 0 1 0 0 3 1 (I + αe i e j )(I + β e k e l ) = (I + αe i e j + β e k e l ) (j k)., Gaussian elimination (7) Clearly L is lower triangular, with 1 s on the main diagonal. The special thing is that the entries below the diagonal are exactly the multipliers 2, 1, 3 used in the elimination steps. The example shows that an LU-decomposition can be made by Reducing A to upper triangular form by elementary row operations, this gives U, Storing all the multipliers in a lower triangular matrix L that has ones on the main diagonal. September 27, 2017 8 September 27, 2017 9 Gaussian elimination algorithm Given A = (a ij ) C n n, the following algorithm computes the LU-factorisation: A = LU. for k = 1,...,n 1 do for i = k + 1,...,n do η = a ik /a kk a ik = η for j = k + 1,...,n a ij a ij η a kj Some remarks (1) The algorithm overwrites the matrix A with the matrix U (upper triangular part) and the matrix L (strictly lower triangular part). The main diagonal of L is not stored. The numerical stability of the algorithm depends on the size of the pivots. If a pivot is zero the algorithm breaks down. If a pivot is close to zero large numerical errors may occur. The number of floating point operations to compute the LU-decomposition is 2 3 n3. The element a kk is called the kth pivot. September 27, 2017 10 September 27, 2017 11

Some remarks (2) A more symmetrical variant of the LU-decomposition is the LDU-decomposition. Here D is a diagonal that scales the main diagonal elements of U to one. A system of the form Ax = LUx = b can be solved by a forward substitution: solve Ly = b for y (y Ux), and a back substitution: solve Ux = y for x. Once the LU-decomposition of A is known, any system with A can simply be solved by forward and back substitution with the LU-factors. Both the back and forward substitution (algorithms given in the next two slides) require n 2 flops. Forward substitution Given an n n non-singular lower triangular matrix L = (l ij ) and b = (b i ) C n, the following algorithm finds y = (y i ) C n such that Ly = b. Forward substitution algorithm for i = 1,...,n do y i = b i for j = 1,...,i 1 do y i y i l ij y j y i y i /l ii September 27, 2017 12 September 27, 2017 13 Backward substitution Given an n n non-singular upper triangular matrix U = (u ij ) and y = (y i ) C n, the following algorithm finds x = (x i ) C n such that Ux = y. Back substitution algorithm for i = n,...,1 do Round off errors, a bound Recall Convention. For A = (a ij ) and B = (b ij ) in C m n, A ( a ij ) B A means b ij,a ij R, b ij a ij (all i,j) x i = y i for j = i + 1,...,n do x i x i u ij x j x i x i /u ii. September 27, 2017 14 September 27, 2017 15

Round off errors, a bound Theorem. Let L and Û be the computed LU-factors of the n n floating point matrix A. If ŷ is the computed solution of Ly = b and x is the computed solution of Ûx = ŷ, then (A + A ) x = b with A 3nu L Û +O(u2 ). Proof. see Golub and van Loan p.107 for a slightly weaker result or Exer. 2.16, in our exercise set. Round off errors, discussion (A + A ) x = b with A 3nu L Û. Except for the factor 3n, the bound is sharp. A bound on A better than A nu A is not to be expected: because (if A is dense) the multiplication Ax in floating point arithmetic already results in a vector equal to (A + A )x with A sharply satisfying A nu A. Except for the modest constant 3, the factor L Û A appears to characterize the stability of Gaussian elimination. September 27, 2017 15 September 27, 2017 16 Round off errors, discussion (2) The term September 27, 2017 17 L Û can be much larger than A if a small pivot is encountered during the elimination process: Example. A = ǫ 1 1 0 Assignment. Compute the LU factors of A and bound L U. Note. Small pivots do not necessarily indicate an ill-conditioned problem. Conclusion. Gaussian elimination (without further precautions) can give arbitrarily poor results, even for well-conditioned problems. The method may be unstable, depending on A. Permutations The problem in the previous example can of course be solved by interchanging the rows (or columns). This is a row permutation. Let e i denote the ith column of the identity matrix I. A row permuted version of A is given by PA, where the jth row of the permutation matrix P equals e T π(j) and π permutes (1,2,...,n). The matrix AP T is a column permuted version of A. September 27, 2017 18

Permutations The problem in the previous example can of course be solved by interchanging the rows (or columns). This is a row permutation. Let e i denote the ith column of the identity matrix I. A row permuted version of A is given by PA, where the jth row of the permutation matrix P equals e T π(j) and π permutes (1,2,...,n). Note. If Pi [π(1),...,π(n)], then, in MATLAB, A(Pi,:) equals PA, while A(:,Pi) equals AP T. Exchanging rows (and/or columns) for selecting (large) pivots is called pivoting. September 27, 2017 18 Partial pivoting A simple strategy to avoid small pivots is partial pivoting: Determine the in absolute value largest element below the pivot. Interchange the corresponding row with the pivot row. Eliminate all non-zeros elements below the pivot. Practical remarks. Interchange the rows in the active part of the matrix as well as the corresponding rows in the already constructed L-part. Define Pi=1:n at the start of the LU-decompostion process and interchange Pi(i) and Pi(k) whenever row i and row k are interchanges. Then Pi defines the permutation P. September 27, 2017 19 Partial pivoting (2) Partial pivoting leads to the decomposition PA = LU. The permutation matrix P corresponds to all the row exchanges. With partial pivoting, no multiplier is > 1 in absolute value: L M 1, where A M max a ij. i,j Partial pivoting (2) Partial pivoting leads to the decomposition PA = LU. The permutation matrix P corresponds to all the row exchanges. With partial pivoting, no multiplier is > 1 in absolute value: L M 1, where A M max a ij. i,j In particular, with ρ part (A) U M / A M, we then have L Û n 2 ρ part (A) A. n 2 can be repaced by the square of the bandwidth of A. Note that n 3 can be large for high-dimensional systems. September 27, 2017 20 September 27, 2017 20

Partial pivoting (2) Partial pivoting leads to the decomposition September 27, 2017 20 PA = LU. The permutation matrix P corresponds to all the row exchanges. With partial pivoting, no multiplier is > 1 in absolute value: L M 1, where A M max a ij. i,j In particular, with ρ part (A) U M / A M, we then have L Û n 2 ρ part (A) A. Theorem. We have the sharp bound ρ part (A) 2 n 1. See, Exer. 2.19. Partial pivoting (2) Partial pivoting leads to the decomposition September 27, 2017 20 PA = LU. The permutation matrix P corresponds to all the row exchanges. With partial pivoting, no multiplier is > 1 in absolute value: L M 1, where A M max a ij. i,j In particular, with ρ part (A) U M / A M, we then have L Û n 2 ρ part (A) A. Theorem. We have the sharp bound ρ part (A) 2 n 1. Wilkinson s miracle [1963]. In practise, ρ(a) 16. Partial pivoting (2) Partial pivoting leads to the decomposition September 27, 2017 20 PA = LU. The permutation matrix P corresponds to all the row exchanges. With partial pivoting, no multiplier is > 1 in absolute value: L M 1, where A M max a ij. i,j In particular, with ρ part (A) U M / A M, we then have L Û n 2 ρ part (A) A. Theorem. We have the sharp bound ρ part (A) 2 n 1. Note. Computing L Û = L ( Û 1) costs n 2 flop. Partial pivoting (3) According to Wilkinson s miracle, LU-decomposition with partial pivoting is usually sufficiently stable (a modest factor [n 2?] less stable than the system Ax = b). The stability can be estimated from ρ(a) (or L Û / A ). In the extremely rare (according to Wilkinson) cases where this quantity is large, one can switch to a more stable approach: Iterative refinement (using the same expensive LU-factors). Complete pivoting Th. ρ comp (A) c n n 1 4 ln n (where it was conjectured that ρ comp (A) n). Form a QR-decomposition (which is 2 as expensive as an LU-decomp., but stable. Here Q is unitary, R upper ). September 27, 2017 21

Row scaling The stability of the system Ax = b can often be improved by scaling the rows (row equilibration): find a diagonal matrix D such that the condition number of the matrix D 1 A is (much) smaller than that of the matrix A and solve the scaled system Ãx = b with à D 1 A and b D 1 b using LU-decomposition with partial pivoting. Example. D = diag( e 1 A,..., e na ) Symmetric positive definite systems In many applications the matrix A = (a ij ) C n n, used in the linear system Ax = b, is positive definite, that is, x Ax > 0 (x C n, x 0). Note. If A is positive definite, then a ii > 0 for all i, and A is Hermitian, i.e., A = A. For this type of matrices, memory and CPU time can be saved: since A is Hermitian only the elements a ij with i j have to be stored in memory. Moreover, an efficient LU-like decomposition exists. September 27, 2017 22 September 27, 2017 23 The Cholesky decomposition Let A = (a ij ) be positive definite. Then the following algorithm computes the Cholesky decomposition A = CC of A, i.e., C = (c ij ) C n n is lower triangular and c ii > 0 all i. for k = 1,2,...,n do a kk (a kk k 1 a 2 kp )1/2 p=1 for i = k + 1,...,n do a ik (a ik k 1 a ip a kp )/a kk September 27, 2017 24 p=1 The entry a ij is overwritten by c ij (i j). The Cholesky decomposition (2) The Chol. dec. for p.d. matrices has many favourable properties: It exists without pivoting. C is real if A is real. The number of flops for the algorithm is 1 3 n3 ; both memory and operations are half that of the LU-decomposition for general matrices. As for the LU-decomposition, we have that (A + A ) x = b with A 3nu Ĉ Ĉ. The inequality C C 2 n C 2 2 = n A 2 shows that the Cholesky decomposition is stable: pivoting is not necessary (and is even harmful: it would destroy symmetry). September 27, 2017 25

Banded systems In many applications the matrix is banded. This is the case whenever the equations can be ordered so that each unknown x i appears in only a few equations in a neighbourhood of the ith equation. The matrix A has upper bandwidth q, where q 0 is the smallest number such that a ij = 0 whenever j > i + q, and lower bandwidth p, where p 0 is the smallest number such that a ij = 0 whenever i > j + p. Typical examples are obtained after finite element or finite difference discretizations. September 27, 2017 26 Banded systems (2) Substantial reduction of both work and memory can be realised for these systems, since there will only be fill in (non zeros in the factors at locations (i,j) with a ij = 0) inside the band. In particular, L and U inherit the lower and upper bandwidth of A. This is easily checked by writing down some elimination steps for a banded system of equations. The LU-decomposition can now be obtained using 2npq flops if n p and n q. However, the band structure is to a large extend destroyed if partial pivoting is applied. September 27, 2017 27 General sparse systems (1) Large matrices with general sparsity patterns arise for example in unstructured finite element calculation. In order to limit the amount of fill in, the matrix is usually reordered before it is decomposed. General sparse systems (2) Therefore, solving a sparse system Ax = b with a direct method normally consists of three phases: An analysis phase: a symbolic decomposition is made during which a suitable ordering is determined. A decomposition phase: the permuted matrix is decomposed. A solution phase: the solutions for one or more right-hand sides are determined using back and forward substitution, and back permutation to the original ordering. September 27, 2017 28 September 27, 2017 29

Ordering algorithms Quite sophisticated ordering algorithms exist to minimise the fill in. They are based on graph theory. Some general principles that are used are: Try to minimise the bandwidth in every elimination step. An example is the Reverse Cuthill-McKee algorithm. Select rows with the fewest non-zeros. An example is the minimum degree ordering. MATLAB backslash operator (x=a\b;) for sparse matrices is of the above type and is very effective (especially for problems from discretized 2-dimensional PDEs and as long the L- and U-factors are not explicitly required). September 27, 2017 30 Concluding remarks Direct solution methods are the preferred choice for dense systems. Also for sparse methods they are widely used, in particular for positive definite banded systems. For very large sparse systems iterative methods are usually preferred. However, most of the time a combination of the two is used. Iterative methods can be used to improve the solution computed with the direct method, or an approximate factorisation is used to accelerate the convergence of an iterative method. These issues will be discussed in the next lectures. Further reading: Golub and Van Loan, pp. 87-160 September 27, 2017 31