org.ejml.factory
Interface QRPDecomposition<T extends Matrix64F>

All Superinterfaces:
DecompositionInterface<T>, QRDecomposition<T>
All Known Implementing Classes:
QRColPivDecompositionHouseholderColumn

public interface QRPDecomposition<T extends Matrix64F>
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.

WARNING: You should always call setSingularThreshold(double) before DecompositionInterface.decompose(org.ejml.data.Matrix64F).

Author:
Peter Abeles

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

setSingularThreshold

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)

Parameters:
threshold - Singular threshold.

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

getPivots

int[] getPivots()
Ordering of each column after pivoting. The current column i was original at column pivot[i].

Returns:
Order of columns.

getPivotMatrix

DenseMatrix64F getPivotMatrix(DenseMatrix64F P)
Creates the pivot matrix.

Parameters:
P - Optional storage for pivot matrix. If null a new matrix will be created.
Returns:
The pivot matrix.


Copyright © 2012. All Rights Reserved.