Visible to Intel only — GUID: GUID-E881BC80-5BDD-4CFD-88E2-9B57F89E737D
Visible to Intel only — GUID: GUID-E881BC80-5BDD-4CFD-88E2-9B57F89E737D
mkl_sparse_syrk
Computes the product of sparse matrix with its transpose (or conjugate transpose) and stores the result in a newly allocated sparse matrix.
sparse_status_t mkl_sparse_syrk (const sparse_operation_t operation, const sparse_matrix_t A, sparse_matrix_t *C);
- mkl_spblas.h
The mkl_sparse_syrk routine performs a sparse matrix-matrix operation which results in a sparse matrix C that is either Symmetric (real) or Hermitian (complex):
C := A*op(A)where op(*) is the transpose for real matrices and conjugate transpose for complex matrices OR
C := op(A)*Adepending on the matrix modifier op which can be the transpose for real matrices or conjugate transpose for complex matrices.
Here, A and C are sparse matrices.
- operation
-
Specifies the operation op() on input matrix .
SPARSE_OPERATION_NON_TRANSPOSE, Non-transpose,C := A*op(A) where op(*) is the transpose for real matrices and conjugate transpose for complex matrices
SPARSE_OPERATION_TRANSPOSE, Transpose,C := (AT)*Afor real matrix A
SPARSE_OPERATION_CONJUGATE_TRANSPOSE, Conjugate transpose, C := (AH)*A for complex matrix A.
- A
-
Handle which contains the sparse matrix A.
- C
-
Handle which contains the resulting sparse matrix. Only the upper-triangular part of the matrix is computed.
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. |