108 SUBROUTINE zpotf2( UPLO, N, A, LDA, INFO )
119 COMPLEX*16 A( LDA, * )
125 DOUBLE PRECISION ONE, ZERO
126 parameter( one = 1.0d+0, zero = 0.0d+0 )
128 parameter( cone = ( 1.0d+0, 0.0d+0 ) )
136 LOGICAL LSAME, DISNAN
138 EXTERNAL lsame, zdotc, disnan
144 INTRINSIC dble, max, sqrt
151 upper = lsame( uplo,
'U' )
152 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
154 ELSE IF( n.LT.0 )
THEN
156 ELSE IF( lda.LT.max( 1, n ) )
THEN
160 CALL xerbla(
'ZPOTF2', -info )
177 ajj = dble( a( j, j ) ) - dble( zdotc( j-1, a( 1, j ), 1,
179 IF( ajj.LE.zero.OR.disnan( ajj ) )
THEN
189 CALL zlacgv( j-1, a( 1, j ), 1 )
190 CALL zgemv(
'Transpose', j-1, n-j, -cone, a( 1, j+1 ),
191 $ lda, a( 1, j ), 1, cone, a( j, j+1 ), lda )
192 CALL zlacgv( j-1, a( 1, j ), 1 )
193 CALL zdscal( n-j, one / ajj, a( j, j+1 ), lda )
204 ajj = dble( a( j, j ) ) - dble( zdotc( j-1, a( j, 1 ), lda,
206 IF( ajj.LE.zero.OR.disnan( ajj ) )
THEN
216 CALL zlacgv( j-1, a( j, 1 ), lda )
217 CALL zgemv(
'No transpose', n-j, j-1, -cone, a( j+1, 1 ),
218 $ lda, a( j, 1 ), lda, cone, a( j+1, j ), 1 )
219 CALL zlacgv( j-1, a( j, 1 ), lda )
220 CALL zdscal( n-j, one / ajj, a( j+1, j ), 1 )
subroutine xerbla(srname, info)
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
subroutine zlacgv(n, x, incx)
ZLACGV conjugates a complex vector.
subroutine zpotf2(uplo, n, a, lda, info)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine zdscal(n, da, zx, incx)
ZDSCAL