HPL_dlaswp04T(3)

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

πŸ’– HPL_dlaswp04T(3) β€” the HPL Library Functions glow-up πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about HPL_dlaswp04T from the HPL Library Functions and she is lowkey doing the most. what she does: copies columns of U into rows of A and then replaces those columns of U with columns of W. and as if that wasn't enough, M1 - M0 columns of W also get copied into U. she's giving multitasking icon behavior fr fr πŸŽ€


✨ NAME ✨

HPL_dlaswp04T β€” copy columns of U in rows of A and replace them with columns of W.


🌸 SYNOPSIS 🌸

#include "hpl.h"

void HPL_dlaswp04T( 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 πŸ¦‹

okay so here's the tea, and it's actually kind of a lot so stay with me πŸ’œ

HPL_dlaswp04T copies M0 columns of U into rows of A, and then replaces those very columns of U with columns of W. not done yet. in addition, M1 - M0 columns of W are copied into U. she's swapping, she's replacing, she's copying β€” she is the moment, no cap πŸ‘‘


πŸ’… ARGUMENTS πŸ’…

  • M0 β€” (local input) const int β€” on entry, M0 specifies the number of columns of U that should be copied into A and replaced by columns of W. M0 must be at least zero. zero is fine, negative is NOT the vibe πŸ™ˆ
  • M1 β€” (local input) const int β€” on entry, M1 specifies the number of columnns of W that will be copied into U. M1 must be at least zero. (yes the original says "columnns", we love a typo that ate and left no crumbs πŸ’€)
  • N β€” (local input) const int β€” on entry, N specifies the length of the columns of U that will be copied into rows of A. N must be at least zero.
  • U β€” (local input/output) double * β€” on entry, U points to an array of dimension (LDU,*). this array contains the columns that are to be copied into rows of A. she's both a source AND a destination, main character energy honestly ✨
  • LDU β€” (local input) const int β€” on entry, LDU specifies the leading dimension of the array U. LDU must be at least MAX(1,N).
  • 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 columns of U indicated by LINDXAU. she comes in plain and leaves iconic 🌈
  • LDA β€” (local input) const int β€” on entry, LDA specifies 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 column W0(i*LDW) of U.
  • LDW β€” (local input) const int β€” on entry, LDW specifies 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 columns of U are copied.
  • LINDXAU β€” (local input) const int * β€” on entry, LINDXAU is an array of dimension M0 that contains the local column indexes of U that should be copied into A and replaced by the columns of W.
bestie pls respect those must be at least clauses. the constraints are the constraints, she's not being dramatic, she's being correct 🫢

πŸ‘‘ SEE ALSO πŸ‘‘

the whole dlaswp cinematic universe, go stan all of them:

  • 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)

that's the whole page bestie, you ate it, you understood it, you're literally a linear algebra girlie now πŸ’–

this has been HPL 2.2, dated February 24, 2016 β€” mwah, sending you a kiss, go compile something cute πŸŽ€βœ¨

πŸ“¦ where this page comes from