File: basics.xml

package info (click to toggle)
gap-anupq 3.3.3-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 8,328 kB
  • sloc: ansic: 15,243; xml: 5,186; sh: 1,259; makefile: 281; perl: 260; javascript: 155
file content (364 lines) | stat: -rw-r--r-- 18,524 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
<Chapter Label="Mathematical Background and Terminology">
<Heading>Mathematical Background and Terminology</Heading>

In this chapter we will give a brief description of the mathematical
notions used in the algorithms implemented in the ANU <C>anu-pq</C> program
that are made accessible from &GAP; through this package. For proofs
and details we will point to relevant places in the published
literature. Also we will try to give some explanation of terminology
that may help to use the <Q>low-level</Q> interactive functions described
in Section&nbsp;<Ref Sect="Low-level Interactive ANUPQ functions based on menu items of the pq program" Style="Text"/>. However, users who intend to use these functions
are strongly advised to acquire a thorough understanding of the
algorithms from the quoted literature. There is little or no checking
done in these functions and naive use may result in incorrect results.
<P/>

<Section Label="Basic-notions">
<Heading>Basic notions</Heading>

Throughout this manual, by <M>p</M>-group we always mean <E>finite</E> <M>p</M>-group.

<Subsection><Heading>pc Presentations and Consistency</Heading>
For details, see e.g.&nbsp;<Cite Key="NNN98"/>.
<P/>

Every finite <M>p</M>-group <M>G</M> has a presentation of the form: 
<Display>
\{a_1,\dots,a_n \mid a_i^p = v_{ii}, 1 \le i \le n, 
               [a_k, a_j] = v_{jk}, 1 \le j &lt; k \le n \}.
</Display>
where <M>v_{jk}</M> is a word in the elements <M>a_{k+1},\dots,a_n</M> for 
<M>1 \le j \leq k \le n</M>.
<P/>

<Index>power-commutator presentation</Index><Index>pc presentation</Index><Index>pcp</Index>
<Index>pc generators</Index><Index>collection</Index>
This is called a <E>power-commutator</E> presentation (or <E>pc presentation</E>
or <E>pcp</E>) of <M>G</M>, generators from such a presentation will be referred
to as <E>pc generators</E>. In terms of such pc generators every element of
<M>G</M> can be written in a <Q>normal form</Q> <M>a_1^{e_1}\dots a_n^{e_n}</M>
with <M>0 \le e_i &lt; p</M>. Moreover any given product of the generators
can be brought into such a normal form using the defining relations in
the above presentation as rewrite rules. Any such process is called
<E>collection</E>. For the discussion of various collection methods see
<Cite Key="LGS90"/> and <Cite Key="VL90a"/>.
<P/>

<Index>consistent</Index><Index>confluent rewriting system</Index><Index>confluent</Index>
Every <M>p</M>-group of order <M>p^n</M> has such a pcp on <M>n</M> generators and
conversely every such presentation defines a <M>p</M>-group. However a
<M>p</M>-group defined by a pcp on <M>n</M> generators can be of smaller order
<M>p^m</M> with <M>m&lt;n</M>. A pcp on <M>n</M> generators that does in fact define a
<M>p</M>-group of order <M>p^n</M> is called <E>consistent</E> in this manual, in
line with most of the literature on the algorithms occurring here. A
consistent pcp determines a <E>confluent rewriting system</E>
(see&nbsp;<Ref BookName="ref" Func="IsConfluent" Style="Text"/> of the &GAP; Reference Manual) for the group
it defines and for this reason often (in particular in the &GAP;
Reference Manual) such a pcp presentation is also called <E>confluent</E>.
<P/>

Consistency of a pcp is tantamount to the fact that for any given word
in the generators any two collections will yield the same normal form.
<P/>

<Index>consistency conditions</Index>
Consistency of a pcp can be checked by a finite set of <E>consistency
conditions</E>, demanding that collection of the left hand side and of
the right hand side of certain equations, starting with subproducts
indicated by bracketing, will result in the same normal form. There
are 3 types of such equations (that will be referred to in the
manual):
<Display>
\begin{array}{rclrl}
(a^n)a &amp;=&amp; a(a^n)                                &amp;&amp;{\rm (Type 1)} \\
(b^n)a &amp;=&amp; b^{(n-1)}(ba), b(a^n) = (ba)a^{(n-1)} &amp;&amp;{\rm (Type 2)} \\
 c(ba) &amp;=&amp; (cb)a                                 &amp;&amp;{\rm (Type 3)} \\
\end{array}
</Display>
See <Cite Key="VL84"/> for a description of a sufficient set of consistency
conditions in the context of the <M>p</M>-quotient algorithm.
</Subsection>

<Subsection><Heading>Exponent-<M>p</M> Central Series and Weighted pc Presentations</Heading>
For details, see <Cite Key="NNN98"/>.
<P/>

<Index>exponent-p central series</Index><!-- @exponent-<M>p</M> central series -->
The (<E>descending</E> or <E>lower</E>) (<E>exponent-</E>)<E><M>p</M>-central series</E> of an
arbitrary group <M>G</M> is defined by
<Display>
P_0(G) := G, P_i(G) := [G, P_{i-1}(G)] P_{i-1}(G)^p.
</Display>
For a <M>p</M>-group <M>G</M> this series terminates with the trivial group. <M>G</M>
<Index>class</Index><Index>p-class</Index><!-- @<M>p</M>-class -->
has <E><M>p</M>-class</E> <M>c</M> if <M>c</M> is the smallest integer such that <M>P_c(G)</M>
is the trivial group. In this manual, as well as in much of the
literature about the <C>anu-pq</C>- and related algorithms, the <M>p</M>-class is
often referred to simply by <E>class</E>.
<P/>

Let the <M>p</M>-group <M>G</M> have a consistent pcp as above. Then the
subgroups
<Display>
\langle1\rangle &lt; {\langle}a_n\rangle &lt; {\langle}a_n, a_{n-1}\rangle
    &lt; \dots &lt; {\langle}a_n,\dots,a_i\rangle &lt; \dots &lt; G
</Display>
form a central series of <M>G</M>. If this refines the <M>p</M>-central series,
<Index>weight function</Index>
we can define the <E>weight function</E> <M>w</M> for the pc generators by
<M>w(a_i) = k</M>, if <M>a_i</M> is contained in <M>P_{k-1}(G)</M> but not in
<M>P_k(G)</M>.
<P/>

<Index>weighted pcp</Index>
The pair of such a weight function and a pcp allowing it, is called a
<E>weighted pcp</E>.
</Subsection>

<Subsection><Heading><M>p</M>-Cover, <M>p</M>-Multiplicator</Heading>
For details, see <Cite Key="NNN98"/>.
<P/>

<Index>p-covering group</Index><!-- @<M>p</M>-covering group --><Index>p-cover</Index><!-- @<M>p</M>-cover -->
<Index>p-multiplicator</Index><!-- @<M>p</M>-multiplicator -->
<Index>p-multiplicator rank</Index><!-- @<M>p</M>-multiplicator rank -->
<Index>multiplicator rank</Index>
Let <M>d</M> be the minimal number of generators of the <M>p</M>-group <M>G</M> of
<M>p</M>-class <M>c</M>. Then <M>G</M> is isomorphic to a factor group <M>F/R</M> of a
free group <M>F</M> of rank <M>d</M>. We denote <M>[F, R] R^p</M> by <M>R^*</M>. It can
be proved (see e.g.&nbsp;<Cite Key="OBr90"/>) that the isomorphism type of <M>G^*
:= F/R^*</M> depends only on <M>G</M>. <M>G^*</M> is called the <E><M>p</M>-covering
group</E> or <E><M>p</M>-cover</E> of <M>G</M>, and <M>R/R^*</M> the <E><M>p</M>-multiplicator</E> of
<M>G</M>. The <M>p</M>-multiplicator is, of course, an elementary abelian
<M>p</M>-group; its minimal number of generators is called the
<E>(<M>p</M>-)multiplicator rank</E>.
</Subsection>

<Subsection><Heading>Descendants, Capable, Terminal, Nucleus</Heading>
For details, see <Cite Key="New77"/> and <Cite Key="OBr90"/>.
<P/>

<Index>descendant</Index><Index>immediate descendant</Index><Index>nucleus</Index>
<Index>capable</Index><Index>terminal</Index>
Let again <M>G</M> be a <M>p</M>-group of <M>p</M>-class <M>c</M> and <M>d</M> the minimal
number of generators of <M>G</M>. A <M>p</M>-group <M>H</M> is a <E>descendant</E> of <M>G</M>
if the minimal number of generators of <M>H</M> is <M>d</M> and <M>H/P_c(H)</M> is
isomorphic to <M>G</M>.
A descendant <M>H</M> of <M>G</M> is a <E>proper descendant</E> if it has <M>p</M>-class at least <M>c+1</M>.
A descendant <M>H</M> of <M>G</M> is an <E>immediate descendant</E> if it has <M>p</M>-class <M>c+1</M>.
<M>G</M> is called <E>capable</E> if it
has immediate descendants; otherwise it is <E>terminal</E>.
<P/>

Let <M>G^* = F/R^*</M> again be the <M>p</M>-cover of <M>G</M>. Then the group
<M>P_c(G^*)</M> is called the <E>nucleus</E> of <M>G</M>. Note that <M>P_c(G^*)</M> is
contained in the <M>p</M>-multiplicator <M>R/R^*</M>.
<P/>

<Index>nucleus</Index><Index>allowable subgroup</Index>
It is proved (e.g.&nbsp;in <Cite Key="OBr90"/>) that the immediate descendants of
<M>G</M> are obtained as factor groups of the <M>p</M>-cover by (proper)
supplements of the nucleus in the (elementary abelian)
<M>p</M>-multiplicator. These are also called <E>allowable</E>.
<P/>

<Index>extended automorphism</Index><Index>permutations</Index>
It is further proved there that every automorphism <M>\alpha</M> of <M>F/R</M>
extends to an automorphism <M>\alpha^*</M> of the <M>p</M>-cover <M>F/R^*</M> and
that the restriction of <M>\alpha^*</M> to the multiplicator <M>R/R^*</M> is
uniquely determined by <M>\alpha</M>. Each <E>extended automorphism</E>
<M>\alpha^*</M> induces a permutation of the allowable subgroups. Thus the
extended automorphisms determine a group <M>P</M> of <E>permutations</E> on the
set <M>A</M> of allowable subgroups (The group <M>P</M> of permutations will
appear in the description of some interactive functions). Choosing a
representative <M>S</M> from each orbit of <M>P</M> on <M>A</M>, the set of factor
groups <M>F/S</M> contains each (isomorphism type of) immediate descendant
of <M>G</M> exactly once. For each immediate descendant, the procedure of
computing the <M>p</M>-cover, extending the automorphisms and computing the
orbits on allowable subgroups can be repeated. Iteration of this
procedure can in principle be used to determine all descendants of a
<M>p</M>-group.
</Subsection>

<Subsection><Heading>Laws</Heading>
<Index>law</Index><Index>identical relation</Index><Index>exponent law</Index>
<Index>metabelian law</Index><Index>Engel identity</Index><!-- @Engel identity -->
Let <M>l(x_1, \dots, x_n)</M> be a word in the free generators <M>x_1, \dots,
x_n</M> of a free group of rank <M>n</M>. Then <M>l(x_1, \dots, x_n) = 1</M> is
called a <E>law</E> or <E>identical relation</E> in a group <M>G</M> if <M>l(g_1,
\dots, g_n) = 1</M> for any choice of elements <M>g_1, \dots, g_n</M> in <M>G</M>.
In particular, <M>x^e = 1</M> is called an <E>exponent law</E>, <M>[[x,y],[u,v]] =
1</M> the <E>metabelian law</E>, and <M>[\dots [[x_1,x_2],x_2],\dots, x_2] = 1</M>
an <E>Engel identity</E>.
</Subsection>

</Section>


<Section Label="The p-quotient Algorithm">
<Heading>The p-quotient Algorithm</Heading>

For details, see <Cite Key="HN80"/>, <Cite Key="NO96"/> and <Cite Key="VL84"/>. Other
descriptions of the algorithm are given in <Cite Key="Sims94"/>.
<P/>

The <C>anu-pq</C> algorithm successively determines the factor groups of the
groups of the <M>p</M>-central series of a finitely presented (fp) group
<M>G</M>. If a bound <M>b</M> for the <M>p</M>-class is given, the algorithm will
determine those factor groups up to at most <M>p</M>-class <M>b</M>. If the
<M>p</M>-central series terminates with a subgroup <M>P_k(G)</M> with <M>k &lt; b</M>,
the algorithm will stop with that group. If no such bound is given, it
will try to find the biggest such factor group.
<P/>

<M>G/P_1(G)</M> is the largest elementary abelian <M>p</M>-factor group of <M>G</M>
and this can be found from the relation matrix of <M>G</M> using matrix
diagonalisation modulo <M>p</M>. So it suffices to explain how
<M>G/P_{i+1}(G)</M> is found from <M>G</M> and <M>G/P_i(G)</M> for some <M>i \ge 1</M>.
<P/>

This is done, in principle, in two steps: first the <M>p</M>-cover
of <M>G_i := G/P_i(G)</M> is determined (which depends only on
<M>G_i</M>, not on <M>G</M>) and then <M>G/P_{i+1}(G)</M> as a factor group of this
<M>p</M>-cover.

<Subsection><Heading>Finding the <M>p</M>-cover</Heading>
A very detailed description of the first step is given in <Cite Key="NNN98"/>,
from which we just extract some passages in order to point to some
terms occurring in this manual.
<P/>

<Index>labelled pcp</Index><Index>definition<Subkey>of generator</Subkey></Index>
Let <M>H</M> be a <M>p</M>-group and <M>p^{d(b)}</M> be the order of <M>H/P_b(H)</M>. So
<M>d := d(1)</M> is the minimal number of generators of <M>H</M>. A weighted pcp
of <M>H</M> will be called <E>labelled</E> if for each generator <M>a_k</M>, <M>k > d</M>
one relation, having this generator as its right hand side, is marked
as <E>definition</E> of this generator.
<P/>

As described in <Cite Key="NNN98"/>, a weighted labelled pcp of a <M>p</M>-group
can be obtained stepping down its <M>p</M>-central series.
<P/>

So let us assume that a weighted labelled pcp of <M>G_i</M> is given. A
straightforward way of of writing down a (not necessarily consistent)
pcp for its <M>p</M>-cover is to add generators, one for each relation
which is not a definition, and modify the right hand side of each such
relation by multiplying it on the right by one of the new generators
-- a different generator for each such relation. Further relations are
then added to make the new generators central and of order <M>p</M>. This
procedure is called <E>adding tails</E>. A more formal description of it is
again given in <Cite Key="NNN98"/>.
<P/>

<Index>tails</Index>
It is important to realise that the <Q>new</Q> generators will generate
an elementary abelian group, that is, in additive notation, a vector
space over the field of <M>p</M> elements. As said, the pcp of the
<M>p</M>-cover obtained in this way need not be consistent. Since the pcp
of <M>G_i</M> was consistent, applying the consistency conditions to the
pcp of the <M>p</M>-cover, in case the presentation obtained for <M>p</M>-cover
is not consistent, will produce a set of equations between the new
generators, that, written additively, are linear equations over the
field of <M>p</M> elements and can hence be used to remove redundant
generators until a consistent pcp is obtained.
<P/>

In reality, to follow this straightforward procedure would be
forbiddingly inefficient except for very small examples. There are
many ways of a priori reducing the number of <Q>new generators</Q> to be
introduced, using e.g.&nbsp;the weights attached to the generators, and the
main part of <Cite Key="NNN98"/> is devoted to a detailed discussion with
proofs of these possibilities.
</Subsection>

<Subsection><Heading>Imposing the Relations of the fp Group</Heading>
In order to obtain <M>G/P_{i+1}(G)</M> from the pcp of the <M>p</M>-cover of
<M>G_i = G/P_i(G)</M>, the defining relations from the original
presentation of <M>G</M> must be imposed. Since <M>G_i</M> is a homomorphic
image of <M>G</M>, these relations again yield relations between the <Q>new
generators</Q> in the presentation of the <M>p</M>-cover of <M>G_i</M>.
</Subsection>

<Subsection><Heading>Imposing Laws</Heading>
While we have so far only considered the computation of the factor
groups of a given fp group by the groups of its descending <M>p</M>-central
series, the <M>p</M>-quotient algorithm allows a very important variant of
this idea: laws can be prescribed that should be fulfilled by the
<M>p</M>-factor groups computed by the algorithm. The key observation here
is the fact that at each step down the descending <M>p</M>-central series
it suffices to impose these laws only for a finite number of words.
Again for efficiency of the method it is crucial to keep the number of
such words small, and much of <Cite Key="NO96"/> and the literature quoted in
this paper is devoted to this problem.
<P/>

<Index>exponent check</Index>
In this form, starting with a free group and imposing an exponent law
(also referred to as an <E>exponent check</E>) the <C>anu-pq</C> program has, in
fact, found its most noted application in the determination of
(restricted) Burnside groups (as reported in e.g.&nbsp;<Cite Key="HN80"/>,
<Cite Key="NO96"/> and <Cite Key="VL90b"/>).
<P/>

Via a &GAP; program using the <Q>local</Q> interactive functions of the
<C>anu-pq</C> program made available through this interface also arbitrary laws
can be imposed via the option <C>Identities</C>
(see&nbsp;<Ref Label="option Identities" Style="Text"/>).
</Subsection>

</Section>


<Section Label="The p-group generation Algorithm, Standard Presentation, Isomorphism Testing">
<Heading>The p-group generation Algorithm, Standard Presentation, 
Isomorphism Testing</Heading>

For details, see <Cite Key="New77"/> and <Cite Key="OBr90"/>.
<P/>

<Index>p-group generation</Index><!-- @<M>p</M>-group generation --><Index>orbits</Index>
The <M>p</M>-group generation algorithm determines the immediate
descendants of a given <M>p</M>-group <M>G</M> up to isomorphism. From what has
been explained in Section&nbsp;<Ref Sect="Basic-notions" Style="Text"/>, it is clear that this
amounts to the construction of the <M>p</M>-cover, the extension of the
automorphisms of <M>G</M> to the <M>p</M>-cover and the determination of
representatives of the orbits of the action of these automorphisms on
the set of supplements of the nucleus in the <M>p</M>-multiplicator.
<P/>

The main practical problem here is the determination of these
representatives. <Cite Key="OBr90"/> describes methods for this and the <C>anu-pq</C>
program allows choices according to whether space or time limitations
must be met.
<P/>

As well as the descendants of <M>G</M>, the <C>anu-pq</C> program determines their
automorphism groups from that of <M>G</M> (see&nbsp;<Cite Key="OBr95"/>), which is
important for an iteration of the process; this has been used by
Eamonn O'Brien, e.g.&nbsp;in the classification of the <M>2</M>-groups that are
now also part of the <E>Small Groups</E> library available through &GAP;.
<P/>

<Index>standard presentation</Index><Index>echelonised matrix</Index>
<Index>label of standard matrix</Index> 
A variant of the <M>p</M>-group generation algorithm is also used to define
a <E>standard presentation</E> of a given <M>p</M>-group. This is done by
constructing an isomorphic copy of the given group through a chain of
descendants and at each step making a choice of a particular
representative for the respective orbit of capable groups. In a fairly
delicate process, subgroups of the <M>p</M>-multiplicator are represented
by <E>echelonised matrices</E> and a first among the <E>labels for standard
matrices</E> is chosen (this is described in detail in <Cite Key="OBr94"/>).
<P/>

<Index>isomorphism testing</Index><Index>compaction</Index>
Finally, the standard presentation provides a way of testing if two
given <M>p</M>-groups are isomorphic: the standard presentations of the
groups are computed, for practical purposes <E>compacted</E> and the
results compared for being identical, i.e.&nbsp;the groups are isomorphic
if and only if their standard presentations are identical.

</Section>
</Chapter>