Visible to Intel only — GUID: GUID-43972C28-CAE2-4FE6-84B8-0917F2F1606B
Visible to Intel only — GUID: GUID-43972C28-CAE2-4FE6-84B8-0917F2F1606B
mkl_sparse_?_update_values
Changes all or selected matrix values in internal representation.
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);
- mkl_spblas.h
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 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, 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.
- A
-
Specifies handle containing internal data.
- nvalues
-
Total number of elements changed.
- indx
-
Row indices for the new values.
NOTE:Currently, only updating the full matrix is supported. Set indx and indy as NULL.
- indy
-
Column indices for the new values.
NOTE:Currently, only updating the full matrix is supported. Set indx and indy as NULL.
- values
-
New values.
- A
-
Handle containing modified internal data.
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. |