DLASQ1(3)
π¦ DLASQ1(3) β the singular-values girlie π
ok so first things first, the manual name situation: this page lives in the Library Functions Manual section 3, and the source file it's documenting is literally
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/SRC/dlasq1.f
yes that's the whole NAME section, no cap, that's just how Doxygen do. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine DLASQ1 (n, d, e, work, info)
DLASQ1 computes the singular values of a real square bidiagonal matrix. Used by sbdsqr. she's a supporting actress but she ATE that role, fr fr. π
πΈ Function/Subroutine Documentation πΈ
subroutine DLASQ1 (integer n, double precision, dimension( * ) d, double
precision, dimension( * ) e, double precision, dimension( * ) work,
integer info)
so what does she do bestie? DLASQ1 computes the singular values of a real square bidiagonal matrix. Used by sbdsqr. that's the whole elevator pitch and honestly it's iconic. β¨
π Purpose:
!>
!> DLASQ1 computes the singular values of a real N-by-N bidiagonal
!> matrix with diagonal D and off-diagonal E. The singular values
!> are computed to high relative accuracy, in the absence of
!> denormalization, underflow and overflow. The algorithm was first
!> presented in
!>
!> by K. V.
!> Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2, pp. 191-230,
!> 1994,
!>
!> and the present implementation is described in , LAPACK Working Note.
!>
ok the glow-up here: real N-by-N bidiagonal matrix, diagonal D, off-diagonal E, and she computes those singular values to high relative accuracy β but ONLY in the absence of denormalization, underflow and overflow. like, she's accurate, she's not a miracle worker. π
the algorithm was first presented by K. V. Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2, pp. 191-230, 1994, and the present implementation is described in , LAPACK Working Note. (the citation slots in the source are lowkey empty, i'm just telling you what's there π«Ά)
π Parameters
NβN is INTEGER. the number of rows and columns in the matrix.N >= 0. bestie ifNis negative we are NOT doing this. π«DβD is DOUBLE PRECISION array, dimension (N). on entry,Dcontains the diagonal elements of the bidiagonal matrix whose SVD is desired. on normal exit,Dcontains the singular values in decreasing order. she reorders, she delivers, she leaves. πEβE is DOUBLE PRECISION array, dimension (N). on entry, elementsE(1:N-1)contain the off-diagonal elements of the bidiagonal matrix whose SVD is desired. on exit,Eis overwritten. overwritten!! like, gone, don't come looking for your oldE, she's not coming back. πWORKβWORK is DOUBLE PRECISION array, dimension (4*N). that's four timesN, yes, bring snacks, she needs room. πINFOβINFO is INTEGER. the vibe report:= 0: successful exit π slay< 0: ifINFO = -i, the i-th argument had an illegal value π somebody typed something cursed> 0: the algorithm failed, and here's the breakdown:= 1, a split was marked by a positive value inE= 2, current block ofZnot diagonalized after100*Niterations (in inner while loop). On exitDandErepresent a matrix with the same singular values which the calling subroutine could use to finish the computation, or even feed back intoDLASQ1π₯ (ngl that's kind of a generous failure, she left you the leftovers)= 3, termination criterion of outer while loop not met (program created more thanNunreduced blocks) π the outer loop said "no <3"
ok real talk:INFO > 0means something did go sideways β read which code you got, don't just ignore her.= 2and= 3are genuinely different situations. π«Ά
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 107 of file dlasq1.f.
β Author (again, yes really)
Generated automatically by Doxygen for LAPACK from the source code. she wasn't written, she was generated. main character energy. π
that's the whole page bestie β LAPACK, Version 3.12.0, dated /home/abui...RC/dlasq1.f(3). mwah, go compute some singular values, ily π§π
π¦ 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