Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

mkl_sparse_?_svd

Computes the largest/smallest singular values of a singular-value problem

Syntax

sparse_status_t
mkl_sparse_s_svd
(
char
*whichS
,
char
*whichV
,
MKL_INT
*pm
,
sparse_matrix_t
A
,
struct
matrix_descr
descrA
,
MKL_INT
k0
,
MKL_INT
*k
,
float
*E
,
float
*X
,
float
*res
);
sparse_status_t
mkl_sparse_d_svd
(
char
*whichS
,
char
*whichV
,
MKL_INT
*pm
,
sparse_matrix_t
A
,
struct
matrix_descr
descrA
,
MKL_INT
k0
,
MKL_INT
*k
,
double
*E
,
double
*X
,
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_MATRIX_TYPE_GENERAL
    The matrix is processed as-is.
  • SPARSE_MATRIX_TYPE_SYMMETRIC
    The matrix is symmetric (only the requested triangle is processed).
sparse_fill_mode_t
mode
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
  • SPARSE_FILL_MODE_LOWER
    The lower triangular matrix part is processed.
  • SPARSE_FILL_MODE_UPPER
    The upper triangular matrix part is processed.
sparse_diag_type_t
diag
Specifies the diagonal type for non-general matrices:
  • SPARSE_DIAG_NON_UNIT
    Diagonal elements might not be equal to one.
  • SPARSE_DIAG_UNIT
    Diagonal elements are equal to one
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.
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.
SPARSE_STATUS_NOT_SUPPORTED
The requested operation is not supported.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804