LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
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.

Download ZLAT2C + dependencies [TGZ] [ZIP] [TXT]

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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

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*
real function slamch(cmach)
SLAMCH
Definition slamch.f:68
logical function lsame(ca, cb)
LSAME
Definition lsame.f:48
Here is the caller graph for this function: