| MATLAB Function Reference | Search  Help Desk | 
| hess | Examples See Also | 
[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    -25
Its 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.4489
For 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