133 DOUBLE PRECISION ZERO, ONE
134 parameter( zero = 0.0d+0, one = 1.0d+0 )
144 EXTERNAL lsame, zdotc
157 upper = lsame( uplo,
'U' )
158 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
160 ELSE IF( n.LT.0 )
THEN
164 CALL xerbla(
'ZPPTRF', -info )
185 $
CALL ztpsv(
'Upper',
'Conjugate transpose',
187 $ j-1, ap, ap( jc ), 1 )
191 ajj = dble( ap( jj ) ) - dble( zdotc( j-1,
192 $ ap( jc ), 1, ap( jc ), 1 ) )
193 IF( ajj.LE.zero )
THEN
197 ap( jj ) = sqrt( ajj )
208 ajj = dble( ap( jj ) )
209 IF( ajj.LE.zero )
THEN
220 CALL zdscal( n-j, one / ajj, ap( jj+1 ), 1 )
221 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