124      SUBROUTINE zgbt01( M, N, KL, KU, A, LDA, AFAC, LDAFAC, IPIV, WORK,
 
  132      INTEGER            KL, KU, LDA, LDAFAC, M, N
 
  133      DOUBLE PRECISION   RESID
 
  137      COMPLEX*16         A( LDA, * ), AFAC( LDAFAC, * ), WORK( * )
 
  143      DOUBLE PRECISION   ZERO, ONE
 
  144      parameter( zero = 0.0d+0, one = 1.0d+0 )
 
  147      INTEGER            I, I1, I2, IL, IP, IW, J, JL, JU, JUA, KD, LENJ
 
  148      DOUBLE PRECISION   ANORM, EPS
 
  152      DOUBLE PRECISION   DLAMCH, DZASUM
 
  153      EXTERNAL           dlamch, dzasum
 
  159      INTRINSIC          dble, dcmplx, max, min
 
  166      IF( m.LE.0 .OR. n.LE.0 )
 
  171      eps = dlamch( 
'Epsilon' )
 
  175         i1 = max( kd+1-j, 1 )
 
  176         i2 = min( kd+m-j, kl+kd )
 
  178     $      anorm = max( anorm, dzasum( i2-i1+1, a( i1, j ), 1 ) )
 
  188         ju = min( kl+ku, j-1 )
 
  190         lenj = min( m, j ) - j + ju + 1
 
  192            CALL zcopy( lenj, afac( kd-ju, j ), 1, work, 1 )
 
  193            DO 20 i = lenj + 1, ju + jl + 1
 
  200            DO 30 i = min( m-1, j ), j - ju, -1
 
  205                  CALL zaxpy( il, t, afac( kd+1, i ), 1, work( iw+1 ),
 
  210                     work( iw ) = work( ip )
 
  220     $         
CALL zaxpy( jua+jl+1, -dcmplx( one ), a( ku+1-jua, j ),
 
  221     $                     1, work( ju+1-jua ), 1 )
 
  225            resid = max( resid, dzasum( ju+jl+1, work, 1 ) )
 
  231      IF( anorm.LE.zero ) 
THEN 
  235         resid = ( ( resid / dble( n ) ) / anorm ) / eps
 
 
subroutine zgbt01(m, n, kl, ku, a, lda, afac, ldafac, ipiv, work, resid)
ZGBT01