Developer Reference

Contents

?feast_sbgv/?feast_hbgv

Extended Eigensolver interface for generalized eigenvalue problem with banded matrices.

Syntax

void
sfeast_sbgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_INT
*
kla
,
const
float
*
a
,
const
MKL_INT
*
lda
,
const
MKL_INT
*
klb
,
const
float
*
b
,
const
MKL_INT
*
ldb
,
MKL_INT
*
fpm
,
float
*
epsout
,
MKL_INT
*
loop
,
const
float
*
emin
,
const
float
*
emax
,
MKL_INT
*
m0
,
float
*
e
,
float
*
x
,
MKL_INT
*
m
,
float
*
res
,
MKL_INT
*
info
);
void
dfeast_sbgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_INT
*
kla
,
const
double
*
a
,
const
MKL_INT
*
lda
,
const
MKL_INT
*
klb
,
const
double
*
b
,
const
MKL_INT
*
ldb
,
MKL_INT
*
fpm
,
double
*
epsout
,
MKL_INT
*
loop
,
const
double
*
emin
,
const
double
*
emax
,
MKL_INT
*
m0
,
double
*
e
,
double
*
x
,
MKL_INT
*
m
,
double
*
res
,
MKL_INT
*
info
);
void
cfeast_hbgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_INT
*
kla
,
const
MKL_Complex8
*
a
,
const
MKL_INT
*
lda
,
const
MKL_INT
*
klb
,
const
MKL_Complex8
*
b
,
const
MKL_INT
*
ldb
,
MKL_INT
*
fpm
,
float
*
epsout
,
MKL_INT
*
loop
,
const
float
*
emin
,
const
float
*
emax
,
MKL_INT
*
m0
,
float
*
e
,
MKL_Complex8
*
x
,
MKL_INT
*
m
,
float
*
res
,
MKL_INT
*
info
);
void
zfeast_hbgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_INT
*
kla
,
const
MKL_Complex16
*
a
,
const
MKL_INT
*
lda
,
const
MKL_INT
*
klb
,
const
MKL_Complex16
*
b
,
const
MKL_INT
*
ldb
,
MKL_INT
*
fpm
,
double
*
epsout
,
MKL_INT
*
loop
,
const
double
*
emin
,
const
double
*
emax
,
MKL_INT
*
m0
,
double
*
e
,
MKL_Complex16
*
x
,
MKL_INT
*
m
,
double
*
res
,
MKL_INT
*
info
);
Include Files
  • mkl.h
Description
The routines compute all the eigenvalues and eigenvectors for generalized eigenvalue problems,
Ax
=
λ
Bx
, within a given search interval.
Both matrices
A
and
B
must use the same family of storage format. The bandwidth, however, can be different (
klb
can be different from
kla
).
Input Parameters
uplo
Must be
'U'
or
'L'
or
'F'
.
If
UPLO
=
'U'
,
a
and
b
store the upper triangular parts of
A
and
B
respectively.
If
UPLO
=
'L'
,
a
and
b
store the lower triangular parts of
A
and
B
respectively.
If
UPLO
=
'F'
,
a
and
b
store the full matrices
A
and
B
respectively.
n
Sets the size of the problem.
n
> 0.
kla
The number of super- or sub-diagonals within the band in
A
(
kla
0).
a
Array of dimension
lda
by
n
, contains either full matrix
A
or upper or lower triangular part of the matrix
A
, as specified by
uplo
lda
The leading dimension of the array
a
. Must be at least max(1,
n
).
klb
The number of super- or sub-diagonals within the band in
B
(
klb
0).
b
Array of dimension
ldb
by
n
, contains either full matrix
B
or upper or lower triangular part of the matrix
B
, as specified by
uplo
ldb
The leading dimension of the array
B
. Must be at least max(1,
n
).
fpm
Array, dimension of 128. This array is used to pass various parameters to Extended Eigensolver routines. See Extended Eigensolver Input Parameters for a complete description of the parameters and their default values.
emin
,
emax
The lower and upper bounds of the interval to be searched for eigenvalues;
emin
emax.
m0
On entry, specifies the initial guess for subspace dimension to be used,
0 <
m0
n
. Set
m0
m
where
m
is the total number of eigenvalues located in the interval [
emin
,
emax
]. If the initial guess is wrong, Extended Eigensolver routines return
info
=3.
x
On entry, if
fpm
[4]
=1, the array
x
of size
n
by
m
contains a basis of guess subspace where
n
is the order of the input matrix.
Output Parameters
epsout
On output, contains the relative error on the trace: |
trace
i
-
trace
i-1
| /max(|
emin
|, |
emax
|)
loop
On output, contains the number of refinement loop executed. Ignored on input.
e
Array of length
m0
. On output, the first
m
entries of
e
are eigenvalues found in the interval.
x
On output, the first
m
columns of
x
contain the orthonormal eigenvectors corresponding to the computed eigenvalues
e
, with the
i
-th column of
x
holding the eigenvector associated with
e
[
i
]
.
m
The total number of eigenvalues found in the interval [
emin
,
emax
]: 0 ≤
m
m0
.
res
Array of length
m0
. On exit, the first
m
components contain the relative residual vector:
for
i
=1, 2, …,
m
, and where
m
is the total number of eigenvalues found in the search interval.
info
If
info
=0, the execution is successful. If
info
≠ 0, see Output Eigensolver info Details.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.