119 SUBROUTINE dtrt06( RCOND, RCONDC, UPLO, DIAG, N, A, LDA, WORK,
129 DOUBLE PRECISION RAT, RCOND, RCONDC
132 DOUBLE PRECISION A( LDA, * ), WORK( * )
138 DOUBLE PRECISION ZERO, ONE
139 parameter( zero = 0.0d+0, one = 1.0d+0 )
142 DOUBLE PRECISION ANORM, BIGNUM, EPS, RMAX, RMIN, SMLNUM
145 DOUBLE PRECISION DLAMCH, DLANTR
146 EXTERNAL dlamch, dlantr
153 eps = dlamch(
'Epsilon' )
154 rmax = max( rcond, rcondc )
155 rmin = min( rcond, rcondc )
159 IF( rmin.LT.zero )
THEN
165 ELSE IF( rmin.GT.zero )
THEN
169 rat = rmax / rmin - one
171 ELSE IF( rmax.EQ.zero )
THEN
185 smlnum = dlamch(
'Safe minimum' )
186 bignum = one / smlnum
187 anorm = dlantr(
'M', uplo, diag, n, n, a, lda, work )
189 rat = rmax*( min( bignum / max( one, anorm ), one / eps ) )
subroutine dtrt06(rcond, rcondc, uplo, diag, n, a, lda, work, rat)
DTRT06