mkl_?csrmultd
mkl_?csrmultd
Computes product of two sparse matrices stored in the CSR format (3-array variation) with one-based indexing. The result is stored in the dense matrix (deprecated).
Syntax
void
mkl_dcsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
double
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
double
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
double
*c
,
MKL_INT
*ldc
);
void
mkl_scsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
float
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
float
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
float
*c
,
MKL_INT
*ldc
);
void
mkl_ccsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
MKL_Complex8
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
MKL_Complex8
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
MKL_Complex8
*c
,
MKL_INT
*ldc
);
void
mkl_zcsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
MKL_Complex16
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
MKL_Complex16
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
MKL_Complex16
*c
,
MKL_INT
*ldc
);
Include Files
- mkl.h
Description
This routine is deprecated. Use mkl_sparse_?_spmmdfrom the Inspector-executor Sparse BLAS interface instead.
Intel® oneAPI Math Kernel Library
The
mkl_?csrmultd
routine performs a matrix-matrix operation defined as C := op(A)*B
where:
A
, B
are the sparse matrices in the CSR format (3-array variation), C
is dense matrix;op(
is one of A
)op(
, or A
) = A
op(
, or A
) =A
T
op(
.A
) = A
H
The routine works correctly if and only if the column indices in sparse matrix representations of matrices
A
and B
are arranged in the increasing order for each row.This routine supports only one-based indexing of the input arrays.
Input Parameters
- trans
- Specifies the operation.Ifortrans='N''n', thenC:=A*BIfortrans='T''t'or'C'or'c', then.C:=AT*B
- m
- Number of rows of the matrixA.
- n
- Number of columns of the matrixA.
- k
- Number of columns of the matrixB.
- a
- Array containing non-zero elements of the matrixA. Its length is equal to the number of non-zero elements in the matrixA. Refer tovaluesarray description in Sparse Matrix Storage Formats for more details.
- ja
- Array containing the column indicesplus onefor each non-zero element of the matrixA. For each row the column indices must be arranged in the increasing order.The length of this array is equal to the length of the arraya. Refer tocolumnsarray description in Sparse Matrix Storage Formats for more details.
- ia
- Array of lengthwhenm+ 1ortrans='N''n', orotherwise.n+ 1This array contains indices of elements in the arraya, such thatis the index in the arrayia[i] -ia[0]aof the first non-zero element from the rowi. The value of the last elementoria[m]is equal to the number of non-zero elements of the matrixia[n]Aplus one. Refer torowIndexarray description in Sparse Matrix Storage Formats for more details.
- b
- Array containing non-zero elements of the matrixB. Its length is equal to the number of non-zero elements in the matrixB. Refer tovaluesarray description in Sparse Matrix Storage Formats for more details.
- jb
- Array containing the column indicesplus onefor each non-zero element of the matrixB. For each row the column indices must be arranged in the increasing order.The length of this array is equal to the length of the arrayb. Refer tocolumnsarray description in Sparse Matrix Storage Formats for more details.
- ib
- Array of length.m+ 1This array contains indices of elements in the arrayb, such thatis the index in the arrayib[i] -ib[0]bof the first non-zero element from the rowi. The value of the last elementis equal to the number of non-zero elements of the matrixib[m]Bplus one. Refer torowIndexarray description in Sparse Matrix Storage Formats for more details.
Output Parameters
- c
- Array containing non-zero elements of the result matrixC.
- ldc
- Specifies the leading dimension of the dense matrixCas declared in the calling (sub)program. Must be at leastmax(whenm, 1)ortrans='N''n', ormax(1,otherwise.n)