Developer Reference

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

?sygvd

Computes all eigenvalues and, optionally, eigenvectors of a real generalized symmetric definite eigenproblem using a divide and conquer method.

Syntax

call ssygvd
(
itype
,
jobz
,
uplo
,
n
,
a
,
lda
,
b
,
ldb
,
w
,
work
,
lwork
,
iwork
,
liwork
,
info
)
call dsygvd
(
itype
,
jobz
,
uplo
,
n
,
a
,
lda
,
b
,
ldb
,
w
,
work
,
lwork
,
iwork
,
liwork
,
info
)
call sygvd
(
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 real generalized symmetric-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 symmetric 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
REAL
for
ssygvd
DOUBLE PRECISION
for
dsygvd
.
Arrays:
a
(
lda
,*)
contains the upper or lower triangle of the symmetric matrix
A
, as specified by
uplo
.
The second dimension of
a
must be at least max(1,
n
).
b