111 SUBROUTINE ztpt06( RCOND, RCONDC, UPLO, DIAG, N, AP, RWORK, RAT )
120 DOUBLE PRECISION RAT, RCOND, RCONDC
123 DOUBLE PRECISION RWORK( * )
130 DOUBLE PRECISION ZERO, ONE
131 parameter( zero = 0.0d+0, one = 1.0d+0 )
134 DOUBLE PRECISION ANORM, BIGNUM, EPS, RMAX, RMIN
137 DOUBLE PRECISION DLAMCH,
145 eps = dlamch(
'Epsilon' )
146 rmax =
max( rcond, rcondc )
147 rmin =
min( rcond, rcondc )
151 IF( rmin.LT.zero )
THEN
157 ELSE IF( rmin.GT.zero )
THEN
161 rat = rmax / rmin - one
163 ELSE IF( rmax.EQ.zero )
THEN
177 bignum = one / dlamch(
'Safe minimum' )
178 anorm =
zlantp(
'M', uplo, diag, n, ap, rwork )
180 rat = rmax*(
min( bignum /
max( one, anorm ), one / eps ) )
double precision function zlantp(norm, uplo, diag, n, ap, work)
ZLANTP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...
subroutine ztpt06(rcond, rcondc, uplo, diag, n, ap, rwork, rat)
ZTPT06