SDTTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– SDTTRF(l) β€” the LAPACK routine, bestie edition πŸ’–

okay so you're in section l of the manual and you found SDTTRF β€” that's a LAPACK routine, version 2.0, and she's here to do exactly one job and do it slayfully. no cap.


✨ NAME ✨

SDTTRF β€” compute an LU factorization of a complex tridiagonal matrix A using elimination without partial pivoting. yes. no pivoting. we're rawdogging the elimination, bestie 🫢


🌸 SYNOPSIS 🌸

SUBROUTINE SDTTRF( N, DL, D, DU, INFO )

    INTEGER        INFO, N

    REAL           D( * ), DL( * ), DU( * )

look at her. five arguments. she's not complicated, she's just precise πŸ’…


πŸ¦‹ PURPOSE πŸ¦‹

SDTTRF computes an LU factorization of a complex tridiagonal matrix A using elimination without partial pivoting. (iykyk what that means for stability β€” she said what she said.)

the factorization has the form

A = L * U

where L is a product of unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first superdiagonal. it's giving "sparse but make it structured" ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • N (input) INTEGER β€” the order of the matrix A. and listen: N >= 0. that's the vibe check. negative N? not on her watch.
  • DL (input/output) COMPLEX array, dimension (N-1) β€” on entry, DL must contain the (n-1) subdiagonal elements of A. on exit, DL is overwritten by the (n-1) multipliers that define the matrix L from the LU factorization of A. so like… she borrows your subdiagonal and gives you back multipliers instead. trade offer, honestly πŸ“
  • D (input/output) COMPLEX array, dimension (N) β€” on entry, D must contain the diagonal elements of A. on exit, D is overwritten by the n diagonal elements of the upper triangular matrix U from the LU factorization of A. in goes A's diagonal, out comes U's diagonal. glow-up complete πŸ’–
  • DU (input/output) COMPLEX array, dimension (N-1) β€” on entry, DU must contain the (n-1) superdiagonal elements of A. on exit, DU is overwritten by the (n-1) elements of the first superdiagonal of U. same energy, different superdiagonal 🧚
  • INFO (output) INTEGER β€” the receipts. she tells you how it went:
    • = 0: successful exit. we love a clean run πŸ‘‘
    • < 0: if INFO = -i, the i-th argument had an illegal value. bestie, you passed something cursed πŸ™ˆ
    • > 0: if INFO = i, U(i,i) is exactly zero. the factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations. so like β€” she finished the job, but the result is a πŸ’€. do not go solving systems with that unless you want NaN flavored chaos.
⚠️ real talk: no partial pivoting means no safety net. INFO > 0 is not a warning, it's a prophecy. if U(i,i) is exactly zero, division by zero will happen when you solve. periodt.

🌈 SEE ALSO 🌈

ngl bestie, this page didn't ship a SEE ALSO section, so there's nothing to cross-reference here. go ask the rest of LAPACK, she's around πŸ’œ


and that's the whole page, no notes ✨

this was a modified LAPACK routine, dated 12 May 1997 β€” shoutout to the elders who wrote her, she's been serving since before some of us were born and she still eats πŸ’…πŸ«Ά bye bestie, go pivot responsibly (or don't, that's literally the whole point) ⭐

πŸ“¦ where this page comes from