Developer Reference

Contents

?feast_scsrgv/?feast_hcsrgv

Extended Eigensolver interface for generalized eigenvalue problem with sparse matrices.

Syntax

void
sfeast_scsrgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
float
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
const
float
*
b
,
const
MKL_INT
*
ib
,
const
MKL_INT
*
jb
,
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_scsrgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
double
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
const
double
*
b
,
const
MKL_INT
*
ib
,
const
MKL_INT
*
jb
,
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_hcsrgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex8
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
const
MKL_Complex8
*
b
,
const
MKL_INT
*
ib
,
const
MKL_INT
*
jb
,
MKL_INT
*
fpm
,
float
*
epsout
,
MKL_INT
*
loop
,
const
float
*
emin
,
const
float
*
emax
,
MKL_INT
*
,
float
*
e
,
MKL_Complex8
*
x
,
MKL_INT
*
m
,
float
*
res
,
MKL_INT
*
info
);
void
zfeast_hcsrgv
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex16
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
const
MKL_Complex16
*
b
,
const
MKL_INT
*
ib
,
const
MKL_INT
*
jb
,
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 position of the non-zero elements can be different (CSR coordinates
ib
and
jb
can be different from
ia
and
ja
).
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.
a
Array containing the nonzero elements of either the full matrix
A
or the upper or lower triangular part of the matrix
A
, as specified by
uplo
.
ia
Array of length
n
+ 1, containing indices of elements in the array
a
, such that
ia
[
i
- 1]
is the index in the array
a
of the first non-zero element from the row
i
. The value of the last element
ia
[
n
]
is equal to the number of non-zeros plus one.
ja
Array containing the column indices for each non-zero element of the matrix
A
being represented in the array
a
. Its length is equal to the length of the array
a
.
b
Array of dimension
ldb
by *, contains the nonzero elements of either the full matrix
B
or the upper or lower triangular part of the matrix
B
, as specified by
uplo
.
ib
Array of length
n
+ 1, containing indices of elements in the array
b
, such that
ib
[
i
- 1]
is the index in the array
b
of the first non-zero element from the row
i
. The value of the last element
ib
[
n
]
is equal to the number of non-zeros plus one.
jb
Array containing the column indices for each non-zero element of the matrix
B
being represented in the array
b
. Its length is equal to the length of the array
b
.
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
fpm
On output, the last 64 values correspond to
Intel® MKL
PARDISO
iparm
[0]
to
iparm
[63]
(regardless of the value of
fpm
[63]
on input).
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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804