Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Extended Eigensolver interface for generalized eigenvalue problem with banded matrices.
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)
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).
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.
INTEGER
Sets the size of the problem. n > 0.
INTEGER
The number of super- or sub-diagonals within the band in A (kla≥ 0).
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
INTEGER
The leading dimension of the array a. Must be at least max(1, n).
INTEGER
The number of super- or sub-diagonals within the band in B (klb≥ 0).
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
INTEGER
The leading dimension of the array B. Must be at least max(1, n).
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.
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.
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.
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.
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|)
INTEGER
On output, contains the number of refinement loop executed. Ignored on input.
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.
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).
INTEGER
The total number of eigenvalues found in the interval [emin, emax]: 0 ≤ m ≤ m0.
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.
INTEGER
If info=0, the execution is successful. If info ≠ 0, see Output Eigensolver info Details.