Developer Reference

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

p?lahqr

Computes the Schur decomposition and/or eigenvalues of a matrix already in Hessenberg form.

Syntax

call pslahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
a
,
desca
,
wr
,
wi
,
iloz
,
ihiz
,
z
,
descz
,
work
,
lwork
,
iwork
,
ilwork
,
info
)
call pdlahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
a
,
desca
,
wr
,
wi
,
iloz
,
ihiz
,
z
,
descz
,
work
,
lwork
,
iwork
,
ilwork
,
info
)
call pclahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
a
,
desca
,
w
,
iloz
,
ihiz
,
z
,
descz
,
work
,
lwork
,
iwork
,
ilwork
,
info
)
call pzlahqr
(
wantt
,
wantz
,
n
,
ilo
,
ihi
,
a
,
desca
,
w
,
iloz
,
ihiz
,
z
,
descz
,
work
,
lwork
,
iwork
,
ilwork
,
info
)
Include Files
Description
This is an auxiliary
routine
used to find the Schur decomposition and/or eigenvalues of a matrix already in Hessenberg form from columns
ilo
and
ihi
.
These restrictions apply to the use of
p?lahqr
:
  • The code requires the distributed block size to be square and at least 6.
  • The code requires A and Z to be distributed identically and have identical contexts.
  • The matrix A must be in upper Hessenberg form. If elements below the subdiagonal are non-zero, the resulting transformations can be nonsimilar.
  • All eigenvalues are distributed to all the nodes.
Input Parameters
wantt
(global)
LOGICAL
If
wantt
=
.TRUE.
, the full Schur form
T
is required;
If
wantt
=
.FALSE.
, only eigenvalues are required.
wantz
(global)
LOGICAL
.
If
wantz
=
.TRUE.
, the matrix of Schur vectors
Z
is required;
If
wantz
=
.FALSE.
, Schur vectors are not required.
n
(global)
INTEGER
.
The order of the Hessenberg matrix
A
(and
z
if
wantz
).
n
≥0
.
ilo
,
ihi
(global)
INTEGER
.
It is assumed that
A
is already upper quasi-triangular in rows and columns
ihi
+1:
n
, and that
A
(
ilo
,
ilo
-1) = 0 (unless
ilo
= 1
).
p?lahqr
works primarily with the Hessenberg submatrix in rows and columns
ilo
to
ihi
, but applies transformations to all of
H
if
wantt
is
.TRUE.
.
1≤
ilo
≤max(1,