laneg(3)
π laneg(3) β Sturm count, but make it a whole moment
Okay bestie, welcome to laneg(3) β yes, the whole manual page, and no, it's not boring, like at all, it's giving linear algebra legend energy π«Ά
β¨ NAME β¨
laneg β laneg: Sturm count. That's the whole vibe. Short, sweet, iconic. Periodt.
πΈ SYNOPSIS πΈ
Two functions, both living their best life in here:
integer function dlaneg (n, d, lld, sigma, pivmin, r)
DLANEG computes the Sturm count.
integer function slaneg (n, d, lld, sigma, pivmin, r)
SLANEG computes the Sturm count.
π¦ Detailed Description π¦
Spoiler: there isn't a big prose paragraph here, the details live down in the function docs. Scroll, bestie π
π Function Documentation π
π integer function dlaneg (integer n, double precision, dimension( * ) d, double precision, dimension( * ) lld, double precision sigma, double precision pivmin, integer r)
DLANEG computes the Sturm count. Double precision edition, fancy π
β Purpose:
!>
!> DLANEG computes the Sturm count, the number of negative pivots
!> encountered while factoring tridiagonal T - sigma I = L D L^T.
!> This implementation works directly on the factors without forming
!> the tridiagonal matrix T. The Sturm count is also the number of
!> eigenvalues of T less than sigma.
!>
!> This routine is called from DLARRB.
!>
!> The current routine does not use the PIVMIN parameter but rather
!> requires IEEE-754 propagation of Infinities and NaNs. This
!> routine also has no input range restrictions but does require
!> default exception handling such that x/0 produces Inf when x is
!> non-zero, and Inf/Inf produces NaN. For more information, see:
!>
!> Marques, Riedy, and Voemel, SIAM Journal on
!> Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624
!> (Tech report version in LAWN 172 with the same title.)
!>
So real talk: it counts negative pivots while factoring tridiagonal T - sigma I = L D L^T, straight off the factors, without ever forming T. And that count doubles as the number of eigenvalues of T less than sigma. Also it's called from DLARRB. And heads up β it does not use the PIVMIN parameter, it needs IEEE-754 propagation of Infinities and NaNs, and it has no input range restrictions but does need default exception handling like x/0 giving Inf when x is non-zero, and Inf/Inf giving NaN. iykyk π₯
π Parameters
NβNisINTEGER. The order of the matrix. That's it, that's the girl.DβDisDOUBLE PRECISION array, dimension (N). TheNdiagonal elements of the diagonal matrixD.LLDβLLDisDOUBLE PRECISION array, dimension (N-1). The(N-1)elementsL(i)*L(i)*D(i). NotL(i)*L(i)*something else, don't play πSIGMAβSIGMAisDOUBLE PRECISION. Shift amount inT - sigma I = L D L^T.PIVMINβPIVMINisDOUBLE PRECISION. The minimum pivot in the Sturm sequence. May be used when zero pivots are encountered on non-IEEE-754 architectures. (Remember: this routine doesn't actually use it β it's just sitting there being cute.)RβRisINTEGER. The twist index for the twisted factorization that is used for the negcount. "Twisted factorization" is such a main character phrase ngl π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Contributors:
- Osni Marques, LBNL/NERSC, USA
- Christof Voemel, University of California, Berkeley, USA
- Jason Riedy, University of California, Berkeley, USA
Definition at line 117 of file dlaneg.f.
π integer function slaneg (integer n, real, dimension( * ) d, real, dimension( * ) lld, real sigma, real pivmin, integer r)
SLANEG computes the Sturm count. Same queen, REAL era β¨
β Purpose:
!>
!> SLANEG computes the Sturm count, the number of negative pivots
!> encountered while factoring tridiagonal T - sigma I = L D L^T.
!> This implementation works directly on the factors without forming
!> the tridiagonal matrix T. The Sturm count is also the number of
!> eigenvalues of T less than sigma.
!>
!> This routine is called from SLARRB.
!>
!> The current routine does not use the PIVMIN parameter but rather
!> requires IEEE-754 propagation of Infinities and NaNs. This
!> routine also has no input range restrictions but does require
!> default exception handling such that x/0 produces Inf when x is
!> non-zero, and Inf/Inf produces NaN. For more information, see:
!>
!> Marques, Riedy, and Voemel, SIAM Journal on
!> Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624
!> (Tech report version in LAWN 172 with the same title.)
!>
Same deal as above but this one's called from SLARRB. Same IEEE-754 requirement (Inf and NaN propagation, x/0 β Inf for non-zero x, Inf/Inf β NaN), same "no input range restrictions", same "does not use PIVMIN" warning. Lowkey twins π―ββοΈ
π Parameters
NβNisINTEGER. The order of the matrix.DβDisREAL array, dimension (N). TheNdiagonal elements of the diagonal matrixD.LLDβLLDisREAL array, dimension (N-1). The(N-1)elementsL(i)*L(i)*D(i).SIGMAβSIGMAisREAL. Shift amount inT - sigma I = L D L^T.PIVMINβPIVMINisREAL. The minimum pivot in the Sturm sequence. May be used when zero pivots are encountered on non-IEEE-754 architectures.RβRisINTEGER. The twist index for the twisted factorization that is used for the negcount.
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Contributors:
- Osni Marques, LBNL/NERSC, USA
- Christof Voemel, University of California, Berkeley, USA
- Jason Riedy, University of California, Berkeley, USA
Definition at line 117 of file slaneg.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
So no, a human did not handcraft this one, a robot did, and honestly? It ate π€π
LAPACK β Version 3.12.0 π and that's the whole page bestie, mwah, go read your eigenvalues, you've got this πβ¨π¦
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms