public interface QRPDecomposition<T extends Matrix> extends QRDecomposition<T>
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.
| Modifier and Type | Method and Description |
|---|---|
DenseMatrix64F |
getPivotMatrix(DenseMatrix64F P)
Creates the pivot matrix.
|
int[] |
getPivots()
Ordering of each column after pivoting.
|
int |
getRank()
Returns the rank as determined by the algorithm.
|
void |
setSingularThreshold(double threshold)
Specifies the threshold used to flag a column as being singular.
|
getQ, getRdecompose, inputModifiedvoid setSingularThreshold(double threshold)
Specifies the threshold used to flag a column as being singular. The specified threshold is relative and will very depending on the system. The default value is UtilEJML.EPS.
threshold - Singular threshold.int getRank()
int[] getPivots()
DenseMatrix64F getPivotMatrix(DenseMatrix64F P)
P - Optional storage for pivot matrix. If null a new matrix will be created.