ELMHES
 
The 
 
ELMHES 
 
function reduces a real, nonsymmetric 
n
 by 
n
 array 
A
 to upper Hessenberg form. 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 elements (
j, i
) with 
i
 
<=
 
j
 + 1. Elements with 
i
 > 
j
 + 1 are to be thought of as zero, but are returned with random values.
 
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.
 
Calling Sequence
 
Result = ELMHES(
A
)
 
 
Arguments
 
A
 
An 
n
 by 
n
 real, nonsymmetric array.
 
 
 
Keywords
 
 
DOUBLE
 
Set this keyword to force the computation to be done in double-precision arithmetic.
 
 
 
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).
 
 
 
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.
 
 
 
Example
 
See the description of HQR for an example using this function.