ZDTTRSV(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ NAME ✨

ZDTTRSV β€” bestie it solves one of the systems of equations L * X = B, L**T * X = B, or L**H * X = B, πŸ’–


🌸 SYNOPSIS 🌸

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

    CHARACTER       UPLO, TRANS

    INTEGER         INFO, LDB, N, NRHS

    COMPLEX*16      B( LDB, * ), D( * ), DL( * ), DU( * )

πŸ’… PURPOSE πŸ’…

Okay so here's the tea, bestie: ZDTTRSV 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,

using the factors of the tridiagonal matrix A from the LU factorization that ZDTTRF computed. It's giving "we already did the hard part, now we just vibe and solve." πŸ¦‹


πŸŽ€ ARGUMENTS πŸŽ€

  • UPLO (input) CHARACTER*1 β€” tells us whether we're solving with L or U. Choose wisely, no cap.
  • TRANS (input) CHARACTER β€” the form of the system of equations, iykyk:
    • = '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. 🫢
  • NRHS (input) INTEGER β€” the number of right hand sides, aka 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. Main character entries fr fr.
  • 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, the right hand side matrix B. On exit, B is overwritten by the solution matrix X. Glow up moment honestly. πŸ’…
  • LDB (input) INTEGER β€” the leading dimension of the array B. Constraint: LDB >= max(1,N).
  • INFO (output) INTEGER β€” the receipts:
    • = 0: successful exit πŸ‘‘
    • < 0: if INFO = -i, the i-th argument had an illegal value 😭

Not me warning you that a negative INFO means somebody passed an illegal value β€” check which argument, bestie, it's literally telling you. πŸ’€

That's the whole page, bestie β€” a modified LAPACK routine, version 2.0, dated 12 May 1997. Slay, go solve some tridiagonal systems. πŸ§šπŸ’œ

πŸ“¦ where this page comes from