126 SUBROUTINE zgbt01( M, N, KL, KU, A, LDA, AFAC, LDAFAC, IPIV, WORK,
135 INTEGER kl, ku, lda, ldafac, m, n
136 DOUBLE PRECISION resid
140 COMPLEX*16 a( lda, * ), afac( ldafac, * ), work( * )
146 DOUBLE PRECISION zero, one
147 parameter( zero = 0.0d+0, one = 1.0d+0 )
150 INTEGER i, i1, i2, il, ip, iw, j, jl, ju, jua, kd, lenj
151 DOUBLE PRECISION anorm, eps
162 INTRINSIC dble, dcmplx, max, min
169 IF( m.LE.0 .OR. n.LE.0 )
178 i1 = max( kd+1-j, 1 )
179 i2 = min( kd+m-j, kl+kd )
181 $ anorm = max( anorm,
dzasum( i2-i1+1, a( i1, j ), 1 ) )
191 ju = min( kl+ku, j-1 )
193 lenj = min( m, j ) - j + ju + 1
195 CALL
zcopy( lenj, afac( kd-ju, j ), 1, work, 1 )
196 DO 20 i = lenj + 1, ju + jl + 1
203 DO 30 i = min( m-1, j ), j - ju, -1
208 CALL
zaxpy( il, t, afac( kd+1, i ), 1, work( iw+1 ),
213 work( iw ) = work( ip )
223 $ CALL
zaxpy( jua+jl+1, -dcmplx( one ), a( ku+1-jua, j ),
224 $ 1, work( ju+1-jua ), 1 )
228 resid = max( resid,
dzasum( ju+jl+1, work, 1 ) )
234 IF( anorm.LE.zero )
THEN
238 resid = ( ( resid / dble( n ) ) / anorm ) / eps