LAPMR - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void lapmr(logical *forwrd, integer *m, integer *n, T *x, integer *ldx, integer *k)#

LAPMR rearranges rows of a matrix as specified by a permutation vector.

Purpose:

  LAPMR 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.
Parameters:
  • FORWRD[in]

    FORWRD is LOGICAL

    = .TRUE., forward permutation

    = .FALSE., backward permutation
  • M[in]

    M is INTEGER

    The number of rows of the matrix X. M >= 0.

  • N[in]

    N is INTEGER

    The number of columns of the matrix X. N >= 0.

  • X[inout]

    X is REAL array, dimension (LDX,N)

    On entry, the M by N matrix X.

    On exit, X contains the permuted matrix X.
  • LDX[in]

    LDX is INTEGER

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

  • K[inout]

    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.