Various utilities to neaten word objects by removing fixed elements

1 2 |

`x` |
Object of class |

Function `trim()`

takes a `word`

and, starting from the right,
strips off columns corresponding to fixed elements until it finds a
non-fixed element. This makes no sense for `cycle`

objects; if
`x`

is of class `cycle`

, an error is returned.

Function `tidy()`

is more aggressive. This firstly removes
*all* fixed elements, then renames the non-fixed ones to match the
new column numbers. The map is an isomorphism (sic) with respect to
composition.

Returns an object of class `word`

Results in empty (that is, zero-column) words if a vector of identity permutations is given

Robin K. S. Hankin

`fixed`

,`size`

1 2 3 4 5 6 7 8 9 10 11 | ```
tidy(as.cycle(5:3)+as.cycle(7:9))
as.cycle(tidy(c(as.cycle(1:2),as.cycle(6:7))))
tidy(megaminx) # has 120 columns, not 129
stopifnot(all(unique(sort(unlist(as.cycle(tidy(megaminx)),recursive=TRUE)))==1:120))
jj <- megaminx*megaminx[1]
stopifnot(identical(shape(jj),shape(tidy(jj)))) #tidy() does not change shape
nicify_cyclist(list(c(4,6), c(7), c(2,5,1), c(8,3)))
``` |

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

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