Permutation S¶
perm.spad line 43 [edit on github]
S: SetCategory
Permutation(S) implements the group of all bijections on a set S, which move only a finite number of points. A permutation is considered as a map from S into S. In particular multiplication is defined as composition of maps: pi1 * pi2 = pi1 o pi2. The internal representation of permuatations are two lists of equal length representing preimages and images.
- 1: %
from MagmaWithUnit
- <=: (%, %) -> Boolean if S has OrderedSet or S has Finite
from PartialOrder
- <: (%, %) -> Boolean
from PermutationCategory S
- >=: (%, %) -> Boolean if S has OrderedSet or S has Finite
from PartialOrder
- >: (%, %) -> Boolean if S has OrderedSet or S has Finite
from PartialOrder
- ^: (%, Integer) -> %
from Group
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: List List S -> %
coerce(lls)coerces a list of cycles lls to a permutation, each cycle being a list with no repetitions, is coerced to the permutation, which maps ls.i to ls.i+1, indices modulo the length of the list, then these permutations are mutiplied. Error: if repetitions occur in one cycle.
- coerce: List S -> %
coerce(ls)coerces a cycle ls, i.e. a list with not repetitions to a permutation, which maps ls.i to ls.i+1, indices modulo the length of the list. Error: if repetitions occur.
- coerceImages: List S -> % if S has Finite or S has IntegerNumberSystem
coerceImages(ls)coerces the list ls to a permutation whose image is given by ls and the preimage is fixed to be [1, …, n]. Note: {coerceImages(ls)=coercePreimagesImages([1, …,n],ls)}. We assume that both preimage and image do not contain repetitions.
- coerceListOfPairs: List List S -> %
coerceListOfPairs(lls)coerces a list of pairs lls to a permutation. Error: if not consistent, i.e. the set of the first elements coincides with the set of second elements. coerce(p) generates output of the permutationpwith domain OutputForm.
- coercePreimagesImages: List List S -> %
coercePreimagesImages(lls)coerces the representation lls of a permutation as a list of preimages and images to a permutation. We assume that both preimage and image do not contain repetitions.
- commutator: (%, %) -> %
from Group
- cycle: List S -> %
from PermutationCategory S
- cyclePartition: % -> Partition
cyclePartition(p)returns the cycle structure of a permutationpincluding cycles of length 1 only ifSis finite.
- cycles: List List S -> %
from PermutationCategory S
- degree: % -> NonNegativeInteger
degree(p)returns the number of points moved by the permutationp.
- elt: (%, S) -> S
from PermutationCategory S
- eval: (%, S) -> S
from PermutationCategory S
- even?: % -> Boolean
even?(p)returnstrueif and only ifpis an even permutation, i.e. sign(p) is 1.
- fixedPoints: % -> Set S if S has Finite
fixedPoints(p)returns the points fixed by the permutationp.
- latex: % -> String
from SetCategory
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
from MagmaWithUnit
- listRepresentation: % -> Record(preimage: List S, image: List S)
listRepresentation(p)produces a representation rep of the permutationpas a list of preimages and images,i.epmaps (rep.preimage).k to (rep.image).k for all indicesk. Elements ofSnot in (rep.preimage).k are fixed points, and these are the only fixed points of the permutation.
- max: (%, %) -> % if S has OrderedSet or S has Finite
from OrderedSet
- min: (%, %) -> % if S has OrderedSet or S has Finite
from OrderedSet
- movedPoints: % -> Set S
movedPoints(p)returns the set of points moved by the permutationp.
- numberOfCycles: % -> NonNegativeInteger
numberOfCycles(p)returns the number of non-trivial cycles of the permutationp.
- odd?: % -> Boolean
odd?(p)returnstrueif and only ifpis an odd permutation i.e. sign(p) is -1.
- one?: % -> Boolean
from MagmaWithUnit
- orbit: (%, S) -> Set S
from PermutationCategory S
- order: % -> NonNegativeInteger
order(p)returns the order of a permutationpas a group element.
- recip: % -> Union(%, failed)
from MagmaWithUnit
- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> %
from Magma
- rightRecip: % -> Union(%, failed)
from MagmaWithUnit
- sample: %
from MagmaWithUnit
- sign: % -> Integer
sign(p)returns the signum of the permutationp,+1or-1.
- smaller?: (%, %) -> Boolean if S has OrderedSet or S has Finite
from Comparable
- sort: List % -> List %
sort(lp)sorts a list of permutations lp according to cycle structure first according to length of cycles, second, ifShas Finite orShas OrderedSet according to lexicographical order of entries in cycles of equal length.
Comparable if S has OrderedSet or S has Finite
OrderedSet if S has OrderedSet or S has Finite
PartialOrder if S has OrderedSet or S has Finite