108 SUBROUTINE zpotrf( UPLO, N, A, LDA, INFO )
120 COMPLEX*16 a( lda, * )
128 parameter( one = 1.0d+0, cone = ( 1.0d+0, 0.0d+0 ) )
150 upper =
lsame( uplo,
'U' )
151 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
153 ELSE IF( n.LT.0 )
THEN
155 ELSE IF( lda.LT.max( 1, n ) )
THEN
159 CALL
xerbla(
'ZPOTRF', -info )
170 nb =
ilaenv( 1,
'ZPOTRF', uplo, n, -1, -1, -1 )
171 IF( nb.LE.1 .OR. nb.GE.n )
THEN
175 CALL
zpotf2( uplo, n, a, lda, info )
189 jb = min( nb, n-
j+1 )
190 CALL
zherk(
'Upper',
'Conjugate transpose', jb,
j-1,
191 $ -one, a( 1,
j ), lda, one, a(
j,
j ), lda )
192 CALL
zpotf2(
'Upper', jb, a(
j,
j ), lda, info )
199 CALL
zgemm(
'Conjugate transpose',
'No transpose', jb,
200 $ n-
j-jb+1,
j-1, -cone, a( 1,
j ), lda,
201 $ a( 1,
j+jb ), lda, cone, a(
j,
j+jb ),
203 CALL
ztrsm(
'Left',
'Upper',
'Conjugate transpose',
204 $
'Non-unit', jb, n-
j-jb+1, cone, a(
j,
j ),
205 $ lda, a(
j,
j+jb ), lda )
218 jb = min( nb, n-
j+1 )
219 CALL
zherk(
'Lower',
'No transpose', jb,
j-1, -one,
220 $ a(
j, 1 ), lda, one, a(
j,
j ), lda )
221 CALL
zpotf2(
'Lower', jb, a(
j,
j ), lda, info )
228 CALL
zgemm(
'No transpose',
'Conjugate transpose',
229 $ n-
j-jb+1, jb,
j-1, -cone, a(
j+jb, 1 ),
230 $ lda, a(
j, 1 ), lda, cone, a(
j+jb,
j ),
232 CALL
ztrsm(
'Right',
'Lower',
'Conjugate transpose',
233 $
'Non-unit', n-
j-jb+1, jb, cone, a(
j,
j ),
234 $ lda, a(
j+jb,
j ), lda )
subroutine zherk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
ZHERK
subroutine zpotrf(UPLO, N, A, LDA, INFO)
ZPOTRF VARIANT: right looking block version of the algorithm, calling Level 3 BLAS.
LOGICAL function lsame(CA, CB)
LSAME
subroutine ztrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
ZTRSM
subroutine zgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZGEMM
subroutine xerbla(SRNAME, INFO)
XERBLA
INTEGER function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
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...