Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
mkl_sparse_?_gv
Computes the largest/smallest eigenvalues and corresponding eigenvectors of a generalized eigenvalue problem
Syntax
statmkl_sparse_s_gv ( which , pm , A , descrA , B , descrB , k0 , k , E , X , res );
statmkl_sparse_d_gv ( which , pm , A , descrA , B , descrB , k0 , k , E , X , res );
Include Files
mkl_solvers_ee.f90
Description
The mkl_sparse_?_gv routine computes the largest/smallest eigenvalues and corresponding eigenvectors of a generalized eigenvalue problem.
Ax = lambda Bx
where A is the real symmetric matrix and B is the real symmetric positive definite matrix.
Input Parameters
which
CHARACTER
Indicates eigenvalues for which to search:
which = 'L' indicates the largest eigenvalues.
which = 'S' indicates the smallest eigenvalues.
pm
C_INT
Array of size 128. This array is used to pass various parameters to Extended Eigensolver routines. See • Extended Eigensolver Input Parameters for Extremal Eigenvalue Problem for a complete description of the parameters and their default values.
A
SPARSE_MATRIX_T
Handle containing sparse matrix in internal data structure.
descrA
MATRIX_DESCR
Structure specifying sparse matrix properties.
- sparse_matrix_type_t type
-
Specifies the type of a sparse matrix:
- sparse_fill_mode_t mode
-
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
- sparse_diag_type_t diag
-
Specifies the diagonal type for non-general matrices:
B
SPARSE_MATRIX_T
Handle containing sparse matrix in internal data structure.
descrB
MATRIX_DESCR
Structure specifying sparse matrix properties.
- sparse_matrix_type_t type
-
Specifies the type of a sparse matrix:
- sparse_fill_mode_t mode
-
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
- sparse_diag_type_t diag
-
Specifies the diagonal type for non-general matrices:
k0
C_INT
The desired number of the largest/smallest eigenvalues to find.
Output Parameters
k
C_INT
Number of eigenvalues found.
E
C_FLOAT for mkl_sparse_s_gv
C_DOUBLE for mkl_sparse_d_gv
Array of size k0 . Contains k largest/smallest eigenvalues.
X
C_FLOAT for mkl_sparse_s_gv
C_DOUBLE for mkl_sparse_d_gv
Array of size k0 *Number of columns of matrix A. Contains k eigenvectors.
Res
C_FLOAT for mkl_sparse_s_gv
C_DOUBLE for mkl_sparse_d_gv
Array of size k0 . Contains k residuals.
Stat
INTEGER
The function returns a value indicating whether the operation was successful or not, and why.
Return Values
SPARSE_STATUS_SUCCESS
The operation was successful.
SPARSE_STATUS_NOT_INITIALIZED
The routine encountered an empty handle or matrix array.
SPARSE_STATUS_ALLOC_FAILED
Internal memory allocation failed.
SPARSE_STATUS_INVALID_VALUE
The input parameters contain an invalid value.
SPARSE_STATUS_EXECUTION_FAILED
Execution failed.
SPARSE_STATUS_INTERNAL_ERROR
An error in algorithm implementation occurred.