CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
2
6 ANUPQ Options
3
4
5
6.1 Overview
6
7
In this chapter we describe in detail all the options used by functions of
8
the ANUPQ package. Note that by options we mean GAP options that are passed
9
to functions after the arguments and separated from the arguments by a colon
10
as described in Chapter Reference: Function Calls in the Reference Manual.
11
The user is strongly advised to read Section 'Hints and Warnings regarding
12
the use of Options'.
13
14
6.1-1 AllANUPQoptions
15
16
AllANUPQoptions( )  function
17
18
lists all the GAP options defined for functions of the ANUPQ package:
19
20
 Example 
21
gap> AllANUPQoptions();
22
[ "AllDescendants", "BasicAlgorithm", "Bounds", "CapableDescendants", 
23
 "ClassBound", "CustomiseOutput", "Exponent", "Filename", "GroupName", 
24
 "Identities", "Metabelian", "NumberOfSolubleAutomorphisms", "OrderBound", 
25
 "OutputLevel", "PcgsAutomorphisms", "PqWorkspace", "Prime", 
26
 "PrintAutomorphisms", "PrintPermutations", "QueueFactor", 
27
 "RankInitialSegmentSubgroups", "RedoPcp", "RelativeOrders", "Relators", 
28
 "SetupFile", "SpaceEfficient", "StandardPresentationFile", "StepSize", 
29
 "SubList", "TreeDepth", "pQuotient" ]
30

31
32
The following global variable gives a partial breakdown of where the above
33
options are used.
34
35
6.1-2 ANUPQoptions
36
37
ANUPQoptions global variable
38
39
is a record of lists of names of admissible ANUPQ options, such that each
40
field is either the name of a key ANUPQ function or other (for a
41
miscellaneous list of functions) and the corresponding value is the list of
42
option names that are admissible for the function (or miscellaneous list of
43
functions).
44
45
Also, from within a GAP session, you may use GAP's help browser (see
46
Chapter Reference: The Help System in the GAP Reference Manual); to find out
47
about any particular ANUPQ option, simply type: ?option option, where option
48
is one of the options listed above without any quotes, e.g.
49
50
 Example 
51
gap> ?option Prime
52

53
54
will display the sections in this manual that describe the Prime option. In
55
fact the first 4 are for the functions that have Prime as an option and the
56
last actually describes the option. So follow up by choosing
57
58
 Example 
59
gap> ?5
60

61
62
This is also the pattern for other options (the last section of the list
63
always describes the option; the other sections are the functions with which
64
the option may be used).
65
66
In the section following we describe in detail all ANUPQ options. To
67
continue onto the next section on-line using GAP's help browser, type:
68
69
 Example 
70
gap> ?>
71

72
73
74
6.2 Detailed descriptions of ANUPQ Options
75
76
Prime := p 
77
Specifies that the p-quotient for the prime p should be computed.
78
79
ClassBound := n 
80
Specifies that the p-quotient to be computed has lower exponent-p
81
class at most n. If this option is omitted a default of 63 (which is
82
the maximum possible for the pq program) is taken, except for
83
PqDescendants (see PqDescendants (4.4-1)) and in a special case of
84
PqPCover (see PqPCover (4.1-3)). Let F be the argument (or start group
85
of the process in the interactive case) for the function; then for
86
PqDescendants the default is PClassPGroup(F) + 1, and for the special
87
case of PqPCover the default is PClassPGroup(F).
88
89
pQuotient := Q 
90
This option is only available for the standard presentation functions.
91
It specifies that a p-quotient of the group argument of the function
92
or group of the process is the pc p-group Q, where Q is of class less
93
than the provided (or default) value of ClassBound. If pQuotient is
94
provided, then the option Prime if also provided, is ignored; the
95
prime p is discovered by computing PrimePGroup(Q).
96
97
Exponent := n 
98
Specifies that the p-quotient to be computed has exponent n. For an
99
interactive process, Exponent defaults to a previously supplied value
100
for the process. Otherwise (and non-interactively), the default is 0,
101
which means that no exponent law is enforced.
102
103
Relators := rels 
104
Specifies that the relators sent to the pq program should be rels
105
instead of the relators of the argument group F (or start group in the
106
interactive case) of the calling function; rels should be a list of
107
strings in the string representations of the generators of F, and F
108
must be an fp group (even if the calling function accepts a pc group).
109
This option provides a way of giving relators to the pq program,
110
without having them pre-expanded by GAP, which can sometimes effect a
111
performance loss of the order of 100 (see Section 'The Relators
112
Option').
113
114
Notes
115
116
1 The pq program does not use / to indicate multiplication by an
117
inverse and uses square brackets to represent (left normed)
118
commutators. Also, even though the pq program accepts relations,
119
all elements of rels must be in relator form, i.e. a relation of
120
form w1 = w2 must be written as w1*(w2)^-1 and then put in a
121
pair of double-quotes to make it a string. See the example
122
below.
123
124
2 To ensure there are no syntax errors in rels, each relator is
125
parsed for validity via PqParseWord (see PqParseWord (3.4-3)).
126
If they are ok, a message to say so is Info-ed at InfoANUPQ
127
level 2.
128
129
Metabelian 
130
Specifies that the largest metabelian p-quotient subject to any other
131
conditions specified by other options be constructed. By default this
132
restriction is not enforced.
133
134
GroupName := name 
135
Specifies that the pq program should refer to the group by the name
136
name (a string). If GroupName is not set and the group has been
137
assigned a name via SetName (see Reference: Name) it is set as the
138
name the pq program should use. Otherwise, the generic name "[grp]" is
139
set as a default.
140
141
Identities := funcs 
142
Specifies that the pc presentation should satisfy the laws defined by
143
each function in the list funcs. This option may be called by Pq,
144
PqEpimorphism, or PqPCover (see Pq (4.1-1)). Each function in the list
145
funcs must return a word in its arguments (there may be any number of
146
arguments). Let identity be one such function in funcs. Then as each
147
lower exponent p-class quotient is formed, instances identity(w1,
148
dots, wn) are added as relators to the pc presentation, where w1,
149
dots, wn are words in the pc generators of the quotient. At each class
150
the class and number of pc generators is Info-ed at InfoANUPQ level 1,
151
the number of instances is Info-ed at InfoANUPQ level 2, and the
152
instances that are evaluated are Info-ed at InfoANUPQ level 3. As
153
usual timing information is Info-ed at InfoANUPQ level 2; and details
154
of the processing of each instance from the pq program (which is often
155
quite voluminous) is Info-ed at InfoANUPQ level 3. Try the examples
156
"B2-4-Id" and "11gp-3-Engel-Id" which demonstrate the usage of the
157
Identities option; these are run using PqExample (see PqExample
158
(3.4-4)). Take note of Note 1. below in relation to the example
159
"B2-4-Id"; the companion example "B2-4" generates the same group using
160
the Exponent option. These examples are discussed at length in
161
Section 'The Identities Option and PqEvaluateIdentities Function'.
162
163
Notes
164
165
1 Setting the InfoANUPQ level to 3 or more when setting the
166
Identities option may slow down the computation considerably, by
167
overloading GAP with io operations.
168
169
2 The Identities option is implemented at the GAP level. An
170
identity that is just an exponent law should be specified using
171
the Exponent option (see option Exponent), which is implemented
172
at the C level and is highly optimised and so is much more
173
efficient.
174
175
3 The number of instances of each identity tends to grow
176
combinatorially with the class. So care should be exercised in
177
using the Identities option, by including other restrictions,
178
e.g. by using the ClassBound option (see option ClassBound).
179
180
OutputLevel := n 
181
Specifies the level of verbosity of the information output by the ANU
182
pq program when computing a pc presentation; n must be an integer in
183
the range 0 to 3. OutputLevel := 0 displays at most one line of output
184
and is the default; OutputLevel := 1 displays (usually) slightly more
185
output and OutputLevels of 2 and 3 are two levels of verbose output.
186
To see these messages from the pq program, the InfoANUPQ level must be
187
set to at least 1 (see InfoANUPQ (3.3-1)). See Section 'Hints and
188
Warnings regarding the use of Options' for an example of how
189
OutputLevel can be used as a troubleshooting tool.
190
191
RedoPcp 
192
Specifies that the current pc presentation (for an interactive
193
process) stored by the pq program be scrapped and clears the current
194
values stored for the options Prime, ClassBound, Exponent and
195
Metabelian and also clears the pQuotient, pQepi and pCover fields of
196
the data record of the process.
197
198
SetupFile := filename 
199
Non-interactively, this option directs that pq should not be called
200
and that an input file with name filename (a string), containing the
201
commands necessary for the ANU pq standalone, be constructed. The
202
commands written to filename are also Info-ed behind a ToPQ>  prompt
203
at InfoANUPQ level 4 (see InfoANUPQ (3.3-1)). Except in the case
204
following, the calling function returns true. If the calling function
205
is the non-interactive version of one of Pq, PqPCover or PqEpimorphism
206
and the group provided as argument is trivial given with an empty set
207
of generators, then no setup file is written and fail is returned (the
208
pq program cannot do anything useful with such a group).
209
Interactively, SetupFile is ignored.
210
211
Note: Since commands emitted to the pq program may depend on knowing
212
what the current state is, to form a setup file some close enough
213
guesses may sometimes be necessary; when this occurs a warning is
214
Info-ed at InfoANUPQ or InfoWarning level 1. To determine whether the
215
close enough guesses give an accurate setup file, it is necessary to
216
run the command without the SetupFile option, after either setting the
217
InfoANUPQ level to at least 4 (the setup file script can then be
218
compared with the ToPQ>  commands that are Info-ed) or setting a pq
219
command log file by using ToPQLog (see ToPQLog (3.4-7)).
220
221
PqWorkspace := workspace 
222
Non-interactively, this option sets the memory used by the pq program.
223
It sets the maximum number of integer-sized elements to allocate in
224
its main storage array. By default, the pq program sets this figure to
225
10000000. Interactively, PqWorkspace is ignored; the memory used in
226
this case may be set by giving PqStart a second argument (see PqStart
227
(5.1-1)).
228
229
PcgsAutomorphisms 
230
PcgsAutomorphisms := false 
231
Let G be the group associated with the calling function (or associated
232
interactive process). Passing the option PcgsAutomorphisms without a
233
value (or equivalently setting it to true), specifies that a
234
polycyclic generating sequence for the automorphism group (which must
235
be soluble) of G, be computed and passed to the pq program. This
236
increases the efficiency of the computation; it also prevents the pq
237
from calling GAP for orbit-stabilizer calculations. By default,
238
PcgsAutomorphisms is set to the value returned by IsSolvable(
239
AutomorphismGroup( G ) ), and uses the package AutPGrp to compute
240
AutomorphismGroup( G ) if it is installed. This flag is set to true or
241
false in the background according to the above criterion by the
242
function PqDescendants (see PqDescendants (4.4-1) and PqDescendants
243
(5.3-6)).
244
245
Note: If PcgsAutomorphisms is used when the automorphism group of G is
246
insoluble, an error message occurs.
247
248
OrderBound := n 
249
Specifies that only descendants of size at most p^n, where n is a
250
non-negative integer, be generated. Note that you cannot set both
251
OrderBound and StepSize.
252
253
StepSize := n 
254
StepSize := list 
255
For a positive integer n, StepSize specifies that only those immediate
256
descendants which are a factor p^n bigger than their parent group be
257
generated.
258
259
For a list list of positive integers such that the sum of the length
260
of list and the exponent-p class of G is equal to the class bound
261
defined by the option ClassBound, StepSize specifies that the integers
262
of list are the step sizes for each additional class.
263
264
RankInitialSegmentSubgroups := n 
265
Sets the rank of the initial segment subgroup chosen to be n. By
266
default, this has value 0.
267
268
SpaceEfficient 
269
Specifies that the pq program performs certain calculations of p-group
270
generation more slowly but with greater space efficiency. This flag is
271
frequently necessary for groups of large Frattini quotient rank. The
272
space saving occurs because only one permutation is stored at any one
273
time. This option is only available if the PcgsAutomorphisms flag is
274
set to true (see option PcgsAutomorphisms). For an interactive
275
process, SpaceEfficient defaults to a previously supplied value for
276
the process. Otherwise (and non-interactively), SpaceEfficient is by
277
default false.
278
279
CapableDescendants 
280
By default, all (i.e. capable and terminal) descendants are computed.
281
If this flag is set, only capable descendants are computed. Setting
282
this option is equivalent to setting AllDescendants := false
283
(see option AllDescendants), except if both CapableDescendants and
284
AllDescendants are passed, AllDescendants is essentially ignored.
285
286
AllDescendants := false 
287
By default, all descendants are constructed. If this flag is set to
288
false, only capable descendants are computed. Passing AllDescendants
289
without a value (which is equivalent to setting it to true) is
290
superfluous. This option is provided only for backward compatibility
291
with the GAP 3 version of the ANUPQ package, where by default
292
AllDescendants was set to false (rather than true). It is preferable
293
to use CapableDescendants (see option CapableDescendants).
294
295
TreeDepth := class 
296
Specifies that the descendants tree developed by
297
PqDescendantsTreeCoclassOne (see PqDescendantsTreeCoclassOne (A.4-1))
298
should be extended to class class, where class is a positive integer.
299
300
SubList := sub 
301
Suppose that L is the list of descendants generated, then for a list
302
sub of integers this option causes PqDescendants to return Sublist( L,
303
sub ). If an integer n is supplied, PqDescendants returns L[n].
304
305
NumberOfSolubleAutomorphisms := n 
306
Specifies that the number of soluble automorphisms of the automorphism
307
group supplied by PqPGSupplyAutomorphisms (see PqPGSupplyAutomorphisms
308
(5.9-1)) in a p-group generation calculation is n. By default, n is
309
taken to be 0; n must be a non-negative integer. If n ge 0 then a
310
value for the option RelativeOrders (see 6.2) must also be supplied.
311
312
RelativeOrders := list 
313
Specifies the relative orders of each soluble automorphism of the
314
automorphism group supplied by PqPGSupplyAutomorphisms
315
(see PqPGSupplyAutomorphisms (5.9-1)) in a p-group generation
316
calculation. The list list must consist of n positive integers, where
317
n is the value of the option NumberOfSolubleAutomorphisms (see 6.2).
318
By default list is empty.
319
320
BasicAlgorithm 
321
Specifies that an algorithm that the pq program calls its default
322
algorithm be used for p-group generation. By default this algorithm is
323
not used. If this option is supplied the settings of options
324
RankInitialSegmentSubgroups, AllDescendants, Exponent and Metabelian
325
are ignored.
326
327
CustomiseOutput := rec 
328
Specifies that fine tuning of the output is desired. The record rec
329
should have any subset (or all) of the the following fields:
330
331
perm := list
332
where list is a list of booleans which determine whether the
333
permutation group output for the automorphism group should
334
contain: the degree, the extended automorphisms, the
335
automorphism matrices, and the permutations, respectively.
336
337
orbit := list
338
where list is a list of booleans which determine whether the
339
orbit output of the action of the automorphism group should
340
contain: a summary, and a complete listing of orbits,
341
respectively. (It's possible to have both a summary and a
342
complete listing.)
343
344
group := list
345
where list is a list of booleans which determine whether the
346
group output should contain: the standard matrix of each
347
allowable subgroup, the presentation of reduced p-covering
348
groups, the presentation of immediate descendants, the nuclear
349
rank of descendants, and the p-multiplicator rank of
350
descendants, respectively.
351
352
autgroup := list
353
where list is a list of booleans which determine whether the
354
automorphism group output should contain: the commutator matrix,
355
the automorphism group description of descendants, and the
356
automorphism group order of descendants, respectively.
357
358
trace := val
359
where val is a boolean which if true specifies algorithm trace
360
data is desired. By default, one does not get algorithm trace
361
data.
362
363
Not providing a field (or mis-spelling it!), specifies that the
364
default output is desired. As a convenience, 1 is also accepted as
365
true, and any value that is neither 1 nor true is taken as false. Also
366
for each list above, an unbound list entry is taken as false. Thus,
367
for example
368
369
  Example 
370
CustomiseOutput := rec(group := [,,1], autgroup := [,1])
371

372
373
specifies for the group output that only the presentation of immediate
374
descendants is desired, for the automorphism group output only the
375
automorphism group description of descendants should be printed, that
376
there should be no algorithm trace data, and that the default output
377
should be provided for the permutation group and orbit output.
378
379
StandardPresentationFile := filename 
380
Specifies that the file to which the standard presentation is written
381
has name filename. If the first character of the string filename is
382
not /, filename is assumed to be the path of a writable file relative
383
to the directory in which GAP was started. If this option is omitted
384
it is written to the file with the name generated by the command
385
Filename( ANUPQData.tmpdir, "SPres" );, i.e. the file with name
386
"SPres" in the temporary directory in which the pq program executes.
387
388
QueueFactor := n 
389
Specifies a queue factor of n, where n must be a positive integer.
390
This option may be used with PqNextClass (see PqNextClass (5.6-4)).
391
392
The queue factor is used when the pq program uses automorphisms to
393
close a set of elements of the p-multiplicator under their action.
394
395
The algorithm used is a spinning algorithm: it starts with a set of
396
vectors in echelonized form (elements of the p-multiplicator) and
397
closes the span of these vectors under the action of the
398
automorphisms. For this each automorphism is applied to each vector
399
and it is checked if the result is contained in the span computed so
400
far. If not, the span becomes bigger and the vector is put into a
401
queue and the automorphisms are applied to this vector at a later
402
stage. The process terminates when the automorphisms have been applied
403
to all vectors and no new vectors have been produced.
404
405
For each new vector it is decided, if its processing should be
406
delayed. If the vector contains too many non-zero entries, it is put
407
into a second queue. The elements in this queue are processed only
408
when there are no elements in the first queue left.
409
410
The queue factor is a percentage figure. A vector is put into the
411
second queue if the percentage of its non-zero entries exceeds the
412
queue factor.
413
414
Bounds := list 
415
Specifies a lower and upper bound on the indices of a list, where list
416
is a pair of positive non-decreasing integers. See PqDisplayStructure
417
(5.7-23) and PqDisplayAutomorphisms (5.7-24) where this option may be
418
used.
419
420
PrintAutomorphisms := list 
421
Specifies that automorphism matrices be printed.
422
423
PrintPermutations := list 
424
Specifies that permutations of the subgroups be printed.
425
426
Filename := string 
427
Specifies that an output or input file to be written to or read from
428
by the pq program should have the name string.
429
430
431