2.10: LU Factorization
( \newcommand{\kernel}{\mathrm{null}\,}\)
An LU factorization of a matrix involves writing the given matrix as the product of a lower triangular matrix L which has the main diagonal consisting entirely of ones, and an upper triangular matrix U in the indicated order. This is the version discussed here but it is sometimes the case that the L has numbers other than 1 down the main diagonal. It is still a useful concept. The L goes with “lower” and the U with “upper”.
It turns out many matrices can be written in this way and when this is possible, people get excited about slick ways of solving the system of equations, AX=B. It is for this reason that you want to study the LU factorization. It allows you to work only with triangular matrices. It turns out that it takes about half as many operations to obtain an LU factorization as it does to find the row reduced echelon form.
First it should be noted not all matrices have an LU factorization and so we will emphasize the techniques for achieving it rather than formal proofs.
Can you write [0110] in the form LU as just described?
Solution
To do so you would need [10x1][ab0c]= [abxaxb+c]=[0110].
Therefore, b=1 and a=0. Also, from the bottom rows, xa=1 which can’t happen and have a=0. Therefore, you can’t write this matrix in the form It has no LU factorization. This is what we mean above by saying the method lacks generality.
Nevertheless the method is often extremely useful, and we will describe below one the many methods used to produce an LU factorization when possible.
Finding An LU Factorization By Inspection
Which matrices have an LU factorization? It turns out it is those whose row-echelon form can be achieved without switching rows. In other words matrices which only involve using row operations of type 2 or 3 to obtain the row-echelon form.
Find an LU factorization of A=[120213212340].
Solution
One way to find the LU factorization is to simply look for it directly. You need
[120213212340]=[100x10yz1][adhj0bei00cf].
Then multiplying these you get [adhjxaxd+bxh+exj+iyayd+zbyh+ze+cyj+iz+f]
LU Factorization, Multiplier Method
Remember that for a matrix A to be written in the form A=LU, you must be able to reduce it to its row-echelon form without interchanging rows. The following method gives a process for calculating the LU factorization of such a matrix A.
Find an LU factorization for [123231−23−2]
Solution
Write the matrix as the following product. [100010001][123231−23−2]
In the matrix on the right, begin with the left row and zero out the entries below the top using the row operation which involves adding a multiple of a row to another row. You do this and also update the matrix on the left so that the product will be unchanged. Here is the first step. Take −2 times the top row and add to the second. Then take 2 times the top row and add to the second in the matrix on the left. [100210001][1230−1−5−23−2]
The method just described is called the multiplier method.
Solving Systems using LU Factorization
One reason people care about the LU factorization is it allows the quick solution of systems of equations. Here is an example.
Suppose you want to find the solutions to [123243111230][xyzw]=[123].
Solution
Of course one way is to write the augmented matrix and grind away. However, this involves more row operations than the computation of the LU factorization and it turns out that the LU factorization can give the solution quickly. Here is how. The following is an LU factorization for the matrix. [123243111230] = [100410101][12320−5−11−7000−2].
Let UX=Y and consider LY=B where in this case, B=[1,2,3]T. Thus [100410101][y1y2y3]=[123]
Now you can find X by solving UX=Y. Thus in this case, [12320−5−11−7000−2][xyzw]=[1−22]
Justification for the Multiplier Method
Why does the multiplier method work for finding the LU factorization? Suppose A is a matrix which has the property that the row-echelon form for A may be achieved without switching rows. Thus every row which is replaced using this row operation in obtaining the row-echelon form may be modified by using a row which is above it.
Let L be a lower (upper) triangular matrix m×m which has ones down the main diagonal. Then L−1 also is a lower (upper) triangular matrix which has ones down the main diagonal. In the case that L is of the form L=[1a11⋮⋱an1]
- Proof
-
Consider the usual setup for finding the inverse [LI]. Then each row operation done to L to reduce to row reduced echelon form results in changing only the entries in I below the main diagonal. In the special case of L given in (???) or the single nonzero column is in another position, multiplication by −1 as described in the lemma clearly results in L−1.
For a simple illustration of the last claim, [1001000100100a1001]→[1001000100100010−a1]
Now let A be an m×n matrix, say A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋮am1am2⋯amn]
The above discussion and lemma gives the justification for the multiplier method. The expressions −a21a11,−a31a11,⋯,−am1a11
In words, beginning at the left column and moving toward the right, you simply insert, into the corresponding position in the identity matrix, −1 times the multiplier which was used to zero out an entry in that position below the main diagonal in A, while retaining the main diagonal which consists entirely of ones. This is L.