Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 3019

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<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&gt; s6 := SymmetricGroup(6);
Sym( [ 1 .. 6 ] )
gap&gt; SetName(s6,"S6");
gap&gt; cc := ConjugacyClassesSubgroups(s6);;
gap&gt; 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&gt; s := GraphicSubgroupLattice(s6);
&lt;graphic subgroup lattice "GraphicSubgroupLattice of S6"&gt;
</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&gt; c60 := Filtered(cc,x-&gt;Size(Representative(x))=60);;
gap&gt; 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&gt; 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&gt; l := SelectedGroups(s);
[ Group([ (2,3)(4,6), (1,2)(3,4) ]) ]
gap&gt; 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&gt; Close(s);
gap&gt; s := GraphicSubgroupLattice(s6);
&lt;graphic subgroup lattice "GraphicSubgroupLattice of S6"&gt;
</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>