Developer Reference

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

?hpgst

Reduces a generalized eigenvalue problem with a Hermitian matrix to a standard eigenvalue problem using packed storage.

Syntax

call chpgst
(
itype
,
uplo
,
n
,
ap
,
bp
,
info
)
call zhpgst
(
itype
,
uplo
,
n
,
ap
,
bp
,
info
)
call hpgst
(
ap
,
bp
[
,
itype
]
[
,
uplo
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine reduces generalized eigenproblems with Hermitian matrices
A
*
z
=
λ
*
B
*
z
,
A
*
B
*
z
=
λ
*
z
, or
B
*
A
*
z
=
λ
*
z
.
to standard eigenproblems
C
*
y
=
λ
*
y
, using packed matrix storage. Here
A
is a complex Hermitian matrix, and
B
is a complex Hermitian positive-definite matrix. Before calling this routine, you must call
?pptrf
to compute the Cholesky factorization:
B
=
U
H
*U
or
B
=
L*L
H
.
Input Parameters
itype
INTEGER
.
Must be 1 or 2 or 3.
If
itype
= 1
, the generalized eigenproblem is
A*z
=
lambda
*B*z
for
uplo
=
'U'
:
C
= inv(
U
H
)*
A
*inv(
U
)
,
z
= inv(
U
)*
y
;
for
uplo
=
'L'
:
C
= inv(
L
)*
A
*inv(
L
H
)
,
z
= inv(
L
H
)*
y
.
If
itype
= 2
, the generalized eigenproblem is
A
*
B
*
z
=
lambda
*
z
for
uplo
=
'U'
:
C
=
U
*
A
*
U
H
,
z
= inv(
U
)*
y
;
for
uplo
=
'L'
:
C
=
L
H
*
A
*
L
,
z
= inv(
L
H
)*
y
.
If
itype
= 3
, the generalized eigenproblem is
B*A
*
z
=
lambda
*
z
for
uplo
=
'U'
:
C
=
U
*
A
*
U
H
,
z
=
U
H
*
y
;
for
uplo
=
'L'
:
C
=
L
H
*
A
*
L
,