LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ dlasv2()

subroutine dlasv2 ( double precision f,
double precision g,
double precision h,
double precision ssmin,
double precision ssmax,
double precision snr,
double precision csr,
double precision snl,
double precision csl )

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

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

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 ].
!> 
Parameters
[in]F
!>          F is DOUBLE PRECISION
!>          The (1,1) element of the 2-by-2 matrix.
!> 
[in]G
!>          G is DOUBLE PRECISION
!>          The (1,2) element of the 2-by-2 matrix.
!> 
[in]H
!>          H is DOUBLE PRECISION
!>          The (2,2) element of the 2-by-2 matrix.
!> 
[out]SSMIN
!>          SSMIN is DOUBLE PRECISION
!>          abs(SSMIN) is the smaller singular value.
!> 
[out]SSMAX
!>          SSMAX is DOUBLE PRECISION
!>          abs(SSMAX) is the larger singular value.
!> 
[out]SNL
!>          SNL is DOUBLE PRECISION
!> 
[out]CSL
!>          CSL is DOUBLE PRECISION
!>          The vector (CSL, SNL) is a unit left singular vector for the
!>          singular value abs(SSMAX).
!> 
[out]SNR
!>          SNR is DOUBLE PRECISION
!> 
[out]CSR
!>          CSR is DOUBLE PRECISION
!>          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.
!>