 LAPACK  3.10.0 LAPACK: Linear Algebra PACKage

◆ 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
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 ) = 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 ) = 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: