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 )
LOGICAL function lsame(CA, CB)
LSAME
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
subroutine dscal(N, DA, DX, INCX)
DSCAL
LOGICAL function disnan(DIN)
DISNAN tests input for NaN.
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function ddot(N, DX, INCX, DY, INCY)
DDOT
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV