92 SUBROUTINE dpttrf( N, D, E, INFO )
103 DOUBLE PRECISION D( * ), E( * )
109 DOUBLE PRECISION ZERO
110 parameter ( zero = 0.0d+0 )
129 CALL xerbla(
'DPTTRF', -info )
142 IF( d( i ).LE.zero )
THEN
148 d( i+1 ) = d( i+1 ) - e( i )*ei
151 DO 20 i = i4 + 1, n - 4, 4
156 IF( d( i ).LE.zero )
THEN
165 d( i+1 ) = d( i+1 ) - e( i )*ei
167 IF( d( i+1 ).LE.zero )
THEN
175 e( i+1 ) = ei / d( i+1 )
176 d( i+2 ) = d( i+2 ) - e( i+1 )*ei
178 IF( d( i+2 ).LE.zero )
THEN
186 e( i+2 ) = ei / d( i+2 )
187 d( i+3 ) = d( i+3 ) - e( i+2 )*ei
189 IF( d( i+3 ).LE.zero )
THEN
197 e( i+3 ) = ei / d( i+3 )
198 d( i+4 ) = d( i+4 ) - e( i+3 )*ei
subroutine dpttrf(N, D, E, INFO)
DPTTRF
subroutine xerbla(SRNAME, INFO)
XERBLA