111 SUBROUTINE ztrti2( UPLO, DIAG, N, A, LDA, INFO )
123 COMPLEX*16 A( lda, * )
130 parameter ( one = ( 1.0d+0, 0.0d+0 ) )
133 LOGICAL NOUNIT, UPPER
152 upper = lsame( uplo,
'U' )
153 nounit = lsame( diag,
'N' )
154 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
156 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
158 ELSE IF( n.LT.0 )
THEN
160 ELSE IF( lda.LT.max( 1, n ) )
THEN
164 CALL xerbla(
'ZTRTI2', -info )
174 a( j, j ) = one / a( j, j )
182 CALL ztrmv(
'Upper',
'No transpose', diag, j-1, a, lda,
184 CALL zscal( j-1, ajj, a( 1, j ), 1 )
192 a( j, j ) = one / a( j, j )
201 CALL ztrmv(
'Lower',
'No transpose', diag, n-j,
202 $ a( j+1, j+1 ), lda, a( j+1, j ), 1 )
203 CALL zscal( n-j, ajj, a( j+1, j ), 1 )
subroutine ztrti2(UPLO, DIAG, N, A, LDA, INFO)
ZTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
ZTRMV
subroutine zscal(N, ZA, ZX, INCX)
ZSCAL