The ELMHES function reduces a real, nonsymmetric n by n array A to upper Hessenberg form. ELMHES is based on the routine elmhes described in section 11.5 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission.
Note: If you are working with complex inputs, use the LA_ELMHES function instead.
Examples
See the description of the HQR for an example using this function.
Syntax
Result = ELMHES( A [, /COLUMN] [, /DOUBLE] [, /NO_BALANCE] )
Return Value
The result is an upper Hessenberg array with eigenvalues that are identical to those of the original array A. The Hessenberg array is stored in the upper triangle and the first subdiagonal. Elements below the subdiagonal should be ignored but are not automatically set to zero.
Arguments
A
An n by n real, nonsymmetric array.
Keywords
COLUMN
Set this keyword if the input array A is in column-major format (composed of column vectors) rather than in row-major format (composed of row vectors).
DOUBLE
Set this keyword to force the computation to be done in double-precision arithmetic.
NO_BALANCE
Set this keyword to disable balancing. By default, a balancing algorithm is applied to A. Balancing a nonsymmetric array is recommended to reduce the sensitivity of eigenvalues to rounding errors.
Version History
See Also
EIGENVEC, HQR, LA_ELMHES, TRIQL, TRIRED