Package org.apache.commons.math.linear
Class FieldLUDecompositionImpl<T extends FieldElement<T>>
java.lang.Object
org.apache.commons.math.linear.FieldLUDecompositionImpl<T>
- Type Parameters:
T
- the type of the field elements
- All Implemented Interfaces:
FieldLUDecomposition<T>
public class FieldLUDecompositionImpl<T extends FieldElement<T>>
extends Object
implements FieldLUDecomposition<T>
Calculates the LUP-decomposition of a square matrix.
The LUP-decomposition of a matrix A consists of three matrices L, U and P that satisfy: PA = LU, L is lower triangular, and U is upper triangular and P is a permutation matrix. All matrices are m×m.
Since field elements
do not provide an ordering
operator, the permutation matrix is computed here only in order to avoid
a zero pivot element, no attempt is done to get the largest pivot element.
- Since:
- 2.0
- Version:
- $Revision: 983921 $ $Date: 2010-08-10 12:46:06 +0200 (mar. 10 août 2010) $
-
Constructor Summary
ConstructorsConstructorDescriptionFieldLUDecompositionImpl
(FieldMatrix<T> matrix) Calculates the LU-decomposition of the given matrix. -
Method Summary
Modifier and TypeMethodDescriptionReturn the determinant of the matrixgetL()
Returns the matrix L of the decomposition.getP()
Returns the P rows permutation matrix.int[]
getPivot()
Returns the pivot permutation vector.Get a solver for finding the A × X = B solution in exact linear sense.getU()
Returns the matrix U of the decomposition.
-
Constructor Details
-
FieldLUDecompositionImpl
Calculates the LU-decomposition of the given matrix.- Parameters:
matrix
- The matrix to decompose.- Throws:
NonSquareMatrixException
- if matrix is not square
-
-
Method Details
-
getL
Returns the matrix L of the decomposition.L is an lower-triangular matrix
- Specified by:
getL
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- the L matrix (or null if decomposed matrix is singular)
-
getU
Returns the matrix U of the decomposition.U is an upper-triangular matrix
- Specified by:
getU
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- the U matrix (or null if decomposed matrix is singular)
-
getP
Returns the P rows permutation matrix.P is a sparse matrix with exactly one element set to 1.0 in each row and each column, all other elements being set to 0.0.
The positions of the 1 elements are given by the
pivot permutation vector
.- Specified by:
getP
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- the P rows permutation matrix (or null if decomposed matrix is singular)
- See Also:
-
getPivot
public int[] getPivot()Returns the pivot permutation vector.- Specified by:
getPivot
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- the pivot permutation vector
- See Also:
-
getDeterminant
Return the determinant of the matrix- Specified by:
getDeterminant
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- determinant of the matrix
-
getSolver
Get a solver for finding the A × X = B solution in exact linear sense.- Specified by:
getSolver
in interfaceFieldLUDecomposition<T extends FieldElement<T>>
- Returns:
- a solver
-