Developer Reference for Intel® oneAPI Math Kernel Library for C
mkl_sparse_?_svd
Computes the largest/smallest singular values of a singular-value problem
Syntax
sparse_status_tmkl_sparse_s_svd ( char*whichS , char*whichV , MKL_INT*pm , sparse_matrix_tA , structmatrix_descrdescrA , MKL_INTk0 , MKL_INT*k , float*E , float*XL , float*XR , float*res );
sparse_status_tmkl_sparse_d_svd ( char*whichS , char*whichV , MKL_INT*pm , sparse_matrix_tA , structmatrix_descrdescrA , MKL_INTk0 , MKL_INT*k , double*E , double*XL , double*XR , double*res );
Include Files
mkl_solvers_ee.h
Description
The mkl_sparse_?_svd routine computes the largest/smallest singular values of a singular-value problem.
AATx = σx or ATAx = σx , where A is the real rectangular matrix.
Input Parameters
whichS
Indicates eigenvalues for which to search:
whichS = 'L' indicates the largest eigenvalues.
whichS = 'S' indicates the smallest eigenvalues.
whichV
Indicates singular vectors for which to search:
whichV = 'R' indicates right singular vectors.
whichV = 'L' indicates left singular vectors.
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.
XL
Array of size k0 *Number of rows of matrix A. Contains k left singular vectors.
XR
Array of size k0 *Number of columns of matrix A. Contains k right singular vectors.
Res
Array that 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.