135 DOUBLE PRECISION ZERO, ONE
136 parameter( zero = 0.0d+0, one = 1.0d+0 )
146 EXTERNAL lsame, zdotc
159 upper = lsame( uplo,
'U' )
160 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
162 ELSE IF( n.LT.0 )
THEN
166 CALL xerbla(
'ZPPTRF', -info )
187 $
CALL ztpsv(
'Upper',
'Conjugate transpose',
'Non-unit',
188 $ j-1, ap, ap( jc ), 1 )
192 ajj = dble( ap( jj ) ) - dble( zdotc( j-1,
193 $ ap( jc ), 1, ap( jc ), 1 ) )
194 IF( ajj.LE.zero )
THEN
198 ap( jj ) = sqrt( ajj )
209 ajj = dble( ap( jj ) )
210 IF( ajj.LE.zero )
THEN
221 CALL zdscal( n-j, one / ajj, ap( jj+1 ), 1 )
222 CALL zhpr(
'Lower', n-j, -one, ap( jj+1 ), 1,
subroutine xerbla(srname, info)
subroutine zhpr(uplo, n, alpha, x, incx, ap)
ZHPR
subroutine zpptrf(uplo, n, ap, info)
ZPPTRF
subroutine zdscal(n, da, zx, incx)
ZDSCAL
subroutine ztpsv(uplo, trans, diag, n, ap, x, incx)
ZTPSV