GroupTheory/DrawNormalSubgroupLattice - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : GroupTheory/DrawNormalSubgroupLattice

GroupTheory

 DrawNormalSubgroupLattice
 draw the normal subgroup lattice of a finite group

 Calling Sequence DrawNormalSubgroupLattice( G, opts )

Parameters

 G - Group opts - (optional) equations of the form keyword or keyword = value, as explained below

Options

 • directed = true or false
 If the option directed = true or directed is specified, then every edge in the subgroup lattice graph is directed from the smaller to the larger subgroup. If directed = false is specified (the default) then this is not the case.
 • labels = "integers" (the default) or labels = "ids" or labels = "none"
 By default, each vertex is labeled with a single integer: the position of the corresponding subgroup in the list of subgroups obtained by calling convert( L, list ). This behavior is explicitly specified by including the option labels = "integers".
 If you specify the option labels = "none", the vertices will not be labeled. This is useful for very large lattices whose structure could be obscured by vertex labels.
 The labels = "ids" option causes each vertex to be labeled with the small group identifier for normal subgroup the vertex represents. This is determined by the IdentifySmallGroup command, which returns a pair of the form n, k, where n is the order of the group, and k is an index identifying which group of order n it is. The vertex is then labeled with the expression n/k.
 • indices or indices = true or indices = false
 If the option indices = true or indices is specified, then every edge in the subgroup lattice graph, corresponding, say, to an inclusion of a normal subgroup N into a subgroup K, is labeled with the index of N in K. If indices = false is specified (the default) there are no labels on edges.
 • vertexcolor = color and edgecolor = color
 These two options control the color for subgroups not specified by any of the following options, and the color with which the edges are colored, respectively. The default is white for the vertex color and gray for the edge color. The colors need to be specified in a way that is recognized by ColorTools[Color]. Maple also accepts the alternative spellings vertexcolour and edgecolour.
 • highlight = subgroup, NormalSeries, or a list of subgroups and NormalSeries
 Use the highlight option to visually highlight selected subgroups in the normal subgroup lattice by displaying them in a particular color. There are a several variations on how highlighted subgroups can be specified.
 If you just specify a subgroup, or a list of subgroups, then the vertices in the display are highlighted using the default highlight color, which is "red".
 Alternatively, you can specify an equation of the form H = color, where H is some normal subgroup in the lattice and color is a color specification understood by the ColorTools[Color] command.
 To highlight more than one subgroup or normal series, enclose the equations in a list, such as [ N = color1, K = color2 ].
 You can also use a list of subgroups, such as [H, N, K] = color, where H, N and K are all normal subgroups in the lattice. This will cause all the subgroups in the list to be highlighted using the same color color.
 If S is a NormalSeries object, you can use S = color to highlight the members of S with the chosen color color. This is equivalent to [seq]( H = color, H = S ).
 Subgroups in the normal subgroup lattice not mentioned using the highlight option are displayed using the vertex color, either the default, or the color specified by using the vertexcolor option.
 • title = expr
 The given expression is typeset as the title above the subgroup lattice is specified.
 • titlefont = list
 The title is printed with this font.  The font is specified as explained in plot/options.

Description

 • The DrawNormalSubgroupLattice( G ) command displays a plot that shows the structure of the lattice of normal subgroups of the group G. The group G must be a group for which it is possible to compute the normal subgroups. In particular, G must be a finite group.
 • The lattice is displayed as a graph with a vertex for each normal subgroup of G, and with an edge directed from a normal subgroup N to a normal subgroup K if N is contained in K, and there are no normal subgroups properly between N and K. That is, the graph represents the covering relation for the normal subgroup lattice.
 • The DrawNormalSubgroupLattice command takes a number of options, described below, that you can use to customize the way the lattice is displayed.

Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$

This example illustrates several basic options used individually.

 > $G≔\mathrm{QuaternionGroup}\left(\right)$
 ${\mathrm{GroupTheory}}{:-}{\mathrm{QuaternionGroup}}{}\left({}\right)$ (1)
 > $\mathrm{P1}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{title}'="Vanilla"\right):$
 > $\mathrm{P2}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{indices}','\mathrm{title}'="Indices"\right):$
 > $\mathrm{P3}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="none",'\mathrm{title}'="No Labels",'\mathrm{titlefont}'=\left["Helvetica",10\right]\right):$
 > $\mathrm{P4}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{title}'="Ids"\right):$
 > $\mathrm{P5}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{directed}','\mathrm{title}'="Directed"\right):$
 > $\mathrm{P6}≔\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{highlight}'=\mathrm{Centre}\left(G\right),'\mathrm{title}'="Centre Highlighted"\right):$
 > $\mathrm{plots}:-\mathrm{display}\left(\mathrm{Array}\left(\left[\left[\mathrm{P1},\mathrm{P2},\mathrm{P3}\right],\left[\mathrm{P4},\mathrm{P5},\mathrm{P6}\right]\right]\right)\right)$

Compare the output of the DrawNormalSubgroupLattice command with that of the DrawSubgroupLattice command. The DrawSubgroupLattice command highlights normal subgroups by default, so the highlighted vertices there correspond to the full set of vertices in the normal subgroup lattice.

 > $G≔\mathrm{DihedralGroup}\left(12\right):$
 > $\mathrm{plots}:-\mathrm{display}\left(\mathrm{Array}\left(\left[\mathrm{DrawSubgroupLattice}\left(G,'\mathrm{labels}'='\mathrm{ids}','\mathrm{title}'="Full Subgroup Lattice"\right),\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'='\mathrm{ids}','\mathrm{title}'="Normal Subgroup Lattice"\right)\right]\right)\right)$

You can also use Cayley table groups and (finite) finitely presented groups.

 > $\mathrm{DrawNormalSubgroupLattice}\left(\mathrm{CayleyTableGroup}\left(\mathrm{DihedralGroup}\left(8\right)\right),'\mathrm{labels}'='\mathrm{ids}','\mathrm{indices}'\right)$
 > $\mathrm{DrawNormalSubgroupLattice}\left(\mathrm{DihedralGroup}\left(6,'\mathrm{form}'="fpgroup"\right),'\mathrm{labels}'='\mathrm{ids}'\right)$
 > $G≔\mathrm{DirectProduct}\left(\mathrm{QuaternionGroup}\left(\right),\mathrm{CyclicGroup}\left(2\right)\right)$
 ${\mathrm{GroupTheory}}{:-}{\mathrm{PermutationGroup}}{}\left(\left\{{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}{,}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}{,}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}\right\}{,}{\mathrm{degree}}{=}{10}\right)$ (2)

In the following example, both the center and derived subgroup are highlighted using the default highlight color.

 > $\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{highlight}'=\left[\mathrm{Centre}\left(G\right),\mathrm{DerivedSubgroup}\left(G\right)\right]\right)$

Since both subgroups are highlighted using the same color, it is not immediately apparent which is the center and which is the derived subgroup. To fix this, use different colors for the two subgroups, as follows.

 > $\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{highlight}'=\left[\mathrm{Centre}\left(G\right)="blue",\mathrm{DerivedSubgroup}\left(G\right)\right]\right)$

You can specify that several subgroups be highlighted with one color, while others are highlighted using a different color.

 > $G≔\mathrm{DihedralGroup}\left(6\right)$
 ${\mathrm{GroupTheory}}{:-}{\mathrm{DihedralGroup}}{}\left({6}{,}{\mathrm{form}}{=}{"permgroup"}\right)$ (3)
 > $\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{highlight}'=\left[\left[\mathrm{Centre}\left(G\right),\mathrm{DerivedSubgroup}\left(G\right)\right]="blue",\mathrm{FittingSubgroup}\left(G\right)\right]\right)$

The following example shows both the lower and upper central series of a nilpotent group highlighted using different colors, with the lower central series highlighted in blue and the upper central series highlighted in red. Notice that subgroups appearing in both series are highlighted in purple, which is the result of blending red and blue together.

 > $G≔\mathrm{Group}\left(\left[\mathrm{Perm}\left(\left[\left[2,9\right],\left[3,15\right],\left[4,5\right],\left[6,7\right],\left[8,28\right],\left[10,12\right],\left[11,32\right],\left[13,14\right],\left[16,21\right],\left[17,23\right],\left[18,22\right],\left[19,31\right],\left[20,30\right],\left[25,27\right],\left[26,44\right],\left[29,48\right],\left[33,38\right],\left[34,40\right],\left[35,39\right],\left[36,47\right],\left[37,46\right],\left[41,43\right],\left[42,60\right],\left[45,62\right],\left[49,54\right],\left[50,56\right],\left[51,55\right],\left[52,61\right],\left[53,58\right],\left[57,59\right],\left[63,64\right]\right]\right),\mathrm{Perm}\left(\left[\left[1,60,7,62,24,61,6,58\right],\left[2,49,10,63,13,64,3,54\right],\left[4,45,18,42,27,53,17,52\right],\left[5,47,23,46,25,44,22,48\right],\left[8,59,20,50,19,33,11,51\right],\left[9,55,15,38,14,56,12,57\right],\left[16,37,35,36,43,29,34,26\right],\left[21,28,40,32,41,31,39,30\right]\right]\right)\right]\right):$
 > $\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{highlight}'=\left[\mathrm{LowerCentralSeries}\left(G\right)="blue",\mathrm{UpperCentralSeries}\left(G\right)="red"\right]\right)$

This illustrates how the derived series of a nilpotent group (a $2$-group, in this case) converges to the trivial subgroup more quickly that the lower central series. The lower central series is highlighted in blue, as indicated; because no color is specified, the derived series of the group is highlighted using the default highlight color.

 > $G≔\mathrm{SmallGroup}\left(256,510\right):$
 > $\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{highlight}'=\left[\mathrm{LowerCentralSeries}\left(G\right)="blue",\mathrm{DerivedSeries}\left(G\right)="red"\right]\right)$

You can animate how a normal series progresses through the normal subgroup lattice as in the following example. (Set the frames per second to a value of $1$ or $2$ before running the resulting animation.)

 > $\mathrm{plots}:-\mathrm{display}\left(\left[\mathrm{seq}\right]\left(\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{highlight}'=H\right),H=\mathrm{LowerCentralSeries}\left(G\right)\right),'\mathrm{insequence}'=\mathrm{true}\right)$

To simultaneously animate the upper and lower central series of a nilpotent group, use the fact that they have the same length, equal to the nilpotency class of the group, as illustrated below.

 > $G≔\mathrm{Group}\left(\left[\mathrm{Perm}\left(\left[\left[2,9\right],\left[3,15\right],\left[4,5\right],\left[6,7\right],\left[8,28\right],\left[10,12\right],\left[11,32\right],\left[13,14\right],\left[16,21\right],\left[17,23\right],\left[18,22\right],\left[19,31\right],\left[20,30\right],\left[25,27\right],\left[26,44\right],\left[29,48\right],\left[33,38\right],\left[34,40\right],\left[35,39\right],\left[36,47\right],\left[37,46\right],\left[41,43\right],\left[42,60\right],\left[45,62\right],\left[49,54\right],\left[50,56\right],\left[51,55\right],\left[52,61\right],\left[53,58\right],\left[57,59\right],\left[63,64\right]\right]\right),\mathrm{Perm}\left(\left[\left[1,60,7,62,24,61,6,58\right],\left[2,49,10,63,13,64,3,54\right],\left[4,45,18,42,27,53,17,52\right],\left[5,47,23,46,25,44,22,48\right],\left[8,59,20,50,19,33,11,51\right],\left[9,55,15,38,14,56,12,57\right],\left[16,37,35,36,43,29,34,26\right],\left[21,28,40,32,41,31,39,30\right]\right]\right)\right]\right)$
 ${\mathrm{GroupTheory}}{:-}{\mathrm{PermutationGroup}}{}\left(\left\{{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}{,}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}\right\}{,}{\mathrm{degree}}{=}{64}\right)$ (4)
 > $\mathrm{lcs}≔\mathrm{LowerCentralSeries}\left(G\right):$
 > $\mathrm{ucs}≔\mathrm{UpperCentralSeries}\left(G\right):$
 > $\mathrm{plots}:-\mathrm{display}\left(\left[\mathrm{seq}\right]\left(\mathrm{DrawNormalSubgroupLattice}\left(G,'\mathrm{labels}'="ids",'\mathrm{highlight}'=\left[{\mathrm{lcs}}_{i}="ForestGreen",{\mathrm{ucs}}_{i}="Magenta"\right],'\mathrm{edgecolor}'="pink",'\mathrm{title}'="The Upper and Lower Central Series",'\mathrm{titlefont}'=\left["Helvetica","boldoblique",12\right]\right),i=1..\mathrm{numelems}\left(\mathrm{lcs}\right)\right),'\mathrm{insequence}'=\mathrm{true}\right)$