DLAS2(3) computes 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.