fbin: The fundamental bijection

Description Usage Arguments Details Author(s) References See Also Examples

Description

Stanley defines the fundamental bijection on page 30.

Given w=(14)(2)(375)(6), Stanley writes it in standard form (specifically: each cycle is written with its largest element first; cycles are written in increasing order of their largest element). Thus we obtain (2)(41)(6)(753).

Then we obtain w* from w by writing it in standard form an erasing the parentheses (that is, viewing the numbers as a word); here w* = 2416753.

Given this, w may be recoverd by inserting a left parenthesis preceding every left-to-right maximum, and right parentheses where appropriate.

Usage

1
2
3
4
5

Arguments

vec

In function fbin_single(), an integer vector

W

In functions fbin() and fbin_inv(), an object of class permutation, coerced to word and cycle form respectively

cyc

In functions fbin_single() and standard(), permutation object coerced to cycle form

n

In function standard() and standard_cyclist(), size of the partition to assume, with default NULL meaning to use the largest element of any cycle

x

In function standard_cyclist(), a cyclist

Details

The user-friendly functions are fbin() and fbin_inv() which perform Stanley's “fundamental bijection”. Function fbin() takes a word object and returns a cycle; function fbin_inv() takes a cycle and returns a word.

The other functions are low-level helper functions that are not really intended for the user (except possibly standard(), which puts a cycle object in standard order in list form).

Author(s)

Robin K. S. Hankin

References

R. P. Stanley 2011 Enumerative Combinatorics

See Also

nicify_cyclist

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Stanley's example w:
standard(cycle(list(list(c(1,4),c(3,7,5)))))

w_hat <- c(2,4,1,6,7,5,3)

fbin(w_hat)
fbin_inv(fbin(w_hat))


x <- rperm(40,9)
stopifnot(all(fbin(fbin_inv(x))==x))
stopifnot(all(fbin_inv(fbin(x))==x))


Search within the permutations package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.