Intel® oneAPI Math Kernel Library Developer Reference - C
Computes matrix - vector product of a sparse general matrix stored in the diagonal format with one-based indexing (deprecated).
void mkl_sdiagemv (const char *transa , const MKL_INT *m , const float *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const float *x , float *y );
void mkl_ddiagemv (const char *transa , const MKL_INT *m , const double *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const double *x , double *y );
void mkl_cdiagemv (const char *transa , const MKL_INT *m , const MKL_Complex8 *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const MKL_Complex8 *x , MKL_Complex8 *y );
void mkl_zdiagemv (const char *transa , const MKL_INT *m , const MKL_Complex16 *val , const MKL_INT *lval , const MKL_INT *idiag , const MKL_INT *ndiag , const MKL_Complex16 *x , MKL_Complex16 *y );
This routine is deprecated. Use mkl_sparse_?_mvfrom the Intel® oneAPI Math Kernel Library Inspector-executor Sparse BLAS interface instead.
The mkl_?diagemv routine performs a matrix-vector operation defined as
y := A*x
or
y := AT*x,
where:
x and y are vectors,
A is an m-by-m sparse square matrix in the diagonal storage format, AT is the transpose of A.
This routine supports only one-based indexing of the input arrays.
Specifies the operation.
If transa = 'N' or 'n', then y := A*x
If transa = 'T' or 't' or 'C' or 'c', then y := AT*x,
Number of rows of the matrix A.
Two-dimensional array of size lval*ndiag, contains non-zero diagonals of the matrix A. Refer to values array description in Diagonal Storage Scheme for more details.
Leading dimension of vallval≥m. Refer to lval description in Diagonal Storage Scheme for more details.
Array of length ndiag, contains the distances between main diagonal and each non-zero diagonals in the matrix A.
Refer to distance array description in Diagonal Storage Scheme for more details.
Specifies the number of non-zero diagonals of the matrix A.
Array, size is m.
On entry, the array x must contain the vector x.
Array, size at least m.
On exit, the array y must contain the vector y.