C# Class Accord.Math.Decompositions.LuDecomposition

LU decomposition of a rectangular matrix.

For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv) = L*U. If m < n, then L is m-by-m and U is m-by-n.

The LU decomposition with pivoting always exists, even if the matrix is singular, so the constructor will never fail. The primary use of the LU decomposition is in the solution of square systems of simultaneous linear equations. This will fail if Nonsingular returns .

Inheritance: ISolverDecomposition, ICloneable
Show file Open project: atosorigin/Kinect Class Usage Examples

Public Methods

Method Description
Inverse ( ) : ].double[

Solves a set of equation systems of type A * X = I.

LuDecomposition ( double value ) : System

Construct a new LU decomposition.

LuDecomposition ( double value, bool transpose ) : System

Construct a LU decomposition.

LuDecomposition ( double value, bool transpose, bool inPlace ) : System

Construct a LU decomposition.

Solve ( double value ) : ].double[

Solves a set of equation systems of type A * X = B.

Solve ( double value ) : double[]

Solves a set of equation systems of type A * X = B.

SolveTranspose ( double value ) : ].double[

Solves a set of equation systems of type X * A = B.

Method Details

Inverse() public method

Solves a set of equation systems of type A * X = I.
public Inverse ( ) : ].double[
return ].double[

LuDecomposition() public method

Construct a new LU decomposition.
public LuDecomposition ( double value ) : System
value double The matrix A to be decomposed.
return System

LuDecomposition() public method

Construct a LU decomposition.
public LuDecomposition ( double value, bool transpose ) : System
value double The matrix A to be decomposed.
transpose bool True if the decomposition should be performed on /// the transpose of A rather than A itself, false otherwise. Default is false.
return System

LuDecomposition() public method

Construct a LU decomposition.
public LuDecomposition ( double value, bool transpose, bool inPlace ) : System
value double The matrix A to be decomposed.
transpose bool True if the decomposition should be performed on /// the transpose of A rather than A itself, false otherwise. Default is false.
inPlace bool True if the decomposition should be performed over the /// matrix rather than on a copy of it. If true, the /// matrix will be destroyed during the decomposition. Default is false.
return System

Solve() public method

Solves a set of equation systems of type A * X = B.
public Solve ( double value ) : ].double[
value double Right hand side matrix with as many rows as A and any number of columns.
return ].double[

Solve() public method

Solves a set of equation systems of type A * X = B.
public Solve ( double value ) : double[]
value double Right hand side matrix with as many rows as A and any number of columns.
return double[]

SolveTranspose() public method

Solves a set of equation systems of type X * A = B.
public SolveTranspose ( double value ) : ].double[
value double Right hand side matrix with as many columns as A and any number of rows.
return ].double[