132 DOUBLE PRECISION ap( * )
138 DOUBLE PRECISION one, zero
139 parameter( one = 1.0d+0, zero = 0.0d+0 )
148 DOUBLE PRECISION ddot
162 upper =
lsame( uplo,
'U' )
163 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
165 ELSE IF( n.LT.0 )
THEN
169 CALL
xerbla(
'DPPTRF', -info )
190 $ CALL
dtpsv(
'Upper',
'Transpose',
'Non-unit',
j-1, ap,
195 ajj = ap( jj ) -
ddot(
j-1, ap( jc ), 1, ap( jc ), 1 )
196 IF( ajj.LE.zero )
THEN
200 ap( jj ) = sqrt( ajj )
212 IF( ajj.LE.zero )
THEN
223 CALL
dscal( n-
j, one / ajj, ap( jj+1 ), 1 )
224 CALL
dspr(
'Lower', n-
j, -one, ap( jj+1 ), 1,
LOGICAL function lsame(CA, CB)
LSAME
subroutine dspr(UPLO, N, ALPHA, X, INCX, AP)
DSPR
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dtpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPSV
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dpptrf(UPLO, N, AP, INFO)
DPPTRF
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function ddot(N, DX, INCX, DY, INCY)
DDOT