118 SUBROUTINE ztptri( UPLO, DIAG, N, AP, INFO )
137 parameter( one = ( 1.0d+0, 0.0d+0 ),
138 $ zero = ( 0.0d+0, 0.0d+0 ) )
141 LOGICAL nounit, upper
142 INTEGER j, jc, jclast, jj
157 upper =
lsame( uplo,
'U' )
158 nounit =
lsame( diag,
'N' )
159 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
161 ELSE IF( .NOT.nounit .AND. .NOT.
lsame( diag,
'U' ) )
THEN
163 ELSE IF( n.LT.0 )
THEN
167 CALL
xerbla(
'ZTPTRI', -info )
178 IF( ap( jj ).EQ.zero )
184 IF( ap( jj ).EQ.zero )
186 jj = jj + n - info + 1
199 ap( jc+j-1 ) = one / ap( jc+j-1 )
207 CALL
ztpmv(
'Upper',
'No transpose', diag, j-1, ap,
209 CALL
zscal( j-1, ajj, ap( jc ), 1 )
220 ap( jc ) = one / ap( jc )
229 CALL
ztpmv(
'Lower',
'No transpose', diag, n-j,
230 $ ap( jclast ), ap( jc+1 ), 1 )
231 CALL
zscal( n-j, ajj, ap( jc+1 ), 1 )