p?rot
p?rot
Applies a planar rotation to two distributed vectors.
Syntax
void psrot
(
MKL_INT*
n
,
float*
x
,
MKL_INT*
ix
,
MKL_INT*
jx
,
MKL_INT*
descx
,
MKL_INT*
incx
,
float*
y
,
MKL_INT*
iy
,
MKL_INT*
jy
,
MKL_INT*
descy
,
MKL_INT*
incy
,
float*
cs
,
float*
sn
,
float*
work
,
MKL_INT*
lwork
,
MKL_INT*
info
);
void pdrot
(
MKL_INT*
n
,
double*
x
,
MKL_INT*
ix
,
MKL_INT*
jx
,
MKL_INT*
descx
,
MKL_INT*
incx
,
double*
y
,
MKL_INT*
iy
,
MKL_INT*
jy
,
MKL_INT*
descy
,
MKL_INT*
incy
,
double*
cs
,
double*
sn
,
double*
work
,
MKL_INT*
lwork
,
MKL_INT*
info
);
Include Files
- mkl_scalapack.h
Description
p?rot
applies a planar rotation defined by cs
and sn
to the two distributed vectors sub(x
) and sub(y
). Input Parameters
- n
- (global )The number of elements to operate on when applying the planar rotation toxandy(n≥0).
- x
- (local) array of size ( (jx-1)*m_x+ix+ (n- 1 )*abs(incx) )This array contains the entries of the distributed vector sub(x).
- ix
- (global )The global row index of the submatrix of the distributed matrixxto operate on. Ifincx= 1, then it is required thatix=iy. 1≤ix≤m_x.
- jx
- (global )The global column index of the submatrix of the distributed matrixxto operate on. Ifincx=m_x, then it is required thatjx=jy. 1≤ix≤n_x.
- descx
- (global and local) array of size 9The array descriptor of the distributed matrixx.
- incx
- (global )The global increment for the elements ofx. Only two values ofincxare supported in this version, namely 1 andm_x. Moreover, it must hold thatincx=m_xifincy=m_yand thatincx= 1 ifincy= 1.
- y
- (local) array of size ( (jy-1)*m_y+iy+ (n- 1 )*abs(incy) )This array contains the entries of the distributed vector sub(y).
- iy
- (global )The global row index of the submatrix of the distributed matrixyto operate on. Ifincy= 1, then it is required thatiy=ix. 1≤iy≤m_y.
- jy
- (global )The global column index of the submatrix of the distributed matrixyto operate on. Ifincy=m_x, then it is required thatjy=jx. 1≤jy≤m_y.
- descy
- (global and local) array of size 9The array descriptor of the distributed matrixy.
- incy
- (global )The global increment for the elements ofy. Only two values ofincyare supported in this version, namely 1 andm_y. Moreover, it must hold thatincy=m_yifincx=m_xand thatincy= 1 ifincx= 1.
- cs,sn
- (global)The parameters defining the properties of the planar rotation. It must hold that 0≤cs,sn≤1 and thatsn2+cs2= 1. The latter is hardly checked in finite precision arithmetics.
- work
- (local workspace) array of sizelwork
- lwork
- (local )The length of the workspace arraywork.Ifincx= 1 andincy= 1, thenlwork= 2*m_xIflwork= -1, then a workspace query is assumed; thefunctiononly calculates the optimal size of theworkarray, returns this value as the first entry of the IWORK array, and no error message related to LIWORK is issued bypxerbla.
OUTPUT Parameters
- x
- y
- work[0]
- On exit, ifinfo= 0,work[0]returns the optimallwork
- info
- (global )= 0: successful exit< 0: ifinfo= -i, thei-th argument had an illegal value.If thei-th argument is an array and thej-th entry, indexedhad an illegal value, thenj-1,info= -(i*100+j), if thei-th argument is a scalar and had an illegal value, theninfo= -i.