90 SUBROUTINE dpptri( UPLO, N, AP, INFO )
101 DOUBLE PRECISION AP( * )
108 parameter( one = 1.0d+0 )
112 INTEGER J, JC, JJ, JJN
117 DOUBLE PRECISION DDOT
128 upper = lsame( uplo,
'U' )
129 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
131 ELSE IF( n.LT.0 )
THEN
135 CALL xerbla(
'DPPTRI', -info )
146 CALL dtptri( uplo,
'Non-unit', n, ap, info )
159 $
CALL dspr(
'Upper', j-1, one, ap( jc ), 1, ap )
161 CALL dscal( j, ajj, ap( jc ), 1 )
171 ap( jj ) = ddot( n-j+1, ap( jj ), 1, ap( jj ), 1 )
173 $
CALL dtpmv(
'Lower',
'Transpose',
'Non-unit', n-j,
174 $ ap( jjn ), ap( jj+1 ), 1 )
subroutine xerbla(srname, info)
subroutine dspr(uplo, n, alpha, x, incx, ap)
DSPR
subroutine dpptri(uplo, n, ap, info)
DPPTRI
subroutine dscal(n, da, dx, incx)
DSCAL
subroutine dtpmv(uplo, trans, diag, n, ap, x, incx)
DTPMV
subroutine dtptri(uplo, diag, n, ap, info)
DTPTRI