LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ dlacpy()

subroutine dlacpy ( character  UPLO,
integer  M,
integer  N,
double precision, dimension( lda, * )  A,
integer  LDA,
double precision, dimension( ldb, * )  B,
integer  LDB 
)

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

Download DLACPY + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 DLACPY copies all or part of a two-dimensional matrix A to another
 matrix B.
Parameters
[in]UPLO
          UPLO is CHARACTER*1
          Specifies the part of the matrix A to be copied to B.
          = 'U':      Upper triangular part
          = 'L':      Lower triangular part
          Otherwise:  All of the matrix A
[in]M
          M is INTEGER
          The number of rows of the matrix A.  M >= 0.
[in]N
          N is INTEGER
          The number of columns of the matrix A.  N >= 0.
[in]A
          A is DOUBLE PRECISION array, dimension (LDA,N)
          The m by n matrix A.  If UPLO = 'U', only the upper triangle
          or trapezoid is accessed; if UPLO = 'L', only the lower
          triangle or trapezoid is accessed.
[in]LDA
          LDA is INTEGER
          The leading dimension of the array A.  LDA >= max(1,M).
[out]B
          B is DOUBLE PRECISION array, dimension (LDB,N)
          On exit, B = A in the locations specified by UPLO.
[in]LDB
          LDB is INTEGER
          The leading dimension of the array B.  LDB >= max(1,M).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 102 of file dlacpy.f.

103 *
104 * -- LAPACK auxiliary routine --
105 * -- LAPACK is a software package provided by Univ. of Tennessee, --
106 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
107 *
108 * .. Scalar Arguments ..
109  CHARACTER UPLO
110  INTEGER LDA, LDB, M, N
111 * ..
112 * .. Array Arguments ..
113  DOUBLE PRECISION A( LDA, * ), B( LDB, * )
114 * ..
115 *
116 * =====================================================================
117 *
118 * .. Local Scalars ..
119  INTEGER I, J
120 * ..
121 * .. External Functions ..
122  LOGICAL LSAME
123  EXTERNAL lsame
124 * ..
125 * .. Intrinsic Functions ..
126  INTRINSIC min
127 * ..
128 * .. Executable Statements ..
129 *
130  IF( lsame( uplo, 'U' ) ) THEN
131  DO 20 j = 1, n
132  DO 10 i = 1, min( j, m )
133  b( i, j ) = a( i, j )
134  10 CONTINUE
135  20 CONTINUE
136  ELSE IF( lsame( uplo, 'L' ) ) THEN
137  DO 40 j = 1, n
138  DO 30 i = j, m
139  b( i, j ) = a( i, j )
140  30 CONTINUE
141  40 CONTINUE
142  ELSE
143  DO 60 j = 1, n
144  DO 50 i = 1, m
145  b( i, j ) = a( i, j )
146  50 CONTINUE
147  60 CONTINUE
148  END IF
149  RETURN
150 *
151 * End of DLACPY
152 *
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53