SRC/claqsb.f(3)

πŸ’– SRC/claqsb.f πŸ’–

okay so bestie, this page is from the LAPACK Library Functions Manual β€” like, the library functions manual energy is immaculate. it's SRC/claqsb.f and it's about one (1) very specific little subroutine. let's get into it 🫢


✨ SYNOPSIS ✨

🧚 Functions/Subroutines

  • subroutine claqsb (uplo, n, kd, ab, ldab, s, scond, amax, equed) β€” CLAQSB scales a symmetric/Hermitian band matrix, using scaling factors computed by spbequ. that's the whole vibe, honestly πŸ’…

🌸 Function/Subroutine Documentation 🌸

πŸŽ€ subroutine claqsb (character uplo, integer n, integer kd, complex, dimension( ldab, * ) ab, integer ldab, real, dimension( * ) s, real scond, real amax, character equed)

CLAQSB scales a symmetric/Hermitian band matrix, using scaling factors computed by spbequ. no cap, that's literally what it does.

πŸ’œ Purpose:

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

πŸ¦‹ Parameters

  • UPLO β€” UPLO is CHARACTER*1 β€” tells us whether the upper or lower triangular part of the symmetric matrix A is the one being stored:
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>
  • N β€” N is INTEGER β€” the order of the matrix A. constraint: N >= 0.
  • 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'. constraint: KD >= 0.
  • AB β€” AB is COMPLEX array, dimension (LDAB,N) β€” okay this one has lore. on entry, it's 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 lives in the j-th column of the array 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).
!>

and on exit, if INFO = 0, you get the triangular factor U or L from the Cholesky factorization A = U**H *U or A = L*L**H of the band matrix A, in the same storage format as A. same format, new content β€” it's giving glow-up ✨

  • LDAB β€” LDAB is INTEGER β€” the leading dimension of the array AB. constraint: LDAB >= KD+1. do not disrespect it πŸ™ˆ
  • S β€” S is REAL array, dimension (N) β€” the scale factors for A. icon behavior.
  • SCOND β€” SCOND is REAL β€” ratio of the smallest S(i) to the largest S(i). tiny-to-big ratio realness.
  • AMAX β€” AMAX is REAL β€” absolute value of largest matrix entry. main character of the matrix, lowkey.
  • 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).
!>

🌈 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 real: THRESH gatekeeps via the SCOND ratio (if SCOND < THRESH, scaling happens), and LARGE / SMALL gatekeep via the absolute size of the biggest matrix element (if AMAX > LARGE or AMAX < SMALL, scaling happens). three thresholds, three vibe checks πŸ”₯

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

πŸ“Œ Definition at line 140 of file claqsb.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. not a human writing this one, it's a whole robot doing its thing πŸ€–πŸ’«


k that's the page!! it's LAPACK, Version 3.12.0, and the whole thing is filed under SRC/claqsb.f(3) β€” mwah, bye bestie πŸ’‹πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from