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.

7 Downloads

Updated

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

Updates

1.3

fixed bug from last update.

1.2

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