Class HessenbergSimilarDecomposition_ZDRM

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

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

    Complex Hessenberg decomposition. It find matrices O and P such that:

    A = OPOH

    where A is an m by m matrix, O is an orthogonal matrix, and P 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.ZMatrixRMaj A)
      Computes the decomposition of the provided matrix.
      double[] getGammas()  
      org.ejml.data.ZMatrixRMaj getH​(org.ejml.data.ZMatrixRMaj H)
      An upper Hessenberg matrix from the decomposition.
      org.ejml.data.ZMatrixRMaj getQ​(org.ejml.data.ZMatrixRMaj Q)
      An orthogonal matrix that has the following property: H = QTAQ
      org.ejml.data.ZMatrixRMaj 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_ZDRM

        public HessenbergSimilarDecomposition_ZDRM​(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_ZDRM

        public HessenbergSimilarDecomposition_ZDRM()
    • Method Detail

      • decompose

        public boolean decompose​(org.ejml.data.ZMatrixRMaj 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.ZMatrixRMaj>
        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.ZMatrixRMaj>
      • getQH

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

        public org.ejml.data.ZMatrixRMaj getH​(org.ejml.data.ZMatrixRMaj 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.ZMatrixRMaj getQ​(org.ejml.data.ZMatrixRMaj 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 double[] getGammas()