Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

p?rscl

Multiplies a vector by the reciprocal of a real scalar.

Syntax

void psrscl (MKL_INT *n , float *sa , float *sx , MKL_INT *ix , MKL_INT *jx , MKL_INT *descx , MKL_INT *incx );

void pdrscl (MKL_INT *n , double *sa , double *sx , MKL_INT *ix , MKL_INT *jx , MKL_INT *descx , MKL_INT *incx );

void pcsrscl (MKL_INT *n , float *sa , MKL_Complex8 *sx , MKL_INT *ix , MKL_INT *jx , MKL_INT *descx , MKL_INT *incx );

void pzdrscl (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

The p?rsclfunction 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

The scalar a that is used to divide each component of the vector sub(X). This parameter must be 0.

sx

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.

Output Parameters

sx

On exit, the result x/a.

See Also