LAPACK 3.3.1
Linear Algebra PACKage
|
00001 DOUBLE PRECISION FUNCTION DGET06( RCOND, RCONDC ) 00002 * 00003 * -- LAPACK test routine (version 3.1) -- 00004 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. 00005 * November 2006 00006 * 00007 * .. Scalar Arguments .. 00008 DOUBLE PRECISION RCOND, RCONDC 00009 * .. 00010 * 00011 * Purpose 00012 * ======= 00013 * 00014 * DGET06 computes a test ratio to compare two values for RCOND. 00015 * 00016 * Arguments 00017 * ========== 00018 * 00019 * RCOND (input) DOUBLE PRECISION 00020 * The estimate of the reciprocal of the condition number of A, 00021 * as computed by DGECON. 00022 * 00023 * RCONDC (input) DOUBLE PRECISION 00024 * The reciprocal of the condition number of A, computed as 00025 * ( 1/norm(A) ) / norm(inv(A)). 00026 * 00027 * ===================================================================== 00028 * 00029 * .. Parameters .. 00030 DOUBLE PRECISION ZERO, ONE 00031 PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 ) 00032 * .. 00033 * .. Local Scalars .. 00034 DOUBLE PRECISION EPS, RAT 00035 * .. 00036 * .. External Functions .. 00037 DOUBLE PRECISION DLAMCH 00038 EXTERNAL DLAMCH 00039 * .. 00040 * .. Intrinsic Functions .. 00041 INTRINSIC MAX, MIN 00042 * .. 00043 * .. Executable Statements .. 00044 * 00045 EPS = DLAMCH( 'Epsilon' ) 00046 IF( RCOND.GT.ZERO ) THEN 00047 IF( RCONDC.GT.ZERO ) THEN 00048 RAT = MAX( RCOND, RCONDC ) / MIN( RCOND, RCONDC ) - 00049 $ ( ONE-EPS ) 00050 ELSE 00051 RAT = RCOND / EPS 00052 END IF 00053 ELSE 00054 IF( RCONDC.GT.ZERO ) THEN 00055 RAT = RCONDC / EPS 00056 ELSE 00057 RAT = ZERO 00058 END IF 00059 END IF 00060 DGET06 = RAT 00061 RETURN 00062 * 00063 * End of DGET06 00064 * 00065 END