LAPACK
3.5.0
LAPACK: Linear Algebra PACKage
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Macros
zlat2c.f
Go to the documentation of this file.
1
*> \brief \b ZLAT2C converts a double complex triangular matrix to a complex triangular matrix.
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
*> \htmlonly
9
*> Download ZLAT2C + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlat2c.f">
11
*> [TGZ]</a>
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlat2c.f">
13
*> [ZIP]</a>
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlat2c.f">
15
*> [TXT]</a>
16
*> \endhtmlonly
17
*
18
* Definition:
19
* ===========
20
*
21
* SUBROUTINE ZLAT2C( UPLO, N, A, LDA, SA, LDSA, INFO )
22
*
23
* .. Scalar Arguments ..
24
* CHARACTER UPLO
25
* INTEGER INFO, LDA, LDSA, N
26
* ..
27
* .. Array Arguments ..
28
* COMPLEX SA( LDSA, * )
29
* COMPLEX*16 A( LDA, * )
30
* ..
31
*
32
*
33
*> \par Purpose:
34
* =============
35
*>
36
*> \verbatim
37
*>
38
*> ZLAT2C converts a COMPLEX*16 triangular matrix, SA, to a COMPLEX
39
*> triangular matrix, A.
40
*>
41
*> RMAX is the overflow for the SINGLE PRECISION arithmetic
42
*> ZLAT2C checks that all the entries of A are between -RMAX and
43
*> RMAX. If not the convertion is aborted and a flag is raised.
44
*>
45
*> This is an auxiliary routine so there is no argument checking.
46
*> \endverbatim
47
*
48
* Arguments:
49
* ==========
50
*
51
*> \param[in] UPLO
52
*> \verbatim
53
*> UPLO is CHARACTER*1
54
*> = 'U': A is upper triangular;
55
*> = 'L': A is lower triangular.
56
*> \endverbatim
57
*>
58
*> \param[in] N
59
*> \verbatim
60
*> N is INTEGER
61
*> The number of rows and columns of the matrix A. N >= 0.
62
*> \endverbatim
63
*>
64
*> \param[in] A
65
*> \verbatim
66
*> A is COMPLEX*16 array, dimension (LDA,N)
67
*> On entry, the N-by-N triangular coefficient matrix A.
68
*> \endverbatim
69
*>
70
*> \param[in] LDA
71
*> \verbatim
72
*> LDA is INTEGER
73
*> The leading dimension of the array A. LDA >= max(1,N).
74
*> \endverbatim
75
*>
76
*> \param[out] SA
77
*> \verbatim
78
*> SA is COMPLEX array, dimension (LDSA,N)
79
*> Only the UPLO part of SA is referenced. On exit, if INFO=0,
80
*> the N-by-N coefficient matrix SA; if INFO>0, the content of
81
*> the UPLO part of SA is unspecified.
82
*> \endverbatim
83
*>
84
*> \param[in] LDSA
85
*> \verbatim
86
*> LDSA is INTEGER
87
*> The leading dimension of the array SA. LDSA >= max(1,M).
88
*> \endverbatim
89
*>
90
*> \param[out] INFO
91
*> \verbatim
92
*> INFO is INTEGER
93
*> = 0: successful exit.
94
*> = 1: an entry of the matrix A is greater than the SINGLE
95
*> PRECISION overflow threshold, in this case, the content
96
*> of the UPLO part of SA in exit is unspecified.
97
*> \endverbatim
98
*
99
* Authors:
100
* ========
101
*
102
*> \author Univ. of Tennessee
103
*> \author Univ. of California Berkeley
104
*> \author Univ. of Colorado Denver
105
*> \author NAG Ltd.
106
*
107
*> \date September 2012
108
*
109
*> \ingroup complex16OTHERauxiliary
110
*
111
* =====================================================================
112
SUBROUTINE
zlat2c
( UPLO, N, A, LDA, SA, LDSA, INFO )
113
*
114
* -- LAPACK auxiliary routine (version 3.4.2) --
115
* -- LAPACK is a software package provided by Univ. of Tennessee, --
116
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
117
* September 2012
118
*
119
* .. Scalar Arguments ..
120
CHARACTER
uplo
121
INTEGER
info, lda, ldsa, n
122
* ..
123
* .. Array Arguments ..
124
COMPLEX
sa( ldsa, * )
125
COMPLEX*16
a( lda, * )
126
* ..
127
*
128
* =====================================================================
129
*
130
* .. Local Scalars ..
131
INTEGER
i,
j
132
DOUBLE PRECISION
rmax
133
LOGICAL
upper
134
* ..
135
* .. Intrinsic Functions ..
136
INTRINSIC
dble, dimag
137
* ..
138
* .. External Functions ..
139
REAL
slamch
140
LOGICAL
lsame
141
EXTERNAL
slamch
,
lsame
142
* ..
143
* .. Executable Statements ..
144
*
145
rmax =
slamch
(
'O'
)
146
upper =
lsame
( uplo,
'U'
)
147
IF
( upper )
THEN
148
DO
20
j
= 1, n
149
DO
10 i = 1,
j
150
IF
( ( dble( a( i,
j
) ).LT.-rmax ) .OR.
151
$ ( dble( a( i,
j
) ).GT.rmax ) .OR.
152
$ ( dimag( a( i,
j
) ).LT.-rmax ) .OR.
153
$ ( dimag( a( i,
j
) ).GT.rmax ) )
THEN
154
info = 1
155
go to 50
156
END IF
157
sa( i,
j
) = a( i,
j
)
158
10
CONTINUE
159
20
CONTINUE
160
ELSE
161
DO
40
j
= 1, n
162
DO
30 i =
j
, n
163
IF
( ( dble( a( i,
j
) ).LT.-rmax ) .OR.
164
$ ( dble( a( i,
j
) ).GT.rmax ) .OR.
165
$ ( dimag( a( i,
j
) ).LT.-rmax ) .OR.
166
$ ( dimag( a( i,
j
) ).GT.rmax ) )
THEN
167
info = 1
168
go to 50
169
END IF
170
sa( i,
j
) = a( i,
j
)
171
30
CONTINUE
172
40
CONTINUE
173
END IF
174
50
CONTINUE
175
*
176
RETURN
177
*
178
* End of ZLAT2C
179
*
180
END
src
zlat2c.f
Generated on Mon Dec 30 2013 16:10:51 for LAPACK by
1.8.1.2