92 SUBROUTINE dget10( M, N, A, LDA, B, LDB, WORK, RESULT )
100 DOUBLE PRECISION RESULT
103 DOUBLE PRECISION A( LDA, * ), B( LDB, * ), WORK( * )
109 DOUBLE PRECISION ONE, ZERO
110 parameter( one = 1.0d+0, zero = 0.0d+0 )
114 DOUBLE PRECISION ANORM, EPS, , WNORM
117 DOUBLE PRECISION DASUM, DLAMCH, DLANGE
118 EXTERNAL dasum, dlamch
130 IF( m.LE.0 .OR. n.LE.0 )
THEN
135 unfl = dlamch( 'safe minimum
' )
136 EPS = DLAMCH( 'precision
' )
140 CALL DCOPY( M, A( 1, J ), 1, WORK, 1 )
141 CALL DAXPY( M, -ONE, B( 1, J ), 1, WORK, 1 )
142 WNORM = MAX( WNORM, DASUM( N, WORK, 1 ) )
145 ANORM = MAX( DLANGE( '1
', M, N, A, LDA, WORK ), UNFL )
147.GT.
IF( ANORMWNORM ) THEN
148 RESULT = ( WNORM / ANORM ) / ( M*EPS )
150.LT.
IF( ANORMONE ) THEN
151 RESULT = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*EPS )
153 RESULT = MIN( WNORM / ANORM, DBLE( M ) ) / ( M*EPS )
subroutine daxpy(n, da, dx, incx, dy, incy)
DAXPY
subroutine dcopy(n, dx, incx, dy, incy)
DCOPY
subroutine dget10(m, n, a, lda, b, ldb, work, result)
DGET10