Class SymmetricQRAlgorithmDecomposition_FDRM
java.lang.Object
org.ejml.dense.row.decomposition.eig.SymmetricQRAlgorithmDecomposition_FDRM
- All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>,org.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>,org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>
@Generated("org.ejml.dense.row.decomposition.eig.SymmetricQRAlgorithmDecomposition_DDRM")
public class SymmetricQRAlgorithmDecomposition_FDRM
extends 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 Summary
ConstructorsConstructorDescriptionSymmetricQRAlgorithmDecomposition_FDRM(boolean computeVectors) SymmetricQRAlgorithmDecomposition_FDRM(org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj> decomp, boolean computeVectors) -
Method Summary
Modifier and TypeMethodDescriptionbooleandecompose(org.ejml.data.FMatrixRMaj orig) Decomposes the matrix using the QR algorithm.org.ejml.data.Complex_F32getEigenvalue(int index) org.ejml.data.FMatrixRMajgetEigenVector(int index) intbooleanvoidsetComputeVectorsWithValues(boolean computeVectorsWithValues) voidsetMaxIterations(int max) Used to limit the number of internal QR iterations that the QR algorithm performs.
-
Constructor Details
-
SymmetricQRAlgorithmDecomposition_FDRM
public SymmetricQRAlgorithmDecomposition_FDRM(org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRMaj> decomp, boolean computeVectors) -
SymmetricQRAlgorithmDecomposition_FDRM
public SymmetricQRAlgorithmDecomposition_FDRM(boolean computeVectors)
-
-
Method Details
-
setComputeVectorsWithValues
public void setComputeVectorsWithValues(boolean computeVectorsWithValues) -
setMaxIterations
public void setMaxIterations(int max) Used to limit the number of internal QR iterations that the QR algorithm performs. 20 should be enough for most applications.- Parameters:
max- The maximum number of QR iterations it will perform.
-
getNumberOfEigenvalues
public int getNumberOfEigenvalues()- Specified by:
getNumberOfEigenvaluesin interfaceorg.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>
-
getEigenvalue
public org.ejml.data.Complex_F32 getEigenvalue(int index) - Specified by:
getEigenvaluein interfaceorg.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>
-
getEigenVector
public org.ejml.data.FMatrixRMaj getEigenVector(int index) - Specified by:
getEigenVectorin interfaceorg.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>
-
decompose
public boolean decompose(org.ejml.data.FMatrixRMaj orig) Decomposes the matrix using the QR algorithm. Care was taken to minimize unnecessary memory copying and cache skipping.- Specified by:
decomposein interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>- Parameters:
orig- The matrix which is being decomposed. Not modified.- Returns:
- true if it decomposed the matrix or false if an error was detected. This will not catch all errors.
-
inputModified
public boolean inputModified()- Specified by:
inputModifiedin interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
-