92 SUBROUTINE dpptri( UPLO, N, AP, INFO )
103 DOUBLE PRECISION AP( * )
110 parameter( one = 1.0d+0 )
114 INTEGER J, JC, JJ, JJN
119 DOUBLE PRECISION DDOT
130 upper = lsame( uplo,
'U' )
131 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
133 ELSE IF( n.LT.0 )
THEN
137 CALL xerbla(
'DPPTRI', -info )
148 CALL dtptri( uplo,
'Non-unit', n, ap, info )
161 $
CALL dspr(
'Upper', j-1, one, ap( jc ), 1, ap )
163 CALL dscal( j, ajj, ap( jc ), 1 )
173 ap( jj ) = ddot( n-j+1, ap( jj ), 1, ap( jj ), 1 )
175 $
CALL dtpmv(
'Lower',
'Transpose',
'Non-unit', n-j,
176 $ 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