Developer Reference

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

?hegvd

Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian positive-definite eigenproblem using a divide and conquer method.

Syntax

call chegvd
(
itype
,
jobz
,
uplo
,
n
,
a
,
lda
,
b
,
ldb
,
w
,
work
,
lwork
,
rwork
,
lrwork
,
iwork
,
liwork
,
info
)
call zhegvd
(
itype
,
jobz
,
uplo
,
n
,
a
,
lda
,
b
,
ldb
,
w
,
work
,
lwork
,
rwork
,
lrwork
,
iwork
,
liwork
,
info
)
call hegvd
(
a
,
b
,
w
[
,
itype
]
[
,
jobz
]
[
,
uplo
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian positive-definite eigenproblem, of the form
A
*
x
=
λ
*
B
*
x
,
A
*
B
*
x
=
λ
*
x
, or
B
*
A
*
x
=
λ
*
x
.
Here
A
and
B
are assumed to be Hermitian and
B
is also positive definite.
It uses a divide and conquer algorithm.
Input Parameters
itype
INTEGER
.
Must be 1 or 2 or 3. Specifies the problem type to be solved:
if
itype
= 1
, the problem type is
A*x
=
lambda
*
B
*
x
;
if
itype
= 2
, the problem type is
A*B*x
=
lambda
*
x
;
if
itype
= 3
, the problem type is
B
*
A*x
=
lambda
*
x
.
jobz
CHARACTER*1
.
Must be
'N'
or
'V'
.
If
jobz
=
'N'
, then compute eigenvalues only.
If
jobz
=
'V'
, then compute eigenvalues and eigenvectors.
uplo
CHARACTER*1
.
Must be
'U'
or
'L'
.
If
uplo
=
'U'
, arrays
a
and
b
store the upper triangles of
A
and
B
;
If
uplo
=
'L'
, arrays
a
and
b
store the lower triangles of
A
and
B
.
n
INTEGER
.
The order of the matrices
A
and
B
(
n
0
).
a
,
b
,
work
COMPLEX
for
chegvd
DOUBLE COMPLEX
for
zhegvd
.
Arrays:
a
(
lda
,*)
contains the upper or lower triangle of the Hermitian matrix