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 )
LOGICAL function lsame(CA, CB)
LSAME
subroutine xerbla(SRNAME, INFO)
XERBLA
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).
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine sscal(N, SA, SX, INCX)
SSCAL