121 SUBROUTINE zgttrf( N, DL, D, DU, DU2, IPIV, INFO )
132 COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * )
138 DOUBLE PRECISION ZERO
139 parameter( zero = 0.0d+0 )
143 COMPLEX*16 FACT, TEMP, ZDUM
149 INTRINSIC abs, dble, dimag
152 DOUBLE PRECISION CABS1
155 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
162 CALL xerbla(
'ZGTTRF', -info )
181 IF( cabs1( d( i ) ).GE.cabs1( dl( i ) ) )
THEN
185 IF( cabs1( d( i ) ).NE.zero )
THEN
186 fact = dl( i ) / d( i )
188 d( i+1 ) = d( i+1 ) - fact*du( i )
194 fact = d( i ) / dl( i )
199 d( i+1 ) = temp - fact*d( i+1 )
201 du( i+1 ) = -fact*du( i+1 )
207 IF( cabs1( d( i ) ).GE.cabs1( dl( i ) ) )
THEN
208 IF( cabs1( d( i ) ).NE.zero )
THEN
209 fact = dl( i ) / d( i )
211 d( i+1 ) = d( i+1 ) - fact*du( i )
214 fact = d( i ) / dl( i )
219 d( i+1 ) = temp - fact*d( i+1 )
227 IF( cabs1( d( i ) ).EQ.zero )
THEN
subroutine zgttrf(n, dl, d, du, du2, ipiv, info)
ZGTTRF