This package implements functions for manipulating permutations.

See the docstrings `julia> ? PermPlain`

.

The permutations are stored as

- Arrays of integers corresponding to one-line notation (representation)
- Arrays of arrays of integers corresponding to cycle notation (representation)
- A "sparse" indexable cycle notation

The methods do the following

- Generate permutations
- Convert between representations
- Compute properties of permutations
- Implement operations on and actions by permutations
- Print representations of permutations

The methods are meant to work easily with existing routines for permutations in Base.

The cyclic decomposition is a represented by a array of arrays of Integers. The array representation is an array of Integers. If both input and output are permutations, then the input and output representations are the same, unless otherwise noted.

- The canonical form is: smallest element in a cycle is written first, cycles are sorted by increasing value of the first element.