Class Hessenberg


  • public class Hessenberg
    extends Object
    An upper Hessenberg matrix is a square matrix which has zero entries below the first sub-diagonal. For example, \[ \begin{bmatrix} 1 & 2 & 3 & 4 & \\ 5 & 6 & 7 & 8 & \\ 0 & 9 & 10 & 11 & \\ 0 & 0 & 12 & 13 & \end{bmatrix} \]
    See Also:
    Wikipedia: Hessenberg matrix
    • Constructor Detail

      • Hessenberg

        public Hessenberg​(DeflationCriterion dc)
        Construct a Hessenberg utility class.
        Parameters:
        dc - a deflation criterion
      • Hessenberg

        public Hessenberg()
        Construct a Hessenberg utility class with the default deflation criterion.
    • Method Detail

      • isHessenberg

        public static boolean isHessenberg​(Matrix H,
                                           double epsilon)
        Check if H is upper Hessenberg. An upper Hessenberg matrix has zero entries below the first sub-diagonal.
        Parameters:
        H - a matrix
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
        Returns:
        true if H is upper Hessenberg
      • isReducible

        public boolean isReducible​(Matrix H,
                                   double epsilon)
        Check if H is upper Hessenberg and is reducible. Note that matrix |0| is unreducible.
        Parameters:
        H - a matrix
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
        Returns:
        true if H is upper Hessenberg and is reducible
      • reduce

        @Deprecated
        public List<Matrix> reduce​(Matrix H)
        Deprecated.
        Not supported yet.
        This looks for 0s in the sub-diagonal of a Hessenberg matrix, H, and reduces (splits) it into a number of non-reducible Hessenberg matrices. For example, we reduce \[ \begin{matrix} 1 & 2 & 3 & 4 & 5 & 6\\ 7 & 8 & 9 & 10 & 11 & 12\\ 0 & 14 & 15 & 16 & 17 & 18 \\ 0 & 0 & 0 & 22 & 23 & 24 \\ 0 & 0 & 0 & 28 & 29 & 30 \\ 0 & 0 & 0 & 0 & 35 & 36 \end{matrix} \] into \[ \begin{matrix} 1 & 2 & 3 \\ 7 & 8 & 9 \\ 0 & 14 & 15 \\ \end{matrix} \] and \[ \begin{matrix} 22 & 23 & 24 \\ 28 & 29 & 30 \\ 0 & 35 & 36 \\ \end{matrix} \] Not yet implemented.
        Parameters:
        H - a matrix
        Returns:
        a list of non-reducible Hessenberg matrices