LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

## ◆ zlat2c()

 subroutine zlat2c ( character UPLO, integer N, complex*16, dimension( lda, * ) A, integer LDA, complex, dimension( ldsa, * ) SA, integer LDSA, integer INFO )

ZLAT2C converts a double complex triangular matrix to a complex triangular matrix.

Purpose:
``` ZLAT2C converts a COMPLEX*16 triangular matrix, SA, to a COMPLEX
triangular matrix, A.

RMAX is the overflow for the SINGLE PRECISION arithmetic
ZLAT2C checks that all the entries of A are between -RMAX and
RMAX. If not the conversion is aborted and a flag is raised.

This is an auxiliary routine so there is no argument checking.```
Parameters
 [in] UPLO ``` UPLO is CHARACTER*1 = 'U': A is upper triangular; = 'L': A is lower triangular.``` [in] N ``` N is INTEGER The number of rows and columns of the matrix A. N >= 0.``` [in] A ``` A is COMPLEX*16 array, dimension (LDA,N) On entry, the N-by-N triangular coefficient matrix A.``` [in] LDA ``` LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N).``` [out] SA ``` SA is COMPLEX array, dimension (LDSA,N) Only the UPLO part of SA is referenced. On exit, if INFO=0, the N-by-N coefficient matrix SA; if INFO>0, the content of the UPLO part of SA is unspecified.``` [in] LDSA ``` LDSA is INTEGER The leading dimension of the array SA. LDSA >= max(1,M).``` [out] INFO ``` INFO is INTEGER = 0: successful exit. = 1: an entry of the matrix A is greater than the SINGLE PRECISION overflow threshold, in this case, the content of the UPLO part of SA in exit is unspecified.```

Definition at line 110 of file zlat2c.f.

111*
112* -- LAPACK auxiliary routine --
113* -- LAPACK is a software package provided by Univ. of Tennessee, --
114* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
115*
116* .. Scalar Arguments ..
117 CHARACTER UPLO
118 INTEGER INFO, LDA, LDSA, N
119* ..
120* .. Array Arguments ..
121 COMPLEX SA( LDSA, * )
122 COMPLEX*16 A( LDA, * )
123* ..
124*
125* =====================================================================
126*
127* .. Local Scalars ..
128 INTEGER I, J
129 DOUBLE PRECISION RMAX
130 LOGICAL UPPER
131* ..
132* .. Intrinsic Functions ..
133 INTRINSIC dble, dimag, cmplx
134* ..
135* .. External Functions ..
136 REAL SLAMCH
137 LOGICAL LSAME
138 EXTERNAL slamch, lsame
139* ..
140* .. Executable Statements ..
141*
142 rmax = slamch( 'O' )
143 upper = lsame( uplo, 'U' )
144 IF( upper ) THEN
145 DO 20 j = 1, n
146 DO 10 i = 1, j
147 IF( ( dble( a( i, j ) ).LT.-rmax ) .OR.
148 \$ ( dble( a( i, j ) ).GT.rmax ) .OR.
149 \$ ( dimag( a( i, j ) ).LT.-rmax ) .OR.
150 \$ ( dimag( a( i, j ) ).GT.rmax ) ) THEN
151 info = 1
152 GO TO 50
153 END IF
154 sa( i, j ) = cmplx( a( i, j ) )
155 10 CONTINUE
156 20 CONTINUE
157 ELSE
158 DO 40 j = 1, n
159 DO 30 i = j, n
160 IF( ( dble( a( i, j ) ).LT.-rmax ) .OR.
161 \$ ( dble( a( i, j ) ).GT.rmax ) .OR.
162 \$ ( dimag( a( i, j ) ).LT.-rmax ) .OR.
163 \$ ( dimag( a( i, j ) ).GT.rmax ) ) THEN
164 info = 1
165 GO TO 50
166 END IF
167 sa( i, j ) = cmplx( a( i, j ) )
168 30 CONTINUE
169 40 CONTINUE
170 END IF
171 50 CONTINUE
172*
173 RETURN
174*
175* End of ZLAT2C
176*
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53
real function slamch(CMACH)
SLAMCH
Definition: slamch.f:68
Here is the caller graph for this function: