# ?lacpy

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

## Syntax

call slacpy( uplo, m, n, a, lda, b, ldb )

call dlacpy( uplo, m, n, a, lda, b, ldb )

call clacpy( uplo, m, n, a, lda, b, ldb )

call zlacpy( uplo, m, n, a, lda, b, ldb )

## Description

This routine copies all or part of a two-dimensional matrix A to another matrix B.

## Input Parameters

uplo

  CHARACTER*1.

  Specifies the part of the matrix A to be copied to B.

  If `uplo = 'U'`, the upper triangular part of ;

  if `uplo = 'L'`, the lower triangular part of A.

  Otherwise, all of the matrix A is copied.

m

  INTEGER. The number of rows in the matrix A (`m ≥ 0`).

n

  INTEGER. The number of columns in A (`n ≥ 0`).

a

  REAL for slacpy

  DOUBLE PRECISION for dlacpy

  COMPLEX for clacpy

  COMPLEX*16 for zlacpy.

  Array `a(lda,*)`, contains the m-by-n matrix A.

  The second dimension of a must be at least `max(1,n)`.

  If `uplo = 'U'`, only the upper triangle or trapezoid is accessed; if `uplo = 'L'`, only the lower triangle or trapezoid is accessed.

lda

  INTEGER. The first dimension of a; `lda ≥ max(1, m)`.

ldb

  INTEGER. The first dimension of the output array b; `ldb ≥ max(1, m)`.

## Output Parameters

b

  REAL for slacpy

  DOUBLE PRECISION for dlacpy

  COMPLEX for clacpy

  COMPLEX*16 for zlacpy.

  Array b(ldb,*), contains the m-by-n matrix B.

  The second dimension of b must be at least `max(1,n)`.

  On exit, `B = A` in the locations specified by uplo.

Parent topic: Auxiliary Routines