Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

mkl_sparse_?_dotmv

Computes a sparse matrix-vector product followed by a dot product.

Syntax

stat = mkl_sparse_s_dotmv
(
operation
,
alpha
,
A
,
descr
,
x
,
beta
,
y
,
d
)
stat = mkl_sparse_d_dotmv
(
operation
,
alpha
,
A
,
descr
,
x
,
beta
,
y
,
d
)
stat = mkl_sparse_c_dotmv
(
operation
,
alpha
,
A
,
descr
,
x
,
beta
,
y
,
d
)
stat = mkl_sparse_z_dotmv
(
operation
,
alpha
,
A
,
descr
,
x
,
beta
,
y
,
d
)
Include Files
  • mkl_spblas.f90
Description
The
mkl_sparse_?_dotmv
routine computes a sparse matrix-vector product and dot product:
y
:=
alpha
*op(
A
)*
x
+
beta
*
y
d
:=
i
x
i
*y
i
(real case)
d
:=
i
conj(x
i
)*y
i
(complex case)
where
  • alpha
    and
    beta
    are scalars.
  • x
    and
    y
    are vectors.
  • A
    is an
    m
    -by-
    k
    matrix.
  • conj
    represents complex conjugation.
  • op(
    A
    )
    is a matrix modifier.
Available options for
op
(
A
) are
A
,
A
T
, or
A
H
.
For sparse matrices in the BSR format, the supported combinations of (
indexing
,
block_layout
) are:
  • (
    SPARSE_INDEX_BASE_ZERO
    ,
    SPARSE_LAYOUT_ROW_MAJOR
    )
  • (
    SPARSE_INDEX_BASE_ONE
    ,
    SPARSE_LAYOUT_COLUMN_MAJOR
    )
Input Parameters
operation
C_INT
.
Specifies the operation performed on matrix
A
.
If
operation
=
SPARSE_OPERATION_NON_TRANSPOSE
,
op(
A
) =
A
.
If
operation
=
SPARSE_OPERATION_TRANSPOSE
,
op(
A
) =
A
T
.
If
operation
=
SPARSE_OPERATION_CONJUGATE_TRANSPOSE
,
op(
A
) =
A
H
.
alpha
C_FLOAT
for
mkl_sparse_s_dotmv
C_DOUBLE
for
mkl_sparse_d_dotmv
C_FLOAT_COMPLEX
for
mkl_sparse_c_dotmv
C_DOUBLE_COMPLEX
for
mkl_sparse_z_dotmv
Specifies the scalar
alpha
.
A
SPARSE_MATRIX_T
.
Handle which contains the sparse matrix
A
.
descr
MATRIX_DESCR
.
Descriptor
specifying sparse matrix properties.
type
- Specifies the type of a sparse matrix:
SPARSE_MATRIX_TYPE_GENERAL
The matrix is processed as is.
SPARSE_MATRIX_TYPE_SYMMETRIC
The matrix is symmetric (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_HERMITIAN
The matrix is Hermitian (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_TRIANGULAR
The matrix is triangular (only the requested triangle is processed).
SPARSE_MATRIX_TYPE_DIAGONAL
The ma