111 SUBROUTINE strti2( UPLO, DIAG, N, A, LDA, INFO )
130 parameter( one = 1.0e+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(
'STRTI2', -info )
174 a( j, j ) = one / a( j, j )
182 CALL strmv(
'Upper',
'No transpose', diag, j-1, a, lda,
184 CALL sscal( j-1, ajj, a( 1, j ), 1 )
192 a( j, j ) = one / a( j, j )
201 CALL strmv(
'Lower',
'No transpose', diag, n-j,
202 $ a( j+1, j+1 ), lda, a( j+1, j ), 1 )
203 CALL sscal( n-j, ajj, a( j+1, j ), 1 )
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sscal(N, SA, SX, INCX)
SSCAL
subroutine strti2(UPLO, DIAG, N, A, LDA, INFO)
STRTI2 computes the inverse of a triangular matrix (unblocked algorithm).