SYNOPSIS
- SUBROUTINE DLAPMT(
- FORWRD, M, N, X, LDX, K )
- LOGICAL FORWRD
- INTEGER LDX, M, N
- INTEGER K( * )
- DOUBLE PRECISION X( LDX, * )
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.
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) DOUBLE PRECISION 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.