mkl_?skymm
mkl_?skymm
Computes matrix-matrix product of a sparse matrix stored using the skyline storage scheme with one-based indexing (deprecated).
Syntax
void
mkl_sskymm
(
const
char
*transa
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
const
float
*alpha
,
const
char
*matdescra
,
const
float
*val
,
const
MKL_INT
*pntr
,
const
float
*b
,
const
MKL_INT
*ldb
,
const
float
*beta
,
float
*c
,
const
MKL_INT
*ldc
);
void
mkl_dskymm
(
const
char
*transa
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
const
double
*alpha
,
const
char
*matdescra
,
const
double
*val
,
const
MKL_INT
*pntr
,
const
double
*b
,
const
MKL_INT
*ldb
,
const
double
*beta
,
double
*c
,
const
MKL_INT
*ldc
);
void
mkl_cskymm
(
const
char
*transa
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
const
MKL_Complex8
*alpha
,
const
char
*matdescra
,
const
MKL_Complex8
*val
,
const
MKL_INT
*pntr
,
const
MKL_Complex8
*b
,
const
MKL_INT
*ldb
,
const
MKL_Complex8
*beta
,
MKL_Complex8
*c
,
const
MKL_INT
*ldc
);
void
mkl_zskymm
(
const
char
*transa
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
const
MKL_Complex16
*alpha
,
const
char
*matdescra
,
const
MKL_Complex16
*val
,
const
MKL_INT
*pntr
,
const
MKL_Complex16
*b
,
const
MKL_INT
*ldb
,
const
MKL_Complex16
*beta
,
MKL_Complex16
*c
,
const
MKL_INT
*ldc
);
Include Files
- mkl.h
Description
This routine is deprecated. Use Use mkl_sparse_?_mmfrom the Inspector-executor Sparse BLAS interface instead.
Intel® oneAPI Math Kernel Library
The
mkl_?skymm
routine performs a matrix-matrix operation defined as C := alpha*A*B + beta*C
or
C := alpha*AT*B + beta*C,
or
C := alpha*AH*B + beta*C,
where:
alpha
and beta
are scalars, B
and C
are dense matrices, A
is an m
-by-k
sparse matrix in the skyline storage format, A
T
is the transpose of A
, and A
H
is the conjugate transpose of A
.This routine supports only one-based indexing of the input arrays.
Input Parameters
- transa
- Specifies the operation.Ifortransa='N''n', then,C:=alpha*A*B+beta*CIfortransa='T''t', then,C:=alpha*AT*B+beta*CIftransa='C'or'c', then.C:=alpha*AH*B+beta*C
- m
- Number of rows of the matrixA.
- n
- Number of columns of the matrixC.
- k
- Number of columns of the matrixA.
- alpha
- Specifies the scalaralpha.
- matdescra
- Array of six elements, specifies properties of the matrix used for operation. Only first four array elements are used, their possible values are given inTable “Possible Values of the Parameter. Possible combinations of element values of this parameter are given inmatdescra(descra)”Table “Possible Combinations of Element Values of the Parameter.matdescra”General matrices(is not supported.='G')matdescra[0]
- val
- Array containing the set of elements of the matrixAin the skyline profile form.If, then=matdescrsa[2]'L'valcontains elements from the low triangle of the matrixA.If, then=matdescrsa[2]'U'valcontains elements from the upper triangle of the matrixA.Refer tovaluesarray description in Skyline Storage Scheme for more details.
- pntr
- Array of length(for lower triangle, andm+ 1)(for upper triangle.k+ 1)It contains the indices specifying the positions of the first element of the matrixAin each row (for the lower triangle) or column (for upper triangle) in thevalarraysuch that. Refer tois the first element in row or columnval[pntr[i] - 1]i+ 1pointersarray description in Skyline Storage Scheme for more details.
- b
- Array, size.ldb*nOn entry withortransa='N''n', the leadingk-by-npart of the arraybmust contain the matrixB, otherwise the leadingm-by-npart of the arraybmust contain the matrixB.
- ldb
- Specifies the leading dimension ofbas declared in the calling (sub)program.
- beta
- Specifies the scalarbeta.
- c
- Array, sizeldcbyn.On entry, the leadingm-by-npart of the arraycmust contain the matrixC, otherwise the leadingk-by-npart of the arraycmust contain the matrixC.
- ldc
- Specifies the leading dimension ofcas declared in the calling (sub)program.
Output Parameters
- c
- Overwritten by the matrix(,alpha*A*B+beta*C)(, oralpha*AT*B+beta*C)(.alpha*AH*B+beta*C)