Developer Reference for Intel® oneAPI Math Kernel Library for C
mkl_sparse_?_ev
Computes the largest/smallest eigenvalues and corresponding eigenvectors of a standard eigenvalue problem
Syntax
sparse_status_tmkl_sparse_s_ev ( char*which , MKL_INT*pm , sparse_matrix_tA , structmatrix_descrdescrA , MKL_INTk0 , MKL_INT*k , float*E , float*X , float*res );
sparse_status_tmkl_sparse_d_ev ( char*which , MKL_INT*pm , sparse_matrix_tA , structmatrix_descrdescrA , MKL_INTk0 , MKL_INT*k , double*E , double*X , double*res );
Include Files
mkl_solvers_ee.h
Description
The mkl_sparse_?_ev routine computes the largest/smallest eigenvalues and corresponding eigenvectors of a standard eigenvalue problem.
Ax = lambda x
where A is the real symmetric matrix.
Input Parameters
which
Indicates eigenvalues for which to search:
which = 'L' indicates the largest eigenvalues.
which = 'S' indicates the smallest eigenvalues.
pm
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
Handle containing sparse matrix in internal data structure.
descrA
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
The desired number of the largest/smallest eigenvalues to find.
Output Parameters
k
Number of eigenvalues found.
E
Array of size k0 . Contains k largest/smallest eigenvalues.
X
Array of size k0 *Number of columns of the matrix A. Contains k eigenvectors.
Res
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
The function returns a value indicating whether the operation was successful or not, and why.
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.