?feast_sbgv/?feast_hbgv
?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, , within a given search interval.
Ax
= λ
Bx
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'.IfUPLO='U',aandbstore the upper triangular parts ofAandBrespectively.IfUPLO='L',aandbstore the lower triangular parts ofAandBrespectively.IfUPLO='F',aandbstore the full matricesAandBrespectively.
- n
- Sets the size of the problem.n> 0.
- kla
- The number of super- or sub-diagonals within the band inA(kla≥0).
- a
- Array of dimensionldabyn, contains either full matrixAor upper or lower triangular part of the matrixA, as specified byuplo
- lda
- The leading dimension of the arraya. Must be at least max(1,n).
- klb
- The number of super- or sub-diagonals within the band inB(klb≥0).
- b
- Array of dimensionldbbyn, contains either full matrixBor upper or lower triangular part of the matrixB, as specified byuplo
- ldb
- The leading dimension of the arrayB. 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 <. Setm0≤nm0≥mwheremis the total number of eigenvalues located in the interval [emin,emax]. If the initial guess is wrong, Extended Eigensolver routines returninfo=3.
- x
- On entry, if=1, the arrayfpm[4]xof sizecontains a basis of guess subspace wherenbymnis the order of the input matrix.
Output Parameters
- epsout
- On output, contains the relative error on the trace: |-tracei| /max(|tracei-1emin|, |emax|)
- loop
- On output, contains the number of refinement loop executed. Ignored on input.
- e
- Array of lengthm0. On output, the firstmentries ofeare eigenvalues found in the interval.
- x
- On output, the firstmcolumns ofxcontain the orthonormal eigenvectors corresponding to the computed eigenvaluese, with thei-th column ofxholding the eigenvector associated withe[.i]
- m
- The total number of eigenvalues found in the interval [emin,emax]: 0 ≤m≤m0.
- res
- Array of lengthm0. On exit, the firstmcomponents contain the relative residual vector:fori=1, 2, …,m, and wheremis the total number of eigenvalues found in the search interval.
- info