Hessenberg matrix

From HandWiki
Short description: Kind of square matrix in linear algebra

In linear algebra, a Hessenberg matrix is a special kind of square matrix, one that is "almost" triangular. To be exact, an upper Hessenberg matrix has zero entries below the first subdiagonal, and a lower Hessenberg matrix has zero entries above the first superdiagonal.[1] They are named after Karl Hessenberg.[2]

A Hessenberg decomposition is a matrix decomposition of a matrix [math]\displaystyle{ A }[/math] into a unitary matrix [math]\displaystyle{ P }[/math] and a Hessenberg matrix [math]\displaystyle{ H }[/math] such that [math]\displaystyle{ PHP^*=A }[/math] where [math]\displaystyle{ P^* }[/math] denotes the conjugate transpose.

Definitions

Upper Hessenberg matrix

A square [math]\displaystyle{ n \times n }[/math] matrix [math]\displaystyle{ A }[/math] is said to be in upper Hessenberg form or to be an upper Hessenberg matrix if [math]\displaystyle{ a_{i,j}=0 }[/math] for all [math]\displaystyle{ i,j }[/math] with [math]\displaystyle{ i \gt j+1 }[/math].

An upper Hessenberg matrix is called unreduced if all subdiagonal entries are nonzero, i.e. if [math]\displaystyle{ a_{i+1,i} \neq 0 }[/math] for all [math]\displaystyle{ i \in \{ 1,\ldots,n-1 \} }[/math].[3]

Lower Hessenberg matrix

A square [math]\displaystyle{ n \times n }[/math] matrix [math]\displaystyle{ A }[/math] is said to be in lower Hessenberg form or to be a lower Hessenberg matrix if its transpose [math]\displaystyle{ }[/math] is an upper Hessenberg matrix or equivalently if [math]\displaystyle{ a_{i,j}=0 }[/math] for all [math]\displaystyle{ i,j }[/math] with [math]\displaystyle{ j \gt i+1 }[/math].

A lower Hessenberg matrix is called unreduced if all superdiagonal entries are nonzero, i.e. if [math]\displaystyle{ a_{i,i+1} \neq 0 }[/math] for all [math]\displaystyle{ i \in \{ 1,\ldots,n-1 \} }[/math].

Examples

Consider the following matrices. [math]\displaystyle{ A=\begin{bmatrix} 1 & 4 & 2 & 3 \\ 3 & 4 & 1 & 7 \\ 0 & 2 & 3 & 4 \\ 0 & 0 & 1 & 3 \\ \end{bmatrix} }[/math] [math]\displaystyle{ B=\begin{bmatrix} 1 & 2 & 0 & 0 \\ 5 & 2 & 3 & 0 \\ 3 & 4 & 3 & 7 \\ 5 & 6 & 1 & 1 \\ \end{bmatrix} }[/math] [math]\displaystyle{ C=\begin{bmatrix} 1 & 2 & 0 & 0 \\ 5 & 2 & 0 & 0 \\ 3 & 4 & 3 & 7 \\ 5 & 6 & 1 & 1 \\ \end{bmatrix} }[/math]

The matrix [math]\displaystyle{ A }[/math] is an upper unreduced Hessenberg matrix, [math]\displaystyle{ B }[/math] is a lower unreduced Hessenberg matrix and [math]\displaystyle{ C }[/math] is a lower Hessenberg matrix but is not unreduced.

Computer programming

Many linear algebra algorithms require significantly less computational effort when applied to triangular matrices, and this improvement often carries over to Hessenberg matrices as well. If the constraints of a linear algebra problem do not allow a general matrix to be conveniently reduced to a triangular one, reduction to Hessenberg form is often the next best thing. In fact, reduction of any matrix to a Hessenberg form can be achieved in a finite number of steps (for example, through Householder's transformation of unitary similarity transforms). Subsequent reduction of Hessenberg matrix to a triangular matrix can be achieved through iterative procedures, such as shifted QR-factorization. In eigenvalue algorithms, the Hessenberg matrix can be further reduced to a triangular matrix through Shifted QR-factorization combined with deflation steps. Reducing a general matrix to a Hessenberg matrix and then reducing further to a triangular matrix, instead of directly reducing a general matrix to a triangular matrix, often economizes the arithmetic involved in the QR algorithm for eigenvalue problems.

Reduction to Hessenberg matrix

Householder transformations

Any [math]\displaystyle{ n \times n }[/math] matrix can be transformed into a Hessenberg matrix by a similarity transformation using Householder transformations. The following procedure for such a transformation is adapted from A Second Course In Linear Algebra by Garcia & Roger.[4]

Let [math]\displaystyle{ A }[/math] be any real or complex [math]\displaystyle{ n \times n }[/math] matrix, then let [math]\displaystyle{ A^\prime }[/math] be the [math]\displaystyle{ (n - 1) \times n }[/math] submatrix of [math]\displaystyle{ A }[/math] constructed by removing the first row in [math]\displaystyle{ A }[/math] and let [math]\displaystyle{ \mathbf{a}^\prime_1 }[/math] be the first column of [math]\displaystyle{ A' }[/math]. Construct the [math]\displaystyle{ (n-1) \times (n-1) }[/math] householder matrix [math]\displaystyle{ V_1 = I_{(n-1)} - 2\frac{ww^*}{\|w\|^2} }[/math] where [math]\displaystyle{ w = \begin{cases} \|\mathbf{a}^\prime_1\|_2\mathbf{e}_1 - \mathbf{a}^\prime_1 \;\;\;\;\;\;\;\; , \;\;\; a^\prime_{11} = 0 \\ \|\mathbf{a}^\prime_1\|_2\mathbf{e}_1 + \frac{\overline{a^\prime_{11}}}{|a^\prime_{11}|}\mathbf{a}^\prime_1 \;\;\; , \;\;\; a^\prime_{11} \neq 0 \\ \end{cases} }[/math]

This householder matrix will map [math]\displaystyle{ \mathbf{a}^\prime_1 }[/math] to [math]\displaystyle{ \|\mathbf{a}^\prime_1\| \mathbf{e}_1 }[/math] and as such, the block matrix [math]\displaystyle{ U_1 = \begin{bmatrix}1 & \mathbf{0} \\ \mathbf{0} & V_1 \end{bmatrix} }[/math] will map the matrix [math]\displaystyle{ A }[/math] to the matrix [math]\displaystyle{ U_1A }[/math] which has only zeros below the second entry of the first column. Now construct [math]\displaystyle{ (n-2) \times (n-2) }[/math] householder matrix [math]\displaystyle{ V_2 }[/math] in a similar manner as [math]\displaystyle{ V_1 }[/math] such that [math]\displaystyle{ V_2 }[/math] maps the first column of [math]\displaystyle{ A^{\prime\prime} }[/math] to [math]\displaystyle{ \|\mathbf{a}^{\prime\prime}_1\| \mathbf{e}_1 }[/math], where [math]\displaystyle{ A^{\prime\prime} }[/math] is the submatrix of [math]\displaystyle{ A^{\prime} }[/math] constructed by removing the first row and the first column of [math]\displaystyle{ A^{\prime} }[/math], then let [math]\displaystyle{ U_2 = \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & V_2\end{bmatrix} }[/math] which maps [math]\displaystyle{ U_1A }[/math] to the matrix [math]\displaystyle{ U_2U_1A }[/math] which has only zeros below the first and second entry of the subdiagonal. Now construct [math]\displaystyle{ V_3 }[/math] and then [math]\displaystyle{ U_3 }[/math] in a similar manner, but for the matrix [math]\displaystyle{ A^{\prime\prime\prime} }[/math] constructed by removing the first row and first column of [math]\displaystyle{ A^{\prime\prime} }[/math] and proceed as in the previous steps. Continue like this for a total of [math]\displaystyle{ n-2 }[/math] steps.

By construction of [math]\displaystyle{ U_k }[/math], the first [math]\displaystyle{ k }[/math] columns of any [math]\displaystyle{ n \times n }[/math] matrix are invariant under multiplication by [math]\displaystyle{ U_k^* }[/math] from the right. Hence, any matrix can be transformed to an upper Hessenberg matrix by a similarity transformation of the form [math]\displaystyle{ U_{(n-2)}( \dots (U_2(U_1 A U_1^*)U_2^*) \dots )U_{(n-2)}^* = U_{(n-2)} \dots U_2U_1A(U_{(n-2)} \dots U_2U_1)^* = UAU^* }[/math].

Jacobi (Givens) rotations

A Jacobi rotation (also called Givens rotation) is an orthogonal matrix transformation in the form

[math]\displaystyle{ A\to A'=J(p,q,\theta)^TAJ(p,q,\theta) \;, }[/math]

where [math]\displaystyle{ J(p,q,\theta) }[/math], [math]\displaystyle{ p\lt q }[/math], is the Jacobi rotation matrix with all matrix elements equal zero except for

[math]\displaystyle{ \left\{\begin{align} J(p,q,\theta)_{ii} &{}= 1 \; \forall i \ne p,q\\ J(p,q,\theta)_{pp} &{}= \cos(\theta) \\ J(p,q,\theta)_{qq} &{}= \cos(\theta) \\ J(p,q,\theta)_{pq} &{}= \sin(\theta) \\ J(p,q,\theta)_{qp} &{}= -\sin(\theta) \;. \end{align}\right. }[/math]

One can zero the matrix element [math]\displaystyle{ A'_{p-1,q} }[/math] by choosing the rotation angle [math]\displaystyle{ \theta }[/math] to satisfy the equation

[math]\displaystyle{ A_{p-1,p}\sin\theta+A_{p-1,q}\cos\theta=0 \;, }[/math]

Now, the sequence of such Jacobi rotations with the following [math]\displaystyle{ (p,q) }[/math]

[math]\displaystyle{ (p,q)=(2,3),(2,4),\dots,(2,n),(3,4),\dots,(3,n),\dots,(n-1,n) }[/math]

reduces the matrix [math]\displaystyle{ A }[/math] to the lower Hessenberg form.[5]

Properties

For [math]\displaystyle{ n \in \{1, 2\} }[/math], it is vacuously true that every [math]\displaystyle{ n \times n }[/math] matrix is both upper Hessenberg, and lower Hessenberg.[6]

The product of a Hessenberg matrix with a triangular matrix is again Hessenberg. More precisely, if [math]\displaystyle{ A }[/math] is upper Hessenberg and [math]\displaystyle{ T }[/math] is upper triangular, then [math]\displaystyle{ AT }[/math] and [math]\displaystyle{ TA }[/math] are upper Hessenberg.

A matrix that is both upper Hessenberg and lower Hessenberg is a tridiagonal matrix, of which the Jacobi matrix is an important example. This includes the symmetric or Hermitian Hessenberg matrices. A Hermitian matrix can be reduced to tri-diagonal real symmetric matrices.[7]

Hessenberg operator

The Hessenberg operator is an infinite dimensional Hessenberg matrix. It commonly occurs as the generalization of the Jacobi operator to a system of orthogonal polynomials for the space of square-integrable holomorphic functions over some domain—that is, a Bergman space. In this case, the Hessenberg operator is the right-shift operator [math]\displaystyle{ S }[/math], given by [math]\displaystyle{ [Sf](z) = z f(z). }[/math]

The eigenvalues of each principal submatrix of the Hessenberg operator are given by the characteristic polynomial for that submatrix. These polynomials are called the Bergman polynomials, and provide an orthogonal polynomial basis for Bergman space.

See also

Notes

  1. (Horn Johnson), page 28; (Stoer Bulirsch), page 251
  2. Biswa Nath Datta (2010) Numerical Linear Algebra and Applications, 2nd Ed., Society for Industrial and Applied Mathematics (SIAM) ISBN:978-0-89871-685-6, p. 307
  3. Horn & Johnson 1985, p. 35
  4. Ramon Garcia, Stephan; Horn, Roger (2017). A Second Course In Linear Algebra. ISBN 9781107103818. 
  5. https://arxiv.org/abs/1501.07812
  6. Lecture Notes. Notes for 2016-10-21 Cornell University
  7. "Computational Routines (eigenvalues) in LAPACK". http://sites.science.oregonstate.edu/~landaur/nacphy/lapack/eigen.html. 

References

External links