File Exchange

image thumbnail

LU factorization with complete pivoting.

version 1.3 (3.88 KB) by

An implementation of algorithm 3.4.2 from Matrix Computations.



View License

To compute the LU factorization under default settings:

[L U p q] = lucp(A)

This produces a factorization such that L*U = A(p,q). Vectors p and q permute the rows and columns, respectively.

The pivot tolerance can be controlled:

[L U p q] = lucp(A,tol)

The algorithm will terminate if the absolute value of the pivot is less than tol.

Permutation matrices can be generated:

[L U P Q] = lucp(A,tol,'matrix')
[L U P Q] = lucp(A,tol,'sparse')

The first will generate full permutation matrices P and Q such that L*U = P*A*Q. The second generates sparse P and Q.

If A is sparse, L and U will be sparse. However, no effort is taken to reduce fill in.

This function works on non-square matrices.

Comments and Ratings (1)

cidem m



fixed bug from last update.


Performs a final column swap in the case where A is m by n with n > m. The goal is to have well conditioned U(1:m,1:m).

MATLAB Release
MATLAB 7.8 (R2009a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video