SRC/dlapmt.f(3)

🌸 SRC/dlapmt.f(3) β€” from the Library Functions Manual 🌸

okay bestie, buckle up, because this is the LAPACK page for SRC/dlapmt.f and it's honestly kind of a vibe πŸ’…


✨ NAME ✨

SRC/dlapmt.f β€” like, that's the file, that's the name, no notes πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine dlapmt (forwrd, m, n, x, ldx, k) β€” DLAPMT performs a forward or backward permutation of the columns of a matrix. that's the whole personality tbh πŸ’«

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine dlapmt (logical forwrd, integer m, integer n, double precision, dimension( ldx, * ) x, integer ldx, integer, dimension( * ) k)

DLAPMT performs a forward or backward permutation of the columns of a matrix. periodt. πŸ‘‘

🌈 Purpose

!>
!> DLAPMT rearranges the columns of the M by N matrix X as specified
!> by the permutation K(1),K(2),...,K(N) of the integers 1,...,N.
!> If FORWRD = .TRUE.,  forward permutation:
!>
!>      X(*,K(J)) is moved X(*,J) for J = 1,2,...,N.
!>
!> If FORWRD = .FALSE., backward permutation:
!>
!>      X(*,J) is moved to X(*,K(J)) for J = 1,2,...,N.
!>

so literally: you hand it a permutation K(1),K(2),...,K(N) of the integers 1,...,N and it shuffles the columns of your M by N matrix X around according to it. forward mode, backward mode, whichever, she's flexible 🧚

πŸŽ€ Parameters

  • FORWRD β€” FORWRD is LOGICAL
!>          FORWRD is LOGICAL
!>          = .TRUE., forward permutation
!>          = .FALSE., backward permutation
!>

so .TRUE. = forward permutation, .FALSE. = backward permutation. pick your fighter πŸ’…

  • M β€” M is INTEGER
!>          M is INTEGER
!>          The number of rows of the matrix X. M >= 0.
!>

the number of rows of X, and the constraint is M >= 0. zero rows is allowed, iconic of her honestly 😌

  • N β€” N is INTEGER
!>          N is INTEGER
!>          The number of columns of the matrix X. N >= 0.
!>

the number of columns of X, with N >= 0. same energy, same rule 🫢

  • X β€” X is DOUBLE PRECISION array, dimension (LDX,N)
!>          X is DOUBLE PRECISION array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>

on entry it's your M by N matrix X, on exit it holds the permuted matrix X. yes she edits in place, she's efficient like that πŸ”₯

  • LDX β€” LDX is INTEGER
!>          LDX is INTEGER
!>          The leading dimension of the array X, LDX >= MAX(1,M).
!>

the leading dimension of the array X, and it must satisfy LDX >= MAX(1,M). don't test her on this πŸ™ˆ

  • K β€” K is INTEGER array, dimension (N)
!>          K is INTEGER array, dimension (N)
!>          On entry, K contains the permutation vector. K is used as
!>          internal workspace, but reset to its original value on
!>          output.
!>

on entry, K holds the permutation vector. she does use K as internal workspace mid-swing (scandalous, I know), but it gets reset to its original value on output, so no harm no foul πŸ’€βœ¨

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

⭐ Definition

Definition at line 103 of file dlapmt.f. go look, it's right there πŸ“


πŸ’œ Author (of the page itself, lol)

Generated automatically by Doxygen for LAPACK from the source code. she didn't even write her own about-me, queen behavior 😭


ngl bestie, if you're passing K around expecting it to stay scrambled β€” it won't. it resets. that's the whole warning, no cap 🌸

anyway that's the whole page πŸ’– this was SRC/dlapmt.f(3) from LAPACK, Version 3.12.0, generated automatically by Doxygen for LAPACK from the source code β€” slay, go permute some columns, mwah πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from