DLAQSY(3)

๐Ÿ“ฆ version 3.12.0, in opensuse-leap 16.0

๐Ÿ’… DLAQSY(3) โ€” the LAPACK girlies' guide

Okay so bestie, welcome to the manual page for DLAQSY, living its best life over in LAPACK (Library Functions Manual energy, obvs). Get comfy, we're gonna talk about scaling symmetric matrices and it's gonna slay. โœจ


๐ŸŒธ NAME ๐ŸŒธ

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

Yeah, that's the whole name, it's giving "my full legal name on the attendance sheet." That path is literally the file, no cap โ€” that's where this icon lives. ๐ŸŽ€


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

Functions/Subroutines

subroutine DLAQSY (uplo, n, a, lda, s, scond, amax, equed)

DLAQSY scales a symmetric/Hermitian matrix, using scaling factors computed by spoequ. That's the whole vibe: it takes your matrix and equilibrates it. ๐Ÿ’–


๐Ÿ‘‘ Function/Subroutine Documentation ๐Ÿ‘‘

subroutine DLAQSY (character uplo, integer n, double precision, dimension(
    lda, * ) a, integer lda, double precision, dimension( * ) s, double
    precision scond, double precision amax, character equed)

DLAQSY scales a symmetric/Hermitian matrix, using scaling factors computed by spoequ. (Yes, this is the same sentence again โ€” the manpage said it twice, so I'm saying it twice, periodt. Consistency is a lifestyle. ๐Ÿ’…)

๐Ÿงš Purpose ๐Ÿงš

Okay so here's the actual tea: DLAQSY equilibrates a symmetric matrix A using the scaling factors in the vector S. That's it. That's the job. Fr fr. ๐Ÿซถ


โญ Parameters โญ

  • UPLO โ€” UPLO is CHARACTER*1. It's the "which half of the matrix are we even looking at" flag:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N โ€” N is INTEGER. The order of the matrix A. Constraint: N >= 0. (Zero is valid bestie, don't come for it. ๐Ÿ’€)
  • A โ€” A is DOUBLE PRECISION array, dimension (LDA,N). Let's break it down:
    • On entry, this is the symmetric matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. ๐Ÿ™ˆ (Not referenced = we simply do not acknowledge it, it's not in the group chat.)
    • On exit, if EQUED = 'Y', you get the equilibrated matrix: diag(S) * A * diag(S). Iconic transformation honestly. โœจ
  • LDA โ€” LDA is INTEGER. The leading dimension of the array A. Constraint: LDA >= max(N,1). Respect the boundary. ๐ŸŽ€
  • S โ€” S is DOUBLE PRECISION array, dimension (N). The scale factors for A. These are the main characters of this whole operation. ๐Ÿ‘‘
  • SCOND โ€” SCOND is DOUBLE PRECISION. Ratio of the smallest S(i) to the largest S(i). It's literally the gossip: how spread out are your scaling factors? ๐ŸŒˆ
  • AMAX โ€” AMAX is DOUBLE PRECISION. Absolute value of largest matrix entry. Big number energy. ๐Ÿ”ฅ
  • EQUED โ€” EQUED is CHARACTER*1. Tells you 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). Slay. ๐Ÿ’…

๐Ÿ”ฎ Internal Parameters ๐Ÿ”ฎ

These are the behind-the-scenes besties, the ones working the lighting so the show looks good. ๐Ÿ˜ญ

  • 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 basically: small scond ratio โ†’ scale. Huge or tiny amax โ†’ scale. The vibes are checked, then the matrix gets its glow-up. ๐Ÿ’–)


๐ŸŒŸ Author ๐ŸŒŸ

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

Group project but somehow it actually got finished, we love to see it. ๐Ÿซถ

Definition at line 132 of file dlaqsy.f.


๐ŸŽ€ Author (the meta one) ๐ŸŽ€

Generated automatically by Doxygen for LAPACK from the source code. No human typed this part, it was the robots. Respect. ๐Ÿค–โœจ


Ngl, the whole page is basically: check your thresholds, scale if you must, tell everyone via EQUED, and never touch the triangular half you weren't asked about. That's the rule, that's the vibe check, that's the law. ๐Ÿ’€

LAPACK, Version 3.12.0 โ€” and that little /home/abui...RC/dlaqsy.f(3) tag at the bottom is just the source/version flex. Bye bestie, go equilibrate something ๐Ÿ’œ๐Ÿฆ‹๐ŸŒธ

๐Ÿ“ฆ where this page comes from