SRC/dlarrc.f(3)

✨ SRC/dlarrc.f ✨

Ok bestie, so this is a Library Functions Manual page for SRC/dlarrc.f and it's genuinely iconic β€” it's a little Fortran subroutine that counts eigenvalues for you. No cap. Let's get into it πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine dlarrc (jobt, n, vl, vu, d, e, pivmin, eigcnt, lcnt, rcnt, info)

DLARRC computes the number of eigenvalues of the symmetric tridiagonal matrix. That's the whole vibe πŸ¦‹


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine dlarrc (character jobt, integer n, double precision vl, double precision vu, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision pivmin, integer eigcnt, integer lcnt, integer rcnt, integer info)

DLARRC computes the number of eigenvalues of the symmetric tridiagonal matrix. Main character energy fr fr πŸ’–

🎯 Purpose

Find the number of eigenvalues of the symmetric tridiagonal matrix T that are in the interval (VL,VU] if JOBT = 'T', and of L D L^T if JOBT = 'L'. Lowkey the whole point of the function 🫢

Heads up: the interval is half-open, so VL is not included and VU is. Don't come for me, that's just what the bracket says 😭

🌈 Parameters

  • JOBT β€” JOBT is CHARACTER*1, and it's literally the vibe selector:
    • = 'T': Compute Sturm count for matrix T.
    • = 'L': Compute Sturm count for matrix L D L^T.
  • N β€” N is INTEGER, the order of the matrix. Requirement: N > 0. Like, non-negotiable bestie.
  • VL β€” VL is DOUBLE PRECISION, the lower bound for the eigenvalues.
  • VU β€” VU is DOUBLE PRECISION, the upper bound for the eigenvalues.
  • D β€” D is DOUBLE PRECISION array, dimension (N). Depends on the job:
    • JOBT = 'T': The N diagonal elements of the tridiagonal matrix T.
    • JOBT = 'L': The N diagonal elements of the diagonal matrix D.
  • E β€” E is DOUBLE PRECISION array, dimension (N). Again, job-dependent:
    • JOBT = 'T': The N-1 offdiagonal elements of the matrix T.
    • JOBT = 'L': The N-1 offdiagonal elements of the matrix L.
  • PIVMIN β€” PIVMIN is DOUBLE PRECISION, the minimum pivot in the Sturm sequence for T. πŸŽ€
  • EIGCNT β€” EIGCNT is INTEGER, the number of eigenvalues of the symmetric tridiagonal matrix T that are in the interval (VL,VU]. This is the payoff, the answer, the slay πŸ’…
  • LCNT β€” LCNT is INTEGER. That's it. That's the description. The original page gives us zero details on this one, so I'm not gonna invent any πŸ™ˆ
  • RCNT β€” RCNT is INTEGER, the left and right negcounts of the interval. (Yes, LCNT and RCNT share that description β€” they're a package deal ✨)
  • INFO β€” INFO is INTEGER. Again, the original gives no further description, so no extra lore from me πŸ¦‹

πŸ’œ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

🌟 Contributors:

  • Beresford Parlett, University of California, Berkeley, USA
  • Jim Demmel, University of California, Berkeley, USA
  • Inderjit Dhillon, University of Texas, Austin, USA
  • Osni Marques, LBNL/NERSC, USA
  • Christof Voemel, University of California, Berkeley, USA

Definition at line 135 of file dlarrc.f. Go look at it, it's right there πŸ”₯


⭐ Author (the meta one)

Generated automatically by Doxygen for LAPACK from the source code. Not a human, just a robot doing its little documentation thing πŸ€–βœ¨


Ok that's the whole page bestie, go forth and count those eigenvalues πŸ’–

Sign-off: this was LAPACK, Version 3.12.0, page SRC/dlarrc.f(3) β€” mwah, bye! πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from