123 SUBROUTINE zgttrf( N, DL, D, DU, DU2, IPIV, INFO )
134 COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * )
140 DOUBLE PRECISION ZERO
141 parameter( zero = 0.0d+0 )
145 COMPLEX*16 FACT, TEMP, ZDUM
151 INTRINSIC abs, dble, dimag
154 DOUBLE PRECISION CABS1
157 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
164 CALL xerbla(
'ZGTTRF', -info )
183 IF( cabs1( d( i ) ).GE.cabs1( dl( i ) ) )
THEN
187 IF( cabs1( d( i ) ).NE.zero )
THEN
188 fact = dl( i ) / d( i )
190 d( i+1 ) = d( i+1 ) - fact*du( i )
196 fact = d( i ) / dl( i )
201 d( i+1 ) = temp - fact*d( i+1 )
203 du( i+1 ) = -fact*du( i+1 )
209 IF( cabs1( d( i ) ).GE.cabs1( dl( i ) ) )
THEN
210 IF( cabs1( d( i ) ).NE.zero )
THEN
211 fact = dl( i ) / d( i )
213 d( i+1 ) = d( i+1 ) - fact*du( i )
216 fact = d( i ) / dl( i )
221 d( i+1 ) = temp - fact*d( i+1 )
229 IF( cabs1( d( i ) ).EQ.zero )
THEN
subroutine xerbla(srname, info)
subroutine zgttrf(n, dl, d, du, du2, ipiv, info)
ZGTTRF