## Developer Reference

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

# p?hseqr

Computes eigenvalues and (optionally) the Schur factorization of a matrix reduced to Hessenberg form.

## Syntax

Include Files
Description
p?hseqr
computes the eigenvalues of an upper Hessenberg matrix
H
and, optionally, the matrices
T
and
Z
from the Schur decomposition
H
=
Z
*
T
*
Z
T
, where
T
is an upper quasi-triangular matrix (the Schur form), and
Z
is the orthogonal matrix of Schur vectors.
Optionally
Z
may be postmultiplied into an input orthogonal 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 matrix
Q
:
A
=
Q
*
H
*
Q
T
= (
Q
Z
)*
T
*(
Q
Z
)
T
.
These restrictions apply to the use of
p?hseqr
:
• 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
job
(global)
CHARACTER
*1
= 'E': compute eigenvalues only;
= 'S': compute eigenvalues and the Schur form T.
compz
(global)
CHARACTER
*1
= 'N': no Schur vectors are computed;
= 'I':
z
is initialized to the unit matrix and the matrix
Z
of Schur vectors of
H
is returned;
= 'V':
z
must contain an orthogonal matrix
Q
on entry, and the product
Q
*
Z
is returned.
n
(global )
INTEGER
The order of the Hessenberg matrix
H
.
n
0.
ilo
,
ihi
(global )
INTEGER
It is assumed that
H
is already upper triangular in rows and columns 1:
ilo
-1 and
ihi
+1:
n
.
ilo
and
ihi
are normally set by a previous call to p gebal, and then passed to
p?gehrd
when the matrix output by
p?gebal
is reduced to Hessenberg form. Otherwise
ilo
and
ihi
should be set to 1 and
n
respectively. If
n
>0, then 1
ilo
ihi
n
.
If
n
= 0, then
ilo
= 1 and
ihi
= 0.
h
REAL
for
pshseqr
DOUBLE PRECISION
for
pdhseqr
(global ) array of size
(
desch
(
lld_
),
LOC
c
(
n
))
The upper Hessenberg matrix
H
.
desch
(global and local)
INTEGER
array of size
dlen_
The array descriptor for the distributed matrix
H
.
z
REAL
for
pshseqr
DOUBLE PRECISION
for
pdhseqr
(global ) array