DLASV2(3)      LAPACK routine of NEC Numeric Library Collection      DLASV2(3)



NAME
       DLASV2

SYNOPSIS
       SUBROUTINE DLASV2 (F, G, H, SSMIN, SSMAX, SNR, CSR, SNL, CSL)



PURPOSE
            DLASV2 computes the singular value decomposition of a 2-by-2
            triangular matrix
               [  F   G  ]
               [  0   H  ].
            On return, abs(SSMAX) is the larger singular value, abs(SSMIN) is the
            smaller singular value, and (CSL,SNL) and (CSR,SNR) are the left and
            right singular vectors for abs(SSMAX), giving the decomposition

               [ CSL  SNL ] [  F   G  ] [ CSR -SNR ]  =  [ SSMAX   0   ]
               [-SNL  CSL ] [  0   H  ] [ SNR  CSR ]     [  0    SSMIN ].




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

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

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

           SSMIN     (output)
                     SSMIN is DOUBLE PRECISION
                     abs(SSMIN) is the smaller singular value.

           SSMAX     (output)
                     SSMAX is DOUBLE PRECISION
                     abs(SSMAX) is the larger singular value.

           SNL       (output)
                     SNL is DOUBLE PRECISION

           CSL       (output)
                     CSL is DOUBLE PRECISION
                     The vector (CSL, SNL) is a unit left singular vector for the
                     singular value abs(SSMAX).

           SNR       (output)
                     SNR is DOUBLE PRECISION

           CSR       (output)
                     CSR is DOUBLE PRECISION
                     The vector (CSR, SNR) is a unit right singular vector for the
                     singular value abs(SSMAX).






FURTHER DETAILS
             Any input parameter may be aliased with any output parameter.

             Barring over/underflow and assuming a guard digit in subtraction, all
             output quantities are correct to within a few units in the last
             place (ulps).

             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.



LAPACK routine                  31 October 2017                      DLASV2(3)