- SUBROUTINE DLAS2(
- F, G, H, SSMIN, SSMAX )
- DOUBLE PRECISION F, G, H, SSMAX, SSMIN
PURPOSEDLAS2 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.
- 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 DETAILSBarring 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.