Developer Reference

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

?hseqr

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

Syntax

call shseqr
(
job
,
compz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
wr
,
wi
,
z
,
ldz
,
work
,
lwork
,
info
)
call dhseqr
(
job
,
compz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
wr
,
wi
,
z
,
ldz
,
work
,
lwork
,
info
)
call chseqr
(
job
,
compz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
w
,
z
,
ldz
,
work
,
lwork
,
info
)
call zhseqr
(
job
,
compz
,
n
,
ilo
,
ihi
,
h
,
ldh
,
w
,
z
,
ldz
,
work
,
lwork
,
info
)
call hseqr
(
h
,
wr
,
wi
[
,
ilo
]
[
,
ihi
]
[
,
z
]
[
,
job
]
[
,
compz
]
[
,
info
]
)
call hseqr
(
h
,
w
[
,
ilo
]
[
,
ihi
]
[
,
z
]
[
,
job
]
[
,
compz
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine computes all the eigenvalues, and optionally the Schur factorization, of an upper Hessenberg matrix
H
:
H
=
Z
*
T
*
Z
H
, where
T
is an upper triangular (or, for real flavors, quasi-triangular) matrix (the Schur form of
H
), and
Z
is the unitary or orthogonal matrix whose columns are the Schur vectors
z
i
.
You can also use this routine to compute the Schur factorization of a general matrix
A
which has been reduced to upper Hessenberg form
H
:
A
=
Q
*
H
*
Q
H
, where
Q
is unitary (orthogonal for real flavors);
A
= (
QZ
)*
T
*(
QZ
)
H
.
In this case, after reducing
A
to Hessenberg form by gehrd, call orghr to form
Q
expl