CGBTRS(3)

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

πŸ’… cgbtrs.f(3) β€” Library Functions Manual πŸŽ€

okay bestie so this is a page out of the Library Functions Manual, and it's literally just the docs for one Fortran subroutine, /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgbtrs.f. Yes the whole path, yes it's long, no we're not shortening it, it's the name, it's iconic like that. πŸ¦‹


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgbtrs.f β€” that's it, that's the name, that's the whole vibe. it's giving "my government name is a file path" and honestly? relatable. πŸ’€


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine CGBTRS (trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)

CGBTRS β€” the main character of this page πŸ’«


πŸ”₯ Function/Subroutine Documentation πŸ”₯

subroutine CGBTRS (character trans, integer n, integer kl, integer ku,
    integer nrhs, complex, dimension( ldab, * ) ab, integer ldab, integer,
    dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb,
    integer info)

CGBTRS 🫢

πŸ’– Purpose:

!>
!> CGBTRS solves a system of linear equations
!>    A * X = B,  A**T * X = B,  or  A**H * X = B
!> with a general band matrix A using the LU factorization computed
!> by CGBTRF.
!>

so basically: you've already got the LU factorization from CGBTRF, right? now CGBTRS comes in and actually solves the thing. three flavors available β€” A * X = B, A**T * X = B, or A**H * X = B β€” pick your fighter, the TRANS argument decides. no cap, that's the whole job. ✨

πŸŽ€ Parameters

  • TRANS β€” CHARACTER*1, and it tells us what form of the system of equations we're doing. the options are, and I quote:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N β€” INTEGER, the order of the matrix A. must be N >= 0. (zero is valid bestie, don't come for me.)
  • KL β€” INTEGER, the number of subdiagonals within the band of A. must be KL >= 0.
  • KU β€” INTEGER, the number of superdiagonals within the band of A. must be KU >= 0.
  • NRHS β€” INTEGER, the number of right hand sides, i.e., the number of columns of the matrix B. must be NRHS >= 0.
  • AB β€” COMPLEX array, dimension (LDAB,N). this bad boy holds the details of the LU factorization of the band matrix A, exactly as CGBTRF computed it. specifically:
    • U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1
    • the multipliers used during the factorization live in rows KL+KU+2 to 2*KL+KU+1
  • LDAB β€” INTEGER, the leading dimension of the array AB. must be LDAB >= 2*KL+KU+1. not a suggestion, a requirement πŸ’…
  • IPIV β€” INTEGER array, dimension (N). the pivot indices. for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i). it's giving "receipts of every swap" 🧾
  • B β€” COMPLEX array, dimension (LDB,NRHS). on entry, this is the right hand side matrix B. on exit, it's the solution matrix X. same array, glow-up arc, we love a transformation ✨
  • LDB β€” INTEGER, the leading dimension of the array B. must be LDB >= max(1,N). yes max(1,N), not just N β€” write it down. πŸ“
  • INFO β€” INTEGER, the report card πŸ“‹:
    • = 0: successful exit β€” slay, you're done
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” so INFO = -3 means arg number 3 was being messy. check your inputs bestie 😭

πŸ‘‘ Author

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

Definition at line 136 of file cgbtrs.f. πŸ”– (yes, line one-three-six, go look, it's right there)


⭐ Author

Generated automatically by Doxygen for LAPACK from the source code. a bot wrote this and honestly it ate πŸ€–βœ¨


fair warning bestie: CGBTRS does not check that your factorization is nonsingular and it does not do the factorizing for you β€” that's CGBTRF's whole thing. this page only promises what it promises: it solves, given a factorization, and it reports INFO = -i for a bad argument. nothing more, nothing invented, periodt. πŸ’œ

and that's the page!! πŸ¦‹ no notes. LAPACK, Version 3.12.0, footer said /home/abui...RC/cgbtrs.f(3) and we're not arguing with the manpage about a truncated path, we simply respect it. mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from