Files
lapack/TESTING/LIN/dget06.f
Julie e18d437924 Making LAPACK's code eternal... no more version and date in source files.
GitHub is now enabling us to track accurately version and date.
No need for this anymore.
2021-03-25 10:16:58 -07:00

103 lines
2.4 KiB
FortranFixed

*> \brief \b DGET06
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* DOUBLE PRECISION FUNCTION DGET06( RCOND, RCONDC )
*
* .. Scalar Arguments ..
* DOUBLE PRECISION RCOND, RCONDC
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> DGET06 computes a test ratio to compare two values for RCOND.
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] RCOND
*> \verbatim
*> RCOND is DOUBLE PRECISION
*> The estimate of the reciprocal of the condition number of A,
*> as computed by DGECON.
*> \endverbatim
*>
*> \param[in] RCONDC
*> \verbatim
*> RCONDC is DOUBLE PRECISION
*> The reciprocal of the condition number of A, computed as
*> ( 1/norm(A) ) / norm(inv(A)).
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup double_lin
*
* =====================================================================
DOUBLE PRECISION FUNCTION DGET06( RCOND, RCONDC )
*
* -- LAPACK test routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
*
* .. Scalar Arguments ..
DOUBLE PRECISION RCOND, RCONDC
* ..
*
* =====================================================================
*
* .. Parameters ..
DOUBLE PRECISION ZERO, ONE
PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
* ..
* .. Local Scalars ..
DOUBLE PRECISION EPS, RAT
* ..
* .. External Functions ..
DOUBLE PRECISION DLAMCH
EXTERNAL DLAMCH
* ..
* .. Intrinsic Functions ..
INTRINSIC MAX, MIN
* ..
* .. Executable Statements ..
*
EPS = DLAMCH( 'Epsilon' )
IF( RCOND.GT.ZERO ) THEN
IF( RCONDC.GT.ZERO ) THEN
RAT = MAX( RCOND, RCONDC ) / MIN( RCOND, RCONDC ) -
$ ( ONE-EPS )
ELSE
RAT = RCOND / EPS
END IF
ELSE
IF( RCONDC.GT.ZERO ) THEN
RAT = RCONDC / EPS
ELSE
RAT = ZERO
END IF
END IF
DGET06 = RAT
RETURN
*
* End of DGET06
*
END