1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#
gap> START_TEST("WreathProductWithTrivialGroups.tst");
gap> P := SymmetricGroup(3);;
gap> IP := Group( One(P) );;
gap> M := GL(6, 5);;
gap> IM := Group( One(M) );;
# Generators should not contain the identity element,
# unless the group is trivial.
gap> checkGens := function(G)
> local gens;
> gens := GeneratorsOfGroup(G);
> return gens = [One(G)] or ForAll(gens, g -> g <> One(G));
> end;;
# imprimitive perm, trivial top
gap> checkGens( WreathProduct(P, IP) );
true
# imprimitive perm, trivial base
gap> checkGens( WreathProduct(IP, P) );
true
# imprimitive perm, trivial base and top
gap> checkGens( WreathProduct(IP, IP) );
true
# imprimitive mat, trivial top
gap> checkGens( WreathProduct(M, IP) );
true
# imprimitive mat, trivial base
gap> checkGens( WreathProduct(IM, P) );
true
# imprimitive mat, trivial base and top
gap> checkGens( WreathProduct(IM, IP) );
true
# product action perm, trivial top
gap> checkGens( WreathProductProductAction(P, IP) );
true
# product action perm, trivial base
gap> checkGens( WreathProductProductAction(IP, P) );
true
# product action perm, trivial base and top
gap> checkGens( WreathProductProductAction(IP, IP) );
true
#
gap> K := Group([ () ]);;
gap> H := Group([ (1,2,3,4,5,6,7), (6,7,8) ]);;
gap> G := WreathProduct(K, H);;
gap> WreathProductInfo(G).components;
[ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ], [ 8 ] ]
#
gap> STOP_TEST("WreathProductWithTrivialGroups.tst");
|