Class Deflation


  • public class Deflation
    extends Object
    A deflation found in a Hessenberg (or tridiagonal in symmetric case) matrix. Given a Hessenberg matrix, \[ \begin{bmatrix} H_{11} & H_{12} & H_{13}\\ 0 & H_{22} & H_{23}\\ 0 & 0 & H_{33} \end{bmatrix} \]
    • \(u_l\) is the upper left hand corner index of H22;
    • \(l_r\) is the lower right hand corner index of H22

    Deflation of an upper Hessenberg matrix splits it into multiple smaller upper Hessenberg matrices when the sub-diagonal entries are sufficiently small. For example, suppose \[ H = \begin{bmatrix} 1 & 2 & 3 & 4 & \\ 5 & 6 & 7 & 8 & \\ 0 & 9 & 10 & 11 & \\ 0 & 0 & 12 & 13 & \end{bmatrix} \] We can split H into H1 and H2, so that \[ H_1 = \begin{bmatrix} 1 & 2 \\ 5 & 6 \\ \end{bmatrix} \] \[ H_2 = \begin{bmatrix} 10 & 11 \\ 12 & 13 \\ \end{bmatrix} \]

    See Also:
    "Golub and van Loan, Section 7.5.1."
    • Method Detail

      • getUpperLeft

        public int getUpperLeft()
        Gets the upper left corner of the deflation.
        Returns:
        the index of the upper left corner
      • getLowerRight

        public int getLowerRight()
        Gets the lower right corner of the deflation.
        Returns:
        the index of the lower right corner