118 SUBROUTINE dtptri( UPLO, DIAG, N, AP, INFO )
130 DOUBLE PRECISION ap( * )
136 DOUBLE PRECISION one, zero
137 parameter( one = 1.0d+0, zero = 0.0d+0 )
140 LOGICAL nounit, upper
141 INTEGER j, jc, jclast, jj
156 upper =
lsame( uplo,
'U' )
157 nounit =
lsame( diag,
'N' )
158 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
160 ELSE IF( .NOT.nounit .AND. .NOT.
lsame( diag,
'U' ) )
THEN
162 ELSE IF( n.LT.0 )
THEN
166 CALL
xerbla(
'DTPTRI', -info )
177 IF( ap( jj ).EQ.zero )
183 IF( ap( jj ).EQ.zero )
185 jj = jj + n - info + 1
198 ap( jc+
j-1 ) = one / ap( jc+
j-1 )
206 CALL
dtpmv(
'Upper',
'No transpose', diag,
j-1, ap,
208 CALL
dscal(
j-1, ajj, ap( jc ), 1 )
219 ap( jc ) = one / ap( jc )
228 CALL
dtpmv(
'Lower',
'No transpose', diag, n-
j,
229 $ ap( jclast ), ap( jc+1 ), 1 )
230 CALL
dscal( n-
j, ajj, ap( jc+1 ), 1 )
subroutine dtptri(UPLO, DIAG, N, AP, INFO)
DTPTRI
LOGICAL function lsame(CA, CB)
LSAME
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dtpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPMV
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j