109 SUBROUTINE sget03( N, A, LDA, AINV, LDAINV, WORK, LDWORK, RWORK,
118 INTEGER lda, ldainv, ldwork, n
122 REAL a( lda, * ), ainv( ldainv, * ), rwork( * ),
130 parameter( zero = 0.0e+0, one = 1.0e+0 )
134 REAL ainvnm, anorm, eps
159 anorm =
slange(
'1', n, n, a, lda, rwork )
160 ainvnm =
slange(
'1', n, n, ainv, ldainv, rwork )
161 IF( anorm.LE.zero .OR. ainvnm.LE.zero )
THEN
166 rcond = ( one / anorm ) / ainvnm
170 CALL
sgemm(
'No transpose',
'No transpose', n, n, n, -one,
171 $ ainv, ldainv, a, lda, zero, work, ldwork )
173 work( i, i ) = one + work( i, i )
178 resid =
slange(
'1', n, n, work, ldwork, rwork )
180 resid = ( ( resid*rcond ) / eps ) /
REAL( n )
real function slange(NORM, M, N, A, LDA, WORK)
SLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine sget03(N, A, LDA, AINV, LDAINV, WORK, LDWORK, RWORK, RCOND, RESID)
SGET03
subroutine sgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
SGEMM
real function slamch(CMACH)
SLAMCH