121 SUBROUTINE dtrt06( RCOND, RCONDC, UPLO, DIAG, N, A, LDA, WORK,
132 DOUBLE PRECISION rat, rcond, rcondc
135 DOUBLE PRECISION a( lda, * ), work( * )
141 DOUBLE PRECISION zero, one
142 parameter( zero = 0.0d+0, one = 1.0d+0 )
145 DOUBLE PRECISION anorm, bignum, eps, rmax, rmin, smlnum
160 rmax = max( rcond, rcondc )
161 rmin = min( rcond, rcondc )
165 IF( rmin.LT.zero )
THEN
171 ELSE IF( rmin.GT.zero )
THEN
175 rat = rmax / rmin - one
177 ELSE IF( rmax.EQ.zero )
THEN
191 smlnum =
dlamch(
'Safe minimum' )
192 bignum = one / smlnum
193 CALL
dlabad( smlnum, bignum )
194 anorm =
dlantr(
'M', uplo, diag, n, n, a, lda, work )
196 rat = rmax*( min( bignum / max( one, anorm ), one / eps ) )
subroutine dlabad(SMALL, LARGE)
DLABAD
double precision function dlantr(NORM, UPLO, DIAG, M, N, A, LDA, WORK)
DLANTR returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix.
double precision function dlamch(CMACH)
DLAMCH
subroutine dtrt06(RCOND, RCONDC, UPLO, DIAG, N, A, LDA, WORK, RAT)
DTRT06