# ?lasv2

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

## Syntax

call slasv2( f, g, h, ssmin, ssmax, snr, csr, snl, csl )

call dlasv2( f, g, h, ssmin, ssmax, snr, csr, snl, csl )

## Description

The routine ?lasv2 computes the singular value decomposition of a 2-by-2 triangular matrix

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

## Input Parameters

f, g, h

  REAL for slasv2

  DOUBLE PRECISION for dlasv2.

  The (1,1), (1,2) and (2,2) elements of the 2-by-2 matrix, respectively.

## Output Parameters

ssmin, ssmax

  REAL for slasv2

  DOUBLE PRECISION for dlasv2.

  abs(ssmin) and abs(ssmax) is the smaller and the larger singular value, respectively.

snl, csl

  REAL for slasv2

  DOUBLE PRECISION for dlasv2.

  The vector (csl, snl) is a unit left singular vector for the singular value abs(ssmax).

snr, csr

  REAL for slasv2

  DOUBLE PRECISION for dlasv2.

  The vector (csr, snr) is a unit right singular vector for the singular value abs(ssmax).

## Application Notes

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.

Parent topic: Auxiliary Routines