CLAPMT(3) 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

SYNOPSIS

SUBROUTINE CLAPMT(
FORWRD, M, N, X, LDX, K )

    
LOGICAL FORWRD

    
INTEGER LDX, M, N

    
INTEGER K( * )

    
COMPLEX X( LDX, * )

PURPOSE

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

ARGUMENTS

FORWRD (input) LOGICAL
= .TRUE., forward permutation = .FALSE., backward permutation
M (input) INTEGER
The number of rows of the matrix X. M >= 0.
N (input) INTEGER
The number of columns of the matrix X. N >= 0.
X (input/output) COMPLEX array, dimension (LDX,N)
On entry, the M by N matrix X. On exit, X contains the permuted matrix X.
LDX (input) INTEGER
The leading dimension of the array X, LDX >= MAX(1,M).
K (input/output) 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.