# shape: Shape of a permutation

## Description

Returns the shape of a permutation. If given a word, it coerces to
cycle form.

## Usage

shape(x, drop = TRUE,id1=TRUE)
shape_cyclist(cyc,id1=TRUE)
padshape(x, drop = TRUE, n=NULL)
shapepart(x)
shapepart_cyclist(cyc,n=NULL)

## Arguments

x

Object of class `cycle`

(if not, coerced)

n

Integer governing the size of the partition assumed, with
default `NULL`

meaning to use the largest element

drop

Boolean, with default `TRUE`

meaning to unlist if
possible

id1

Boolean, with default `TRUE`

in function
`shape_cyclist()`

meaning that the shape of the identity is
“1” and `FALSE`

meaning that the shape is `NULL`

## Value

Function `shape()`

returns a list with elements representing the
lengths of the component cycles.

Function `shapepart()`

returns an object of class
`partition`

showing the permutation as a set partition of
disjoint cycles.

## Examples

# NOT RUN {
shape(rperm(10,9)) # coerced to cycle
data(megaminx)
shape(megaminx)
jj <- megaminx*megaminx[1]
stopifnot(identical(shape(jj),shape(tidy(jj)))) #tidy() does not change shape
shapepart(rperm(10,5))
shape_cyclist(list(1:4,8:9))
shapepart_cyclist(list(1:4,8:9))
# }