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 dtptri(UPLO, DIAG, N, AP, INFO)
DTPTRI
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dspr(UPLO, N, ALPHA, X, INCX, AP)
DSPR
subroutine dtpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPMV
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dpptri(UPLO, N, AP, INFO)
DPPTRI