Professional Documents
Culture Documents
LU Decomposition PDF
LU Decomposition PDF
LU Decomposition Method
Simultaneous Linear Equations
COMPLETE SOLUTION SET
1. The [L ][U ] decomposition method is computationally more efficient than Naïve Gauss
elimination for solving
(A) a single set of simultaneous linear equations.
(B) multiple sets of simultaneous linear equations with different coefficient matrices
and the same right hand side vectors.
(C) multiple sets of simultaneous linear equations with the same coefficient matrix
and different right hand side vectors.
(D) less than ten simultaneous linear equations.
Solution
The correct answer is (C).
An example can be demonstrated by finding the inverse of the matrix [ A] . The problem of
finding the inverse reduces to solving n sets of equations with the coefficient matrix staying the
same and n different RHS vectors. These n RHS vectors are the n columns of the identity matrix.
For calculations of each column of the inverse of the [A] matrix, the coefficient matrix
[A] in the set of equations [A][X ] = [C ] does not change. So if we use the LU Decomposition
method, the [A] = [L ][U ] decomposition needs to be done only once and forward substitution
[L][Z ] = [C ] and the back substitution [U ][X ] = [Z ] still needs to be done n times.
The total computational time CT |inverse LU required to find the inverse of a matrix using
LU decomposition is
CT |inverse LU = 1× CT |DE + n × CT |FS + n × CT |BS
8n 3 20n
= 1 × T + 4n 2 − + n × T (4n 2 − 4n )+ n × T (4n 2 + 12n )
3 3
32n 3 20n
= T + 12n 2 −
3 3
where
the computational time 1 CT |DE to decompose the [ A] matrix to [ L][U ] form is given by
1
The time is calculated by first separately calculating the number of additions, subtractions,
multiplications, and divisions in a procedure such as back substitution, etc. We then assume 4
8n 3 20n
CT |DE = T + 4n 2 − ,
3 3
the computational time CT |FS to solve [L][Z ] = [C ] by forward substitution is given by
CT |FS = T (4n 2 − 4n ), and
the computational time CT |BS to solve [U ][ X ] = [Z ] by back substitution is given by
CT |BS = T (4n 2 + 12n )
In comparison, if Gaussian elimination method were used to find the inverse of matrix [A], the
forward elimination as well as the back substitution will have to be done n times. The total
computational time CT |inverse GE required to find the inverse of a matrix by using Gaussian
elimination then is
CT |inverse GE = n × CT |FE + n × CT |BS
8n 3 32n
= n × T + 8n 2 − + n × T (4n 2 + 12n )
3 3
8n 4 4n 2
= T + 12n 3 +
3 3
where
the computational time CT |FE for the forward elimination part is given by
8n 3 32n
CT |FE = T + 8n 2 − , and
3 3
the computational time CT |BS for the back substitution part is given by
CT |BS = T (4n 2 + 12n )
Clearly for large n , CT |inverse GE >> CT |inverse LU as CT |inverse GE has the dominating terms of 8n 4 / 3
and CT |inverse LU has the dominating terms of 32n 3 / 3 . For large values of n , Gaussian
elimination method would take more computational time (approximately n / 4 times – prove it)
than the LU decomposition method. Typical values of the ratio of the computational time for
different values of n are given in Table 1.
clock cycles each for an add, subtract, or multiply operation, and 16 clock cycles for a divide
operation as is the case for a typical AMD®-K7 chip.
http://www.isi.edu/~draper/papers/mwscas07_kwon.pdf
2. The lower triangular matrix [L] in the [L ][U ] decomposition of the matrix given below
25 5 4 1 0 0 u11 u12 u13
10 8 16 =
21 1 0 0 u 22 u 23
8 12 22 31 32 1 0 0 u 33
is
1 0 0
(A) 0.40000
1 0
0.32000 1.7333 1
25 5 4
(B) 0 6 14.400
0 0 − 4.2400
1 0 0
(C) 10 1 0
8 12 0
1 0 0
(D) 0.40000
1 0
0.32000 1.5000 1
Solution
The correct answer is (A).
8
Multiply Row 1 by = 0.32 , and subtract the results from Row 3
25
25 5 4
[Row 3] − [Row 1]× (0.32) = 0 6 14.4
0 10.4 20.72
To find 21 and 31 , what multiplier was used to make the a 21 and a 31 elements zero in the first
step of forward elimination using the Naïve Gauss elimination method? They are
21 = 0.4
31 = 0.32
To find 32 , what multiplier would be used to make the a 32 element zero? Remember the a 32
element is made zero in the second step of forward elimination.
So
10.4
32 = = 1.7333
6
Hence
1 0 0
[L] = 0.40000 1 0
0.32000 1.7333 1
3. The upper triangular matrix [U ] in the [L ][U ] decomposition of the matrix given below
25 5 4 1 0 0 u11 u12 u13
0 8 16 =
21 1 0 0 u 22 u 23
0 12 22 31 32 1 0 0 u 33
is
1 0 0
(A) 0.40000
1 0
0.32000 1.7333 1
25 5 4
(B) 0 6 14.400
0 0 − 4.2400
25 5 4
(C) 0 8 16
0 0 − 2
1 0.2000 0.16000
(D) 0
1 2.4000
0 0 − 4.240
Solution
The correct answer is (C).
The [U ] matrix is the same as the coefficient matrix that is found at the end of the forward
elimination steps of the Naïve Gauss elimination method, that is
25 5 4
[U ] = 0 8 16
0 12 22
First step: The first step of forward elimination does not need to be conducted as a 21 and a31 are
already zero.
12
Second step: Multiply Row 2 by = 1.5 and subtract the results from Row 3
8
25 5 4
[Row 3] − [Row 2]× (1.5) = 0 8 16
0 0 − 2
Thus,
25 5 4
[U ] = 0 8 16
0 0 − 2
4. For a given 2000 × 2000 matrix [A] , assume that it takes about 15 seconds to find the inverse
of [A] by the use of the [L ][U ] decomposition method, that is, finding the [L ][U ] once, and then
doing forward substitution and back substitution 2000 times using the 2000 columns of the
identity matrix as the right hand side vector. The approximate time, in seconds, that it will take
to find the inverse if found by repeated use of the Naive Gauss elimination method, that is, doing
forward elimination and back substitution 2000 times by using the 2000 columns of the identity
matrix as the right hand side vector is most nearly
(A) 300
(B) 1500
(C) 7500
(D) 30000
Solution
The correct solution is (C).
From the solution of Problem 1 of this MC question test, the computational times for finding the
inverse of [A] by Naïve Gaussian elimination and LU decomposition is given by
8n 4 4n 2 32n 3 20n
T + 12n 3 + and T + 12n 2 − , respectively, where
3 3 3 3
T = clock cycle time
n = number of rows or columns in square matrix [A].
(A) z1 = c1 / l11
for i from 2 to n do
sum = 0
for j from 1 to i do
sum = sum + lij * z j
end do
zi = (ci − sum) / lii
end do
(B) z1 = c1 / l11
for i from 2 to n do
sum = 0
for j from 1 to (i − 1) do
sum = sum + lij * z j
end do
zi = (ci − sum) / lii
end do
(C) z1 = c1 / l11
for i from 2 to n do
for j from 1 to (i − 1) do
sum = sum + lij * z j
end do
zi = (ci − sum) / lii
end do
(D) for i from 2 to n do
sum = 0
for j from 1 to (i − 1) do
sum = sum + lij * z j
end do
zi = (ci − sum) / lii
end do
Solution
The correct answer is (B).
Since [L ][Z ] = [C ] is written as
1 0 0 z1 c1
1 z 2 c 2
21
31 0 z 3 = c3
n1 n2 1 z n c n
z1 = c1 / l11
for i from 2 to n do
sum = 0 (the variable sum must be cleared each time through the loop)
i −1
for j from 1 to (i-1) do (this loop finds ∑ (
j =1
ij ×zj))
1 0 0 0 y1 0
0.0625 0.125 0.0625
0 y 2 16.0
(A) =
0 0.0625 0.125 0.0625 y 3 16.0
0 0 0 1 y4 0
1 0 0 0 y1 0
0.0625 − 0.125 0.0625
0 y 2 16.0
(B) =
0 0.0625 − 0.125 0.0625 y 3 16.0
0 0 0 1 y4 0
1 0 0 0 y1 0
0
0 0 1 y 2 0
(C) =
0.0625 − 0.125 0.0625 0 y 3 16.0
0 0.0625 − 0.125 0.0625 y 4 16.0
1 0 0 0 y1 0
0 0 0 1 y 2 0
(D) =
0.0625 0.125 0.0625 0 y 3 16.0
0 0.0625 0.125 0.0625 y 4 16.0
Solution
The correct answer is (B).
d2y
2
= 6 x − 0.5 x 2 , y (0) = 0 , y (12 ) = 0 , 0 ≤ x ≤ 12 (1)
dx
The first equation is from the boundary condition
y (0 ) = 0
and that is the value of y at node 1, giving
y1 = 0 (a)
2
d y
The approximation for with a second order accurate central divided difference method is
dx 2
d 2 y yi−1 − 2 yi + yi+1
≈
dx 2 h2
Hence the ordinary differential equation (1) can be approximated at node i as
yi−1 − 2 yi + yi+1
≈ 6 xi − 0.5 xi2 (2)
h2
where
x i +1 = xi + h
At node
i = 2,
x2 = x1 + h
=0+4
=4
Then at node i=2, equation (2) can be written as
y1 − 2 y 2 + y 3
= 6 × 4 − 0.5 × 4 2
42
0.0625 y1 − 0.125 y 2 + 0.0625 y 3 = 16
(b)
At node
i = 3,
x3 = x2 + h
=4+4
=8
Then at node i=3, equation (2) can be written as
y 2 − 2 y3 + y 4
2
= 6 × 8 − 0.5 × 8 2
4
0.0625 y 2 − 0.125 y 3 + 0.0625 y 4 = 16
(c)
The final equation is from the boundary condition
y (12) = 0
or
y4 = 0 (d)
Writing equations (a), (b), (c) and (d) in matrix form, we get
1 0 0 0 y1 0
0.0625 − 0.125 0.0625
0 y 2 16.0
=
0 0.0625 − 0.125 0.0625 y 3 16.0
0 0 0 1 y4 0