Visible to Intel only — GUID: GUID-C9231D47-2439-41B8-B583-6FE1F903E936
Visible to Intel only — GUID: GUID-C9231D47-2439-41B8-B583-6FE1F903E936
?feast_sbgv/?feast_hbgv
Extended Eigensolver interface for generalized eigenvalue problem with banded matrices.
Syntax
call sfeast_sbgv(uplo, n, kla, a, lda, klb, b, ldb, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)
call dfeast_sbgv(uplo, n, kla, a, lda, klb, b, ldb, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)
call cfeast_hbgv(uplo, n, kla, a, lda, klb, b, ldb, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)
call zfeast_hbgv(uplo, n, kla, a, lda, klb, b, ldb, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)
Include Files
- mkl.fi
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
-
CHARACTER*1
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
-
INTEGER
Sets the size of the problem. n > 0.
- kla
-
INTEGER
The number of super- or sub-diagonals within the band in A (kla≥ 0).
- a
-
REAL for sfeast_sbgv
DOUBLE PRECISION for dfeast_sbgv
COMPLEX for cfeast_hbgv
COMPLEX*16 for zfeast_hbgv
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
-
INTEGER
The leading dimension of the array a. Must be at least max(1, n).
- klb
-
INTEGER
The number of super- or sub-diagonals within the band in B (klb≥ 0).
- b
-
REAL for sfeast_sbgv
DOUBLE PRECISION for dfeast_sbgv
COMPLEX for cfeast_hbgv
COMPLEX*16 for zfeast_hbgv
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
-
INTEGER
The leading dimension of the array B. Must be at least max(1, n).
- fpm
-
INTEGER
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
-
REAL for sfeast_sbgv and cfeast_hbgv
DOUBLE PRECISION for dfeast_sbgv and zfeast_hbgv
The lower and upper bounds of the interval to be searched for eigenvalues; emin ≤ emax.
NOTE:Users are advised to avoid situations in which eigenvalues nearly coincide with the interval endpoints. This may lead to unpredictable selection or omission of such eigenvalues. Users should instead specify a slightly larger interval than needed and, if required, pick valid eigenvalues and their corresponding eigenvectors for subsequent use. - m0
-
INTEGER
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
-
REAL for sfeast_sbgv
DOUBLE PRECISION for dfeast_sbgv
COMPLEX for cfeast_hbgv
COMPLEX*16 for zfeast_hbgv
On entry, if fpm(5)=1, the array x(n, m) contains a basis of guess subspace where n is the order of the input matrix.
Output Parameters
- epsout
-
REAL for sfeast_sbgv and cfeast_hbgv
DOUBLE PRECISION for dfeast_sbgv and zfeast_hbgv
On output, contains the relative error on the trace: |tracei - tracei-1| /max(|emin|, |emax|)
- loop
-
INTEGER
On output, contains the number of refinement loop executed. Ignored on input.
- e
-
REAL for sfeast_sbgv and cfeast_hbgv
DOUBLE PRECISION for dfeast_sbgv and zfeast_hbgv
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
-
INTEGER
The total number of eigenvalues found in the interval [emin, emax]: 0 ≤ m ≤ m0.
- res
-
REAL for sfeast_sbgv and cfeast_hbgv
DOUBLE PRECISION for dfeast_sbgv and zfeast_hbgv
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
-
INTEGER
If info=0, the execution is successful. If info ≠ 0, see Output Eigensolver info Details.