IGLib
1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
|
LU decomposition. More...
Public Member Functions | |
LUDecompositionOld (MatrixWithMathNet A) | |
Constructor. More... | |
MatrixWithMathNet | Solve (MatrixWithMathNet B) |
Solve A*X = B. More... | |
Vector | Solve (Vector b) |
Solves A*x=s. More... | |
Properties | |
bool | IsNonSingular [get] |
Indicates whether the matrix is nonsingular. More... | |
Matrix | L [get] |
Returns the lower triangular factor. More... | |
Matrix | U [get] |
Returns the upper triangular factor. More... | |
int[] | Pivot [get] |
Returns the integer pivot permutation vector. More... | |
Vector | PivotVector [get] |
Returns pivot permutation vector. More... | |
Matrix | PermutationMatrix [get] |
Returns the permutation matrix P, such that L*U = P*X. More... | |
double | Determinant [get] |
Returns the determinant. More... | |
Private Attributes | |
int | _columnCount = 0 |
LU decomposition.
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 pivot 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 IsNonSingular() returns false.
|
inline |
Constructor.
A | Matrix to be decomposed. |
References IG.Num.Matrix.ColumnCount, IG.Old.MatrixWithMathNet.CopyMathNet, and IG.Num.Matrix.RowCount.
|
inline |
Solve A*X = B.
B | A Matrix with as many rows as A and any number of columns (right-hand sides). |
System.ArgumentException | Matrix row dimensions must agree. |
System.SystemException | Matrix is singular. |
References IG.Old.MatrixWithMathNet.CopyMathNet.
Solves A*x=s.
s | Right-hand side vector with as many elements as A has rows. |
References IG.Num.Vector.Length, and IG.Num.Matrix.RowCount.
|
private |
|
get |
Indicates whether the matrix is nonsingular.
true
if U, and hence A, is nonsingular.
|
get |
Returns the lower triangular factor.
|
get |
Returns the upper triangular factor.
|
get |
Returns the integer pivot permutation vector.
|
get |
Returns pivot permutation vector.
|
get |
Returns the permutation matrix P, such that L*U = P*X.
|
get |
Returns the determinant.
System.ArgumentException | Matrix must be square |