## Developer Reference

• 2020.2
• 07/15/2020
• Public Content
Contents

# ?laqr4

Computes the eigenvalues of a Hessenberg matrix, and optionally the matrices from the Schur decomposition.

## Syntax

Include Files
• mkl.fi
Description
The routine computes the eigenvalues of a Hessenberg matrix
H
, and, optionally, the matrices
T
and
Z
from the Schur decomposition
H
=
Z
*
T
*
Z
H
, where
T
is an upper quasi-triangular/triangular matrix (the Schur form), and
Z
is the orthogonal/unitary matrix of Schur vectors.
Optionally
Z
may be postmultiplied into an input orthogonal/unitary matrix
Q
so that this routine can give the Schur factorization of a matrix
A
which has been reduced to the Hessenberg form
H
by the orthogonal/unitary matrix
Q
:
A
=
Q
*
H
*
Q
H
= (
QZ
)*
H
*(
QZ
)
H
.
This routine implements one level of recursion for
?laqr0
. It is a complete implementation of the small bulge multi-shift QR algorithm. It may be called by
?laqr0
and, for large enough deflation window size, it may be called by
?laqr3
. This routine is identical to
?laqr0
except that it calls
?laqr2
?laqr3
.
Input Parameters
wantt
LOGICAL
.
If
wantt
=
.TRUE.
, the full Schur form
T
is required;
If
wantt
=
.FALSE.
, only eigenvalues are required.
wantz
LOGICAL
.
If
wantz
=
.TRUE.
, the matrix of Schur vectors
Z
is required;
If
wantz
=
.FALSE.
, Schur vectors are not required.
n
INTEGER
. The order of the Hessenberg matrix
H
.
(
n
≥ 0)
.
ilo
,
ihi
INTEGER
.
It is assumed that
H
is already upper triangular in rows and columns
1:
ilo
-1
and
ihi
+1:
n
, and if
ilo
> 1
then
h
(
ilo
,
ilo
-1) = 0
.
ilo
and
ihi
are normally set by a previous call to
cgebal
, and then passed to
cgehrd
when the matrix output by
cgebal
is reduced to Hessenberg form. Otherwise,
ilo
and
ihi
should be set to
1
and