Learn R Programming

TUGLab (version 0.0.1)

getpermutation: Get permutation

Description

Given a number of players and a position, this function returns the permutation of players that occupies the given position when permutations are arranged according to the Lehmer code.

Usage

getpermutation(n, pos)

Value

The permutation of n players whose Lehmer code position is pos, as a vector.

Arguments

n

Number of players, as an integer.

pos

Position according to the Lehmer code, as an integer.

Details

The Lehmer code makes use of the fact that there are \(n!\) permutations of a sequence of \(n\) numbers. If a permutation \(\sigma\) is specified by the sequence \((\sigma_{i})_{i=1}^{n}\), its Lehmer code is the sequence \(L(\sigma)=(L(\sigma)_{i})_{i=1}^{n}\), where \(L(\sigma)_i=|\{j>i:\sigma_j<\sigma_i\}|\).

The position of permutation \(\sigma\) according to the Lehmer code order is $$L_{\sigma}=1 + \sum_{i=1}^{n} (n-i)! L(\sigma)_i$$.

See Also

getpermutationnumber

Examples

Run this code
getpermutation(4, 5)
n <- 4
for (i in 1:factorial(n)) {
  cat("[", i, "]", paste(getpermutation(n,i)), "\n")
}

Run the code above in your browser using DataLab