120 SUBROUTINE cpptrf( UPLO, N, AP, INFO )
139 parameter( zero = 0.0e+0, one = 1.0e+0 )
149 EXTERNAL lsame, cdotc
162 upper = lsame( uplo,
'U' )
163 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN 165 ELSE IF( n.LT.0 )
THEN 169 CALL xerbla(
'CPPTRF', -info )
190 $
CALL ctpsv(
'Upper',
'Conjugate transpose',
'Non-unit',
191 $ j-1, ap, ap( jc ), 1 )
195 ajj =
REAL( AP( JJ ) ) - CDOTC( j-1, ap( jc ), 1, ap( jc ),
197 IF( ajj.LE.zero )
THEN 201 ap( jj ) = sqrt( ajj )
212 ajj =
REAL( AP( JJ ) )
213 IF( ajj.LE.zero )
THEN 224 CALL csscal( n-j, one / ajj, ap( jj+1 ), 1 )
225 CALL chpr(
'Lower', n-j, -one, ap( jj+1 ), 1,
subroutine chpr(UPLO, N, ALPHA, X, INCX, AP)
CHPR
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ctpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPSV
subroutine csscal(N, SA, CX, INCX)
CSSCAL
subroutine cpptrf(UPLO, N, AP, INFO)
CPPTRF