AbstractPermutations
The package defines an interface for abstract permutations. The general assumptions are as follows: We consider AbstractPermutations
as bijective self-maps of $\mathbb{N} = \{1,2,\ldots\}$, i.e. the positive integers which are finitely supported. That means that for every permutation $\sigma \colon \mathbb{N} \to \mathbb{N}$ there are only finitely many $k\in \mathbb{N}$ such that the value of $\sigma$ at $k$ is different from $k$.
In practical terms this means that each permutation can be uniquely determined by inspecting a vector of it's values on set $\{1, 2, \ldots, n\}$ for some $n$. By standard mathematical convention we will denote the image of $k$ under $\sigma$ by $k^{\sigma}$, to signify that the set of bijections acts on $\mathbb{N}$ on the right.
For the description of the julia interface see the next section.
The packages following AbstractPermutation
interface
PermutationGroups.jl
PermGroups.jl
(to be confirmed).
Note that
Permutations.jl
do not implement theAbstractPermutations.jl
interface due to the fact that they act on integers on the left. See these comments.