## Developer Reference

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

# ?spgv

Computes all eigenvalues and, optionally, eigenvectors of a real generalized symmetric definite eigenproblem with matrices in packed storage.

## Syntax

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, stored in packed format, and
B
is also positive definite.
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
ap
and
bp
store the upper triangles of
A
and
B
;
If
uplo
=
'L'
, arrays
ap
and
bp
store the lower triangles of
A
and
B
.
n
INTEGER
.
The order of the matrices
A
and
B
(
n
0
).
ap
,
bp
,
work
REAL
for
sspgv
DOUBLE PRECISION
for
dspgv
.
Arrays:
ap
(*)
contains the packed upper or lower triangle of the symmetric matrix
A
, as specified by
uplo
.
The dimension of
ap
must be at least max(1,
n
*(
n
+1)/2).
bp
(*)
contains the packed upper or lower triangle of the symmetric matrix
B
, as specified by
uplo
.
The dimension of
bp
must be at least max(1,
n
*(
n
+1)/2).
work(*)
is a workspace array, size at least max(1, 3
n
).