SRC/dlaqsp.f(3)

πŸ’… SRC/dlaqsp.f(3) β€” bestie, this is giving Library Functions Manual energy πŸŽ€

🌸 NAME 🌸

SRC/dlaqsp.f β€” that's the page, and we're about to make it make sense, no cap 🫢

✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

  • subroutine dlaqsp (uplo, n, ap, s, scond, amax, equed) β€” DLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ. Slay, that's the one-line vibe check.

πŸ’… Function/Subroutine Documentation πŸ’…

πŸ¦‹ subroutine dlaqsp β€” the full glow-up πŸ¦‹

   subroutine dlaqsp (character uplo, integer n, double precision, dimension( *
       ) ap, double precision, dimension( * ) s, double precision scond, double
       precision amax, character equed)

DLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

🎯 Purpose 🎯

DLAQSP equilibrates a symmetric matrix A using the scaling factors in the vector S. That's the whole assignment, bestie β€” it's doing matrix self-care with the factors it got from sppequ πŸ’–

🧸 Parameters 🧸

  • UPLO β€” is CHARACTER*1 and says whether the upper or lower triangular part of the symmetric matrix A is stored. = 'U': Upper triangular. = 'L': Lower triangular. Pick your fave triangle, but only those two, okay? πŸ’…
  • N β€” is INTEGER; the order of the matrix A. N >= 0. Zero is allowed, so don't come for it πŸ™ˆ
  • AP β€” is DOUBLE PRECISION array, dimension (N*(N+1)/2). On entry, it holds the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. On exit, it's the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. Iconic packed-array behavior, fr fr.
  • S β€” is DOUBLE PRECISION array, dimension (N); the scale factors for A. These are the little glow-up multipliers πŸ’«
  • SCOND β€” is DOUBLE PRECISION; ratio of the smallest S(i) to the largest S(i). It's giving "how spread out are the scale factors?" energy.
  • AMAX β€” is DOUBLE PRECISION; absolute value of largest matrix entry. Big-entry energy check βœ…
  • EQUED β€” is CHARACTER*1 and says 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). We love a clear yes/no, 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. The vibe check threshold, basically.
  • 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. Big or tiny, either way it triggers the scaling behavior πŸ’€

πŸ‘‘ Author πŸ‘‘

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

Definition at line 124 of file dlaqsp.f. Not me clocking the exact line number β€” yes I am πŸŽ€

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. Yes, bestie, the robots wrote this one, and they ate ✨


Bye bestie 🫢 This page comes from LAPACK, Version 3.12.0, and it's SRC/dlaqsp.f(3). The footer didn't print a date, so we're not making one up β€” mysterious timestamp energy only πŸ’œ

πŸ“¦ where this page comes from