Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
Document Table of Contents

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

The p?lacp2function 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).

Pointer into the local memory to an array of sizelld_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).

Pointer into the local memory to an array of size 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≤ij, 1≤jn;

if uplo = 'L', B(ib+i-1, jb+j-1) = A(ia+i-1, ja+j-1), jim, 1≤jn;

otherwise, B(ib+i-1, jb+j-1) = A(ia+i-1, ja+j-1), 1≤im, 1≤jn.

See Also