123 SUBROUTINE dgttrf( N, DL, D, DU, DU2, IPIV, INFO )
134 DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * )
140 DOUBLE PRECISION ZERO
141 parameter( zero = 0.0d+0 )
145 DOUBLE PRECISION FACT, TEMP
158 CALL xerbla(
'DGTTRF', -info )
177 IF( abs( d( i ) ).GE.abs( dl( i ) ) )
THEN
181 IF( d( i ).NE.zero )
THEN
182 fact = dl( i ) / d( i )
184 d( i+1 ) = d( i+1 ) - fact*du( i )
190 fact = d( i ) / dl( i )
195 d( i+1 ) = temp - fact*d( i+1 )
197 du( i+1 ) = -fact*du( i+1 )
203 IF( abs( d( i ) ).GE.abs( dl( i ) ) )
THEN
204 IF( d( i ).NE.zero )
THEN
205 fact = dl( i ) / d( i )
207 d( i+1 ) = d( i+1 ) - fact*du( i )
210 fact = d( i ) / dl( i )
215 d( i+1 ) = temp - fact*d( i+1 )
223 IF( d( i ).EQ.zero )
THEN
subroutine xerbla(srname, info)
subroutine dgttrf(n, dl, d, du, du2, ipiv, info)
DGTTRF