Doolittle's LU Factorization
Using the tridiagonal linear system as example, we present the
Doolittle's LU factorization
as follows.
The idea here is that, we assume A can be factorized as follows:
A = LU º |
æ ç ç ç ç è |
1 | 0 | .. | .. | 0 |
ö ÷ ÷ ÷ ÷ ø |
l1 | 1 | : | : | : |
1 | .. | : | : | 0 |
: | .. | ln-2 | 1 | 0 |
0 | .. | 0 | ln-1 | 1 |
|
æ ç ç ç ç è |
a1 | u1 | 0 | .. | 0 |
ö ÷ ÷ ÷ ÷ ø |
0 | a2 | u2 | .. | : |
0 | .. | .. | .. | 0 |
: | .. | 0 | an-1 | un-1 |
0 | .. | 0 | 0 | an |
|
Therefore by expanding the factorization, we get
A = |
æ ç ç ç ç ç è |
a1 | u1 | 0 | .. | 0 |
ö ÷ ÷ ÷ ÷ ÷ ø |
l1a1 | l1u1+a2 | u2 | .. | : |
0 | .. | .. | .. | 0 |
: | .. | ln-2an-2 | ln-2un-2+an-1 | un-1 |
0 | .. | 0 | ln-1an-1 | ln-1un-1+an |
|
By comparing coefficients with A we have
u1 =
u2 =
... =
un-1 =
-1
and
a1 = 2,
ai = 2 + li-1,
l1 = -1/2,
ai = -1/ai
Hence we get
ì í î |
a1 = 2,
ai = 2 - 1/ai-1,
i = 2,...,n
|
l1 = -1/2,
li = -1 / (2 + li-1),
i = 2,...,n
|
By using Mathematical Induction, one can prove that
ai = |
i + 1 ¾¾ i |
and li = |
-i ¾¾ i+1 |
for i = 1, 2, ..., n |
This indicates that the Doolittle's LU factorization exists for the
tridiagonal matrixA.
Theorem 1: For a n x n matrix B, if B is diagonally
dominant, i.e.
2|Bii| > |
n S i=j |
|Bij| for i = 1, 2, ..., n |
then its Doolittle's LU factorization exists.
Moreover, the computational cost for the Doolittle's LU factorization
is O(n3) and the computational cost of solving Ly = b
and Uf = f are both O(n2).
The proof can be found in the book listed in Reference section.
Remark:
Theorem 1 gives a sufficient condition for the
existence of Doolittle's LU factorization, the condition is not necessary.
We note that the tridiagonal matrix A is not diagonally
dominant but its Doolittle's LU
factorization exists.
Moreover, for the tridiagonal linear system, we see that the computational cost
of the Doolittle's LU factorization is only O(n).
The computational cost of solving Ly = b and
Uf = f are both O(n).
A Small Size Example
Let us look at the following example:
A4 = |
æ ç ç ç ç è |
2 | -1 | 0 | 0 |
ö ÷ ÷ ÷ ÷ ø |
-1 | 2 | -1 | 0 |
0 | -1 | 2 | -1 |
0 | 0 | -1 | 2 |
|
By the results above, the Doolittle's LU factorization of the matrix is as follows:
A4 = LU º |
æ ç ç ç ç è |
1 | 0 | 0 | 0 |
ö ÷ ÷ ÷ ÷ ø |
-1/2 | 1 | 0 | 0 |
0 | -2/3 | 1 | 0 |
0 | 0 | -3/4 | 1 |
|
æ ç ç ç ç è |
2 | -1 | 0 | 0 |
ö ÷ ÷ ÷ ÷ ø |
0 | 3/2 | -1 | 0 |
0 | 0 | 4/3 | -1 |
0 | 0 | 0 | 5/4 |
|
Suppose we are to solve
A4[x1,x2,x3,x4]t =
[1, 1, 1, 1]t.
We first solve
L[y1,y2,y3,y4]t =
[1, 1, 1, 1]t.
By forward substitution, we have
y1 = 1,
y2 = 1.5,
y3 = 2,
y4 = 2.5,
We then solve
U[x1,x2,x3,x4]t =
[1, 1.5, 2, 2.5]t.
By backward substitution, we have
x1 = 2,
x2 = 3,
x3 = 3,
x4 = 2,
|