/home/abui...RC/dgtsv.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… dgtsv.f β€” the manual page, but make it make sense

okay so bestie, this page lives at /home/abui...RC/dgtsv.f(3) and it's from the Library Functions Manual. buckle up, we're solving tridiagonal systems and it's actually kind of iconic πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgtsv.f

that's the whole name. yes really. it's just the file path being its full self. main character energy tbh πŸ‘‘


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine DGTSV (n, nrhs, dl, d, du, b, ldb, info)

DGTSV computes the solution to system of linear equations A * X = B for GT matrices. slay πŸ’–


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine DGTSV (integer n, integer nrhs, double precision, dimension( * )
    dl, double precision, dimension( * ) d, double precision, dimension( * )
    du, double precision, dimension( ldb, * ) b, integer ldb, integer info)

πŸ’« DGTSV computes the solution to system of linear equations A * X = B for GT matrices

Purpose:

!>
!> DGTSV  solves the equation
!>
!>    A*X = B,
!>
!> where A is an n by n tridiagonal matrix, by Gaussian elimination with
!> partial pivoting.
!>
!> Note that the equation  A**T*X = B  may be solved by interchanging the
!> order of the arguments DU and DL.
!>

so like β€” it does Gaussian elimination with partial pivoting on a tridiagonal matrix. and here's the little hack, iykyk: wanna solve A**T*X = B instead? just swap the order of the arguments DU and DL. that's it. that's the trick. no cap πŸ”₯


🌈 Parameters 🌈

  • N β€” N is INTEGER. the order of the matrix A. N >= 0. ⭐
  • NRHS β€” NRHS is INTEGER. the number of right hand sides, like, the number of columns of the matrix B. NRHS >= 0.
  • DL β€” DL is DOUBLE PRECISION array, dimension (N-1). on entry, DL must contain the (n-1) sub-diagonal elements of A. on exit? the glow-up is real: DL gets overwritten by the (n-2) elements of the second super-diagonal of the upper triangular matrix U from the LU factorization of A, sitting in DL(1), ..., DL(n-2). 😭 bye original contents
  • D β€” D is DOUBLE PRECISION array, dimension (N). on entry, D must contain the diagonal elements of A. on exit, D is overwritten by the n diagonal elements of U. πŸ’…
  • DU β€” DU is DOUBLE PRECISION array, dimension (N-1). on entry, DU must contain the (n-1) super-diagonal elements of A. on exit, DU is overwritten by the (n-1) elements of the first super-diagonal of U.
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). on entry, the N by NRHS matrix of right hand side matrix B. on exit, if INFO = 0, the N by NRHS solution matrix X. it literally becomes the answer 🫢
  • LDB β€” LDB is INTEGER. the leading dimension of the array B. LDB >= max(1,N). 🧚
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit πŸ’š
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ™ˆ
    • > 0: if INFO = i, U(i,i) is exactly zero, and the solution has not been computed. the factorization has not been completed unless i = N. πŸ’€ so yeah, zero pivot, no solution, we don't talk about it

πŸ‘‘ Author

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

Definition at line 126 of file dgtsv.f.


πŸ“ Author

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a very diligent little robot πŸ€–βœ¨)


fr fr the vibe is: it's a Fortran tridiagonal solver and it ate. periodt. πŸ”₯

LAPACK Β· Version 3.12.0 Β· /home/abui...RC/dgtsv.f(3) β€” mwah, that's the sign-off bestie, hope tridiagonal systems are now your whole personality πŸ¦‹πŸ’œπŸŽ€

πŸ“¦ where this page comes from