Intel® oneAPI Math Kernel Library Developer Reference - C
Extended Eigensolver interface for standard eigenvalue problem with banded matrices.
void sfeast_sbev (const char * uplo, const MKL_INT * n, const MKL_INT * kla, const float * a, const MKL_INT * lda, 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_sbev (const char * uplo, const MKL_INT * n, const MKL_INT * kla, const double * a, const MKL_INT * lda, 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_hbev (const char * uplo, const MKL_INT * n, const MKL_INT * kla, const MKL_Complex8 * a, const MKL_INT * lda, 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_hbev (const char * uplo, const MKL_INT * n, const MKL_INT * kla, const MKL_Complex16 * a, const MKL_INT * lda, 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);
The routines compute all the eigenvalues and eigenvectors for standard eigenvalue problems, Ax = λx, within a given search interval.
Must be 'U' or 'L' or 'F' .
If uplo = 'U', a stores the upper triangular parts of A.
If uplo = 'L', a stores the lower triangular parts of A.
If uplo= 'F' , a stores the full matrix A.
Sets the size of the problem. n > 0.
The number of super- or sub-diagonals within the band in A (kla≥ 0).
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
The leading dimension of the array a. Must be at least max(1, n).
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.
The lower and upper bounds of the interval to be searched for eigenvalues; emin ≤ emax.
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.
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.
On output, contains the relative error on the trace: |tracei - tracei-1| /max(|emin|, |emax|)
On output, contains the number of refinement loop executed. Ignored on input.
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].
The total number of eigenvalues found in the interval [emin, emax]: 0 ≤ m ≤ m0.
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.
If info=0, the execution is successful. If info ≠ 0, see Output Eigensolver info Details.