mkl_sparse_?_add
mkl_sparse_?_add
Computes the sum of two sparse matrices. The result is stored in a newly allocated sparse matrix.
Syntax
sparse_status_t mkl_sparse_s_add
(
const sparse_operation_t
operation
,
const
sparse_matrix_t
A
,
const float
alpha
,
const
sparse_matrix_t
B
,
sparse_matrix_t
*C
);
sparse_status_t mkl_sparse_d_add
(
const sparse_operation_t
operation
,
const
sparse_matrix_t
A
,
const double
alpha
,
const
sparse_matrix_t
B
,
sparse_matrix_t
*C
);
sparse_status_t mkl_sparse_c_add
(
const sparse_operation_t
operation
,
const
sparse_matrix_t
A
,
const MKL_Complex8
alpha
,
const
sparse_matrix_t
B
,
sparse_matrix_t
*C
);
sparse_status_t mkl_sparse_z_add
(
const sparse_operation_t
operation
,
const
sparse_matrix_t
A
,
const MKL_Complex16
alpha
,
const
sparse_matrix_t
B
,
sparse_matrix_t
*C
);
Include Files
- mkl_spblas.h
Description
The
mkl_sparse_?_add
routine performs a matrix-matrix operation:C := alpha*op(A) + B
where
alpha
is a scalar, op
is a matrix modifier, and A
, B
, and C
are sparse matrices.This routine is only supported for sparse matrices in CSR and BSR formats. It is not supported for COO or CSC formats.
Input Parameters
- A
- Handle which contains the sparse matrixA.
- alpha
- Specifies the scalaralpha.
- operation
- Specifies operationop()on input matrix.
- SPARSE_OPERATION_NON_TRANSPOSE
- Non-transpose,op(.A) =A
- SPARSE_OPERATION_TRANSPOSE
- Transpose,op(.A) =AT
- SPARSE_OPERATION_CONJUGATE_TRANSPOSE
- Conjugate transpose,op(.A) =AH
- B
- Handle which contains the sparse matrixB.
Output Parameters
- C
- Handle which contains the resulting sparse matrix.
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.