LUDecomposition Class 
Namespace: Meta.Numerics.Matrices
The LUDecomposition type exposes the following members.
Name  Description  

Determinant 
Computes the determinant of the original matrix.
 
Equals  Determines whether the specified object is equal to the current object. (Inherited from Object.)  
GetHashCode  Serves as the default hash function. (Inherited from Object.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
Inverse 
Computes the the inverse of the original matrix.
 
LMatrix 
Gets the L factor.
 
PMatrix 
Gets the permutation matrix.
 
Solve 
Solves A x = b.
 
ToString  Returns a string that represents the current object. (Inherited from Object.)  
UMatrix 
Gets the U factor.

An LU decomposition is a representation of a matrix M as the product of a lowerlefttriangular matrix L and and an upperrighttriangular matrix U. To reduce numerical instabilities, we actually decompose a rowwise 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^{1}b.
You can use the LUDecomposition method to obtain the LU decomposition of any nonsingular square matrix.