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 )
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
complex *16 function zdotc(N, ZX, INCX, ZY, INCY)
ZDOTC
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
logical function lsame(CA, CB)
LSAME
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...
logical function disnan(DIN)
DISNAN tests input for NaN.