mkl_sparse_?_update_values
mkl_sparse_?_update_values
Changes all or selected matrix values in internal representation.
Syntax
This routine is supported for sparse matrices in BSR format only.
sparse_status_t
mkl_sparse_s_update_values
(
sparse_matrix_t
A
,
MKL_INT
nvalues
,
MKL_INT
*indx
,
MKL_INT
*indy
,
float
*values
);
sparse_status_t
mkl_sparse_d_update_values
(
sparse_matrix_t
A
,
MKL_INT
nvalues
,
MKL_INT
*indx
,
MKL_INT
*indy
,
double
*values
);
sparse_status_t
mkl_sparse_c_update_values
(
sparse_matrix_t
A
,
MKL_INT
nvalues
,
MKL_INT
*indx
,
MKL_INT
*indy
,
MKL_Complex8
*values
);
sparse_status_t
mkl_sparse_z_update_values
(
sparse_matrix_t
A
,
MKL_INT
nvalues
,
MKL_INT
*indx
,
MKL_INT
*indy
,
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 Inspector-Executor Sparse BLAS format.The values to be updated should already be present in the matrix structure.
- To change selected values, you must provide an array values (with new values) and also the corresponding row and column indices for each value viaindxandindyarrays as well as the overall number of changed elementsnvalues.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} andvalues= {1, 2}.
- To change all the values in the matrix, one can simply provide thevaluesarray, no need to supplyindxandindyarrays.
Input Parameters
- A
- Specifies handle containing internal data.
- nvalues
- Total number of elements changed.
- indx
- Row indices for the new values.Currently, only updating the full matrix is supported. Setindxandindyas NULL.
- indy
- Column indices for the new values.Currently, only updating the full matrix is supported. Setindxandindyas NULL.
- values
- New values.
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.