gbtrs(3)

πŸŽ€ NAME πŸŽ€

gbtrs β€” okay so bestie, this whole page is about gbtrs: the triangular solve using factor πŸ’… (fr fr, that's the entire name right there: gbtrs - gbtrs: triangular solve using factor).

It lives in section 3 of the library functions manual, so think of it as gbtrs(3) β€” a whole family of four subroutines that take your band matrix, already factored, and hand you back your solution. No cap, it's giving "the final boss step of the linear solve pipeline." ✨


🌸 SYNOPSIS 🌸

πŸ’– Functions

cgbtrs β€” complex version, single precision:

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

dgbtrs β€” double precision version:

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

sgbtrs β€” single precision real version:

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

zgbtrs β€” the double complex one, complex*16 and everything:

subroutine zgbtrs (trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
🫢 All four take the exact same argument list. The only thing that changes is the type of ab and b. Slay, consistency.

✨ Detailed Description ✨

Okay so here's the tea β˜•: there isn't a big general blurb up here β€” the page jumps straight into documenting each subroutine, one by one. So that's what we're doing. Four icons, four purposes, all of them solving a system with a general band matrix A using the LU factorization that was computed beforehand. Let's go πŸ‘‘


πŸ¦‹ Function Documentation

πŸ’… subroutine cgbtrs

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 β€” and it's flexible about which form you want, bestie:

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. That's it. That's the whole job. πŸ”₯

🌈 Parameters

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • KL β€” KL is INTEGER. The number of subdiagonals within the band of A. KL >= 0.
  • KU β€” KU is INTEGER. The number of superdiagonals within the band of A. KU >= 0.
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • AB β€” AB is COMPLEX array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by CGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1. 🧚 (yes, the storage layout is that specific β€” write it down)
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • B β€” B is COMPLEX array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X. πŸŽ€ (it gets overwritten, bestie β€” that's the point)
  • 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

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 136 of file cgbtrs.f.


🌸 subroutine dgbtrs

subroutine dgbtrs (character trans, integer n, integer kl, integer ku,
integer nrhs, double precision, dimension( ldab, * ) ab, integer ldab,
integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b,
integer ldb, integer info)

DGBTRS

⭐ Purpose:

DGBTRS solves a system of linear equations:

A * X = B  or  A**T * X = B

…with a general band matrix A using the LU factorization computed by DGBTRF. πŸ’–

🌈 Parameters

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T* X = B (Transpose)
    • = 'C': A**T* X = B (Conjugate transpose = Transpose)
πŸ‘€ Not me pointing out that for the real versions, 'T' and 'C' are literally the same thing β€” because conjugate transpose of a real matrix is transpose. iykyk.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • KL β€” KL is INTEGER. The number of subdiagonals within the band of A. KL >= 0.
  • KU β€” KU is INTEGER. The number of superdiagonals within the band of A. KU >= 0.
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • AB β€” AB is DOUBLE PRECISION array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by DGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X.
  • 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

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 136 of file dgbtrs.f.


πŸ¦‹ subroutine sgbtrs

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

SGBTRS

⭐ Purpose:

SGBTRS solves a system of linear equations:

A * X = B  or  A**T * X = B

…with a general band matrix A using the LU factorization computed by SGBTRF. ✨

🌈 Parameters

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T* X = B (Transpose)
    • = 'C': A**T* X = B (Conjugate transpose = Transpose)
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • KL β€” KL is INTEGER. The number of subdiagonals within the band of A. KL >= 0.
  • KU β€” KU is INTEGER. The number of superdiagonals within the band of A. KU >= 0.
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • AB β€” AB is REAL array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by SGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • B β€” B is REAL array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X.
  • 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

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 136 of file sgbtrs.f.


🧚 subroutine zgbtrs

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

ZGBTRS

⭐ Purpose:

ZGBTRS solves a system of linear equations β€” all three flavours, because complex is built different πŸ’œ:

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

…with a general band matrix A using the LU factorization computed by ZGBTRF.

🌈 Parameters

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • KL β€” KL is INTEGER. The number of subdiagonals within the band of A. KL >= 0.
  • KU β€” KU is INTEGER. The number of superdiagonals within the band of A. KU >= 0.
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • AB β€” AB is COMPLEX*16 array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by ZGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB
  • LDAB β€” INTEGER. This is the leading dimension of the array AB, and the rule is strict: LDAB >= 2*KL+KU+1. No squeezing, bestie. πŸ’…
  • IPIV β€” INTEGER array, dimension (N). These are the pivot indices β€” literally the receipts for the row swaps: for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i). πŸ”
  • B β€” COMPLEX*16 array, dimension (LDB,NRHS). On entry, it’s the right hand side matrix B; on exit, it’s the solution matrix X. Same array, new main-character era. ✨
  • LDB β€” INTEGER. The leading dimension of the array B, and the vibe check is LDB >= max(1,N). Respect the boundary, fr. 🫢
  • INFO β€” INTEGER. The exit-status tea:
    • = 0: successful exit β€” slay, we move. πŸŽ€
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” not cute, go fix argument i. πŸ’€

πŸ’– Author πŸ’–

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

Definition at line 136 of file zgbtrs.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.

🌈 That’s the whole page, bestie β€” footer core is LAPACK Version 3.12.0, page gbtrs(3). No date on the footer, so no imaginary date for you. 🫢✨
πŸ“¦ where this page comes from