DDTTRSV(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ DDTTRSV β€” the LAPACK routine, but make it a group chat ✨

okay bestie so this is DDTTRSV, a routine from LAPACK version 2.0, and it lives in manual section l. she's a linear-algebra girlie and she's here to solve your systems for you. πŸ’…


🌸 NAME 🌸

DDTTRSV β€” solve one of the systems of equations

L * X = B,  L**T * X = B,  or  L**H * X = B,

no cap, that's the whole job. she solves. she slays. she leaves. ✨


πŸŽ€ SYNOPSIS πŸŽ€

SUBROUTINE DDTTRSV( UPLO, TRANS, N, NRHS, DL, D, DU, B, LDB, INFO )

    CHARACTER       UPLO, TRANS

    INTEGER         INFO, LDB, N, NRHS

    DOUBLE          PRECISION B( LDB, * ), D( * ), DL( * ), DU( * )
not me noticing the synopsis says DOUBLE PRECISION while the ARGUMENTS section down there says COMPLEX for DL, D, and DU… i'm literally just the messenger bestie, i'm not touching a single character of it πŸ™ˆ

πŸ¦‹ PURPOSE πŸ¦‹

DDTTRSV solves one of the systems of equations

L * X = B,  L**T * X = B,  or  L**H * X = B,
U * X = B,  U**T * X = B,  or  U**H * X = B,

and where do those factors come from, you ask? they're the factors of the tridiagonal matrix A, straight out of the LU factorization that DDTTRF computed. so like, do the factorization first, then come here. it's giving teamwork. 🫢


πŸ’– ARGUMENTS πŸ’–

buckle up, here's everyone in the cast:

  • UPLO (input) CHARACTER*1 β€” tells us whether we're solving with L or with U. pick your fighter. πŸ‘‘
  • TRANS (input) CHARACTER β€” the form of the system of equations, and here are your options:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N (input) INTEGER β€” the order of the matrix A. constraint: N >= 0. (yes she can be zero, she's flexible like that πŸ’…)
  • NRHS (input) INTEGER β€” the number of right hand sides, a.k.a. the number of columns of the matrix B. constraint: NRHS >= 0.
  • DL (input) COMPLEX array, dimension (N-1) β€” the (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D (input) COMPLEX array, dimension (N) β€” the n diagonal elements of the upper triangular matrix U from the LU factorization of A. the main character energy of the diagonal, honestly. ⭐
  • DU (input) COMPLEX array, dimension (N-1) β€” the (n-1) elements of the first superdiagonal of U.
  • B (input/output) COMPLEX array, dimension (LDB,NRHS) β€” on entry, this is your right hand side matrix B. on exit, B gets overwritten by the solution matrix X. so like, say bye to the original, she's gone, that's the vibe. 😭
  • LDB (input) INTEGER β€” the leading dimension of the array B. constraint: LDB >= max(1,N). do not play with her. πŸ™…
  • INFO (output) INTEGER β€” the receipts:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ’€

πŸ‘‘ the cute sign-off πŸ‘‘

this page is from a modified LAPACK routine, dated 12 May 1997, and it's serving LAPACK routine (version 2.0) energy from the footer. periodt. go solve something iconic bestie, ily πŸŽ€βœ¨πŸ’œ

πŸ“¦ where this page comes from