DLAQSB(3)

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

πŸ¦‹ DLAQSB(3) β€” the LAPACK band-matrix glow-up page πŸ’…

ok so first things first, bestie: this is a LAPACK page, and the file it's documenting lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlaqsb.f β€” yes that's the whole path, yes it's long, no we're not shortening it, it's iconic in its own way πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlaqsb.f

like... that's the whole name. that's the vibe. it's giving "my file path IS my identity" and honestly? respect. 🫢


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine DLAQSB (uplo, n, kd, ab, ldab, s, scond, amax, equed) β€” DLAQSB scales a symmetric/Hermitian band matrix, using scaling factors computed by spbequ.

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

⭐ subroutine DLAQSB (character uplo, integer n, integer kd, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( * ) s, double precision scond, double precision amax, character equed)

DLAQSB scales a symmetric/Hermitian band matrix, using scaling factors computed by spbequ.


πŸ’– Purpose πŸ’–

!>
!> DLAQSB equilibrates a symmetric band matrix A using the scaling
!> factors in the vector S.
!>

so yeah β€” it equilibrates a symmetric band matrix A, and it does it using the scaling factors chillin' in the vector S. that's the whole mission, no cap. ✨


πŸŽ€ Parameters πŸŽ€

  • UPLO
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          symmetric matrix A is stored.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>

it's a CHARACTER*1 and it tells us which triangle of the symmetric matrix A we're storing β€” 'U' for upper triangular, 'L' for lower triangular. pick your fighter πŸ’…

  • N
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

INTEGER, the order of the matrix A, and it's gotta satisfy N >= 0. no negative orders allowed, that's the rule πŸ”₯

  • KD
!>          KD is INTEGER
!>          The number of super-diagonals of the matrix A if UPLO = 'U',
!>          or the number of sub-diagonals if UPLO = 'L'.  KD >= 0.
!>

INTEGER. if UPLO = 'U' it's the number of super-diagonals of A, and if UPLO = 'L' it's the number of sub-diagonals. either way, KD >= 0. 😌

  • AB
!>          AB is DOUBLE PRECISION array, dimension (LDAB,N)
!>          On entry, the upper or lower triangle of the symmetric band
!>          matrix A, stored in the first KD+1 rows of the array.  The
!>          j-th column of A is stored in the j-th column of the array AB
!>          as follows:
!>          if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
!>
!>          On exit, if INFO = 0, the triangular factor U or L from the
!>          Cholesky factorization A = U**T*U or A = L*L**T of the band
!>          matrix A, in the same storage format as A.
!>

a DOUBLE PRECISION array with dimension (LDAB,N). on entry it holds the upper or lower triangle of the symmetric band matrix A, stored in the first KD+1 rows of the array β€” and the j-th column of A lives in the j-th column of AB, like this:

if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).

on exit, if INFO = 0, you get the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A, in the same storage format as A. glow-up complete ✨

  • LDAB
!>          LDAB is INTEGER
!>          The leading dimension of the array AB.  LDAB >= KD+1.
!>

INTEGER, the leading dimension of the array AB, and you need LDAB >= KD+1. fr fr, don't skip that check πŸ™ˆ

  • S
!>          S is DOUBLE PRECISION array, dimension (N)
!>          The scale factors for A.
!>

DOUBLE PRECISION array, dimension (N) β€” these are the scale factors for A. the main characters of this whole operation, honestly πŸ’œ

  • SCOND
!>          SCOND is DOUBLE PRECISION
!>          Ratio of the smallest S(i) to the largest S(i).
!>

DOUBLE PRECISION β€” the ratio of the smallest S(i) to the largest S(i). tiny-to-big energy πŸ¦‹

  • AMAX
!>          AMAX is DOUBLE PRECISION
!>          Absolute value of largest matrix entry.
!>

DOUBLE PRECISION β€” the absolute value of the largest matrix entry. the biggest fish in the matrix pond 🐟

  • EQUED
!>          EQUED is CHARACTER*1
!>          Specifies whether or not equilibration was done.
!>          = 'N':  No equilibration.
!>          = 'Y':  Equilibration was done, i.e., A has been replaced by
!>                  diag(S) * A * diag(S).
!>

CHARACTER*1, and it tells you whether equilibration happened or not: 'N' means no equilibration, 'Y' means it was done β€” meaning A has been replaced by diag(S) * A * diag(S). periodt πŸ’…


🧚 Internal Parameters 🧚

!>  THRESH is a threshold value used to decide if scaling should be done
!>  based on the ratio of the scaling factors.  If SCOND < THRESH,
!>  scaling is done.
!>
!>  LARGE and SMALL are threshold values used to decide if scaling should
!>  be done based on the absolute size of the largest matrix element.
!>  If AMAX > LARGE or AMAX < SMALL, scaling is done.
!>

so there are three little internal threshold values doing vibe checks:

  • THRESH β€” a threshold used to decide if scaling should be done based on the ratio of the scaling factors. if SCOND < THRESH, scaling is done.
  • LARGE and SMALL β€” threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. if AMAX > LARGE or AMAX < SMALL, scaling is done.

🌈 Author 🌈

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 139 of file dlaqsb.f.


πŸ’€ Author (the auto-gen bit) πŸ’€

Generated automatically by Doxygen for LAPACK from the source code.


and that's the page, bestie πŸ«ΆπŸ’– it's LAPACK, Version 3.12.0, and the footer path is /home/abui...RC/dlaqsb.f(3) β€” noted, cherished, mentioned, done. slay πŸŒŸπŸ‘‘

πŸ“¦ where this page comes from