Developer Reference for Intel® oneAPI Math Kernel Library for C
p?lacp2
Copies all or part of a distributed matrix to another distributed matrix.
Syntax
void pslacp2(char *uplo, MKL_INT *m, MKL_INT *n, float *a, MKL_INT *ia, MKL_INT *ja,
MKL_INT *desca, float *b, MKL_INT *ib, MKL_INT *jb, MKL_INT *descb);
void pdlacp2(char *uplo, MKL_INT *m, MKL_INT *n, double *a, MKL_INT *ia, MKL_INT *ja,
MKL_INT *desca, double *b, MKL_INT *ib, MKL_INT *jb, MKL_INT *descb);
void pclacp2(char *uplo, MKL_INT *m, MKL_INT *n, MKL_Complex8 *a, MKL_INT *ia,
MKL_INT *ja, MKL_INT *desca, MKL_Complex8 *b, MKL_INT *ib, MKL_INT *jb,
MKL_INT *descb);
void pzlacp2(char *uplo, MKL_INT *m, MKL_INT *n, MKL_Complex16 *a, MKL_INT *ia,
MKL_INT *ja, MKL_INT *desca, MKL_Complex16 *b, MKL_INT *ib, MKL_INT *jb,
MKL_INT *descb);
Include Files
mkl_scalapack.h
Description
pslacp2 pdlacp2 pclacp2 pzlacp2 The p?lacp2 routine function copies all or part of a distributed matrix A to another distributed matrix B . No communication is performed, p?lacp2 performs a local copy sub( A ):= sub( B ), where sub( A ) denotes A(ia:ia+m-1 , a:ja+n-1) and sub( B ) denotes B(ib:ib+m-1 , jb:jb+n-1) .
p?lacp2 requires that only dimension of the matrix operands is distributed.
Input Parameters
uplo
(global) Specifies the part of the distributed matrix sub( A ) to be copied:
= ‘U’ : Upper triangular part is copied; the strictly lower triangular part of sub( A ) is not referenced; = ‘L’ : Lower triangular part is copied; the strictly upper triangular part of sub( A ) is not referenced. Otherwise: all of the matrix sub( A ) is copied.
m
(global)
The number of rows in the distributed matrix sub( A ). (m ≥ 0) .
n
(global)
The number of columns in the distributed matrix sub( A ). (n ≥ 0) .
- a
-
(local). REAL for pslacp2 DOUBLE PRECISION for pdlacp2 COMPLEX for pclacp2 COMPLEX*16 for pzlacp2 .
Pointer into the local memory to an array of size (lld_a, LOCc(ja+n-1))lld_a * LOCc(ja+n-1) .
On entry, this array contains the local pieces of the m -by- n distributed matrix sub( A ).
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of sub( A ), respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
ib , jb
(global) The row and column indices in the global matrix B indicating the first row and the first column of sub( B ), respectively.
descb
(global and local) array of size dlen_ . The array descriptor for the distributed matrix B .
Output Parameters
- b
-
(local). REAL for pslacp2 DOUBLE PRECISION for pdlacp2 COMPLEX for pclacp2 COMPLEX*16 for pzlacp2 .
Pointer into the local memory to an array of size (lld_b, LOCc(jb+n-1))lld_b * LOCc(jb+n-1) . This array contains on exit the local pieces of the distributed matrix sub( B ) set as follows:
if uplo = 'U' , B ( ib + i -1, jb + j -1) = A ( ia + i -1, ja + j -1), 1≤ i ≤ j , 1≤ j ≤ n ; if uplo = 'L' , B ( ib + i -1, jb + j -1) = A ( ia + i -1, ja + j -1), j ≤ i ≤ m , 1≤ j ≤ n ; otherwise, B ( ib + i -1, jb + j -1) = A ( ia + i -1, ja + j -1), 1≤ i ≤ m , 1≤ j ≤ n .