Sophie

Sophie

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

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

<html><head><title>[xgap] 4.1 The Subgroup Lattice of the Dihedral Group of Order 8</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "C004S000.htm">Up</a>] [<a href ="C004S002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>4.1 The Subgroup Lattice of the Dihedral Group of Order 8</h1><p>
<p>
This  section   gives  you an   example    on how  to    use the function
<code>GraphicSubgroupLattice</code> (see <a href="C005S001.htm">GraphicSubgroupLattice</a> for  details), which 
will  display the Hasse diagram of the subgroup lattice of a given group.
<p>
Using the dihedral group of size <var>8</var> as example the following will show you
most features of the <code>GraphicSubgroupLattice</code> program.  This exercise is
best carried out in front of XGAP, trying the various commands yourself.
<p>
First  you   have to define a  group   in <font face="Gill Sans,Helvetica,Arial">GAP</font>,  this example  uses a
dihedral group defined as polycyclic group.
<p>
<pre>
gap&gt; d8 := DihedralGroup(8);
&lt;pc group of size 8 with 3 generators&gt;
gap&gt; SetName(d8,"d8");
</pre>
<p>
Now you ask for a graphical display by
<p>
<pre>
gap&gt; s := GraphicSubgroupLattice(d8);
&lt;graphic subgroup lattice "GraphicSubgroupLattice of d8"&gt;
</pre>
<p>
XGAP will open a window containing a new graphic sheet, a menu bar
(menus are described below) above the graphic sheet and a title.  On most
systems the title will be either below the graphic sheet or above the menu
bar.  The dimension of the graphic sheet is fixed, changing the size of the
window will <strong>not</strong> change the size of the graphic sheet, see
<a href="C005S008.htm">GraphicSubgroupLattice, Poset Menu</a> how to resize the graphic sheet.  It
is possible that the graphic sheet is larger (depending on the lattice it
might be much larger) than the window.  In this case the window will
contain so called scrollbars which allow you to select the portion of the
graphic sheet which will be displayed. 
<p>
XGAP first shows only the whole group (which is already selected) and
the trivial subgroup, connected by a line indicating inclusion. 
<p>
<code>ConjugacyClassesSubgroups</code> computes and returns the conjugacy classes of
subgroups, so summing  up the sizes  of the classes   tells you how  many
elements the lattice has.
<p>
<pre>
    gap&gt; Sum( List( ConjugacyClassesSubgroups(d8), Size ) );
    10 
</pre>
<p>
<var>10</var> is small enough to use <code>AllSubgroups</code> without painting the screen
black.  After you have clicked this menu entry in the <code>Subgroups</code> menu you
see the complete Hasse diagram in the graphic sheet.
<p>
The   following initial  remarks  can    be  made  about  the   graphical
representation of the subgroup lattice:
<p>
<dl compact>
<dt>--<dd>The vertex representing the trivial subgroup is labeled <var>1</var>.
<p>
<dt>--<dd>Vertices representing subgroups of the same size are drawn at the
  same height. They are said to be ``on the same level''.  In our example
  the subgroups that belong to the vertices <var>2</var>, <var>4</var>, <var>5</var>, <var>8</var> and <var>9</var> all
  have size 2, and the subgroups of <var>3</var>, <var>6</var>, and <var>7</var> have size <var>4</var>. The
  default behaviour is to place a vertex above another one if the size of
  the subgroup represented by the first vertex is larger than the size of
  the subgroup of the second, but see <a href="C005S001.htm">GraphicSubgroupLattice</a> for details. At
  the right edge of the graphic sheet each level is labeled with the index
  of the subgroups contained. See <a href="C005S003.htm">levelsintro</a> for details on the
  labelling of levels.
<p>
<dt>--<dd>Vertices belonging to the same conjugacy class are placed closely
  together.  In our example the subgroups of <var>4</var> and <var>5</var> form one conjugacy
  class.
</dl>
<p>
The initial placement of the vertices chosen by <code>GraphicSubgroupLattice</code>
might not be optimal or you might want to choose a different one in order
to exploit certain features of the diagram.  It is therefore possible to
move the vertices around using the mouse.
<p>
The mouse together with the left mouse button can be used to move and
select vertices. A selected vertex is represented by a thicker circle,
colored red if your screen supports color.  For example, in order to <strong>move</strong>
vertex <var>4</var> use the mouse to place the pointer inside the circle around <var>4</var>
and press the <strong>left</strong> mouse button.  Keep the mouse button pressed and start
moving the mouse.  The vertex will now follow the pointer.  Because of the
height restrictions given by the size it is not possible to move <var>4</var> above
<var>6</var> or below <var>1</var>. It must always stay within its level. If you release the
left mouse button vertex <var>4</var> will stay at its current position and the rest
of the conjugacy class (in this example <var>5</var>) will be moved to this new
position.
<p>
In  order to <strong>select</strong> vertex <var>G</var>  place the pointer inside the diamond
around <var>G</var>, press the <strong>left</strong> mouse button  and release it immediately. 
Do  not move the  mouse  while you hold down  the  left mouse button.  
Vertex <var>G</var> now has a slightly thicker boundary and is  red if you have
a color screen.  There are two different ways  to select more than one
vertex,  see <a href="C004S002.htm">A Partial  Subgroup Lattice of  the Symmetric Group on 6 Points</a> or <a href="C005S005.htm">GraphicSubgroupLattice, Selecting Vertices</a>.
<p>
On the top of the window, above the graphic sheet, you  can see a list
of  menu names:  <code>Sheet</code>,  <code>Poset</code>, and <code>Subgroups</code>.   In order to
open  any of  these <strong>pull down  menus</strong>  place  the pointer inside  the
button containing the menu name and press the left mouse button.  Keep
the button pressed.  A pull down menu will  be shown and by moving the
pointer down  you can choose  a menu entry.   By choosing an entry and
then  releasing    the mouse   button the   entry    is  selected, the
corresponding function is  executed and the  pull down menu is closed. 
If you release the mouse button while the  pointer is outside the pull
down  menu the menu  is closed without selecting  any entry. Note that
this   behaviour is different from that   of some other graphical user
interfaces such as for example Windows.
<p>
Now  select <code>Change Labels</code> from the  <code>Poset</code> menu.  If this entry
is not   available  you have  failed to    select vertex  <var>G</var>.   After
selecting <code>Change Labels</code> a small dialog box is  opened asking for a
label.  Type in <code>D8</code> and press the <var>return</var> key or click on <code>OK</code>.  The
label of vertex <var>G</var> will now be changed to ``<var>D8</var>''. Note that in the
X Window System you have to move the pointer on  the text field if you
want to edit the label.
<p>
In  order to find  out which  vertex represents the  centre  of <var>D<sub>8</sub></var>,
first select vertex <var>D8</var> and then the  menu entry <code>Centres</code> from the
<code>Subgroups</code> menu.  In case of  a color screen,  vertex <var>D8</var> will  be
selected and colored  red, and vertex <var>2</var>  will be colored green.  The
color green indicates that vertex <var>2</var> is the result  of a computation. 
There will also be a message  in the <font face="Gill Sans,Helvetica,Arial">GAP</font>  window saying that vertex
<var>2</var> represents the centre of the group belonging to vertex <var>D8</var>.
<p>
<pre>
#I  Centres (D8) --&gt; (2)
</pre>
<p>
Most of  the menu entries  in <code>Subgroups</code> should be self-explanatory, for
details and  the   difference   between  <code>Closure</code>  and    <code>Closures</code> see
<a href="C005S009.htm">GraphicSubgroupLattice, Subgroups Menu</a>.
<p>
If you  have  selected  some  vertices (in  the   example <var>D8</var> is  now
selected), and you want to investigate  the subgroups corresponding to
these vertices further  in <font face="Gill Sans,Helvetica,Arial">GAP</font>, the function  <code>SelectedGroups</code> will
return a list of  these  subgroups (note  that  you can also   achieve
calling this function by  selecting  <code>SelectedGroups to GAP</code> in  the
<code>Subgroups</code> menu):
<p>
labelgapxgap
<pre>
gap&gt; SelectedGroups(s);
[ d8 ]
</pre>
<p>
On the other hand, the functions supplied via the <code>Subgroups</code> menu are by
far not all functions applicable to groups.  In order to show results of a
computation in <font face="Gill Sans,Helvetica,Arial">GAP</font> in the diagram, you can use <code>SelectGroups</code>.  The
function <code>SelectGroups</code> allows you to mark any set of subgroups of <var>D<sub>8</sub></var> in
the diagram.
<p>
For instance,  you can compute the lower central series of this (nilpotent)
group in <font face="Gill Sans,Helvetica,Arial">GAP</font>.
<p>
<pre>
gap&gt; l := LowerCentralSeries(d8);
[ d8, Group([ f3 ]), Group([ &lt;identity&gt; of ... ]) ]
gap&gt; SelectGroups(s,l);
</pre>
<p>
This lower central series corresponds to the vertices <var>D8</var>, <var>2</var> and
<var>1</var> which will now be selected.  If, as it is not the case in this
example, the subgroups are not yet depicted in the lattice, a warning
appears in the <font face="Gill Sans,Helvetica,Arial">GAP</font> command window. You have to use <code>InsertVertex</code>
to insert a new vertex into the lattice (note that you can also
achieve this by selecting <code>InsertVertices from GAP</code> in the
<code>Subgroups</code> menu, see section <a href="C005S006.htm#SSEC1">InsertVertex</a> for the complete
description of this function or section <a href="C004S002.htm">xgapgap</a> for an example).
<p>
To  summarize the above: the  function <code>SelectedGroups</code> can be used to
transfer information  from   the  diagram  to  <font face="Gill Sans,Helvetica,Arial">GAP</font>, the   functions
<code>SelectGroups</code> and <code>InsertVertex</code> can  be used to transfer information
from <font face="Gill Sans,Helvetica,Arial">GAP</font> to the diagram.
<p>
In order to finish this example, close the window by selecting <code>close
graphic sheet</code> from the <code>Sheet</code> menu.  This will close the window
containing the Hasse diagram of <var>D<sub>8</sub></var>.
<p>
In this example you have learned, how to display the Hasse diagram of the
subgroup lattice of a group using <code>GraphicSubgroupLattice</code>, how to use the
mouse to move and select vertices, how to select a menu entry and how to
transfer information between the Hasse diagram and <font face="Gill Sans,Helvetica,Arial">GAP</font> using <code>SelectGroups</code>
and <code>SelectedGroups</code>.
<p>
In order to learn more about the menus <code>Sheet</code> and <code>Poset</code>, which were only
mentioned very briefly, see <a href="C005S007.htm">GraphicSubgroupLattice, Sheet Menu</a>, and
<a href="C005S008.htm">GraphicSubgroupLattice, Poset Menu</a>.  
<p>
<p>
[<a href = "C004S000.htm">Up</a>] [<a href ="C004S002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>xgap manual<br>Mai 2003
</address></body></html>