|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface QRPDecomposition<T extends Matrix64F>
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.
WARNING: You should always call setSingularThreshold(double) before DecompositionInterface.decompose(org.ejml.data.Matrix64F).
| Method Summary | |
|---|---|
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. |
| Methods inherited from interface org.ejml.factory.QRDecomposition |
|---|
getQ, getR |
| Methods inherited from interface org.ejml.factory.DecompositionInterface |
|---|
decompose, inputModified |
| Method Detail |
|---|
void setSingularThreshold(double threshold)
Specifies the threshold used to flag a column as being singular. The optimal threshold (if one exists)
varies by the matrix being processed. A reasonable value would be the maximum absolute value of the
matrix's elements multiplied by EPS:
decomposition.setSingularThreshold(CommonOps.elementMaxAbs(A)*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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||