Dom::PermutationGroup --
permutation group
IntroductionDom::PermutationGroup(n, generators <, options>)
creates a domain for the group of permutations of {1,...,n}
generated by generators.
Domain
Dom::PermutationGroup(n)
Parametersn | - | positive integer |
generators | - | list of permutations of {1,...,n} |
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 Elements
Dom::PermutationGroup(n)(l)
Parametersl | - | list or array consisting of the first n integers in some order. |
Cat::Group
Related DomainsDom::DihedralGroup, Dom::SymmetricGroup, combinat::permutations
the 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)
sign(dom a)a. The sign
of a permutation is defined to be 1 if its number of inversions is
even, and -1 otherwise.
random()
allElements()
size()
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 1We construct the cyclic group of order 4, generated by the cycle (1,2,3,4).:
>> G := Dom::PermutationGroup(4, [[[1,2,3,4]]])
Dom::PermutationGroup(4, [[[1, 2, 3, 4]]])
It has 4 elements:
>> G::size;
G::allElements();
4
[[2, 3, 4, 1], [3, 4, 1, 2], [4, 1, 2, 3], [1, 2, 3, 4]]
We construct a permutation of G by providing the images
of 1, 2, etc.:
>> p := G([3,4,1,2]);
p(1), p(2), p(3), p(4);
[3, 4, 1, 2]
3, 4, 1, 2
We construct a permutation from its cycle notation:
>> G([[1,2],[3,4]])
[2, 1, 4, 3]
Super-DomainAx::canonicalRep
MuPAD Combinat, an open source algebraic combinatorics package