106 SUBROUTINE cpotf2( UPLO, N, A, LDA, INFO )
124 parameter( one = 1.0e+0, zero = 0.0e+0 )
126 parameter( cone = ( 1.0e+0, 0.0e+0 ) )
134 LOGICAL LSAME, SISNAN
136 EXTERNAL lsame, cdotc, sisnan
142 INTRINSIC max, real, sqrt
149 upper = lsame( uplo,
'U' )
150 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
152 ELSE IF( n.LT.0 )
THEN
154 ELSE IF( lda.LT.max( 1, n ) )
THEN
158 CALL xerbla(
'CPOTF2', -info )
175 ajj = real( real( a( j, j ) ) - cdotc( j-1, a( 1, j ), 1,
177 IF( ajj.LE.zero.OR.sisnan( ajj ) )
THEN
187 CALL clacgv( j-1, a( 1, j ), 1 )
188 CALL cgemv(
'Transpose', j-1, n-j, -cone, a( 1, j+1 ),
189 $ lda, a( 1, j ), 1, cone, a( j, j+1 ), lda )
190 CALL clacgv( j-1, a( 1, j ), 1 )
191 CALL csscal( n-j, one / ajj, a( j, j+1 ), lda )
202 ajj = real( real( a( j, j ) ) - cdotc( j-1, a( j, 1 ),
205 IF( ajj.LE.zero.OR.sisnan( ajj ) )
THEN
215 CALL clacgv( j-1, a( j, 1 ), lda )
216 CALL cgemv(
'No transpose', n-j, j-1, -cone, a( j+1,
218 $ lda, a( j, 1 ), lda, cone, a( j+1, j ), 1 )
219 CALL clacgv( j-1, a( j, 1 ), lda )
220 CALL csscal( n-j, one / ajj, a( j+1, j ), 1 )
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cpotf2(uplo, n, a, lda, info)
CPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...