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 ofabandb. 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βTRANSisCHARACTER*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βNisINTEGER. The order of the matrixA.N >= 0.KLβKLisINTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKUisINTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHSisINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.ABβABisCOMPLEXarray, dimension(LDAB,N). Details of the LU factorization of the band matrixA, as computed byCGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1. π§ (yes, the storage layout is that specific β write it down)LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= 2*KL+KU+1.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= N, rowiof the matrix was interchanged with rowIPIV(i).BβBisCOMPLEXarray, dimension(LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX. π (it gets overwritten, bestie β that's the point)LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).INFOβINFOisINTEGER:= 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βTRANSisCHARACTER*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βNisINTEGER. The order of the matrixA.N >= 0.KLβKLisINTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKUisINTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHSisINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.ABβABisDOUBLE PRECISIONarray, dimension(LDAB,N). Details of the LU factorization of the band matrixA, as computed byDGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= 2*KL+KU+1.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= N, rowiof the matrix was interchanged with rowIPIV(i).BβBisDOUBLE PRECISIONarray, dimension(LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).INFOβINFOisINTEGER:= 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βTRANSisCHARACTER*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βNisINTEGER. The order of the matrixA.N >= 0.KLβKLisINTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKUisINTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHSisINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.ABβABisREALarray, dimension(LDAB,N). Details of the LU factorization of the band matrixA, as computed bySGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= 2*KL+KU+1.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= N, rowiof the matrix was interchanged with rowIPIV(i).BβBisREALarray, dimension(LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).INFOβINFOisINTEGER:= 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βTRANSisCHARACTER*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βNisINTEGER. The order of the matrixA.N >= 0.KLβKLisINTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKUisINTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHSisINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.ABβABisCOMPLEX*16array, dimension(LDAB,N). Details of the LU factorization of the band matrixA, as computed byZGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDABLDABβINTEGER. This is the leading dimension of the arrayAB, 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: for1 <= i <= N, rowiof the matrix was interchanged with rowIPIV(i). πBβCOMPLEX*16 array, dimension(LDB,NRHS). On entry, itβs the right hand side matrixB; on exit, itβs the solution matrixX. Same array, new main-character era. β¨LDBβINTEGER. The leading dimension of the arrayB, and the vibe check isLDB >= max(1,N). Respect the boundary, fr. π«ΆINFOβINTEGER. The exit-status tea:= 0: successful exit β slay, we move. π< 0: ifINFO = -i, the i-th argument had an illegal value β not cute, go fix argumenti. π
π 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 isLAPACKVersion3.12.0, pagegbtrs(3). No date on the footer, so no imaginary date for you. π«Άβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms