[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Construction of a General Permutation Group

Construction of a General Permutation Group

Subsections

The General Permutation Group Constructor

PermutationGroup< X | L > : Set, List -> GrpPerm
Suppose that the cardinality of the set X is n. Construct the permutation group G acting on the set X generated by the permutations defined by the list L. A term of the list L must be an object of one of the following types: Each element or group specified by the list must belong to the same generic permutation group. The group G will be constructed as a subgroup of some group which contains each of the elements and groups specified in the list.

The generators of G consist of the elements specified by the terms of the list L together with the stored generators for groups specified by terms of the list. Repetitions of an element and occurrences of the identity element are removed (unless G is trivial).

The PermutationGroup constructor is shorthand for the two statements:

SX := Sym(X); G := sub< SX | L >;

where sub< ... > is the subgroup constructor described in the next subsection.

PermutationGroup< n | L > : RngIntElt, List -> GrpPerm
Construct the permutation group G acting on the set X = { 1, 2, ..., n } generated by the permutations defined by the list L. The possibilities for the terms of the list L are the same as for the constructor PermutationGroup< X | L >.

Example GrpPerm_Hessian (H20E4)

> H := PermutationGroup< 9 | (1,2,4)(5,6,8)(3,9,7), (4,5,6)(7,9,8) >;
> H;
Permutation group H acting on a set of cardinality 9
       (1, 2, 4)(3, 9, 7)(5, 6, 8)
       (4, 5, 6)(7, 9, 8)

Construction of Subgroups

sub<G | L> : GrpPerm, List -> GrpPerm
Given the permutation group G, construct the subgroup H of G, generated by the elements specified by the list L, where L is a list of one or more items of the following types: Each element or group specified by the list must belong to the same generic permutation group. The subgroup H will be constructed as a subgroup of some group which contains each of the elements and groups specified in the list.

The generators of H consist of the elements specified by the terms of the list L together with the stored generators for groups specified by terms of the list. Repetitions of an element and occurrences of the identity element are removed (unless H is trivial).

ncl<G | L> : GrpPerm, List -> GrpPerm
Given the permutation group G, construct the subgroup H of G that is the normal closure of the subgroup H generated by the elements specified by the list L, where the possibilities for L are the same as for the sub-constructor.

Example GrpPerm_Constructors (H20E5)

Using the above syntax, the group may be defined in any of the following ways:
> PGL27 := sub< Sym(8) | (1,2,3,4,5,6,7), (2,4,3,7,5,6), (1,8)(2,7)(3,4)(5,6)>;
> PGL27;
Permutation group PGL27 acting on a set of cardinality 8
    (1, 2, 3, 4, 5, 6, 7)
    (2, 4, 3, 7, 5, 6)
    (1, 8)(2, 7)(3, 4)(5, 6)
> PGL27 := sub< Sym(8) |
>               [2,3,4,5,6,7,1,8], [1,4,7,3,6,2,5,8], [8,7,4,3,6,5,2,1] >;
> S8 := Sym(8);
> a := S8!(1,2,3,4,5,6,7);
> b := S8!(2,4,3,7,5,6);
> c := S8!(1,8)(2,7)(3,4)(5,6);
> PGL27 := sub<S8 | a, b, c>;
> S8 := Sym(8);
> gens := { S8 | (1,2,3,4,5,6,7), (2,4,3,7,5,6), (1,8)(2,7)(3,4)(5,6) };
> PGL27 := sub<S8 | gens>;
> S8 := Sym(8);
> gens := [ S8 | (1,2,3,4,5,6,7), (2,4,3,7,5,6), (1,8)(2,7)(3,4)(5,6) ];
> PGL27 := sub<S8 | gens>;
> G := AlternatingGroup(7);
> deg1 := Degree(G);
> pairs := [ { i, j } : j in [i+1..deg1], i in [1..deg1-1] ];
> deg2 := #pairs;
> h1 := [ Position(pairs, pairs[i] ^ G.1): i in [1..deg2] ];
> h2 := [ Position(pairs, pairs[i] ^ G.2): i in [1..deg2] ];
> H := sub<Sym(deg2) | h1, h2>;
> H;
Permutation group H acting on a set of cardinality 21
 (2,3,4,5,6)(7,8,9,10,11)(12,16,19,21,15)(13,17,20,14,18),
 (1,7,2)(3,8,12)(4,9,13)(5,10,14)(6,11,15)
> H := PermutationGroup< 9 | (1,2,4)(5,6,8)(3,9,7), (4,5,6)(7,9,8) >;
> Order(H);
216
> D := ncl< H | (H.1, H.2) >;
> D;
Permutation group D acting on a set of cardinality 9
Order = 72 = 2^3 * 3^2
    (1, 7, 3, 6)(4, 5, 9, 8)
    (2, 9, 3, 5)(4, 6, 7, 8)
    (2, 6, 3, 8)(4, 5, 7, 9)

Construction of Quotient Groups

quo<G | L> : GrpPerm, List -> GrpPerm
Given the permutation group G, construct the quotient group Q = G/N, where N is the normal closure of the subgroup of G generated by the elements specified by L. The clause L is a list of one or more items of the following types: Each element or group specified by the list must belong to the same generic permutation group. The function returns Currently in Magma, the quotient group is constructed in its regular representation, so that the application of this operator is restricted to the case where the index of N in G is a few thousand.
G / N : GrpPerm, GrpPerm -> GrpPerm
Given a normal subgroup N of the permutation group G, construct the quotient of G by N. Currently in Magma, the quotient group is constructed in its regular representation, so that the application of this operator is restricted to the case where the index of N in G is a few thousand.

Example GrpPerm_Quotient (H20E6)

> Q, f := quo< Sym(4) | (1,2)(3,4), (1,3)(2,4) >;
> Q;
Permutation group Q acting on a set of cardinality 6
Order = 6 = 2 * 3
    (1, 2)(3, 5)(4, 6)
    (1, 3)(2, 4)(5, 6)

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]