This section investigates the subgroup lattice of S6.
gap> s6 := SymmetricGroup(6); Sym( [ 1 .. 6 ] ) gap> SetName(s6,"S6"); gap> cc := ConjugacyClassesSubgroups(s6);; gap> Sum(List(cc,Size)); 1455
As there are 1455 subgroups, displaying the whole lattice of subgroups would not be helpful because there are simply too many. Therefore this example builds only a partial subgroup lattice. We assume that you are familiar with the general ideas, mouse actions and menus, which were discussed in The Subgroup Lattice of the Dihedral Group of Order 8.
We again start to build a partial lattice, by using
GraphicSubgroupLattice
(see GraphicSubgroupLattice). After you have
entered
gap> s := GraphicSubgroupLattice(s6); <graphic subgroup lattice "GraphicSubgroupLattice of S6">
XGAP will open a window containing a new graphic sheet with two connected vertices labeled 1 and G. Vertex 1 represents the trivial subgroup and vertex G the group S6. Vertex G is already selected, so it will be red if your screen supports color.
XGAP can automatically write a protocol of all the subsequent
actions you perform via mouse clicks. This is convenient because in
comparison to normal GAP sessions you do not have the script of
typed commands. You can activate this feature by selecting Start
Logging
from the Subgroups
menu. XGAP prompts you for a filename
via a file selector box. See loggingfacility for details about this
feature.
In order to find all subgroups of size 60, we cannot not use the
Subgroups
menu directly, so go back into the GAP window and extract
the conjugacy classes of cc
whose representatives have size 60.
gap> c60 := Filtered(cc,x->Size(Representative(x))=60);; gap> s60 := List(c60,Representative); [ Group([ (1,2)(3,4), (1,3,5) ]), Group([ (1,2)(3,4), (1,2,3)(4,5,6) ]) ]
labelxgapgap
We now use the function InsertVertex
(see InsertVertex) to add
these two subgroups to your partial lattice.
gap> for g in s60 do InsertVertex(s,g); od;
Note that we could have achieved this result with the entry
InsertVertices from GAP
in the Subgroups
menu, see
InsertVertex. The Hasse diagram now contains four vertices. The
new vertices are not selected automatically. You can do this as
mentioned above by clicking with the left mouse button on them.
Selecting Conjugate Subgroups
from the Subgroups
menu adds the
complete conjugacy classes. Please do this first for vertex 2 and
then for vertex 3 such that the numbering of vertices in the
following description is correct!
In order to find out what type of subgroups we are looking at, use another kind of menu not discussed so far, namely the ``Information'' menu. Place the pointer inside vertex 3, press the right mouse button and release it immediately. This will pop up a new window, containing some text describing vertex 3 (as mentioned above, depending on the window system and window manager, placing this window on the screen might require some interaction with the mouse).
Size 60 Index 12 IsAbelian unknown IsCentral unknown IsCyclic unknown IsNilpotent false IsNormal false IsPerfect true IsSimple unknown IsSolvable false Isomorphism unknown
Note that GAP does not yet automatically draw the conclusion that a nonsolvable subgroup is also not abelian, cyclic or central. Place the pointer on top of the entry ``Isomorphism'' and press the left mouse button. After a while this entry is changed to
Isomorphism [ 60, 5 ]
telling you that the subgroup represented by vertex 3 is isomorphic to
the alternating group on five symbols. The notation [ 60, 5 ]
comes out
of the small groups library and is the only information about the
isomorphism type we can get from GAP4 up to now. Select close to close
the ``Information'' menu. Repeat this with vertex 2, you will see that the
subgroup of vertex 2 is also isomorphic to A5, however these two A5
inside S6 are not conjugate in S6. The ``Information'' menu is described
in detail in GraphicSubgroupLattice, Information Menu.
Now we want to compute the normalizers of the elements of the conjugacy
class containing the subgroup of vertex 3. You could either select
vertex 3 and then Normalizers and repeat this process for the vertices
9 to 13, or you can first select the vertices 3, 9 to 13 and then
select Normalizers. But how to select more than one vertex? If you
first select 3 and then 9, vertex 3 will get deselected as soon as
9 gets selected. However, if you select vertex 3, place the pointer
inside vertex 9, hold down the SHIFT key on your keyboard and then
select vertex 9 using the left mouse button, vertex 9 will be selected
in addition to vertex 3. Another method to select more than one vertex
is to use the rubber band to catch vertices inside a rectangle. Place the
pointer left and a bit higher than vertex 3 outside any other vertex.
Press the left mouse button and hold it down. Now, using the mouse, move
the pointer right and slightly below vertex 13. You see a rectangle, one
corner at your start position and the other following the pointer. If
vertices 3 and 9 to 13 are all inside this rectangle, release the
mouse button. Now these vertices are selected. Select Normalizers
from
the Subgroups
menu to compute and display the normalizers.
Now select vertex 3 and 4 and compute the intersection. The
intersection is of size 10. Select this intersection and use
SelectedGroups
to get a GAP record describing the subgroup.
gap> l := SelectedGroups(s); [ Group([ (2,3)(4,6), (1,2)(3,4) ]) ] gap> u := l[1]; Group([ (2,3)(4,6), (1,2)(3,4) ])
In order to find out which subgroups of the complete lattice lie above
the subgroup u
you can use Intermediate Subgroups
. You select the
whole group in addition to u
and choose Intermediate Subgroups
in the
Subgroups
menu. You get 6 groups, some of them are already in the
lattice, the others are added.
There is another feature we have not seen yet. Close the current graphic sheet and start again with a fresh one.
gap> Close(s); gap> s := GraphicSubgroupLattice(s6); <graphic subgroup lattice "GraphicSubgroupLattice of S6">
In order to compute a Sylow 2 subgroup select Sylow Subgroup
from the
Subgroups
menu. A small dialog box will pop up asking for a prime,
type in 2 and press return or click on OK
. Now select this new
vertex 2 representing the Sylow 2 subgroup and compute its normal
subgroups. This is rather slow because the function checks for each new
vertex if the corresponding subgroup is conjugate to an old one of the
same size.
This is now the end of our partial investigation of the (partial)
subgroup lattice of S6, close the graphic sheet(s) using close
graphic sheet
of the Sheet
menu. If you started the logging facility
of XGAP as described above you now have a file (probably called
xgap.log
if you did not change the default) describing the actions
we performed.
[Up] [Previous] [Next] [Index]
xgap manual