Interface QRPDecomposition<T extends Matrix>
- All Superinterfaces:
DecompositionInterface<T>
,QRDecomposition<T>
- All Known Subinterfaces:
QRPDecomposition_F32<T>
,QRPDecomposition_F64<T>
- All Known Implementing Classes:
QRColPivDecompositionHouseholderColumn_DDRM
,QRColPivDecompositionHouseholderColumn_FDRM
Similar to QRDecomposition
but it can handle the rank deficient case by
performing column pivots during the decomposition. The final decomposition has the
following structure:
A*P=Q*R
where A is the original matrix, P is a pivot matrix, Q is an orthogonal matrix, and R is
upper triangular.
-
Method Summary
Modifier and TypeMethodDescriptionCreates the column pivot matrix.int[]
Ordering of each column after pivoting.int
getRank()
Returns the rank as determined by the algorithm.Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface
decompose, inputModified
Methods inherited from interface org.ejml.interfaces.decomposition.QRDecomposition
getQ, getR
-
Method Details
-
getRank
int getRank()Returns the rank as determined by the algorithm. This is dependent upon a fixed threshold and might not be appropriate for some applications.- Returns:
- Matrix's rank
-
getColPivots
int[] getColPivots()Ordering of each column after pivoting. The current column i was original at column pivot[i].- Returns:
- Order of columns.
-
getColPivotMatrix
Creates the column pivot matrix.- Parameters:
P
- Optional storage for pivot matrix. If null a new matrix will be created.- Returns:
- The pivot matrix.
-