Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?feast_sbev/?feast_hbev

Extended Eigensolver interface for standard eigenvalue problem with banded matrices.

Syntax

call sfeast_sbev(uplo, n, kla, a, lda, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)

call dfeast_sbev(uplo, n, kla, a, lda, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)

call cfeast_hbev(uplo, n, kla, a, lda, fpm, epsout, loop, emin, emax, m0, e, x, m, res, info)

call zfeast_hbev(uplo, n, kla, a, lda, 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 standard eigenvalue problems, Ax = λx, within a given search interval.

Input Parameters

uplo

CHARACTER*1

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.

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_sbev

DOUBLE PRECISION for dfeast_sbev

COMPLEX for cfeast_hbev

COMPLEX*16 for zfeast_hbev

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).

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_sbev and cfeast_hbev

DOUBLE PRECISION for dfeast_sbev and zfeast_hbev

The lower and upper bounds of the interval to be searched for eigenvalues; eminemax.

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 < m0n. Set m0m 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_sbev

DOUBLE PRECISION for dfeast_sbev

COMPLEX for cfeast_hbev

COMPLEX*16 for zfeast_hbev

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_sbev and cfeast_hbev

DOUBLE PRECISION for dfeast_sbev and zfeast_hbev

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_sbev and cfeast_hbev

DOUBLE PRECISION for dfeast_sbev and zfeast_hbev

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 ≤ mm0.

res

REAL for sfeast_sbev and cfeast_hbev

DOUBLE PRECISION for dfeast_sbev and zfeast_hbev

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.