HPL_dlaswp04N(3)
π HPL_dlaswp04N β bestie edition π
okay so you're in the HPL Library Functions manual, and today's main character is HPL_dlaswp04N. grab a boba, we're doing matrix row shuffling π§β¨
πΈ NAME πΈ
HPL_dlaswp04N β copies rows of U into A and replaces them with columns of W. yes that's the whole gig. it's giving swap-and-swap. π
β¨ SYNOPSIS β¨
#include "hpl.h"
void HPL_dlaswp04N( const int M0, const int M1, const int N, double * U,
const int LDU, double * A, const int LDA, const double * W0, const
double * W, const int LDW, const int * LINDXA, const int * LINDXAU );
π¦ DESCRIPTION π¦
HPL_dlaswp04N copies M0 rows of U into A and replaces those rows of U with columns of W. and like, on top of that? M1 - M0 columns of W get copied into rows of U. two-for-one deal, no cap π₯
π ARGUMENTS π
M0β (local input)const int. on entry,M0says how many rows ofUshould be copied intoAand replaced by columns ofW.M0must be at least zero. (zero is fine bestie, we don't judge π)M1β (local input)const int. on entry,M1says how many columns ofWshould be copied into rows ofU.M1must be at least zero.Nβ (local input)const int. on entry,Nis the length of the rows ofUthat should be copied intoA.Nmust be at least zero.Uβ (local input/output)double *. on entry,Upoints to an array of dimension(LDU,N). this array holds the rows that are to be copied intoA. it's an in/out situation, so like... don't be weird about it β¨LDUβ (local input)const int. on entry,LDUis the leading dimension of the arrayU.LDUmust be at leastMAX(1,M1).Aβ (local output)double *. on entry,Apoints to an array of dimension(LDA,N). on exit, the rows of this array specified byLINDXAare replaced by rows ofUindicated byLINDXAU. it literally gets a glow-up πLDAβ (local input)const int. on entry,LDAis the leading dimension of the arrayA.LDAmust be at leastMAX(1,M0).W0β (local input)const double *. on entry,W0is an array of size(M-1)*LDW+1, that contains the destination offset inUwhere the columns ofWshould be copied.Wβ (local input)const double *. on entry,Wis an array of size(LDW,M0+M1), that contains data to be copied intoU. foriin[M0..M0+M1), the entriesW(:,i)are copied into the rowW0(i*LDW)ofU.LDWβ (local input)const int. on entry,LDWis the leading dimension of the arrayW.LDWmust be at leastMAX(1,N+1).LINDXAβ (local input)const int *. on entry,LINDXAis an array of dimensionM0containing the local row indexesAinto which rows ofUare copied.LINDXAUβ (local input)const int *. on entry,LINDXAUis an array of dimensionM0that contains the local row indexes ofUthat should be copied intoAand replaced by the columns ofW.
π SEE ALSO π
the whole friend group, fr fr π«Ά
HPL_dlaswp00N(3)HPL_dlaswp10N(3)HPL_dlaswp01N(3)HPL_dlaswp01T(3)HPL_dlaswp02N(3)HPL_dlaswp03N(3)HPL_dlaswp03T(3)HPL_dlaswp04N(3)HPL_dlaswp04T(3)HPL_dlaswp05N(3)HPL_dlaswp05T(3)HPL_dlaswp06N(3)HPL_dlaswp06T(3)
and that's the whole page, periodt. go copy some rows, you absolute icon π πΈ
this one shipped as HPL 2.2, dated February 24, 2016 β shoutout to the HPL era, we love a legacy queen πβ¨π
π¦ 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