Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
mkl_sparse_?_svd
Computes the largest/smallest singular values of a singular-value problem
Syntax
statmkl_sparse_s_svd ( whichS , whichV , pm , A , descrA , k0 , k , E , XL , XR , res );
statmkl_sparse_d_svd ( whichS , whichV , pm , A , descrA , k0 , k , E , XL , XR , res );
Include Files
mkl_solvers_ee.f90
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
CHARACTER
Indicates eigenvalues for which to search:
whichS = 'L' indicates the largest eigenvalues.
whichS = 'S' indicates the smallest eigenvalues.
whichV
CHARACTER
Indicates singular vectors for which to search:
whichV = 'R' indicates right singular vectors.
whichV = 'L' indicates left singular vectors.
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:
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_svd
C_DOUBLE for mkl_sparse_d_svd
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
C_FLOAT for mkl_sparse_s_svd
C_DOUBLE for mkl_sparse_d_svd
Array that 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.