Previous: dlassq Up: ../lapack-d.html Next: dlaswp


dlasv2


 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 singu-
      lar value, abs(SSMIN) is the smaller singular value, and
      (CSL,SNL) and (CSR,SNR) are the left and right singular vec-
      tors 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) entry of the 2-by-2 matrix.

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

      H       (input) DOUBLE PRECISION
              The (2,2) entry 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 singu-
              lar value abs(SSMAX).

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

      Barring over/underflow and assuming a guard digit in sub-
      traction, 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
      entry 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.