SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.algebra.linear.matrix.doubles.factorization.eigen.qr

Class Deflation

• java.lang.Object
• com.numericalmethod.suanshu.algebra.linear.matrix.doubles.factorization.eigen.qr.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}$

"Golub and van Loan, Section 7.5.1.", "G. H. Golub, C. F. van Loan, "7.5.2 Deflation," Matrix Computations, 3rd edition."
• Method Summary

All Methods
Modifier and Type Method and Description
int getLowerRight()
Gets the lower right corner of the deflation.
int getUpperLeft()
Gets the upper left corner of the deflation.
• Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• 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