5
www.numerical-methods.com LU factorisation and back substitution  Excel Spreadsheet 1  This spreadsheet contains the VBA source files for carrying out the LU factorisation and back-substitution of a general square  matrix, which is useful in solving general linear systems of equations 2 . Several test problems that demonstrate the computation of LU factors are given and these are followed up by examples of solving matrix-vector systems by backward and forward substitution. The spreadsheet implements two algorithms as VBA subroutines that can be viewed or downloaded; the LU factorisation method LUfac 3  and the LU back and forward substitution method LUfbsub 4 . The spreadsheet consists of three sheets; the first sheet demonstrates the methods on a 3x3 matrix a nd matrix-vector proble m, the second shee ts similarly on a 5x5 problem and the third sheet similarly on a similar 10x10 p roblem. Two al gorithms are implemented in VBA in order to carry out the objectives of this spreadsheet; LU factorisation and backward and forward substitution. All three spreadsheets find the LU factorisation of a matrix ‘  A’, giving L and U . The LU factorisation method also requires and also a permutation matrix is allowed, to record row exchanges (as a result of pivoting) throughout the method, necessary to avoid division by zero or ‘small’ numbers. In summary, the spreadsheet returns the lower-triangular matrix L, the upper-triangular matrix U and the permutation matrix P so that  Since the three sheets have a similar format then it is suffice to consider the first sheet in this document. An image of the top half of page one of the spreadsheet is shown below. The 3x3 ma trix is placed in the 3x3 ye llow square and h. The sheet is able to solve any 3x3 system, by pacing the matrix in the yellow 3x3 grid and the vector in the yellow 1x3 column. However the following sample test problem is included and this can be restored by using the button. ( ) ( ) ( ) 1  LU.xlsm 2  LU Factorisation 3  LUfac 4  LUfbsub 

LU Factorisation and Forward and Back Substitution_Excel

Embed Size (px)

Citation preview

8/12/2019 LU Factorisation and Forward and Back Substitution_Excel

http://slidepdf.com/reader/full/lu-factorisation-and-forward-and-back-substitutionexcel 1/4

www.numerical-methods.com 

LU factorisation and back substitution – Excel Spreadsheet 1 

This spreadsheet contains the VBA source files for carrying out the LU factorisation and

back-substitution of a general square   matrix, which is useful in solving general

linear systems of equations2. Several test problems that demonstrate the computation

of LU factors are given and these are followed up by examples of solving matrix-vector

systems by backward and forward substitution. The spreadsheet implements two

algorithms as VBA subroutines that can be viewed or downloaded; the LU factorisation

method LUfac3 and the LU back and forward substitution method LUfbsub4.

The spreadsheet consists of three sheets; the first sheet demonstrates the methods on a

3x3 matrix and matrix-vector problem, the second sheets similarly on a 5x5 problem

and the third sheet similarly on a similar 10x10 problem. Two algorithms are

implemented in VBA in order to carry out the objectives of this spreadsheet; LU

factorisation and backward and forward substitution. All three spreadsheets find the LU

factorisation of a matrix ‘ A’, giving L and U . The LU factorisation method also requiresand also a permutation matrix is allowed, to record row exchanges (as a result of

pivoting) throughout the method, necessary to avoid division by zero or ‘small’numbers. In summary, the spreadsheet returns the lower-triangular matrix L, the

upper-triangular matrix U and the permutation matrix P so that

 Since the three sheets have a similar format then it is suffice to consider the first sheet

in this document.

An image of the top half of page one of the spreadsheet is shown below.

The 3x3 matrix is placed in the 3x3 yellow square and h. The sheet is able to solve any

3x3 system, by pacing the matrix in the yellow 3x3 grid and the vector in the yellow 1x3

column. However the following sample test problem is included and this can be

restored by using the button.

( ) () () 

1 LU.xlsm 

2

 LU Factorisation 3 LUfac 

4 LUfbsub 

8/12/2019 LU Factorisation and Forward and Back Substitution_Excel

http://slidepdf.com/reader/full/lu-factorisation-and-forward-and-back-substitutionexcel 2/4

www.numerical-methods.com 

The test data is on the right of the spreadsheet. The default test data is shown as

follows.

The matrix and vector can be cleared using the button and the

vector alone can be cleared using the button.

The LU factorisation of the matrix can be found by pressing the

button, by executing the LUfac5 subroutine . For the matrix in test 1 above, this gives

From the results above the permutation matrix in the row index in this ase indicates

that no rows have interchanged; the permutation matrix is

( )  As a check, in green, the matrices L  and U   are multiplied to give LU   and P T LU. P T LU

should be equal to the matrix A, as shown in the example.

On pressing the button, the matrix-vector system is solved from the LU

factors and by using the LUfbsub6  subroutine. The results are given, as follows:

;  5 LUfac 

8/12/2019 LU Factorisation and Forward and Back Substitution_Excel

http://slidepdf.com/reader/full/lu-factorisation-and-forward-and-back-substitutionexcel 3/4

www.numerical-methods.com 

Test 2 _ Pivotting required

The second test problem can be introduced by pressing . The

test data from the right of the screen

is then placed in the yellow cells.

In this case the zero in the first row and column would cause a division by zero error if

the LU factorisation method was applied without pivoting. The LU factors can be found

by pressing the , to give the following.

Hence the LU factorisation in terms of  is as follows:

( ) ( ) ( ) ( ) As before, the solution to the matrix-vector system can be obtained by pressing the

button.

Test 3 – Singular matrix

The third test problem can be introduced by pressing . The

following test data from the right of the screen is then placed in the yellow cells.

6 LUfbsub 

8/12/2019 LU Factorisation and Forward and Back Substitution_Excel

http://slidepdf.com/reader/full/lu-factorisation-and-forward-and-back-substitutionexcel 4/4

www.numerical-methods.com 

In this case the matrix is singular and cannot be solved over; on pressing

the following message appears on the screen.

Note that if the matrix is ‘nearly singular’ or ill-conditioned7  then it is still unsuitable for

numerical solution and this is also flagged up in the message box.

Larger Matrices

The following 5x5 and 10x10 systems are on the other two sheets of the spreadsheet, in LU

factorisations and solutions are obtained using the same LU

7 Condition and Condition Number of a Matrix