Assembly: Meta.Numerics (in Meta.Numerics.dll) Version: 2.1.0.0 (2.1.0.0)
Syntax
| C# | Visual Basic | Visual C++ | F# |
public sealed class SquareLUDecomposition
Public NotInheritable Class SquareLUDecomposition
public ref class SquareLUDecomposition sealed
[<SealedAttribute>] type SquareLUDecomposition = class end
Members
| All Members | Properties | Methods |
| Member | Description | |
|---|---|---|
| Determinant()()()() |
Computes the determinant of the original matrix.
| |
| Dimension |
Gets the dimension of the system.
| |
| Equals(Object) | (Inherited from Object.) | |
| Finalize()()()() | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
| GetHashCode()()()() | Serves as a hash function for a particular type. (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.
| |
| MemberwiseClone()()()() | Creates a shallow copy of the current Object. (Inherited from Object.) | |
| PMatrix()()()() |
Gets the permutation matrix.
| |
| Solve(IList<(Of <<'(Double>)>>)) |
Returns the solution vector that, when multiplied by the original matrix, produces the given left-hand side vector.
| |
| ToString()()()() | (Inherited from Object.) | |
| UMatrix()()()() |
Gets the U factor.
|
Remarks
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.