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
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zgbt01(M, N, KL, KU, A, LDA, AFAC, LDAFAC, IPIV, WORK, RESID)
ZGBT01
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
double precision function dzasum(N, ZX, INCX)
DZASUM
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j