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?lacpy

Copies all or part of one two-dimensional array to another.

Syntax

void pslacpy (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 pdlacpy (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 pclacpy (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 pzlacpy (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?lacpyfunction copies all or part of a distributed matrix A to another distributed matrix B. No communication is performed, p?lacpy performs a local copy sub(B):= sub(A), where sub(A) denotes A(ia:ia+m-1,ja:ja+n-1) and sub(B) denotes B(ib:ib+m-1,jb:jb+n-1).

Input Parameters

uplo

(global) Specifies the part of the distributed matrix sub(A) to be copied:

= 'U': Upper triangular part; the strictly lower triangular part of sub(A) is not referenced;

= 'L': Lower triangular part; 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). (m0).

n

(global)

The number of columns in the distributed matrix sub(A). (n0).

a

(local).

Pointer into the local memory to an array of size lld_a * LOCc(ja+n-1).

On entry, this array contains the local pieces of the 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 the matrix 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 A.

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