110 SUBROUTINE dpotf2( UPLO, N, A, LDA, INFO )
122 DOUBLE PRECISION a( lda, * )
128 DOUBLE PRECISION one, zero
129 parameter( one = 1.0d+0, zero = 0.0d+0 )
138 DOUBLE PRECISION ddot
152 upper =
lsame( uplo,
'U' )
153 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
155 ELSE IF( n.LT.0 )
THEN
157 ELSE IF( lda.LT.max( 1, n ) )
THEN
161 CALL
xerbla(
'DPOTF2', -info )
178 ajj = a(
j,
j ) -
ddot(
j-1, a( 1,
j ), 1, a( 1,
j ), 1 )
179 IF( ajj.LE.zero.OR.
disnan( ajj ) )
THEN
189 CALL
dgemv(
'Transpose',
j-1, n-
j, -one, a( 1,
j+1 ),
190 $ lda, a( 1,
j ), 1, one, a(
j,
j+1 ), lda )
191 CALL
dscal( n-
j, one / ajj, a(
j,
j+1 ), lda )
202 ajj = a(
j,
j ) -
ddot(
j-1, a(
j, 1 ), lda, a(
j, 1 ),
204 IF( ajj.LE.zero.OR.
disnan( ajj ) )
THEN
214 CALL
dgemv(
'No transpose', n-
j,
j-1, -one, a(
j+1, 1 ),
215 $ lda, a(
j, 1 ), lda, one, a(
j+1,
j ), 1 )
216 CALL
dscal( n-
j, one / ajj, a(
j+1,
j ), 1 )
subroutine dpotf2(UPLO, N, A, LDA, INFO)
DPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine xerbla(SRNAME, INFO)
XERBLA
logical function lsame(CA, CB)
LSAME
subroutine dscal(N, DA, DX, INCX)
DSCAL
double precision function ddot(N, DX, INCX, DY, INCY)
DDOT
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
logical function disnan(DIN)
DISNAN tests input for NaN.