 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.

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).

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