120 SUBROUTINE dpptrf( UPLO, N, AP, INFO )
132 DOUBLE PRECISION AP( * )
138 DOUBLE PRECISION ONE, ZERO
139 parameter( one = 1.0d+0, zero = 0.0d+0 )
148 DOUBLE PRECISION DDOT
162 upper = lsame( uplo,
'U' )
163 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
165 ELSE IF( n.LT.0 )
THEN
169 CALL xerbla(
'DPPTRF', -info )
190 $
CALL dtpsv(
'Upper',
'Transpose',
'Non-unit', j-1, ap,
195 ajj = ap( jj ) - ddot( j-1, ap( jc ), 1, ap( jc ), 1 )
196 IF( ajj.LE.zero )
THEN
200 ap( jj ) = sqrt( ajj )
212 IF( ajj.LE.zero )
THEN
223 CALL dscal( n-j, one / ajj, ap( jj+1 ), 1 )
224 CALL dspr(
'Lower', n-j, -one, ap( jj+1 ), 1,