4-2 Factorization Methods

Matrix factorization methods are widely used to solve systems of linear algebraic equations. In factorization, the matrix is represented as the product of two or more matrices, and in the example shown below, we use the product of a lower triangular matrix L and its transpose.

R =K D

Here K is written in factored form as the product of two matrices

K= L LT

To solve for D introduce a temporary variable, the vector Y, defined by Y = LT D and substitute Y to give

R =K D = L LT D = L Y

Since L is a lower triangular matrix, the equation above takes the following form.

It is easy to solve this equation for the vector Y. The first equation gives

 

R1 = l11 Y1 , or Y1 = R1/(l11)

The second equation is

 

R2 = l21 Y1 + l22 Y2

From which we obtain,

 

Y2 = (R2 – l21 Y1)/(l22)

This equation is also easily solved since Y1 was found in the first step.

The third equation contains only one unknown, as do the remaining equations in the set. After all equations have been processed, the vector Y is known. The definition of Y is then used to determine the displacement vector D.

Y = Lt D

Starting now with the last equation, we have

Yn = lnn Dn

Or

Dn = Yn/(lnn)

Now use the next-to-last equation to find Yn-1 , and the process is repeated moving from the last equation in the list to the first equation.

The two operations described above are referred to as forward substitution and backward substitution after the way in which the calculations work through the equation lists.

The real effort, as you might suspect, is in finding the triangular factor L. The process of determining L is illustrated for a simple 3x3 system below.

First write K = L LT in symbolic form

Next, multiply L and LT term by term and equate to the corresponding element in the K matrix. In this way, each term in L can be found. Multiplying the first row of L times the columns of LT gives.

 

k12 = l11 l21 l21 = k12/(l11)

 

l31 = k13/(l11)

Now multiplying the second row of L times the columns of LT gives.

or

or

etc.

This process is continued until all elements of L have been found. When implementing the above process in a computational algorithm, significant computer storage savings can be realized by noting that K is symmetric, that any band structure in K is duplicated in L, and that each kij term, once used to compute an lij, is not needed again so that the lij may be stored where the ki was originally stored. The process of forward and backward substitution can then be used to determine the solution vector D.