127 DOUBLE PRECISION AP( * )
133 DOUBLE PRECISION ONE, ZERO
134 parameter( one = 1.0d+0, zero = 0.0d+0 )
143 DOUBLE PRECISION DDOT
157 upper = lsame( uplo,
'U' )
158 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
160 ELSE IF( n.LT.0 )
THEN
164 CALL xerbla(
'DPPTRF', -info )
185 $
CALL dtpsv(
'Upper',
'Transpose',
'Non-unit', j-1, ap,
190 ajj = ap( jj ) - ddot( j-1, ap( jc ), 1, ap( jc ), 1 )
191 IF( ajj.LE.zero )
THEN
195 ap( jj ) = sqrt( ajj )
207 IF( ajj.LE.zero )
THEN
218 CALL dscal( n-j, one / ajj, ap( jj+1 ), 1 )
219 CALL dspr(
'Lower', n-j, -one, ap( jj+1 ), 1,
subroutine xerbla(srname, info)
subroutine dspr(uplo, n, alpha, x, incx, ap)
DSPR
subroutine dpptrf(uplo, n, ap, info)
DPPTRF
subroutine dscal(n, da, dx, incx)
DSCAL
subroutine dtpsv(uplo, trans, diag, n, ap, x, incx)
DTPSV