Developer Reference for Intel® oneAPI Math Kernel Library for C
p?scal
Computes a product of a distributed vector by a scalar.
Syntax
void psscal(const MKL_INT *n, const float *a, float *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
void pdscal(const MKL_INT *n, const double *a, double *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
void pcscal(const MKL_INT *n, const MKL_Complex8 *a, MKL_Complex8 *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
void pzscal(const MKL_INT *n, const MKL_Complex16 *a, MKL_Complex16 *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
void pcsscal(const MKL_INT *n, const float *a, MKL_Complex8 *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
void pzdscal(const MKL_INT *n, const double *a, MKL_Complex16 *x, const MKL_INT *ix,
const MKL_INT *jx, const MKL_INT *descx, const MKL_INT *incx);
Include Files
mkl_pblas.h
Description
The p?scal routines multiplies a n -element distributed vector sub(x) by the scalar a : sub( x ) = a *sub( x ),
where sub(x) denotes X(ix, jx:jx+n-1) if incx=m_x , and X(ix: ix+n-1, jx) if incx= 1 .
Input Parameters
n
(global) The length of distributed vector sub(x) , n ≥ 0.
a
(global) and pcsscal
DOUBLE PRECISION for pdscal and pzdscal COMPLEX for pcscal DOUBLE COMPLEX for pzscal Specifies the scalar a .
x
(local)
DOUBLE PRECISION for pdscal COMPLEX for pcscal and pcsscal DOUBLE COMPLEX for pzscal and pzdscal Array, size (jx-1)*m_x + ix+(n-1)*abs(incx)) . This array contains the entries of the distributed vector sub(x) .
ix , jx
(global) The row and column indices in the distributed matrix X indicating the first row and the first column of the submatrix sub(X) , respectively.
descx
(global and local) array of dimension 9. The array descriptor of the distributed matrix X .
incx
(global) Specifies the increment for the elements of sub(x) . Only two values are supported, namely 1 and m_x . incx must not be zero.
Output Parameters
- x
-
Overwritten by the updated distributed vector sub(x)