107      SUBROUTINE ztrti2( UPLO, DIAG, N, A, LDA, INFO )
 
  118      COMPLEX*16         A( LDA, * )
 
  125      parameter( one = ( 1.0d+0, 0.0d+0 ) )
 
  128      LOGICAL            NOUNIT, UPPER
 
  147      upper = lsame( uplo, 
'U' )
 
  148      nounit = lsame( diag, 
'N' )
 
  149      IF( .NOT.upper .AND. .NOT.lsame( uplo, 
'L' ) ) 
THEN 
  151      ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag, 
'U' ) ) 
THEN 
  153      ELSE IF( n.LT.0 ) 
THEN 
  155      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  159         CALL xerbla( 
'ZTRTI2', -info )
 
  169               a( j, j ) = one / a( j, j )
 
  177            CALL ztrmv( 
'Upper', 
'No transpose', diag, j-1, a, lda,
 
  179            CALL zscal( j-1, ajj, a( 1, j ), 1 )
 
  187               a( j, j ) = one / a( j, j )
 
  196               CALL ztrmv( 
'Lower', 
'No transpose', diag, n-j,
 
  197     $                     a( j+1, j+1 ), lda, a( j+1, j ), 1 )
 
  198               CALL zscal( n-j, ajj, a( j+1, j ), 1 )
 
 
subroutine ztrmv(uplo, trans, diag, n, a, lda, x, incx)
ZTRMV
subroutine ztrti2(uplo, diag, n, a, lda, info)
ZTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).