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



NAME
       SLASV2

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



PURPOSE
            SLASV2 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 REAL
                     The (1,1) element of the 2-by-2 matrix.

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

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

           SSMIN     (output)
                     SSMIN is REAL
                     abs(SSMIN) is the smaller singular value.

           SSMAX     (output)
                     SSMAX is REAL
                     abs(SSMAX) is the larger singular value.

           SNL       (output)
                     SNL is REAL

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

           SNR       (output)
                     SNR is REAL

           CSR       (output)
                     CSR is REAL
                     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                      SLASV2(3)