LAPACK
3.4.2
LAPACK: Linear Algebra PACKage
Main Page
Modules
Files
File List
File Members
All
Files
Functions
Groups
ctrttp.f
Go to the documentation of this file.
1
*> \brief \b CTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP).
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
*> \htmlonly
9
*> Download CTRTTP + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ctrttp.f">
11
*> [TGZ]</a>
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ctrttp.f">
13
*> [ZIP]</a>
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrttp.f">
15
*> [TXT]</a>
16
*> \endhtmlonly
17
*
18
* Definition:
19
* ===========
20
*
21
* SUBROUTINE CTRTTP( UPLO, N, A, LDA, AP, INFO )
22
*
23
* .. Scalar Arguments ..
24
* CHARACTER UPLO
25
* INTEGER INFO, N, LDA
26
* ..
27
* .. Array Arguments ..
28
* COMPLEX A( LDA, * ), AP( * )
29
* ..
30
*
31
*
32
*> \par Purpose:
33
* =============
34
*>
35
*> \verbatim
36
*>
37
*> CTRTTP copies a triangular matrix A from full format (TR) to standard
38
*> packed format (TP).
39
*> \endverbatim
40
*
41
* Arguments:
42
* ==========
43
*
44
*> \param[in] UPLO
45
*> \verbatim
46
*> UPLO is CHARACTER*1
47
*> = 'U': A is upper triangular;
48
*> = 'L': A is lower triangular.
49
*> \endverbatim
50
*>
51
*> \param[in] N
52
*> \verbatim
53
*> N is INTEGER
54
*> The order of the matrices AP and A. N >= 0.
55
*> \endverbatim
56
*>
57
*> \param[in] A
58
*> \verbatim
59
*> A is COMPLEX array, dimension (LDA,N)
60
*> On entry, the triangular matrix A. If UPLO = 'U', the leading
61
*> N-by-N upper triangular part of A contains the upper
62
*> triangular part of the matrix A, and the strictly lower
63
*> triangular part of A is not referenced. If UPLO = 'L', the
64
*> leading N-by-N lower triangular part of A contains the lower
65
*> triangular part of the matrix A, and the strictly upper
66
*> triangular part of A is not referenced.
67
*> \endverbatim
68
*>
69
*> \param[in] LDA
70
*> \verbatim
71
*> LDA is INTEGER
72
*> The leading dimension of the array A. LDA >= max(1,N).
73
*> \endverbatim
74
*>
75
*> \param[out] AP
76
*> \verbatim
77
*> AP is COMPLEX array, dimension ( N*(N+1)/2 ),
78
*> On exit, the upper or lower triangular matrix A, packed
79
*> columnwise in a linear array. The j-th column of A is stored
80
*> in the array AP as follows:
81
*> if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
82
*> if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
83
*> \endverbatim
84
*>
85
*> \param[out] INFO
86
*> \verbatim
87
*> INFO is INTEGER
88
*> = 0: successful exit
89
*> < 0: if INFO = -i, the i-th argument had an illegal value
90
*> \endverbatim
91
*
92
* Authors:
93
* ========
94
*
95
*> \author Univ. of Tennessee
96
*> \author Univ. of California Berkeley
97
*> \author Univ. of Colorado Denver
98
*> \author NAG Ltd.
99
*
100
*> \date September 2012
101
*
102
*> \ingroup complexOTHERcomputational
103
*
104
* =====================================================================
105
SUBROUTINE
ctrttp
( UPLO, N, A, LDA, AP, INFO )
106
*
107
* -- LAPACK computational routine (version 3.4.2) --
108
* -- LAPACK is a software package provided by Univ. of Tennessee, --
109
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
110
* September 2012
111
*
112
* .. Scalar Arguments ..
113
CHARACTER
uplo
114
INTEGER
info, n, lda
115
* ..
116
* .. Array Arguments ..
117
COMPLEX
a( lda, * ), ap( * )
118
* ..
119
*
120
* =====================================================================
121
*
122
* .. Parameters ..
123
* ..
124
* .. Local Scalars ..
125
LOGICAL
lower
126
INTEGER
i, j, k
127
* ..
128
* .. External Functions ..
129
LOGICAL
lsame
130
EXTERNAL
lsame
131
* ..
132
* .. External Subroutines ..
133
EXTERNAL
xerbla
134
* ..
135
* .. Executable Statements ..
136
*
137
* Test the input parameters.
138
*
139
info = 0
140
lower =
lsame
( uplo,
'L'
)
141
IF
( .NOT.lower .AND. .NOT.
lsame
( uplo,
'U'
) )
THEN
142
info = -1
143
ELSE
IF
( n.LT.0 )
THEN
144
info = -2
145
ELSE
IF
( lda.LT.max( 1, n ) )
THEN
146
info = -4
147
END IF
148
IF
( info.NE.0 )
THEN
149
CALL
xerbla
(
'CTRTTP'
, -info )
150
return
151
END IF
152
*
153
IF
( lower )
THEN
154
k = 0
155
DO
j = 1, n
156
DO
i = j, n
157
k = k + 1
158
ap( k ) = a( i, j )
159
END DO
160
END DO
161
ELSE
162
k = 0
163
DO
j = 1, n
164
DO
i = 1, j
165
k = k + 1
166
ap( k ) = a( i, j )
167
END DO
168
END DO
169
END IF
170
*
171
*
172
return
173
*
174
* End of CTRTTP
175
*
176
END
SRC
ctrttp.f
Generated on Tue Sep 25 2012 16:27:24 for LAPACK by
1.8.1.1