/* 5. Subgroups In this lecture we want to go over operations related to subgroups. We demonstrate them on permutation groups but most operations are also available for other types of groups 5.1 Construction of subgroups A subgroup is defined in terms of its generators as in the following examples */ G := Sym(8); H := sub< G | (1,2) , (3,4) , (5,6) , (7,8) >; H; /* We can also first specify the elements and then define the subgroup */ a := G!(1,2,3)(5,6); b := G!(3,7,5); U := sub< G | a,b>; U; /* We can also construct a set of elements and then consider the group they generate */ gens := { G | (1,2,3,4,5,6), (1,2) }; V := sub< G | gens>; V; /* 5.2 Some information on subgroups Having a subgroup, we can ask many things about it. To start, we can ask if a given element is in the subgroup */ H,b; b in H; /* We can ask if two subgroup are equal, or if one is a subset of the other */ H eq U; H subset U; /* We can ask for the index of a subgroup, or we can ask for it factored. */ K := sub< G | (1,2) , (3,4) , (5,6) >; Index(H,K); FactoredIndex(G, H); Index(U,H); /* We can also check if a subgroup is normal, or if it is central, i.e., contained in the center of the group */ D9 := DihedralGroup(9); D9; H := sub< D9 | (1, 2, 3, 4, 5, 6, 7, 8, 9) >; IsNormal(D9,H); U := sub< D9 | (1, 9)(2, 8)(3, 7)(4, 6) >; IsCentral(D9,U); /* 5.3 creating new subgroups from old ones Given subgroups of a group, we can create many new subgroups */ S5 := Sym(5); A5 := Alt(5); S4 := Stabilizer(S5,5); A4 := A5 meet S4; // This is the intersection of the groups A5 and S4 inside S5 A4; /* The centralizer of an element in a group is the subgroup of all elements that commute with this element. The centralizer of a subgroup H is the subgroup of all elements commuting with all of the elements of H */ H := Centralizer(S5, S5!(1,2,3)); H; Centralizer(S5,H); /* The normalizer of a subgroup H of G is the subgroup of all elements g in G such that g-1 H g = H */ H := sub< S5 | (1,2,4) >; Normalizer(S5,H); /* The normal closure of a subgroup H is the smallest normal subgroup containing H. As an example, a simple group has no nontrivial normal subgroup, so the normal closure of any subgroup is the entire group. */ A7 := Alt(7); IsSimple(A7); H := sub< A7 | (1,2)(3,4)>; NormalClosure(A7,H); #A7; /* 5.4 Sylow subgroups We can find Sylow subgroups of a group. Since all the Sylow subgroups are conjugate by Sylow's theorem, we can find all of them if we find one. As an example, let's find the Sylow subgroups of S_4 */ G := Sym(4); H := SylowSubgroup(G,3); H; /* We can see that H is the alternating group on 3 of the four elements. Clearly, this group is not normal. */ IsNormal(G,H); /* As a consequence, and using Sylow's theorem, we see that there must be 4 3-Sylow subgroups. We can verify this by finding the normalizer of H */ N := Normalizer(G,H); Index(G,N); /* Since there are 4 3-Sylow subgroups, it is easy to guess what they are ... How can we verify this? We can use the Transversal function. This function gives representatives for the right cosets of a subgroup (together with a function associating an element of the group to its coset). We use this to find representatives for the cosets of N in G */ T := Transversal(G,N); T; /* Note that this is an indexed set so we can pick elements out of it. */ T[2]; /* Now we can write the set of 3-Sylow subgroups of G */ {Conjugate(H,g) : g in T}; /* 5.5 Example: Isomorphism between groups We use Sylow subgroups to show an isomorphism between groups. This example is based on the book of Rotman "An introduction to the theory of groups" based on exercise 4.37. This exercise shows that any simple group of order 60 is isomorphic to the alternating group A_5. We follow this to show that PSL(2,5) is isomorphic to A_5. In fact, also PSL(2,4) is isomorphic to A_5, but this is obvious from its presentation as a permutation group */ PSL(2,4); /* But with PSL(2,5) this is more difficult. */ G := PSL(2,5); G; IsSimple(G); /* So G is indeed simple of order 60 and should be isomorphic to A_5. We can of course check this directly */ A5 := Alt(5); IsIsomorphic(G,A5); /* However, G is given to us as a group of permutations of a set of cardinality 6, and it does not preserve a subset of cardinality 5. */ H := SylowSubgroup(G,2); H; N := Normalizer(G,H); N; /* We would like to see the action of G on the coset space of the subgroup N. For this we use the command CosetAction CosetAction(G, H: parameters) : Grp, Grp -> Hom(Grp), GrpPerm, GrpPerm Given a subgroup H of the group G, construct the permutation representation of G given by the action of G on the (right) coset space cos(G, H). The function returns: * The natural homomorphism f: G -> L; * The induced group L; * The kernel K of the action (a subgroup of G). */ f,L,K := CosetAction(G,N); K; L; /* It follows that the coset action embedds G as a subgroup of S_5 and this subgroup is A_5. We can obtain the precise homomorphism */ G; f(G.1); f(G.2);