public class SymmetricQRAlgorithmDecomposition_FDRM
extends java.lang.Object
implements org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>
Computes the eigenvalues and eigenvectors of a real symmetric matrix using the symmetric implicit QR algorithm. Inside each iteration a QR decomposition of Ai-piI is implicitly computed.
This implementation is based on the algorithm is sketched out in:
David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. page 377-385
Constructor and Description |
---|
SymmetricQRAlgorithmDecomposition_FDRM(boolean computeVectors) |
SymmetricQRAlgorithmDecomposition_FDRM(org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj> decomp,
boolean computeVectors) |
Modifier and Type | Method and Description |
---|---|
boolean |
decompose(org.ejml.data.FMatrixRMaj orig)
Decomposes the matrix using the QR algorithm.
|
org.ejml.data.Complex_F32 |
getEigenvalue(int index) |
org.ejml.data.FMatrixRMaj |
getEigenVector(int index) |
int |
getNumberOfEigenvalues() |
boolean |
inputModified() |
void |
setComputeVectorsWithValues(boolean computeVectorsWithValues) |
void |
setMaxIterations(int max)
Used to limit the number of internal QR iterations that the QR algorithm performs.
|
public SymmetricQRAlgorithmDecomposition_FDRM(org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj> decomp, boolean computeVectors)
public SymmetricQRAlgorithmDecomposition_FDRM(boolean computeVectors)
public void setComputeVectorsWithValues(boolean computeVectorsWithValues)
public void setMaxIterations(int max)
max
- The maximum number of QR iterations it will perform.public int getNumberOfEigenvalues()
getNumberOfEigenvalues
in interface org.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>
public org.ejml.data.Complex_F32 getEigenvalue(int index)
getEigenvalue
in interface org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>
public org.ejml.data.FMatrixRMaj getEigenVector(int index)
getEigenVector
in interface org.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>
public boolean decompose(org.ejml.data.FMatrixRMaj orig)
decompose
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
orig
- The matrix which is being decomposed. Not modified.public boolean inputModified()
inputModified
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>