HPL_dlaswp04N(3)

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

πŸ’– 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, M0 says how many rows of U should be copied into A and replaced by columns of W. M0 must be at least zero. (zero is fine bestie, we don't judge πŸ’œ)
  • M1 β€” (local input) const int. on entry, M1 says how many columns of W should be copied into rows of U. M1 must be at least zero.
  • N β€” (local input) const int. on entry, N is the length of the rows of U that should be copied into A. N must be at least zero.
  • U β€” (local input/output) double *. on entry, U points to an array of dimension (LDU,N). this array holds the rows that are to be copied into A. it's an in/out situation, so like... don't be weird about it ✨
  • LDU β€” (local input) const int. on entry, LDU is the leading dimension of the array U. LDU must be at least MAX(1,M1).
  • A β€” (local output) double *. on entry, A points to an array of dimension (LDA,N). on exit, the rows of this array specified by LINDXA are replaced by rows of U indicated by LINDXAU. it literally gets a glow-up 🌈
  • LDA β€” (local input) const int. on entry, LDA is the leading dimension of the array A. LDA must be at least MAX(1,M0).
  • W0 β€” (local input) const double *. on entry, W0 is an array of size (M-1)*LDW+1, that contains the destination offset in U where the columns of W should be copied.
  • W β€” (local input) const double *. on entry, W is an array of size (LDW,M0+M1), that contains data to be copied into U. for i in [M0..M0+M1), the entries W(:,i) are copied into the row W0(i*LDW) of U.
  • LDW β€” (local input) const int. on entry, LDW is the leading dimension of the array W. LDW must be at least MAX(1,N+1).
  • LINDXA β€” (local input) const int *. on entry, LINDXA is an array of dimension M0 containing the local row indexes A into which rows of U are copied.
  • LINDXAU β€” (local input) const int *. on entry, LINDXAU is an array of dimension M0 that contains the local row indexes of U that should be copied into A and replaced by the columns of W.

πŸŽ€ 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