121      SUBROUTINE dgttrf( N, DL, D, DU, DU2, IPIV, INFO )
 
  132      DOUBLE PRECISION   D( * ), DL( * ), DU( * ), DU2( * )
 
  138      DOUBLE PRECISION   ZERO
 
  139      parameter( zero = 0.0d+0 )
 
  143      DOUBLE PRECISION   FACT, TEMP
 
  156         CALL xerbla( 
'DGTTRF', -info )
 
  175         IF( abs( d( i ) ).GE.abs( dl( i ) ) ) 
THEN 
  179            IF( d( i ).NE.zero ) 
THEN 
  180               fact = dl( i ) / d( i )
 
  182               d( i+1 ) = d( i+1 ) - fact*du( i )
 
  188            fact = d( i ) / dl( i )
 
  193            d( i+1 ) = temp - fact*d( i+1 )
 
  195            du( i+1 ) = -fact*du( i+1 )
 
  201         IF( abs( d( i ) ).GE.abs( dl( i ) ) ) 
THEN 
  202            IF( d( i ).NE.zero ) 
THEN 
  203               fact = dl( i ) / d( i )
 
  205               d( i+1 ) = d( i+1 ) - fact*du( i )
 
  208            fact = d( i ) / dl( i )
 
  213            d( i+1 ) = temp - fact*d( i+1 )
 
  221         IF( d( i ).EQ.zero ) 
THEN 
 
subroutine dgttrf(n, dl, d, du, du2, ipiv, info)
DGTTRF