SRC/claqgb.f(3)
πΈ SRC/claqgb.f(3) β Library Functions Manual πΈ
okay bestie, welcome to the glow-up zone β¨ this is a page from the Library Functions Manual, and it's all about one iconic little Fortran subroutine that does matrix makeovers. no cap, she's serving scaling realness π
π NAME π
SRC/claqgb.f
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine claqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax,
equed)
CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. literally her whole personality π
π Function/Subroutine Documentation π
subroutine claqgb (integer m, integer n, integer kl, integer ku, complex,
dimension( ldab, * ) ab, integer ldab, real, dimension( * ) r, real,
dimension( * ) c, real rowcnd, real colcnd, real amax, character equed)
CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. she's not doing the math herself, she's applying the looks that sgbequ curated π«Ά
β¨ Purpose β¨
!>
!> CLAQGB equilibrates a general M by N band matrix A with KL
!> subdiagonals and KU superdiagonals using the row and scaling factors
!> in the vectors R and C.
!>
so like, she takes your band matrix A β M by N, with KL subdiagonals and KU superdiagonals β and equilibrates it using those row and scaling factors hanging out in the R and C vectors. main character energy fr fr π
π Parameters π
MβM is INTEGER, and it's the number of rows of the matrix A.M >= 0. keep it non-negative, bestie πNβN is INTEGER, the number of columns of the matrix A.N >= 0. again, no negatives please πKLβKL is INTEGER, the number of subdiagonals within the band of A.KL >= 0. yes queen, stay non-negative βKUβKU is INTEGER, the number of superdiagonals within the band of A.KU >= 0. same vibe, same rule πABβAB is COMPLEX array, dimension (LDAB,N). on entry, this is the matrix A in band storage, in rows1toKL+KU+1. the j-th column of A is stored in the j-th column of the array AB like this:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
on exit, it's the equilibrated matrix, in the same storage format as A. see EQUED for the form of the equilibrated matrix. she went in, got the glow-up, kept the same outfit π
LDABβLDAB is INTEGER, the leading dimension of the array AB.LDA >= KL+KU+1.(yes, it saysLDA, we're keeping it exactly as written β no editing the sacred text, bestie π)RβR is REAL array, dimension (M). the row scale factors for A. iconic little row receipts π§CβC is REAL array, dimension (N). the column scale factors for A. matching column receipts, we love a coordinated set πROWCNDβROWCND is REAL. ratio of the smallestR(i)to the largestR(i). it's giving imbalance report π₯COLCNDβCOLCND is REAL. ratio of the smallestC(i)to the largestC(i). same energy, column edition πΈAMAXβAMAX is REAL. absolute value of largest matrix entry. the biggest vibe in the room, literally πEQUEDβEQUED is CHARACTER*1. specifies the form of equilibration that was done:= 'N':No equilibration= 'R':Row equilibration, i.e., A has been premultiplied bydiag(R).= 'C':Column equilibration, i.e., A has been postmultiplied bydiag(C).= 'B':Both row and column equilibration, i.e., A has been replaced bydiag(R) * A * diag(C).
so 'N' is no glow-up, 'R' is row-only, 'C' is column-only, and 'B' is the full both-sides slay πβ¨
π Internal Parameters π
!> THRESH is a threshold value used to decide if row or column scaling
!> should be done based on the ratio of the row or column scaling
!> factors. If ROWCND < THRESH, row scaling is done, and if
!> COLCND < THRESH, column scaling is done.
!>
!> LARGE and SMALL are threshold values used to decide if row scaling
!> should be done based on the absolute size of the largest matrix
!> element. If AMAX > LARGE or AMAX < SMALL, row scaling is done.
!>
so THRESH is the cutoff that decides whether row or column scaling gets the green light, based on the ratio of the row or column scaling factors. if ROWCND < THRESH, row scaling is done; if COLCND < THRESH, column scaling is done. and LARGE and SMALL are thresholds deciding whether row scaling happens based on the absolute size of the largest matrix element β if AMAX > LARGE or AMAX < SMALL, row scaling is done. iykyk, the thresholds are doing all the decision-making behind the scenes π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition β
Definition at line 158 of file claqgb.f.
π Author (again, but the generated one) π
Generated automatically by Doxygen for LAPACK from the source code. she was born from automation, and honestly? iconic π
lowkey a whole serve:LAPACKΒ·Version 3.12.0Β·SRC/claqgb.f(3)β and that's the tea, bestie. drink up π΅π β¨
π¦ 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