The LA_HQR function uses the multishift QR algorithm to compute all eigenvalues of an n-by-n upper Hessenberg array. The LA_ELMHES routine can be used to reduce a real or complex array to upper Hessenberg form suitable for input to this procedure. LA_HQR may also be used to compute the matrices T and QZ from the Schur decomposition A = (QZ) T (QZ)H.
LA_HQR is based on the following LAPACK routines:
Output Type |
LAPACK Routine |
Float |
shseqr |
Double |
dhseqr |
Complex |
chseqr |
Double complex |
zhseqr |
Examples
See LA_EIGENVEC for an example of using this procedure.
Syntax
Result = LA_HQR(H [, Q] [, /DOUBLE] [, PERMUTE_RESULT=[ilo, ihi]] [, STATUS=variable] )
Return Value
The result is an n-element complex vector.
Arguments
H
An n-by-n upper Hessenberg array, created by the LA_ELMHES procedure. If argument Q is present, then on return H is replaced by the Schur form T. If argument Q is not present then H is unchanged.
Q
Set this optional argument to the array Q created by the LA_ELMHES procedure. If argument Q is present, then on return Q is replaced by the Schur vectors QZ.
Keywords
DOUBLE
Set this keyword to use double-precision for computations and to return a double-precision (real or complex) result. Set DOUBLE = 0 to use single-precision for computations and to return a single-precision (real or complex) result. The default is /DOUBLE if H is double precision, otherwise the default is DOUBLE = 0.
PERMUTE_RESULT
Set this keyword to a two-element vector containing the [ilo, ihi] permutation results from the LA_ELMHES procedure. The default is [1, n], indicating that permute balancing was not done on H.
STATUS
Set this keyword to a named variable that will contain the status of the computation. Possible values are:
- STATUS = 0: The computation was successful.
- STATUS > 0: The algorithm failed to find all eigenvalues in 30*(ihi - ilo + 1) iterations. The STATUS value indicates that eigenvalues ilo:STATUS (starting at index 1) did not converge; all other eigenvalues converged.
Note: If STATUS is not specified, any error messages will output to the screen.
Version History
Resources and References
For details see Anderson et al., LAPACK Users' Guide, 3rd ed., SIAM, 1999.
See Also
HQR, LA_EIGENVEC, LA_ELMHES