Intel® oneAPI Math Kernel Library Developer Reference - C
Computes a matrix-vector product using a general matrix.
void cblas_sgemv (const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE trans, const MKL_INT m, const MKL_INT n, const float alpha, const float *a, const MKL_INT lda, const float *x, const MKL_INT incx, const float beta, float *y, const MKL_INT incy);
void cblas_dgemv (const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE trans, const MKL_INT m, const MKL_INT n, const double alpha, const double *a, const MKL_INT lda, const double *x, const MKL_INT incx, const double beta, double *y, const MKL_INT incy);
void cblas_cgemv (const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE trans, const MKL_INT m, const MKL_INT n, const void *alpha, const void *a, const MKL_INT lda, const void *x, const MKL_INT incx, const void *beta, void *y, const MKL_INT incy);
void cblas_zgemv (const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE trans, const MKL_INT m, const MKL_INT n, const void *alpha, const void *a, const MKL_INT lda, const void *x, const MKL_INT incx, const void *beta, void *y, const MKL_INT incy);
The ?gemv routines perform a matrix-vector operation defined as:
y := alpha*A*x + beta*y,
or
y := alpha*A'*x + beta*y,
or
y := alpha*conjg(A')*x + beta*y,
where:
alpha and beta are scalars,
x and y are vectors,
A is an m-by-n matrix.
Specifies whether two-dimensional array storage is row-major (CblasRowMajor) or column-major (CblasColMajor).
Specifies the operation:
if trans=CblasNoTrans, then y := alpha*A*x + beta*y;
if trans=CblasTrans, then y := alpha*A'*x + beta*y;
if trans=CblasConjTrans, then y := alpha *conjg(A')*x + beta*y.
Specifies the number of rows of the matrix A. The value of m must be at least zero.
Specifies the number of columns of the matrix A. The value of n must be at least zero.
Specifies the scalar alpha.
Array, size lda*k.
For Layout = CblasColMajor, k is n. Before entry, the leading m-by-n part of the array a must contain the matrix A.
For Layout = CblasRowMajor, k is m. Before entry, the leading n-by-m part of the array a must contain the matrix A.
Specifies the leading dimension of a as declared in the calling (sub)program.
For Layout = CblasColMajor, the value of lda must be at least max(1, m).
For Layout = CblasRowMajor, the value of lda must be at least max(1, n).
Array, size at least (1+(n-1)*abs(incx)) when trans=CblasNoTrans and at least (1+(m - 1)*abs(incx)) otherwise. Before entry, the incremented array x must contain the vector x.
Specifies the increment for the elements of x.
The value of incx must not be zero.
Specifies the scalar beta. When beta is set to zero, then y need not be set on input.
Array, size at least (1 +(m - 1)*abs(incy)) when trans=CblasNoTrans and at least (1 +(n - 1)*abs(incy)) otherwise. Before entry with non-zero beta, the incremented array y must contain the vector y.
Specifies the increment for the elements of y.
The value of incy must not be zero.
Updated vector y.