LAPMT - 5.2 English - 68552

AOCL API Guide (68552)

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

LAPMT performs a forward or backward permutation of the columns of a matrix.

Purpose:

  LAPMT 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.
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.