109 SUBROUTINE ztrti2( UPLO, DIAG, N, A, LDA, INFO )
120 COMPLEX*16 A( LDA, * )
127 parameter( one = ( 1.0d+0, 0.0d+0 ) )
130 LOGICAL NOUNIT, UPPER
149 upper = lsame( uplo,
'U' )
150 nounit = lsame( diag,
'N' )
151 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
153 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
155 ELSE IF( n.LT.0 )
THEN
157 ELSE IF( lda.LT.
max( 1, n ) )
THEN
161 CALL xerbla(
'ZTRTI2', -info )
171 a( j, j ) = one / a( j, j )
179 CALL ztrmv(
'Upper',
'No transpose', diag, j-1, a, lda,
181 CALL zscal( j-1, ajj, a( 1, j ), 1 )
189 a( j, j ) = one / a( j, j )
198 CALL ztrmv( 'lower
', 'no transpose
', DIAG, N-J,
199 $ A( J+1, J+1 ), LDA, A( J+1, J ), 1 )
200 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 ztrmv(uplo, trans, diag, n, a, lda, x, incx)
ZTRMV