Dom::PermutationGroup
-- permutation groups
IntroductionDom::PermutationGroup(n) creates the
domain of all permutations of n elements.
DomainDom::PermutationGroup(n)
Parametersn |
- | positive integer |
Details
IntroductionThe domain element
Dom::PermutationGroup(n)(l) represents the
bijective mapping of the first n positive integers that maps
the integer i to l[i], for 1 ≤i
≤n.
Creating
ElementsDom::PermutationGroup(n)(l)
Parametersl |
- | list or array consisting of the first n integers in some order. |
Cat::Group
Related
Domainsthe identical mapping of the set {1, ..., n } to itself.
_mult(dom a1...)a1*a2*...*ak of permutations is defined to
be the mapping that assigns, to every integer i between
1 and n, the integer a1(a2(...ak(i)
...))._mult._invert(dom a)b such that
a*b is the identity mapping._invert.func_call(dom a, integer i)(...), i.e.
it may be called in the form a(i).a at i,
i.e., the integer that i is mapped to by the permutation
a; i must be an integer between 1
and n.cycles(dom a)a. A
cycle representation is a list [orbit1, ..., orbitk]; each
of the orbits is a list of integers of the form [i, a(i),
a(a(i)), ...] with just as many elements such that
i does not occur in it for a second time; and each integer
between 1 and n appears in exactly one of the
orbits.order(dom a)a is defined to be the least positive
integer k for which ak is the
identity.inversions(dom a)random()convert(any x)x into a permutation.
This is only possible if x is a list or an array in which
each of the integers 1 through n occurs exactly
once.convert_to(dom a, any
T)a into type T.
Currently, only a conversion into a list of type DOM_LIST is possible.expr(dom a)a.
Example
1Consider the group of permutations of the first seven positive integers:
>> G:=Dom::PermutationGroup(7)
Dom::PermutationGroup(7)
We enter an element by providing the image of 1, 2, etc. under the permutation.
>> a:=G([2,4,6,1,3,5,7])
[2, 4, 6, 1, 3, 5, 7]
>> a(3)
6
Super-DomainAx::canonicalRep