DLASV2(3)
π DLASV2(3) β or, the little subroutine that could (SVD of a 2-by-2 triangular matrix) π
okay so bestie. you know how sometimes you have a tiny 2Γ2 triangular matrix and you just need its singular value decomposition, like, immediately? that's literally this. this page lives at:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlasv2.f
yes the whole path, she's long, she's iconic, she's giving filesystem realness π
β¨ SYNOPSIS β¨
Functions/Subroutines π«Ά
subroutine DLASV2 (f, g, h, ssmin, ssmax, snr, csr, snl, csl)
DLASV2 computes the singular value decomposition of a 2-by-2 triangular matrix. that's it, that's the whole vibe π
πΈ Function/Subroutine Documentation πΈ
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. no cap. π¦
π 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 ].
likeβ¦ she factors. she always factors. main character energy π§
β¨ Parameters β¨
FβFisDOUBLE PRECISION. it's the(1,1)element of the 2-by-2 matrix. top-left bestie, the one everybody meets first π«ΆGβGisDOUBLE PRECISION. the(1,2)element of the 2-by-2 matrix. yes she's the off-diagonal one, the chaotic one, we love her πHβHisDOUBLE PRECISION. the(2,2)element of the 2-by-2 matrix. bottom-right, holding it down βSSMINβSSMINisDOUBLE PRECISION.abs(SSMIN)is the smaller singular value. smol but mighty πSSMAXβSSMAXisDOUBLE PRECISION.abs(SSMAX)is the larger singular value. she's the moment, she's the icon πSNLβSNLisDOUBLE PRECISION. (that's it, that's the note β no extra description on this one, the manpage literally just says the type and moves on π)CSLβCSLisDOUBLE PRECISION. the vector(CSL, SNL)is a unit left singular vector for the singular valueabs(SSMAX)πSNRβSNRisDOUBLE PRECISION. (same deal β type line only, no extra prose, we don't gatekeep, we just report π)CSRβCSRisDOUBLE PRECISION. the vector(CSR, SNR)is a unit right singular vector for the singular valueabs(SSMAX)π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
an absolute supergroup, ngl π₯
π¦ Further Details: π¦
Any input parameter may be aliased with any output parameter.
that's right, aliasing is allowed, she's flexible like that β¨
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).
so, like, correct to a few ulps β accuracy queen π
In IEEE arithmetic, the code works correctly if one matrix element is infinite.
one infinite element? she said "i can work with that" π
Overflow will not occur unless the largest singular value itself overflows or is within a few ulps of overflow.
overflow only shows up if the biggest singular value overflows or is, like, right there at the overflow line. no drama otherwise π«Ά
Underflow is harmless if underflow is gradual. Otherwise, results may correspond to a matrix modified by perturbations of size near the underflow threshold.
okay so this one matters bestie β if underflow is gradual you're fine, but if it's not, your results might as well be from a matrix that got nudged by perturbations near the underflow threshold. so like, know your hardware, mmkay? β οΈ
Definition at line 135 of file dlasv2.f. π
β Author (again, the meta one) β
Generated automatically by Doxygen for LAPACK from the source code. yes she was born from a doc generator, and she still ate ππ
okay that's the whole page bestie, no notes π
this was LAPACK, Version 3.12.0, and the file is /home/abui...RC/dlasv2.f(3) β mwah, go decompose something 2-by-2 π¦β¨πΈ
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms