123 SUBROUTINE dtbt06( RCOND, RCONDC, UPLO, DIAG, N, KD, AB, LDAB,
133 DOUBLE PRECISION RAT, RCOND, RCONDC
136 DOUBLE PRECISION AB( LDAB, * ), WORK( * )
142 DOUBLE PRECISION ZERO, ONE
143 parameter( zero = 0.0d+0, one = 1.0d+0 )
146 DOUBLE PRECISION ANORM, BIGNUM, EPS, RMAX, RMIN, SMLNUM
149 DOUBLE PRECISION DLAMCH, DLANTB
150 EXTERNAL dlamch, dlantb
157 eps = dlamch(
'Epsilon' )
158 rmax = max( rcond, rcondc )
159 rmin = min( rcond, rcondc )
163 IF( rmin.LT.zero )
THEN
169 ELSE IF( rmin.GT.zero )
THEN
173 rat = rmax / rmin - one
175 ELSE IF( rmax.EQ.zero )
THEN
189 smlnum = dlamch(
'Safe minimum' )
190 bignum = one / smlnum
191 anorm = dlantb(
'M', uplo, diag, n, kd, ab, ldab, work )
193 rat = rmax*( min( bignum / max( one, anorm ), one / eps ) )
subroutine dtbt06(rcond, rcondc, uplo, diag, n, kd, ab, ldab, work, rat)
DTBT06