17.11.2012 Views

Numerical recipes

Numerical recipes

Numerical recipes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3 LU Decomposition and Its Applications 43<br />

Isaacson, E., and Keller, H.B. 1966, Analysis of <strong>Numerical</strong> Methods (New York: Wiley), §2.1.<br />

Johnson, L.W., and Riess, R.D. 1982, <strong>Numerical</strong> Analysis, 2nd ed. (Reading, MA: Addison-<br />

Wesley), §2.2.1.<br />

Westlake, J.R. 1968, A Handbook of <strong>Numerical</strong> Matrix Inversion and Solution of Linear Equations<br />

(New York: Wiley).<br />

2.3 LU Decomposition and Its Applications<br />

Suppose we are able to write the matrix A as a product of two matrices,<br />

L · U = A (2.3.1)<br />

where L is lower triangular (has elements only on the diagonal and below) and U<br />

is upper triangular (has elements only on the diagonal and above). For the case of<br />

a 4 × 4 matrix A, for example, equation (2.3.1) would look like this:<br />

⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

⎤<br />

α11 0 0 0<br />

β11 β12 β13 β14<br />

⎣ α21 α22 0 0 ⎦<br />

α31 α32 α33 0 · ⎣ 0 β22 β23 β24 ⎦<br />

0 0 = ⎣<br />

β33 β34<br />

α41 α42 α43 α44 0 0 0 β44<br />

a11 a12 a13 a14<br />

a21 a22 a23 a24<br />

a31 a32 a33 a34<br />

a41 a42 a43 a44<br />

We can use a decomposition such as (2.3.1) to solve the linear set<br />

by first solving for the vector y such that<br />

and then solving<br />

⎦<br />

(2.3.2)<br />

A · x =(L · U) · x = L · (U · x) =b (2.3.3)<br />

L · y = b (2.3.4)<br />

U · x = y (2.3.5)<br />

What is the advantage of breaking up one linear set into two successive ones?<br />

The advantage is that the solution of a triangular set of equations is quite trivial, as<br />

we have already seen in §2.2 (equation 2.2.4). Thus, equation (2.3.4) can be solved<br />

by forward substitution as follows,<br />

y1 = b1<br />

α11<br />

yi = 1<br />

αii<br />

⎡<br />

�i−1<br />

⎣bi −<br />

j=1<br />

αijyj<br />

⎤<br />

⎦ i =2, 3,...,N<br />

(2.3.6)<br />

while (2.3.5) can then be solved by backsubstitution exactly as in equations (2.2.2)–<br />

(2.2.4),<br />

xN = yN<br />

βNN<br />

xi = 1<br />

βii<br />

⎡<br />

⎣yi −<br />

N�<br />

j=i+1<br />

βijxj<br />

⎤<br />

⎦ i = N − 1,N − 2,...,1<br />

(2.3.7)<br />

Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5)<br />

Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by <strong>Numerical</strong> Recipes Software.<br />

Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copying of machinereadable<br />

files (including this one) to any server computer, is strictly prohibited. To order <strong>Numerical</strong> Recipes books or CDROMs, visit website<br />

http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!