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


5.6

Introduced

Resources and References


For details see Anderson et al., LAPACK Users' Guide, 3rd ed., SIAM, 1999.

See Also


HQR, LA_EIGENVEC, LA_ELMHES