Developer Reference for Intel® oneAPI Math Kernel Library for C
p?rscl
Multiplies a vector by the reciprocal of a real scalar.
Syntax
voidpsrscl ( MKL_INT*n , float*sa , float*sx , MKL_INT*ix , MKL_INT*jx , MKL_INT*descx , MKL_INT*incx );
voidpdrscl ( MKL_INT*n , double*sa , double*sx , MKL_INT*ix , MKL_INT*jx , MKL_INT*descx , MKL_INT*incx );
voidpcsrscl ( MKL_INT*n , float*sa , MKL_Complex8*sx , MKL_INT*ix , MKL_INT*jx , MKL_INT*descx , MKL_INT*incx );
voidpzdrscl ( MKL_INT*n , double*sa , MKL_Complex16*sx , MKL_INT*ix , MKL_INT*jx , MKL_INT*descx , MKL_INT*incx );
Include Files
mkl_scalapack.h
Description
psrscl pdrscl pcsrscl pzdrscl The p?rscl routine function multiplies an n -element real/complex vector sub( X ) by the real scalar 1/ a . This is done without overflow or underflow as long as the final result sub( X )/a does not overflow or underflow.
sub( X ) denotes X(ix:ix+n-1, jx:jx) , if incx = 1 ,
and X(ix:ix, jx:jx+n-1) , if incx = m_x .
Input Parameters
n
(global)
The number of components of the distributed vector sub( X ). n ≥ 0 .
- sa
-
REAL for psrscl/pcsrscl DOUBLE PRECISION for pdrscl/pzdrscl . The scalar a that is used to divide each component of the vector sub( X ). This parameter must be ≥ 0.
- sx
-
REAL for psrscl DOUBLE PRECISION for pdrscl COMPLEX for pcsrscl COMPLEX*16 for pzdrscl . Array containing the local pieces of a distributed matrix of size of at least ((jx-1)*m_x + ix + (n-1)*abs(incx)) . This array contains the entries of the distributed vector sub( X ).
ix
(global) The row index of the submatrix of the distributed matrix X to operate on.
jx
(global)
The column index of the submatrix of the distributed matrix X to operate on.
descx
(global and local)
Array of size 9. The array descriptor for the distributed matrix X .
incx
(global)
The increment for the elements of X . This version supports only two values of incx , namely 1 and m_x .