Class HessenbergSimilarDecomposition_FDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>

    public class HessenbergSimilarDecomposition_FDRM
    extends java.lang.Object
    implements org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>

    Finds the decomposition of a matrix in the form of:

    A = OHOT

    where A is an m by m matrix, O is an orthogonal matrix, and H is an upper Hessenberg matrix.

    A matrix is upper Hessenberg if aij = 0 for all i > j+1. For example, the following matrix is upper Hessenberg.

    WRITE IT OUT USING A TABLE

    This decomposition is primarily used as a step for computing the eigenvalue decomposition of a matrix. The basic algorithm comes from David S. Watkins, "Fundamentals of MatrixComputations" Second Edition.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean decompose​(org.ejml.data.FMatrixRMaj A)
      Computes the decomposition of the provided matrix.
      float[] getGammas()  
      org.ejml.data.FMatrixRMaj getH​(org.ejml.data.FMatrixRMaj H)
      An upper Hessenberg matrix from the decomposition.
      org.ejml.data.FMatrixRMaj getQ​(org.ejml.data.FMatrixRMaj Q)
      An orthogonal matrix that has the following property: H = QTAQ
      org.ejml.data.FMatrixRMaj getQH()
      The raw QH matrix that is stored internally.
      boolean inputModified()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HessenbergSimilarDecomposition_FDRM

        public HessenbergSimilarDecomposition_FDRM​(int initialSize)
        Creates a decomposition that won't need to allocate new memory if it is passed matrices up to the specified size.
        Parameters:
        initialSize - Expected size of the matrices it will decompose.
      • HessenbergSimilarDecomposition_FDRM

        public HessenbergSimilarDecomposition_FDRM()
    • Method Detail

      • decompose

        public boolean decompose​(org.ejml.data.FMatrixRMaj A)
        Computes the decomposition of the provided matrix. If no errors are detected then true is returned, false otherwise.
        Specified by:
        decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
        Parameters:
        A - The matrix that is being decomposed. Not modified.
        Returns:
        If it detects any errors or not.
      • inputModified

        public boolean inputModified()
        Specified by:
        inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
      • getQH

        public org.ejml.data.FMatrixRMaj getQH()
        The raw QH matrix that is stored internally.
        Returns:
        QH matrix.
      • getH

        public org.ejml.data.FMatrixRMaj getH​(org.ejml.data.FMatrixRMaj H)
        An upper Hessenberg matrix from the decomposition.
        Parameters:
        H - If not null then the results will be stored here. Otherwise a new matrix will be created.
        Returns:
        The extracted H matrix.
      • getQ

        public org.ejml.data.FMatrixRMaj getQ​(org.ejml.data.FMatrixRMaj Q)
        An orthogonal matrix that has the following property: H = QTAQ
        Parameters:
        Q - If not null then the results will be stored here. Otherwise a new matrix will be created.
        Returns:
        The extracted Q matrix.
      • getGammas

        public float[] getGammas()