HPL_dlocswpN(3)

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

πŸ’– HPL_dlocswpN πŸ’–

okay so bestie, welcome to the HPL Library Functions corner of the man pages β€” this one's all about HPL_dlocswpN, which locally swaps rows within panel. that's the whole vibe. it's giving "small but mighty" ✨


🌸 NAME 🌸

HPL_dlocswpN β€” locally swaps rows within panel. yes queen, that's literally the entire job description and she does it flawlessly πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include "hpl.h"

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

copy that exactly, no cap 🫢


✨ DESCRIPTION ✨

so HPL_dlocswpN performs the local swapping operations within a panel. that's the mission. πŸ¦‹

here's the tea though: the lower triangular N0-by-N0 upper block of the panel is stored in no-transpose form β€” meaning it's just like the input matrix itself. no transposing, no games, we keep it as-is. iconic behavior honestly πŸ‘‘


πŸ’œ 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, she holds all the panel lore πŸ“‹
  • 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. it's giving "where does the drama begin, row-wise" 🎯
  • 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. same energy, but for columns πŸ’«
  • WORK (local workspace) double * β€” on entry, WORK is a workarray of size at least 2 * (4+2*N0). let's break down what's living inside her:
    • 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 the process owning this max πŸ—ΊοΈ
    • the N0 length max row is stored in WORK[4:4+N0-1] β€” and note that this is also the JJth row (or column) of L1 πŸ‘€
    • the remaining part of this array is used as workspace πŸ› οΈ
ngl that's a lot of jobs for one array but she's handling it, periodt πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

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

  • HPL_dlocmax (3)
  • HPL_dlocswpT (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)

okay that's the whole page bestie, you ate that reading session πŸ“ this was HPL 2.2, dated February 24, 2016 β€” shoutout to the HPL girlies who wrote her, she's been serving local row swaps since day one πŸ’–βœ¨πŸŒˆ

xoxo, go compile something cute πŸŽ€

πŸ“¦ where this page comes from