Developer Reference for Intel® oneAPI Math Kernel Library for C
mkl_sparse_?_update_values
Changes all or selected matrix values in internal representation.
Syntax
sparse_status_t mkl_sparse_s_update_values ( const sparse_matrix_t A,
const MKL_INT nvalues,
const MKL_INT *indx,
const MKL_INT *indy,
const float *values );
sparse_status_t mkl_sparse_d_update_values ( const sparse_matrix_t A,
const MKL_INT nvalues,
const MKL_INT *indx,
const MKL_INT *indy,
const double *values );
sparse_status_t mkl_sparse_c_update_values ( const sparse_matrix_t A,
const MKL_INT nvalues,
const MKL_INT *indx,
const MKL_INT *indy,
const MKL_Complex8 *values );
sparse_status_t mkl_sparse_z_update_values ( const sparse_matrix_t A,
const MKL_INT nvalues,
const MKL_INT *indx,
const MKL_INT *indy,
const MKL_Complex16 *values );
Include Files
mkl_spblas.h
Description
Use the mkl_sparse_?_update_values routine to change all or selected values of a matrix in the internal representation of the sparse matrix handle.
There are two options for changing values in the matrix:
# To change selected values already in the matrix sparsity structure, you must provide an array values (with new values) and also the corresponding row and column indices for each value via indx and indy arrays as well as the overall number of changed elements nvalues .
So that, for example, to change A(0, 0) to 1 and A(0, 1) to 2, pass the following input parameters: nvalues = 2, indx = {0, 0}, indy = {0, 1} and values = {1, 2}.
# To change all the values in the matrix sparsity structure, provide the values array and explicitly set nvalues to 0 or the actual number of non zero elements. There is no need to supply indx and indy arrays.
Input Parameters
A
Handle containing internal data to be modified.
nvalues
Total number of elements changed.
indx
Row indices for the new values. (These should already exist in the matrix structure)
indy
Column indices for the new values. (These should already exist in the matrix structure)
values
New values to be set in the matrix.
Output Parameters
A
Handle containing modified internal data.
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. |