HPL_dlocswpN(3)
π 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,PANELpoints 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,IIspecifies 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,JJspecifies 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,WORKis a workarray of size at least2 * (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 indexWORK[2]contains the corresponding global row indexWORK[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 theJJth row (or column) ofL1π - 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
- fedora 43: hpl-doc 2.2-22.fc43 Β· LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hpl-doc 2.2-23.fc44 Β· LicenseRef-Callaway-BSD-with-advertising
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms