CLAPMR(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ CLAPMR(3) β€” the row-shuffling queen of LAPACK

okay bestie so before we even get into it: this page is literally the manual for clapmr.f, which lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/clapmr.f ✨ that's the whole NAME situation, we're moving on.


✨ SYNOPSIS ✨

🌸 Functions/Subroutines

subroutine CLAPMR (forwrd, m, n, x, ldx, k)

CLAPMR rearranges rows of a matrix as specified by a permutation vector. that's it, that's the whole job, and she does it flawlessly πŸ’…


πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine CLAPMR (logical forwrd, integer m, integer n, complex, dimension(
    ldx, * ) x, integer ldx, integer, dimension( * ) k)

CLAPMR rearranges rows of a matrix as specified by a permutation vector. no cap.

πŸ’– Purpose:

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

so basically: you hand her an M by N matrix X and a permutation K(1),K(2),...,K(M) of the integers 1,...,M, and she shuffles the rows around for you 🫢

  • FORWRD = .TRUE. β†’ forward permutation, where X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
  • FORWRD = .FALSE. β†’ backward permutation, where X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.

like, she's doing the row equivalent of rearranging your entire playlist and honestly? iconic. πŸ‘‘

🌈 Parameters

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

the vibe check flag πŸ’« .TRUE. means forward permutation, .FALSE. means backward permutation. pick your fighter.

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

the number of rows of the matrix X, and the rule is M >= 0 β€” she's flexible but she's not gonna deal with negative rows, bestie 😭

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

the number of columns of the matrix X, with N >= 0 fr fr. yes queen, all dimensions valid.

  • X
!>          X is COMPLEX array, dimension (LDX,N)
!>          On entry, the M by N matrix X.
!>          On exit, X contains the permuted matrix X.
!>

a COMPLEX array of dimension (LDX,N) β€” and this is the main character honestly. on entry, it's the M by N matrix X; on exit, X contains the permuted matrix X. she goes in one way and comes out ✨rearranged✨. main character energy.

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

the leading dimension of the array X, and the constraint is LDX >= MAX(1,M) β€” do not skip this one, she WILL notice πŸ™ˆ

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

an INTEGER array of dimension (M). on entry, K contains the permutation vector. plot twist: K gets used as internal workspace β€” but she resets it to its original value on output, so it's giving "what happens in the workspace stays in the workspace" πŸ’€ no leftover chaos, we love a considerate icon.

little heads up: K gets scribbled on during the call, so don't be weird about reading it mid-flight. on output it's back to what you gave her. 🫢

πŸ‘‘ Author

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

four absolute legends, no notes πŸ’œ

Definition at line 103 of file clapmr.f. 🎯 (yes, we counted. line 103, exactly.)


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. the robots did the write-up, CLAPMR did the actual slaying, iykyk πŸ€–βœ¨


okay and finally, the cute little sign-off because the footer deserves its moment too: this whole thing is from /home/abui...RC/clapmr.f(3), courtesy of LAPACK, Version 3.12.0 πŸŽ€ and the page path, with the truncated /home/abui... abbreviation and everything, was literally sitting right there at the bottom. periodt. πŸ’…πŸŒŸ

πŸ“¦ where this page comes from