LAPACK
3.4.2
LAPACK: Linear Algebra PACKage
Main Page
Modules
Files
File List
File Members
All
Files
Functions
Groups
dlacpy.f
Go to the documentation of this file.
1
*> \brief \b DLACPY copies all or part of one two-dimensional array to another.
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
*> \htmlonly
9
*> Download DLACPY + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlacpy.f">
11
*> [TGZ]</a>
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlacpy.f">
13
*> [ZIP]</a>
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlacpy.f">
15
*> [TXT]</a>
16
*> \endhtmlonly
17
*
18
* Definition:
19
* ===========
20
*
21
* SUBROUTINE DLACPY( UPLO, M, N, A, LDA, B, LDB )
22
*
23
* .. Scalar Arguments ..
24
* CHARACTER UPLO
25
* INTEGER LDA, LDB, M, N
26
* ..
27
* .. Array Arguments ..
28
* DOUBLE PRECISION A( LDA, * ), B( LDB, * )
29
* ..
30
*
31
*
32
*> \par Purpose:
33
* =============
34
*>
35
*> \verbatim
36
*>
37
*> DLACPY copies all or part of a two-dimensional matrix A to another
38
*> matrix B.
39
*> \endverbatim
40
*
41
* Arguments:
42
* ==========
43
*
44
*> \param[in] UPLO
45
*> \verbatim
46
*> UPLO is CHARACTER*1
47
*> Specifies the part of the matrix A to be copied to B.
48
*> = 'U': Upper triangular part
49
*> = 'L': Lower triangular part
50
*> Otherwise: All of the matrix A
51
*> \endverbatim
52
*>
53
*> \param[in] M
54
*> \verbatim
55
*> M is INTEGER
56
*> The number of rows of the matrix A. M >= 0.
57
*> \endverbatim
58
*>
59
*> \param[in] N
60
*> \verbatim
61
*> N is INTEGER
62
*> The number of columns of the matrix A. N >= 0.
63
*> \endverbatim
64
*>
65
*> \param[in] A
66
*> \verbatim
67
*> A is DOUBLE PRECISION array, dimension (LDA,N)
68
*> The m by n matrix A. If UPLO = 'U', only the upper triangle
69
*> or trapezoid is accessed; if UPLO = 'L', only the lower
70
*> triangle or trapezoid is accessed.
71
*> \endverbatim
72
*>
73
*> \param[in] LDA
74
*> \verbatim
75
*> LDA is INTEGER
76
*> The leading dimension of the array A. LDA >= max(1,M).
77
*> \endverbatim
78
*>
79
*> \param[out] B
80
*> \verbatim
81
*> B is DOUBLE PRECISION array, dimension (LDB,N)
82
*> On exit, B = A in the locations specified by UPLO.
83
*> \endverbatim
84
*>
85
*> \param[in] LDB
86
*> \verbatim
87
*> LDB is INTEGER
88
*> The leading dimension of the array B. LDB >= max(1,M).
89
*> \endverbatim
90
*
91
* Authors:
92
* ========
93
*
94
*> \author Univ. of Tennessee
95
*> \author Univ. of California Berkeley
96
*> \author Univ. of Colorado Denver
97
*> \author NAG Ltd.
98
*
99
*> \date September 2012
100
*
101
*> \ingroup auxOTHERauxiliary
102
*
103
* =====================================================================
104
SUBROUTINE
dlacpy
( UPLO, M, N, A, LDA, B, LDB )
105
*
106
* -- LAPACK auxiliary routine (version 3.4.2) --
107
* -- LAPACK is a software package provided by Univ. of Tennessee, --
108
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
109
* September 2012
110
*
111
* .. Scalar Arguments ..
112
CHARACTER
uplo
113
INTEGER
lda, ldb, m, n
114
* ..
115
* .. Array Arguments ..
116
DOUBLE PRECISION
a( lda, * ), b( ldb, * )
117
* ..
118
*
119
* =====================================================================
120
*
121
* .. Local Scalars ..
122
INTEGER
i, j
123
* ..
124
* .. External Functions ..
125
LOGICAL
lsame
126
EXTERNAL
lsame
127
* ..
128
* .. Intrinsic Functions ..
129
INTRINSIC
min
130
* ..
131
* .. Executable Statements ..
132
*
133
IF
(
lsame
( uplo,
'U'
) )
THEN
134
DO
20 j = 1, n
135
DO
10 i = 1, min( j, m )
136
b( i, j ) = a( i, j )
137
10 continue
138
20 continue
139
ELSE
IF
(
lsame
( uplo,
'L'
) )
THEN
140
DO
40 j = 1, n
141
DO
30 i = j, m
142
b( i, j ) = a( i, j )
143
30 continue
144
40 continue
145
ELSE
146
DO
60 j = 1, n
147
DO
50 i = 1, m
148
b( i, j ) = a( i, j )
149
50 continue
150
60 continue
151
END IF
152
return
153
*
154
* End of DLACPY
155
*
156
END
SRC
dlacpy.f
Generated on Tue Sep 25 2012 16:27:32 for LAPACK by
1.8.1.1