109 SUBROUTINE strti2( UPLO, DIAG, N, A, LDA, INFO )
127 parameter( one = 1.0e+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(
'STRTI2', -info )
171 a( j, j ) = one / a( j, j )
179 CALL strmv(
'Upper',
'No transpose', diag, j-1, a, lda,
181 CALL sscal( j-1, ajj, a( 1, j ), 1 )
189 a( j, j ) = one / a( j, j )
198 CALL strmv(
'Lower',
'No transpose', diag, n-j,
199 $ a( j+1, j+1 ), lda, a( j+1, j ), 1 )
200 CALL sscal( n-j, ajj, a( j+1, j ), 1 )
subroutine xerbla(srname, info)
subroutine sscal(n, sa, sx, incx)
SSCAL
subroutine strmv(uplo, trans, diag, n, a, lda, x, incx)
STRMV
subroutine strti2(uplo, diag, n, a, lda, info)
STRTI2 computes the inverse of a triangular matrix (unblocked algorithm).