Scilab Function

hess - Hessenberg form

### Calling Sequence

  `H = hess(A)`
  `[U,H] = hess(A)`

### Parameters

- `A` : real or complex square matrix
- `H` : real or complex square matrix
- `U` : orthogonal or unitary square matrix

### Description

produces a unitary matrix `U` and a Hessenberg matrix `H` so that `A = U*H*U'` and `U'*U` = Identity. By itself, `hess(A)` returns `H`.

The Hessenberg form of a matrix is zero below the first subdiagonal. If the matrix is symmetric or Hermitian, the form is tridiagonal.

### REFERENCES

hess function is based on the Lapack routines DGEHRD, DORGHR for real matrices and ZGEHRD, ZORGHR for the complex case.

### Examples

    A=rand(3,3);[U,H]=hess(A);
    and( abs(U*H*U'-A)<1.d-10 )

### See Also

`qr` `contr` `schur`