110 SUBROUTINE zpotf2( UPLO, N, A, LDA, INFO )
122 COMPLEX*16 a( lda, * )
128 DOUBLE PRECISION one, zero
129 parameter( one = 1.0d+0, zero = 0.0d+0 )
131 parameter( cone = ( 1.0d+0, 0.0d+0 ) )
147 INTRINSIC dble, max, sqrt
154 upper =
lsame( uplo,
'U' )
155 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
157 ELSE IF( n.LT.0 )
THEN
159 ELSE IF( lda.LT.max( 1, n ) )
THEN
163 CALL
xerbla(
'ZPOTF2', -info )
180 ajj = dble( a(
j,
j ) ) -
zdotc(
j-1, a( 1,
j ), 1,
182 IF( ajj.LE.zero.OR.
disnan( ajj ) )
THEN
193 CALL
zgemv(
'Transpose',
j-1, n-
j, -cone, a( 1,
j+1 ),
194 $ lda, a( 1,
j ), 1, cone, a(
j,
j+1 ), lda )
196 CALL
zdscal( n-
j, one / ajj, a(
j,
j+1 ), lda )
207 ajj = dble( a(
j,
j ) ) -
zdotc(
j-1, a(
j, 1 ), lda,
209 IF( ajj.LE.zero.OR.
disnan( ajj ) )
THEN
220 CALL
zgemv(
'No transpose', n-
j,
j-1, -cone, a(
j+1, 1 ),
221 $ lda, a(
j, 1 ), lda, cone, a(
j+1,
j ), 1 )
223 CALL
zdscal( n-
j, one / ajj, a(
j+1,
j ), 1 )
LOGICAL function lsame(CA, CB)
LSAME
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
LOGICAL function disnan(DIN)
DISNAN tests input for NaN.
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zpotf2(UPLO, N, A, LDA, INFO)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
COMPLEX *16 function zdotc(N, ZX, INCX, ZY, INCY)
ZDOTC