LU factorization with complete pivoting.

An implementation of algorithm 3.4.2 from Matrix Computations.
2.3K Downloads
Updated 24 Apr 2010

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.

Cite As

Nick Henderson (2024). LU factorization with complete pivoting. (https://www.mathworks.com/matlabcentral/fileexchange/27249-lu-factorization-with-complete-pivoting), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Sparse Matrices in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

fixed bug from last update.

1.2.0.0

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).

1.0.0.0