MATLAB Functions | Help Desk |
hess
Hessenberg form of a matrix
[P,H] = hess(A) H = hess(A)
H = hess(A)
finds H
, the Hessenberg form of matrix A
.
[P,H] = hess(A)
produces a Hessenberg matrix H
and a unitary matrix P
so that A
=
P
*H
*P'
and P'
*P
= eye(size(A))
.
A Hessenberg matrix is zero below the first subdiagonal. If the matrix is symmetric or Hermitian, the form is tridiagonal. This matrix has the same eigenvalues as the original, but less computation is needed to reveal them.
H
is a 3-by-3 eigenvalue test matrix:
H = -149 -50 -154 537 180 546 -27 -9 -25Its Hessenberg form introduces a single zero in the (3,1) position:
hess(H) = -149.0000 42.2037 -156.3165 -537.6783 152.5511 -554.9272 0 0.0728 2.4489For real matrices,
hess
uses the EISPACK routines ORTRAN
and ORTHES
. ORTHES
converts a real general matrix to Hessenberg form using orthogonal similarity transformations. ORTRAN
accumulates the transformations used by ORTHES
.
When hess
is used with a complex argument, the solution is computed using the QZ algorithm by the EISPACK routines QZHES
. It has been modified for complex problems and to handle the special case B = I.
For detailed write-ups on these algorithms, see the EISPACK Guide.
eig
Eigenvalues and eigenvectors
qz
QZ factorization for generalized eigenvalues
schur
Schur decomposition