SRC/dlaneg.f(3)
π NAME π
Okay bestie, welcome to the Library Functions Manual page for SRC/dlaneg.f β that's literally the whole name section. It's giving "just the file name," and honestly? Iconic minimalism. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
integer function dlaneg (n, d, lld, sigma, pivmin, r)βDLANEG computes the Sturm count.
π Function/Subroutine Documentation π
Here's the full signature, exactly as it appears, because we do not mess with source code in this group chat:
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.
Purpose
So what does it actually do? DLANEG computes the Sturm count: the number of negative pivots you encounter while factoring the tridiagonal matrix 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. It's literally counting eigenvalues via pivots, iykyk. π
This routine is called from DLARRB. Noted, bestie. π
Now, the tea: the current routine does not use the PIVMIN parameter, but rather requires IEEE-754 propagation of Infinities and NaNs. It also has no input range restrictions, but it does require default exception handling such that x/0 produces Inf when x is non-zero, and Inf/Inf produces NaN. That's the vibe check: special floating-point behavior is load-bearing here. π«Ά
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.)
Parameters
NβN is INTEGER. The order of the matrix. πDβD is DOUBLE PRECISION array, dimension (N). TheNdiagonal elements of the diagonal matrixD.LLDβLLD is DOUBLE PRECISION array, dimension (N-1). The(N-1)elementsL(i)*L(i)*D(i).SIGMAβSIGMA is DOUBLE PRECISION. Shift amount inT - sigma I = L D L^T.PIVMINβPIVMIN is DOUBLE 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 usePIVMINbut rather requires IEEE-754 behavior β so this is a "may be used" situation, not a "this is doing the work here" situation. π)RβR is INTEGER. The twist index for the twisted factorization that is used for the negcount. Twisted factorization? Ate. π₯
β¨ 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.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Cute sign-off time, bestie: that footer is LAPACK, Version 3.12.0, page SRC/dlaneg.f(3) β and if you were looking for a date, the original footer doesn't give one, so I'm not inventing it. Periodt. π
π¦ 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