dlasv2(3F)

DLASV2 - compute the singular value decomposition of a 2-by-2 triangular matrix [ F G ] [ 0 H ]

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     DLASV2 - compute the singular value decomposition of a 2-by-2 triangular
     matrix  [ F G ]  [ 0 H ]

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

         DOUBLE         PRECISION CSL, CSR, F, G, H, SNL, SNR, SSMAX, SSMIN

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) 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
             abs(SSMIN) is the smaller singular value.

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

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

     SNR     (output) DOUBLE PRECISION
             CSR     (output) 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.