126 SUBROUTINE sgbt01( M, N, KL, KU, A, LDA, AFAC, LDAFAC, IPIV, WORK,
135 INTEGER KL, KU, LDA, LDAFAC, M, N
140 REAL A( lda, * ), AFAC( ldafac, * ), WORK( * )
147 parameter ( zero = 0.0e+0, one = 1.0e+0 )
150 INTEGER I, I1, I2, IL, IP, IW, J, JL, JU, JUA, KD, LENJ
155 EXTERNAL sasum, slamch
161 INTRINSIC max, min, real
168 IF( m.LE.0 .OR. n.LE.0 )
173 eps = slamch(
'Epsilon' )
177 i1 = max( kd+1-j, 1 )
178 i2 = min( kd+m-j, kl+kd )
180 $ anorm = max( anorm, sasum( i2-i1+1, a( i1, j ), 1 ) )
190 ju = min( kl+ku, j-1 )
192 lenj = min( m, j ) - j + ju + 1
194 CALL scopy( lenj, afac( kd-ju, j ), 1, work, 1 )
195 DO 20 i = lenj + 1, ju + jl + 1
202 DO 30 i = min( m-1, j ), j - ju, -1
207 CALL saxpy( il, t, afac( kd+1, i ), 1, work( iw+1 ),
212 work( iw ) = work( ip )
222 $
CALL saxpy( jua+jl+1, -one, a( ku+1-jua, j ), 1,
223 $ work( ju+1-jua ), 1 )
227 resid = max( resid, sasum( ju+jl+1, work, 1 ) )
233 IF( anorm.LE.zero )
THEN
237 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps
subroutine saxpy(N, SA, SX, INCX, SY, INCY)
SAXPY
subroutine sgbt01(M, N, KL, KU, A, LDA, AFAC, LDAFAC, IPIV, WORK, RESID)
SGBT01
subroutine scopy(N, SX, INCX, SY, INCY)
SCOPY