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

See Also:
  • 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:
      getNumberOfEigenvalues in interface org.ejml.interfaces.decomposition.EigenDecomposition<org.ejml.data.FMatrixRMaj>
    • getEigenvalue

      public org.ejml.data.Complex_F32 getEigenvalue(int index)
      Specified by:
      getEigenvalue in interface org.ejml.interfaces.decomposition.EigenDecomposition_F32<org.ejml.data.FMatrixRMaj>
    • getEigenVector

      public org.ejml.data.FMatrixRMaj getEigenVector(int index)
      Specified by:
      getEigenVector in interface org.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:
      decompose in interface org.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:
      inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>