125 SUBROUTINE dtbt06( RCOND, RCONDC, UPLO, DIAG, N, KD, AB, LDAB,
136 DOUBLE PRECISION rat, rcond, rcondc
139 DOUBLE PRECISION ab( ldab, * ), work( * )
145 DOUBLE PRECISION zero, one
146 parameter( zero = 0.0d+0, one = 1.0d+0 )
149 DOUBLE PRECISION anorm, bignum, eps, rmax, rmin, smlnum
164 rmax = max( rcond, rcondc )
165 rmin = min( rcond, rcondc )
169 IF( rmin.LT.zero )
THEN
175 ELSE IF( rmin.GT.zero )
THEN
179 rat = rmax / rmin - one
181 ELSE IF( rmax.EQ.zero )
THEN
195 smlnum =
dlamch(
'Safe minimum' )
196 bignum = one / smlnum
197 CALL
dlabad( smlnum, bignum )
198 anorm =
dlantb(
'M', uplo, diag, n, kd, ab, ldab, work )
200 rat = rmax*( min( bignum / max( one, anorm ), one / eps ) )
DOUBLE PRECISION function dlantb(NORM, UPLO, DIAG, N, K, AB, LDAB, WORK)
DLANTB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular band matrix.
subroutine dlabad(SMALL, LARGE)
DLABAD
subroutine dtbt06(RCOND, RCONDC, UPLO, DIAG, N, KD, AB, LDAB, WORK, RAT)
DTBT06
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH