Developer Reference

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

?lahqr

Computes the eigenvalues and Schur factorization of an upper Hessenberg matrix, using the double-shift/single-shift QR algorithm.

Syntax

call slahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
wr
,
wi
,
iloz
,
ihiz
,
z
,
ldz
,
info
)
call dlahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
wr
,
wi
,
iloz
,
ihiz
,
z
,
ldz
,
info
)
call clahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
w
,
iloz
,
ihiz
,
z
,
ldz
,
info
)
call zlahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
w
,
iloz
,
ihiz
,
z
,
ldz
,
info
)
Include Files
  • mkl.fi
Description
The routine is an auxiliary routine called by
?hseqr
to update the eigenvalues and Schur decomposition already computed by
?hseqr
, by dealing with the Hessenberg submatrix in rows and columns
ilo
to
ihi
.
Input Parameters
wantt
LOGICAL
.
If
wantt
=
.TRUE.
, the full Schur form
T
is required;
If
wantt
=
.FALSE.
, eigenvalues only 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 matrix
H
(
n
0
).
ilo
,
ihi
INTEGER
.
It is assumed that
h
is already upper quasi-triangular in rows and columns
ihi
+1:
n
, and that
h
(
ilo
,
ilo
-1) = 0
(unless
ilo
= 1
). The routine
?lahqr
works primarily with the Hessenberg submatrix in rows and columns
ilo
to
ihi
, but applies transformations to all of
h
if
wantt
=
.TRUE.
.
Constraints:
1 ≤
ilo
≤ max(1,
ihi
);
ihi
n
.
h
,
z
REAL
for
slahqr
DOUBLE PRECISION
for
dlahqr
COMPLEX
for
clahqr
DOUBLE COMPLEX
for
zlahqr
.
Arrays:
h
(
ldh
,*) contains the upper Hessenberg matrix
h
.
The second dimension of
h
must be at least
max(1,
n
)
.
z
(
ldz
,*)
If
wantz
=
.TRUE.
, then, on entry,
z
must contain the current matrix
z
of transformations accumulated by
?hseqr
. The second dimension of
z
must be at least
max(1,
n
)
If
wantz
=
.FALSE.
, then
z
is not referenced..
ldh
INTEGER
. The leading