DLAS2(3f)

NAME
DLAS2 - the singular values of the 2-by-2 matrix [ F G ] [ 0 H ]

SYNOPSIS

SUBROUTINE DLAS2(
    F, G, H, SSMIN, SSMAX )

DOUBLE
    PRECISION F, G, H, SSMAX, SSMIN

PURPOSE
DLAS2 computes the singular values of the 2-by-2 matrix
   [ F G ]
   [ 0 H ]. On return, SSMIN is the smaller singular value and SSMAX is the larger singular value.

ARGUMENTS

F       (input) DOUBLE PRECISION
    The (1,1) element of the 2-by-2 matrix.

G       (input) DOUBLE PRECISION
    The (1,2) element of the 2-by-2 matrix.

H       (input) DOUBLE PRECISION
    The (2,2) element of the 2-by-2 matrix.

SSMIN   (output) DOUBLE PRECISION
    The smaller singular value.

SSMAX   (output) DOUBLE PRECISION
    The larger singular value.

FURTHER DETAILS
Barring over/underflow, all output quantities are correct to within a few units in the last place (ulps), even in the absence of a guard digit in addition/subtraction.
In IEEE arithmetic, the code works correctly if one matrix element is infinite.
Overflow will not occur unless the largest singular value itself overflows, or is within a few ulps of overflow. (On machines with partial overflow, like the Cray, overflow may occur if the largest singular value is within a factor of 2 of overflow.)
Underflow is harmless if underflow is gradual. Otherwise, results may correspond to a matrix modified by perturbations of size near the underflow threshold.