Click or drag to resize
LUDecomposition Class
Represents the LU decomposition of a square matrix.
Inheritance Hierarchy

Namespace:  Meta.Numerics.Matrices
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: (
public sealed class LUDecomposition

The LUDecomposition type exposes the following members.

Public propertyDimension
Gets the dimension of the system.
Public methodDeterminant
Computes the determinant of the original matrix.
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInverse
Computes the the inverse of the original matrix.
Public methodLMatrix
Gets the L factor.
Public methodPMatrix
Gets the permutation matrix.
Public methodSolve
Solves A x = b.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUMatrix
Gets the U factor.

An LU decomposition is a representation of a matrix M as the product of a lower-left-triagular matrix L and and an upper-right-triangular matrix U. To reduce numerical instabilities, we actually decompose a row-wise permutation of a matrix, so that we have P A = L U, where P is a permutation matrix.

For example, here is an LU decomposition of a permutation of a simple 3 X 3 matrix:

Given an LU decomposition of a permutation A, we can solve systems of linear equations or compute the determinant or inverse of A. LU decomposition is the fastest way to solve an arbitrary system of linear equations. It is much faster, and less subject to rounding errors, to solve Ax=b by LU decomposition than than by inverting A and multiplying A-1b.

You can use the LUDecomposition method to obtain the LU decomposition of any non-singular square matrix.

See Also