133 SUBROUTINE sget02( TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB,
142 INTEGER LDA, LDB, LDX, M, N, NRHS
146 REAL A( LDA, * ), B( LDB, * ), RWORK( * ),
154 parameter( zero = 0.0e+0, one = 1.0e+0 )
158 REAL ANORM, BNORM, EPS, XNORM
162 REAL SASUM, SLAMCH, SLANGE
163 EXTERNAL lsame, sasum, slamch, slange
175 IF( m.LE.0 .OR. n.LE.0 .OR. nrhs.EQ.0 )
THEN
180 IF( lsame( trans, 't.OR.
' ) LSAME( TRANS, 'c
' ) ) THEN
190 EPS = SLAMCH( 'epsilon
' )
191 IF( LSAME( TRANS, 'n
' ) ) THEN
192 ANORM = SLANGE( '1
', M, N, A, LDA, RWORK )
194 ANORM = SLANGE( 'i
', M, N, A, LDA, RWORK )
196.LE.
IF( ANORMZERO ) THEN
203 CALL SGEMM( TRANS, 'no transpose
', N1, NRHS, N2, -ONE, A, LDA, X,
211 BNORM = SASUM( N1, B( 1, J ), 1 )
212 XNORM = SASUM( N2, X( 1, J ), 1 )
213.LE.
IF( XNORMZERO ) THEN
216 RESID = MAX( RESID, ( ( BNORM / ANORM ) / XNORM ) / EPS )
subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
SGEMM
subroutine sget02(trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)
SGET02