94 SUBROUTINE dpptri( UPLO, N, AP, INFO )
106 DOUBLE PRECISION AP( * )
113 parameter ( one = 1.0d+0 )
117 INTEGER J, JC, JJ, JJN
122 DOUBLE PRECISION DDOT
133 upper = lsame( uplo,
'U' )
134 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
136 ELSE IF( n.LT.0 )
THEN
140 CALL xerbla(
'DPPTRI', -info )
151 CALL dtptri( uplo,
'Non-unit', n, ap, info )
164 $
CALL dspr(
'Upper', j-1, one, ap( jc ), 1, ap )
166 CALL dscal( j, ajj, ap( jc ), 1 )
176 ap( jj ) = ddot( n-j+1, ap( jj ), 1, ap( jj ), 1 )
178 $
CALL dtpmv(
'Lower',
'Transpose',
'Non-unit', n-j,
179 $ ap( jjn ), ap( jj+1 ), 1 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dspr(UPLO, N, ALPHA, X, INCX, AP)
DSPR
subroutine dpptri(UPLO, N, AP, INFO)
DPPTRI
subroutine dtptri(UPLO, DIAG, N, AP, INFO)
DTPTRI
subroutine dtpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPMV