fbin | R Documentation |
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 recovered by inserting a left parenthesis
preceding every left-to-right maximum, and right parentheses where
appropriate.
Function standard()
takes an object of class cycle
and
returns a list of cyclists. NB this does not return an object of class
“cycle” because cycle()
calls nicify()
.
Function standard_cyclist()
retains length-one cycles (compare
nicify_cyclist()
, which does not).
standard(cyc,n=NULL)
standard_cyclist(x,n=NULL)
fbin_single(vec)
fbin(W)
fbin_inv(cyc)
vec |
In function |
W |
In functions |
cyc |
In functions |
n |
In function |
x |
In function |
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).
Robin K. S. Hankin
R. P. Stanley 2011 Enumerative Combinatorics
nicify_cyclist
# Stanley's example w:
standard(cycle(list(list(c(1,4),c(3,7,5)))))
standard_cyclist(list(c(4, 6), c(7), c(2, 5, 1), c(8, 3)))
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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.