## LU LU Decomposition for Matrices

Section: Transforms/Decompositions

### Usage

Computes the LU decomposition for a matrix. The form of the command depends on the type of the argument. For full (non-sparse) matrices, the primary form for`lu`

is
[L,U,P] = lu(A),

where `L`

is lower triangular, `U`

is upper triangular, and
`P`

is a permutation matrix such that `L*U = P*A`

. The second form is

[V,U] = lu(A),

where `V`

is `P'*L`

(a row-permuted lower triangular matrix),
and `U`

is upper triangular. For sparse, square matrices,
the LU decomposition has the following form:

[L,U,P,Q,R] = lu(A),

where `A`

is a sparse matrix of either `double`

or `dcomplex`

type.
The matrices are such that `L*U=P*R*A*Q`

, where `L`

is a lower triangular
matrix, `U`

is upper triangular, `P`

and `Q`

are permutation vectors
and `R`

is a diagonal matrix of row scaling factors. The decomposition
is computed using UMFPACK for sparse matrices, and LAPACK for dense
matrices.

### Example

First, we compute the LU decomposition of a dense matrix.--> a = float([1,2,3;4,5,8;10,12,3]) a = 1 2 3 4 5 8 10 12 3 --> [l,u,p] = lu(a) l = 1.0000 0 0 0.1000 1.0000 0 0.4000 0.2500 1.0000 u = 10.0000 12.0000 3.0000 0 0.8000 2.7000 0 0 6.1250 p = 0 0 1 1 0 0 0 1 0 --> l*u ans = 10 12 3 1 2 3 4 5 8 --> p*a ans = 10 12 3 1 2 3 4 5 8

Now we repeat the exercise with a sparse matrix, and demonstrate the use of the permutation vectors.

--> a = sparse([1,0,0,4;3,2,0,0;0,0,0,1;4,3,2,4]) a = 1 1 1 2 1 3 4 1 4 2 2 2 4 2 3 4 3 2 1 4 4 3 4 1 4 4 4 --> [l,u,p,q,r] = lu(a) l = 1 1 1 2 2 1 3 3 1 4 4 1 u = 1 1 0.153846 1 2 0.230769 2 2 0.4 1 3 0.307692 2 3 0.6 3 3 0.2 1 4 0.307692 3 4 0.8 4 4 1 p = 4 2 1 3 q = 3 2 1 4 r = 1 1 0.2 2 2 0.2 3 3 1 4 4 0.0769231 --> full(l*a) ans = 1 0 0 4 3 2 0 0 0 0 0 1 4 3 2 4 --> b = r*a b = 1 1 0.2 2 1 0.6 3 1 0 4 1 0.307692 1 2 0 2 2 0.4 3 2 0 4 2 0.230769 1 3 0 2 3 0 3 3 0 4 3 0.153846 1 4 0.8 2 4 0 3 4 1 4 4 0.307692 --> full(b(p,q)) ans = 0.1538 0.2308 0.3077 0.3077 0 0.4000 0.6000 0 0 0 0.2000 0.8000 0 0 0 1.0000