ZLAQGB(3)
π ZLAQGB(3) β the glow-up page for a band matrix π
okay bestie, so this is a LAPACK library functions manual page, and the actual file it's documenting is:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/SRC/zlaqgb.f
yes that's the whole vibe, she lives in the LAPACK source tree, no cap π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZLAQGB (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax,
equed)
ZLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. that's the whole job, and she does it flawlessly π
π¦ Function/Subroutine Documentation π¦
subroutine ZLAQGB (integer m, integer n, integer kl, integer ku, complex*16,
dimension( ldab, * ) ab, integer ldab, double precision, dimension( * )
r, double precision, dimension( * ) c, double precision rowcnd, double
precision colcnd, double precision amax, character equed)
ZLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. (yes, the sgbequ part is literally how the original says it, we are just repeating the lore π«Ά)
πΈ Purpose πΈ
!> !> ZLAQGB 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. !>
like literally she takes matrix A, and she balances her whole situation using R and C β main character energy fr π₯
π Parameters π
MβM is INTEGER. The number of rows of the matrix A.M >= 0. (yes bestie, zero is allowed, she's chill like that)NβN is INTEGER. The number of columns 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.ABβAB is COMPLEX*16 array, dimension (LDAB,N). On entry, 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 as follows:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
On exit, the equilibrated matrix, in the same storage format as A. See EQUED for the form of the equilibrated matrix. β¨ she goes in as A and comes out equilibrated, a total transformation moment, we love a before-and-after π
LDABβLDAB is INTEGER. The leading dimension of the array AB.LDA >= KL+KU+1. (ngl the original literally saysLDAhere, notLDAB, so we're keeping it exactly as she wrote it β no edits, periodt)RβR is DOUBLE PRECISION array, dimension (M). The row scale factors for A.CβC is DOUBLE PRECISION array, dimension (N). The column scale factors for A.ROWCNDβROWCND is DOUBLE PRECISION. Ratio of the smallestR(i)to the largestR(i).COLCNDβCOLCND is DOUBLE PRECISION. Ratio of the smallestC(i)to the largestC(i).AMAXβAMAX is DOUBLE PRECISION. Absolute value of largest matrix entry.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).
literally the receipts of what she did to your matrix π pick your fighter: 'N', 'R', 'C', or 'B' π¦
π Internal Parameters π
!>THRESHis 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. IfROWCND < THRESH, row scaling is done, and if !>COLCND < THRESH, column scaling is done. !> !>LARGEandSMALLare threshold values used to decide if row scaling !> should be done based on the absolute size of the largest matrix !> element. IfAMAX > LARGEorAMAX < SMALL, row scaling is done. !>
so yeah: THRESH runs the vibe check on ROWCND and COLCND, and LARGE / SMALL run the vibe check on AMAX. iykyk π
β Author β
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 158 of file zlaqgb.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not a human, just vibes and a code generator π§)
and that's the whole page bestie β LAPACK, Version 3.12.0, straight out of /home/abui...RC/zlaqgb.f(3). slay, read the docs, hydrate, and go equilibrate something π
β¨
π¦ 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