CGBTRS(3)
π 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 beN >= 0. (zero is valid bestie, don't come for me.)KLβ INTEGER, the number of subdiagonals within the band of A. must beKL >= 0.KUβ INTEGER, the number of superdiagonals within the band of A. must beKU >= 0.NRHSβ INTEGER, the number of right hand sides, i.e., the number of columns of the matrix B. must beNRHS >= 0.ABβ COMPLEX array, dimension(LDAB,N). this bad boy holds the details of the LU factorization of the band matrix A, exactly asCGBTRFcomputed it. specifically:Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1- the multipliers used during the factorization live in rows
KL+KU+2to2*KL+KU+1
LDABβ INTEGER, the leading dimension of the array AB. must beLDAB >= 2*KL+KU+1. not a suggestion, a requirement πIPIVβ INTEGER array, dimension(N). the pivot indices. for1 <= i <= N, rowiof the matrix was interchanged with rowIPIV(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 beLDB >= max(1,N). yesmax(1,N), not justNβ 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β soINFO = -3means 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:CGBTRSdoes not check that your factorization is nonsingular and it does not do the factorizing for you β that'sCGBTRF's whole thing. this page only promises what it promises: it solves, given a factorization, and it reportsINFO = -ifor 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms