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 cpptrf(UPLO, N, AP, INFO)
CPPTRF
subroutine ctpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPSV
subroutine csscal(N, SA, CX, INCX)
CSSCAL