ZLAQGB(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… 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 rows 1 to KL+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 says LDA here, not LDAB, 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 smallest R(i) to the largest R(i).
  • COLCND β€” COLCND is DOUBLE PRECISION. Ratio of the smallest C(i) to the largest C(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 by diag(R).
    • = 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • = 'B': Both row and column equilibration, i.e., A has been replaced by diag(R) * A * diag(C).

literally the receipts of what she did to your matrix πŸ‘‘ pick your fighter: 'N', 'R', 'C', or 'B' πŸ¦‹

🌈 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 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