LAPACK  3.9.1
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.

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
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: