120 SUBROUTINE zpptrf( UPLO, N, AP, INFO )
138 DOUBLE PRECISION ZERO, ONE
139 parameter( zero = 0.0d+0, one = 1.0d+0 )
149 EXTERNAL lsame, zdotc
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(
'ZPPTRF', -info )
190 $
CALL ztpsv(
'Upper',
'Conjugate transpose',
'Non-unit',
191 $ j-1, ap, ap( jc ), 1 )
195 ajj = dble( ap( jj ) ) - zdotc( j-1, ap( jc ), 1, ap( jc ),
197 IF( ajj.LE.zero )
THEN
201 ap( jj ) = sqrt( ajj )
212 ajj = dble( ap( jj ) )
213 IF( ajj.LE.zero )
THEN
224 CALL zdscal( n-j, one / ajj, ap( jj+1 ), 1 )
225 CALL zhpr(
'Lower', n-j, -one, ap( jj+1 ), 1,