[P,H] = hess(A)
H = hess(A)
hess
finds the Hessenberg form of a matrix. A Hessenberg matrix is zero below the first subdiagonal. If the matrix is symmetric or Hermitian, the form is tridiagonal.
[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))
.
hess(A)
returns H
.
gallery(3)
is a 3-by-3 eigenvalue test matrix:
Its Hessenberg form introduces a single zero in the (3,1) position:-149 -50 -154
537 180 546
-27 -9 -25
This matrix has the same eigenvalues as the original, but more computation is needed to reveal them.hess(gallery(3)) =
-149.0000 42.2037 -156.3165
-537.6783 152.5511 -554.9272
0 0.0728 2.4489
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
,qz
,schur
[2] B. S. Garbow, J. M. Boyle, J. J. Dongarra, and C. B. Moler, Matrix Eigensystem Routines - EISPACK Guide Extension, Lecture Notes in Computer Science, volume 51, Springer-Verlag, 1977.
[3] C.B. Moler and G. W. Stewart, "An Algorithm for Generalized Matrix Eigenvalue Problems," SIAM J. Numer. Anal., Vol. 10, No. 2, April 1973.
(c) Copyright 1994 by The MathWorks, Inc.