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.

```
standard(cyc,n=NULL)
standard_cyclist(x,n=NULL)
fbin_single(vec)
fbin(W)
fbin_inv(cyc)
```

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

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

R. P. Stanley 2011 *Enumerative Combinatorics*

# NOT RUN { # 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)) # }