Loading...
Searching...
No Matches

## slasv2()

subroutine slasv2 | ( | real | f,
|  | real | g,
|  | real | h,
|  | real | ssmin,
|  | real | ssmax,
|  | real | snr,
|  | real | csr,
|  | real | snl,
|  | real | csl )

SLASV2 computes the singular value decomposition of a 2-by-2 triangular matrix.

Download SLASV2 + dependencies [TGZ] [ZIP] [TXT]

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 ].
      !>

Parameters

  [in]

  F

      !>          F is REAL
      !>          The (1,1) element of the 2-by-2 matrix.
      !>

  [in]

  G

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

  [in]

  H

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

  [out]

  SSMIN

      !>          SSMIN is REAL
      !>          abs(SSMIN) is the smaller singular value.
      !>

  [out]

  SSMAX

      !>          SSMAX is REAL
      !>          abs(SSMAX) is the larger singular value.
      !>

  [out]

  SNL

      !>          SNL is REAL
      !>

  [out]

  CSL

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

  [out]

  SNR

      !>          SNR is REAL
      !>

  [out]

  CSR

      !>          CSR is REAL
      !>          The vector (CSR, SNR) is a unit right singular vector for the
      !>          singular value abs(SSMAX).
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.

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.
      !>
      !>  Underflow is harmless if underflow is gradual. Otherwise, results
      !>  may correspond to a matrix modified by perturbations of size near
      !>  the underflow threshold.
      !>