HPL_dlocswpT(3)

πŸ“¦ version 2.2, in fedora 43, fedora 44

πŸ’… HPL_dlocswpT β€” the HPL Library Functions girlies know

okay so bestie, we're in the HPL_dlocswpT(3) page from the HPL Library Functions lineup, and honestly? it's giving "small but mighty." sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

HPL_dlocswpT β€” locally swaps rows within panel. that's it, that's the whole job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

#include "hpl.h"

void HPL_dlocswpT( HPL_T_panel * PANEL, const int II, const int JJ,
double * WORK );

look at that signature. clean. iconic. no notes. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so HPL_dlocswpT performs the local swapping operations within a panel. that's the vibe.

and here's the little detail that matters, no cap: the lower triangular N0-by-N0 upper block of the panel is stored in transpose form. so like, don't come at her expecting the normal orientation, she's doing her own thing and she's thriving ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • PANEL β€” (local input/output) HPL_T_panel * β€” on entry, PANEL points to the data structure containing the panel information. she's the main character, everything routes through her πŸ’–
  • II β€” (local input) const int β€” on entry, II specifies the row offset where the column to be operated on starts with respect to the panel. so like, where in the rows are we, relative to the panel. iykyk πŸ“
  • JJ β€” (local input) const int β€” on entry, JJ specifies the column offset where the column to be operated on starts with respect to the panel. the column coordinate bestie, panel-relative, keep up 🫢
  • WORK β€” (local workspace) double * β€” on entry, WORK is a workarray of size at least 2 * (4+2*N0). and here's the full breakdown because she deserves the full breakdown:
    • WORK[0] contains the local maximum absolute value scalar
    • WORK[1] contains the corresponding local row index
    • WORK[2] contains the corresponding global row index
    • WORK[3] is the coordinate of process owning this max
    • the N0 length max row is stored in WORK[4:4+N0-1]
    • > note that this is also the JJth row (or column) of L1 πŸ‘€
    • the remaining part of this array is used as workspace

so yeah, she's a whole setup. respect the workspace or perish πŸ’€


🌈 SEE ALSO 🌈

the whole friend group, fr fr β€” go say hi:

  • HPL_dlocmax (3)
  • HPL_dlocswpN (3)
  • HPL_pdmxswp (3)
  • HPL_pdpancrN (3)
  • HPL_pdpancrT (3)
  • HPL_pdpanllN (3)
  • HPL_pdpanllT (3)
  • HPL_pdpanrlN (3)
  • HPL_pdpanrlT (3)
  • HPL_pdrpancrN (3)
  • HPL_pdrpancrT (3)
  • HPL_pdrpanllN (3)
  • HPL_pdrpanllT (3)
  • HPL_pdrpanrlN (3)
  • HPL_pdrpanrlT (3)
  • HPL_pdfact (3)

and that's the page bestie!! πŸ’œ this whole thing is from HPL 2.2, dated February 24, 2016 β€” vintage but still eating, honestly. go swap those rows, you absolute icon 🌟🧚

πŸ“¦ where this page comes from