p?laswp
p?laswp
Performs a series of row interchanges on a general rectangular matrix.
Syntax
void
pslaswp
(
char
*direc
,
char
*rowcol
,
MKL_INT
*n
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*k1
,
MKL_INT
*k2
,
MKL_INT
*ipiv
);
void
pdlaswp
(
char
*direc
,
char
*rowcol
,
MKL_INT
*n
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*k1
,
MKL_INT
*k2
,
MKL_INT
*ipiv
);
void
pclaswp
(
char
*direc
,
char
*rowcol
,
MKL_INT
*n
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*k1
,
MKL_INT
*k2
,
MKL_INT
*ipiv
);
void
pzlaswp
(
char
*direc
,
char
*rowcol
,
MKL_INT
*n
,
MKL_Complex16
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*k1
,
MKL_INT
*k2
,
MKL_INT
*ipiv
);
Include Files
- mkl_scalapack.h
Description
The
p?laswp
function
performs a series of row or column interchanges on the distributed matrix sub(
. One interchange is initiated for each of rows or columns A
)=A
(ia
:ia
+n
-1, ja
:ja
+n
-1)k1
through k2
of sub(A
). This function
assumes that the pivoting information has already been broadcast along the process row or column. Also note that this function
will only work for k1-k2
being in the same mb
(or nb
) block. If you want to pivot a full matrix, use p?lapiv
. Input Parameters
- direc
- (global)Specifies in which order the permutation is applied:='F'- forward,='B'- backward.
- rowcol
- (global)Specifies if the rows or columns are permuted:='R'- rows,='C'- columns.
- n
- (global)If, the length of the rows of the distributed matrixrowcol='R'to be permuted;A(*,ja:ja+n-1)If, the length of the columns of the distributed matrixrowcol='C'to be permuted;A(ia:ia+n-1 , *)
- a
- (local)Pointer into the local memory to an array of size. On entry, this array contains the local pieces of the distributed matrix to which the row/columns interchanges will be applied.lld_a*LOCc(n_a)
- ia
- (global)The row index in the global matrixAindicating the first row of sub(A).
- ja
- (global)The column index in the global matrixAindicating the first column of sub(A).
- desca
- (global and local) array of sizedlen_.The array descriptor for the distributed matrixA.
- k1
- (global)The first element ofipivfor which a row or column interchange will be done.
- k2
- (global)The last element ofipivfor which a row or column interchange will be done.
- ipiv
- (local)Array of sizefor row pivoting andLOCr(m_a)+mb_afor column pivoting. This array is tied to the matrixLOCr(n_a)+nb_aA,implies rows (or columns)ipiv[=k]landk+1lare to be interchanged,.k= 0, 1, ..., size (ipiv) -1
Output Parameters
- A
- (local)On exit, the permuted distributed matrix.