125 SUBROUTINE dgttrf( N, DL, D, DU, DU2, IPIV, INFO )
137 DOUBLE PRECISION d( * ), dl( * ), du( * ), du2( * )
143 DOUBLE PRECISION zero
144 parameter( zero = 0.0d+0 )
148 DOUBLE PRECISION fact, temp
161 CALL
xerbla(
'DGTTRF', -info )
180 IF( abs( d( i ) ).GE.abs( dl( i ) ) )
THEN
184 IF( d( i ).NE.zero )
THEN
185 fact = dl( i ) / d( i )
187 d( i+1 ) = d( i+1 ) - fact*du( i )
193 fact = d( i ) / dl( i )
198 d( i+1 ) = temp - fact*d( i+1 )
200 du( i+1 ) = -fact*du( i+1 )
206 IF( abs( d( i ) ).GE.abs( dl( i ) ) )
THEN
207 IF( d( i ).NE.zero )
THEN
208 fact = dl( i ) / d( i )
210 d( i+1 ) = d( i+1 ) - fact*du( i )
213 fact = d( i ) / dl( i )
218 d( i+1 ) = temp - fact*d( i+1 )
226 IF( d( i ).EQ.zero )
THEN