<html><head><title>[xgap] 4.2 A Partial Subgroup Lattice of the Symmetric Group on 6 Points</title></head> <body text="#000000" bgcolor="#ffffff"> [<a href = "C004S000.htm">Up</a>] [<a href ="C004S001.htm">Previous</a>] [<a href ="C004S003.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <h1>4.2 A Partial Subgroup Lattice of the Symmetric Group on 6 Points</h1><p> <p> This section investigates the subgroup lattice of <var>S<sub>6</sub></var>. <p> <pre> gap> s6 := SymmetricGroup(6); Sym( [ 1 .. 6 ] ) gap> SetName(s6,"S6"); gap> cc := ConjugacyClassesSubgroups(s6);; gap> Sum(List(cc,Size)); 1455 </pre> <p> As there are <var>1455</var> 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 <a href="C004S001.htm">The Subgroup Lattice of the Dihedral Group of Order 8</a>. <p> We again start to build a partial lattice, by using <code>GraphicSubgroupLattice</code> (see <a href="C005S001.htm">GraphicSubgroupLattice</a>). After you have entered <p> <pre> gap> s := GraphicSubgroupLattice(s6); <graphic subgroup lattice "GraphicSubgroupLattice of S6"> </pre> <p> XGAP will open a window containing a new graphic sheet with two connected vertices labeled <var>1</var> and <var>G</var>. Vertex <var>1</var> represents the trivial subgroup and vertex <var>G</var> the group <var>S<sub>6</sub></var>. Vertex <var>G</var> is already selected, so it will be red if your screen supports color. <p> XGAP can automatically write a protocol of all the subsequent actions you perform via mouse clicks. This is convenient because in comparison to normal <font face="Gill Sans,Helvetica,Arial">GAP</font> sessions you do not have the script of typed commands. You can activate this feature by selecting <code>Start Logging</code> from the <code>Subgroups</code> menu. XGAP prompts you for a filename via a file selector box. See <a href="C005S002.htm">loggingfacility</a> for details about this feature. <p> In order to find all subgroups of size <var>60</var>, we cannot not use the <code>Subgroups</code> menu directly, so go back into the <font face="Gill Sans,Helvetica,Arial">GAP</font> window and extract the conjugacy classes of <code>cc</code> whose representatives have size <var>60</var>. <p> <pre> 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) ]) ] </pre> <p> labelxgapgap We now use the function <code>InsertVertex</code> (see <a href="C005S006.htm#SSEC1">InsertVertex</a>) to add these two subgroups to your partial lattice. <p> <pre> gap> for g in s60 do InsertVertex(s,g); od; </pre> <p> Note that we could have achieved this result with the entry <code>InsertVertices from GAP</code> in the <code>Subgroups</code> menu, see <a href="C005S006.htm#SSEC1">InsertVertex</a>. The Hasse diagram now contains four vertices. The new vertices are <strong>not</strong> selected automatically. You can do this as mentioned above by clicking with the <strong>left</strong> mouse button on them. Selecting <code>Conjugate Subgroups</code> from the <code>Subgroups</code> menu adds the complete conjugacy classes. Please do this first for vertex <var>2</var> and then for vertex <var>3</var> such that the numbering of vertices in the following description is correct! <p> 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 <var>3</var>, press the <strong>right</strong> mouse button and release it immediately. This will pop up a new window, containing some text describing vertex <var>3</var> (as mentioned above, depending on the window system and window manager, placing this window on the screen might require some interaction with the mouse). <p> <pre> Size 60 Index 12 IsAbelian unknown IsCentral unknown IsCyclic unknown IsNilpotent false IsNormal false IsPerfect true IsSimple unknown IsSolvable false Isomorphism unknown </pre> <p> Note that <font face="Gill Sans,Helvetica,Arial">GAP</font> 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 <strong>left</strong> mouse button. After a while this entry is changed to <p> <pre> Isomorphism [ 60, 5 ] </pre> <p> telling you that the subgroup represented by vertex <var>3</var> is isomorphic to the alternating group on five symbols. The notation <code>[ 60, 5 ]</code> comes out of the small groups library and is the only information about the isomorphism type we can get from <font face="Gill Sans,Helvetica,Arial">GAP</font>4 up to now. Select <var>close</var> to close the ``Information'' menu. Repeat this with vertex <var>2</var>, you will see that the subgroup of vertex <var>2</var> is also isomorphic to <var>A<sub>5</sub></var>, however these two <var>A<sub>5</sub></var> inside <var>S<sub>6</sub></var> are not conjugate in <var>S<sub>6</sub></var>. The ``Information'' menu is described in detail in <a href="C005S010.htm">GraphicSubgroupLattice, Information Menu</a>. <p> Now we want to compute the normalizers of the elements of the conjugacy class containing the subgroup of vertex <var>3</var>. You could either select vertex <var>3</var> and then <var>Normalizers</var> and repeat this process for the vertices <var>9</var> to <var>13</var>, or you can first select the vertices <var>3</var>, <var>9</var> to <var>13</var> and then select <var>Normalizers</var>. But how to select more than one vertex? If you first select <var>3</var> and then <var>9</var>, vertex <var>3</var> will get deselected as soon as <var>9</var> gets selected. However, if you select vertex <var>3</var>, place the pointer inside vertex <var>9</var>, hold down the <var>SHIFT</var> key on your keyboard and then select vertex <var>9</var> using the left mouse button, vertex <var>9</var> will be selected in addition to vertex <var>3</var>. 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 <var>3</var> <strong>outside</strong> any other vertex. Press the <strong>left</strong> mouse button and hold it down. Now, using the mouse, move the pointer right and slightly below vertex <var>13</var>. You see a rectangle, one corner at your start position and the other following the pointer. If vertices <var>3</var> and <var>9</var> to <var>13</var> are all inside this rectangle, release the mouse button. Now these vertices are selected. Select <code>Normalizers</code> from the <code>Subgroups</code> menu to compute and display the normalizers. <p> Now select vertex <var>3</var> and <var>4</var> and compute the intersection. The intersection is of size <var>10</var>. Select this intersection and use <code>SelectedGroups</code> to get a <font face="Gill Sans,Helvetica,Arial">GAP</font> record describing the subgroup. <p> <pre> 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) ]) </pre> <p> In order to find out which subgroups of the complete lattice lie above the subgroup <code>u</code> you can use <code>Intermediate Subgroups</code>. You select the whole group in addition to <code>u</code> and choose <code>Intermediate Subgroups</code> in the <code>Subgroups</code> menu. You get 6 groups, some of them are already in the lattice, the others are added. <p> There is another feature we have not seen yet. Close the current graphic sheet and start again with a fresh one. <p> <pre> gap> Close(s); gap> s := GraphicSubgroupLattice(s6); <graphic subgroup lattice "GraphicSubgroupLattice of S6"> </pre> <p> In order to compute a Sylow <var>2</var> subgroup select <code>Sylow Subgroup</code> from the <code>Subgroups</code> menu. A small dialog box will pop up asking for a prime, type in <var>2</var> and press <var>return</var> or click on <code>OK</code>. Now select this new vertex <var>2</var> representing the Sylow <var>2</var> 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. <p> This is now the end of our partial investigation of the (partial) subgroup lattice of <var>S<sub>6</sub></var>, close the graphic sheet(s) using <code>close graphic sheet</code> of the <code>Sheet</code> menu. If you started the logging facility of XGAP as described above you now have a file (probably called <code>xgap.log</code> if you did not change the default) describing the actions we performed. <p> <p> [<a href = "C004S000.htm">Up</a>] [<a href ="C004S001.htm">Previous</a>] [<a href ="C004S003.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> <address>xgap manual<br>Mai 2003 </address></body></html>