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
%%
3
%W otheroptions.tex ACE appendix - other options Alexander Hulpke
4
%W Joachim Neub"user
5
%W Greg Gamble
6
%%
7
%H $Id$
8
%%
9
%Y Copyright (C) 2000 Centre for Discrete Mathematics and Computing
10
%Y Department of Information Tech. & Electrical Eng.
11
%Y University of Queensland, Australia.
12
%%
13
14
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
\Chapter{Other ACE Options}
16
17
Here we list all the known {\ACE} options not provided earlier. Most
18
of the options provided here have interactive function alternatives
19
(each such alternative is noted at the end of the section describing
20
the corresponding option and introduced by ``*INTERACTIVELY*, use
21
\dots''). A few options have only limited usefulness from {\GAP}; many
22
options, users will normally only wish to use if generating an input
23
file, by using the option `aceinfile' (see~"option aceinfile").
24
However all options here are functional, both interactively and
25
non-interactively.
26
27
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28
\Section{Experimentation Options}
29
30
\beginitems
31
32
\>`aep:=<val>'{option aep}@{option `aep'}&
33
Runs the enumeration for `a'll `e'quivalent `p'resentations;
34
<val> is in the integer range 1 to 7.
35
36
The `aep' option runs an enumeration for combinations of relator
37
ordering, relator rotations, and relator inversions.
38
39
The argument <val> is considered as a binary number. Its three bits
40
are treated as flags, and control relator rotations (the $2^0$ bit),
41
relator inversions (the $2^1$ bit) and relator orderings (the $2^2$
42
bit), respectively; where $1$ means ``active'' and $0$ means
43
``inactive''. (See below for an example).
44
45
The `aep' option first performs a ``priming run'' using the options as
46
they stand. In particular, the `asis' and `messages' options are
47
honoured.
48
49
It then turns `asis' on and `messages' off (i.e.~sets `messages' to
50
0), and generates and tests the requested equivalent presentations.
51
The maximum and minimum values attained by `m' (the maximum number of
52
coset numbers defined at any stage) and `t' (the total number of coset
53
numbers defined) are tracked, and each time a new ``record'' is found,
54
the relators used and the summary result line is printed. See
55
Appendix~"The Meanings of ACE's output messages" for a discussion of
56
the statistics `m' and `t'. To observe these messages either set the
57
`InfoLevel' of `InfoACE' to 3 or non-interactively you can peruse the
58
{\ACE} output file (see~"option aceoutfile").
59
60
Normally when a non-interactive {\ACE} interface function is called,
61
the option `start' (see~"option start"), is quietly inserted after all
62
the options provided by the user, to initiate a coset enumeration.
63
Since the `aep' option invokes an enumeration, the quiet insertion of
64
the `start' option is neither needed nor done, when a non-interactive
65
{\ACE} interface function is called with the `aep' option.
66
67
The order in which the equivalent presentations are generated and
68
tested has no particular significance, but note that the presentation
69
as given *after* the initial priming run) is the *last* presentation
70
to be generated and tested, so that the group's relators are left
71
`unchanged' by running the `aep' option, (not that a non-interactive
72
user cares).
73
74
As discussed by Cannon, Dimino, Havas and Watson \cite{CDHW73} and
75
Havas and Ramsay \cite{HR01} such equivalent presentations can yield
76
large variations in the number of coset numbers required in an
77
enumeration. For this command, we are interested in this variation.
78
79
After the final presentation is run, some additional status
80
information messages are printed to the {\ACE} output file:
81
82
\beginlist%unordered
83
84
\item{--} the number of runs which yielded a finite index;
85
86
\item{--} the total number of runs (excluding the priming run); and
87
88
\item{--} the range of values observed for `m' and `t'.
89
90
\endlist
91
92
As an example (drawn from the discussion in \cite{HR99ace}) consider the
93
enumeration of the $448$ coset numbers of the subgroup
94
$\langle a^2,a^{-1}b \rangle$ of the group
95
$$
96
(8,7 \mid 2,3)
97
= \langle a,b \mid a^8 = b^7 = (ab)^2 = (a^{-1}b)^3 = 1 \rangle.
98
$$
99
There are $4!=24$ relator orderings and $2^4=16$ combinations of
100
relator or inverted relator. Exponents are taken into account when
101
rotating relators, so the relators given give rise to 1, 1, 2 and 2
102
rotations respectively, for a total of $1.1.2.2=4$ combinations. So,
103
for `aep' = $7$ (resp.~$3$), $24.16.4=1536$ (resp.~$16.4=64$)
104
equivalent presentations are tested.
105
106
*Notes:*
107
There is no way to stop the `aep' option before it has completed,
108
other than killing the task. So do a reality check beforehand on the
109
size of the search space and the time for each enumeration. If you are
110
interested in finding a ``good'' enumeration, it can be very helpful,
111
in terms of running time, to put a tight limit on the number of coset
112
numbers via the `max' option. You may also have to set `compaction' =
113
$100$ to prevent time-wasting attempts to recover space via
114
compaction. This maximises throughput by causing the ``bad''
115
enumerations, which are in the majority, to overflow quickly and
116
abort. If you wish to explore a very large search-space, consider
117
firing up many copies of {\ACE}, and starting each with a ``random''
118
equivalent presentation. Alternatively, you could use the `rep'
119
command.
120
121
*INTERACTIVELY*, use `ACEAllEquivPresentations'
122
(see~"ACEAllEquivPresentations").
123
124
\>`rep:=<val>'{option rep}@{option `rep'}
125
\>`rep:=[<val>, <Npresentations>]'{option rep}@{option `rep'}&
126
Run the enumeration for `r'andom `e'quivalent `p'resentations;
127
<val> is in the integer range 1 to 7;
128
<Npresentations> must be a positive integer.
129
130
The `rep' (random equivalent presentations) option complements the
131
`aep' option. It generates and tests some random equivalent
132
presentations. The argument <val> acts as for `aep'. It is also
133
possible to set the number <Npresentations> of random presentations
134
used (by default, eight are used), by using the extended syntax
135
`rep:=[<val>,<Npresentations>]'.
136
137
The routine first turns `asis' on and `messages' off (i.e.~sets
138
`messages' to 0), and then generates and tests the requested number of
139
random equivalent presentations. For each presentation, the relators
140
used and the summary result line are printed. To observe these
141
messages either set the `InfoLevel' of `InfoACE' to at least 3 or
142
non-interactively you can peruse the {\ACE} output file (see~"option
143
aceoutfile").
144
145
Normally when a non-interactive {\ACE} interface function is called,
146
the option `start' (see~"option start"), is quietly inserted after all
147
the options provided by the user, to initiate a coset enumeration.
148
Since the `rep' option invokes an enumeration, the quiet insertion of
149
the `start' option is neither needed nor done, when a non-interactive
150
{\ACE} interface function is called with the `rep' option.
151
152
*Notes:*
153
The relator inversions and rotations are ``genuinely'' random. The
154
relator permuting is a little bit of a kludge, with the ``quality'' of
155
the permutations tending to improve with successive presentations.
156
When the `rep' command completes, the presentation active is the
157
*last* one generated, (not that the non-interactive user cares).
158
159
*Guru Notes:*
160
It might appear that neglecting to restore the original presentation
161
is an error. In fact, it is a useful feature! Suppose that the space
162
of equivalent presentations is too large to exhaustively test. As
163
noted in the entry for `aep', we can start up multiple copies of `aep'
164
at random points in the search-space. Manually generating `random'
165
equivalent presentations to serve as starting-points is tedious and
166
error-prone. The `rep' option provides a simple solution; simply run
167
`rep := 7' before `aep := 7'.
168
169
*INTERACTIVELY*, use `ACERandomEquivPresentations'
170
(see~"ACERandomEquivPresentations").
171
172
\enditems
173
174
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175
\Section{Options that Modify a Presentation}
176
177
\beginitems
178
179
\>`group:=<grpgens>'{option group}@{option `group'}&
180
Defines the `group' generators; <grpgens> should be an integer (that
181
is the number of generators) or a string that is the concatenation of,
182
or a list of, single-lowercase-letter group generator names, i.e.~it
183
should be in a form suitable for the {\ACE} binary to interpret.
184
(Shortest abbreviation: `gr'.)
185
186
The group generators should normally be input as one of the arguments
187
of an {\ACE} interface function, though this option may be useful when
188
`ACEStart' (see~"ACEStart") is called with the single argument 0. This
189
option may also be useful for re-using an interactive process for a
190
new enumeration, rather than using `ACEQuit' to kill the process and
191
`ACEStart' to initiate a new process. If the generators each have
192
names that as strings are single lowercase letters, those same strings
193
are used to represent the same generators by {\ACE}; otherwise, {\ACE}
194
will represent each generator by an integer, numbered sequentially
195
from 1.
196
197
To convert a {\GAP} list <fgens> of free group generators into a form
198
suitable for the `group' option, use the construction:
199
`ToACEGroupGenerators(<fgens>)' (see~"ToACEGroupGenerators"). It is
200
*strongly recommended* that users of the `group' option use this
201
construction.
202
203
*Notes:*
204
Any use of the `group' command which actually defines generators
205
invalidates any previous enumeration, and stays in effect until the
206
next `group' command. Any words for the group or subgroup must be
207
entered using the nominated generator format, and all printout will
208
use this format. A valid set of generators is the minimum information
209
necessary before {\ACE} will attempt an enumeration.
210
211
*Guru Notes:*
212
The columns of the coset table are allocated in the same order as the
213
generators are listed, insofar as this is possible, given that the
214
first two columns must be a generator/inverse pair or a pair of
215
involutions. The ordering of the columns can, in some cases, affect
216
the definition sequence of cosets and impact the statistics of an
217
enumeration.
218
219
\>`relators:=<relators>'{option relators}@{option `relators'}&
220
Defines the group `relators'; <relators> must be a string or list of
221
strings that the {\ACE} binary can interpret as words in the group
222
generators. (Shortest abbreviation: `rel'.)
223
224
The group relators should normally be input as one of the arguments of
225
an {\ACE} interface function, but this option may occasionally be
226
useful with interactive processes (see~"option group"). If <wordList>
227
is an empty list, the group is free.
228
229
To convert a {\GAP} list <rels> of relators in the free group
230
generators <fgens> into a form suitable for the `relators' option, use
231
the construction: `ToACEWords(<fgens>, <rels>)' (see~"ToACEWords").
232
233
\>`generators:=<subgens>'{option generators}@{option `generators'}&
234
Defines the subgroup `generators'; <subgens> must be a string or list
235
of strings that the {\ACE} binary can interpret as words in the group
236
generators. (Shortest abbreviation: `gen'.)
237
238
The subgroup generators should normally be input as one of the
239
arguments of an {\ACE} interface function, but this option may
240
occasionally be useful with interactive processes (see~"option
241
group"). By default, there are no subgroup generators and the subgroup
242
is trivial. This command allows a list of subgroup generating words to
243
be entered.
244
245
To convert a {\GAP} list <sgens> of subgroup generators in the free
246
group generators <fgens> into a form suitable for the `generators'
247
option, use the construction: `ToACEWords(<fgens>, <sgens>)'
248
(see~"ToACEWords").
249
250
\>`sg:=<subgens>'{option sg}@{option `sg'}&
251
Adds the words in <subgens> to any `s'ubgroup `g'enerators already
252
present; <subgens> must be a string or list of strings that the {\ACE}
253
binary can interpret as words in the group generators.
254
255
The enumeration must be (re)`start'ed or `redo'ne, it cannot be
256
`continu'ed.
257
258
To convert a {\GAP} list <sgens> of subgroup generators in the free
259
group generators <fgens> into a form suitable for the `generators'
260
option, use the construction: `ToACEWords(<fgens>, <sgens>)'
261
(see~"ToACEWords").
262
263
*INTERACTIVELY*, use `ACEAddSubgroupGenerators'
264
(see~"ACEAddSubgroupGenerators").
265
266
\>`rl:=<relators>'{option rl}@{option `rl'}&
267
Appends the `r'elator `l'ist <relators> to the existing list of
268
relators present; <relators> must be a string or list of strings that
269
the {\ACE} binary can interpret as words in the group generators.
270
271
The enumeration must be (re)`start'ed or `redo'ne, it cannot be
272
`continu'ed.
273
274
To convert a {\GAP} list <rels> of relators in the free group
275
generators <fgens> into a form suitable for the `rl' option, use the
276
construction: `ToACEWords(<fgens>, <rels>)' (see~"ToACEWords").
277
278
*INTERACTIVELY*, use `ACEAddRelators' (see~"ACEAddRelators").
279
280
\>`ds:=<list>'{option ds}@{option `ds'}&
281
`D'eletes `s'ubgroup generators; <list> must be a list of positive
282
integers.
283
284
This command allows subgroup generators to be deleted from the
285
presentation. If the generators are numbered from 1 in the output of,
286
say, the `sr' command (see~"option sr"), then the generators listed in
287
`<list>' are deleted; `<list>' must be a strictly increasing sequence.
288
289
*INTERACTIVELY*, use `ACEDeleteSubgroupGenerators'
290
(see~"ACEDeleteSubgroupGenerators").
291
292
\>`dr:=<list>'{option dr}@{option `dr'}&
293
`D'eletes relators; <list> must be a list of positive integers.
294
295
This command allows group relators to be deleted from the
296
presentation. If the relators are numbered from 1 in the output of,
297
say, the `sr' command (see~"option sr"), then the relators listed in
298
`<list>' are deleted; `<list>' must be a strictly increasing sequence.
299
300
*INTERACTIVELY*, use `ACEDeleteRelators' (see~"ACEDeleteRelators").
301
302
\>`cc:=<val>'{option cc}@{option `cc'}&
303
Makes `c'oset <val> `c'oincide with coset 1; <val> should be a
304
positive integer.
305
306
Prints out the representative of coset `<val>', and adds it to the
307
subgroup generators; i.e., forces coset `<val>' to coincide with coset
308
1, the subgroup.
309
310
*INTERACTIVELY*, use `ACECosetCoincidence'
311
(see~"ACECosetCoincidence").
312
313
\>`rc:=<val>'{option rc}@{option `rc'}
314
\>`rc:=[<val>]'{option rc}@{option `rc'}
315
\>`rc:=[<val>, <attempts>]'{option rc}@{option `rc'}&
316
Enforce `r'andom `c'oincidences; <val> and <attempts> must be positive
317
integers.
318
319
This option attempts upto <attempts> (or, in the first and second
320
forms, 8) times to find nontrivial subgroups with index a multiple of
321
<val> by repeatedly making random coset numbers coincident with coset
322
1 and seeing what happens. The starting coset table must be non-empty,
323
but should not be complete. For each attempt, we repeatedly add random
324
coset representatives to the subgroup and `redo' the enumeration. If
325
the table becomes too small, the attempt is aborted, the original
326
subgroup generators restored, and another attempt made. If an attempt
327
succeeds, then the new set of subgroup generators is retained.
328
329
*Guru Notes:*
330
A coset number can have many different coset representatives. Consider
331
running `standard' before `rc', to canonicise the table and hence the
332
coset representatives.
333
334
*INTERACTIVELY*, use `ACERandomCoincidences'
335
(see~"ACERandomCoincidences").
336
337
\enditems
338
339
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340
\Section{Mode Options}
341
342
\beginitems
343
344
\>`mode'{option mode}@{option `mode'}&
345
Prints the possible enumeration `mode's.
346
(Shortest abbreviation: `mo'.)
347
348
Prints the possible enumeration `mode's (i.e.~which of `continu',
349
`redo' or `start' are possible (see~"option continu", "option redo"
350
and "option start").
351
352
*INTERACTIVELY*, use `ACEModes' (see~"ACEModes").
353
354
\>`begin'{option begin}@{option `begin'}
355
\>`start'{option start}@{option `start'}&
356
Start an enumeration. (Shortest abbreviation of `begin' is `beg'.)
357
358
Any existing information in the table is cleared, and the enumeration
359
starts from coset 1 (i.e., the subgroup).
360
361
Normally when a non-interactive {\ACE} interface function is called,
362
the option `start' (see~"option start"), is quietly inserted after all
363
the options provided by the user, to initiate a coset enumeration;
364
however, this is not done, if the user herself supplies either the
365
`begin' or `start' option.
366
367
*INTERACTIVELY*, use `ACEStart' (see~"ACEStart").
368
369
\>`check'{option check}@{option `check'}
370
\>`redo'{option redo}@{option `redo'}&
371
`Redo' an extant enumeration, using the current parameters.
372
373
As opposed to `start' (see~"option start"), which clears an existing
374
coset table, any existing information in the table is retained, and
375
the enumeration is restarted from coset 1 (i.e., the subgroup).
376
377
*Notes:*
378
This option is really intended for the case where additional relators
379
(option `rl'; see~"option rl") and/or subgroup generators (option
380
`sg'; see~"option sg") have been introduced. The current table, which
381
may be incomplete or exhibit a finite index, is still *valid*.
382
However, the additional data may allow the enumeration to complete, or
383
cause a collapse to a smaller index.
384
385
*INTERACTIVELY*, use `ACERedo' (see~"ACERedo").
386
387
\atindex{option continue!deprecated: use continu}%
388
{@option \noexpand`continue'!deprecated: use \noexpand`continu'}
389
\>`continu'{option continu}@{option `continu'}&
390
`Continu'es the current enumeration, building upon the existing table.
391
(Shortest abbreviation: `cont'.)
392
393
If a previous run stopped without producing a finite index you can, in
394
principle, change any of the parameters and `continu'e on. Of course,
395
if you make any changes which invalidate the current table, you won't
396
be allowed to `continue', although you may be allowed to `redo'
397
(see~"option redo"). If `redo' is not allowed, you must re-`start'
398
(see~"option start").
399
400
*Note:* The {\ACE} standalone allows the option `continue', but this
401
is (as of {\GAP} 4.3) a {\GAP} keyword, and so {\GAP} users must use
402
(mixed-case abbreviations of) `continu'.
403
404
*INTERACTIVELY*, use `ACEContinue' (see~"ACEContinue").
405
406
\enditems
407
408
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409
\Section{Options that Interact with the Operating System}
410
411
\beginitems
412
413
\>`ai'{option ai}@{option `ai'}
414
\>`ai:=<filename>'{option ai}@{option `ai'}&
415
`A'lter `i'nput to standard input or <filename>; <filename> must be a
416
string.
417
418
By default, commands to {\ACE} are read from standard input (i.e., the
419
keyboard). With no value `ai' causes {\ACE} to revert to reading from
420
standard input; otherwise, the `ai' command closes the current input
421
file, and opens `<filename>' as the source of commands. If
422
`<filename>' can't be opened, input reverts to standard input.
423
424
*Notes:*
425
If you switch to taking input from (another) file, remember to switch
426
back before the end of that file; otherwise the `EOF' there will cause
427
{\ACE} to terminate.
428
429
\>`bye'{option bye}@{option `bye'}
430
\>`exit'{option exit}@{option `exit'}
431
\>`qui'{option qui}@{option `qui'}&
432
Quit {\ACE}. (Shortest abbreviation of `qui' is `q'.)
433
434
This quits {\ACE} nicely, printing the date and the time. An `EOF'
435
(end-of-file; i.e., `\^{}d') has the same effect, so proper
436
termination occurs if {\ACE} is taking its input from a script file.
437
438
Note that `qui' actually abbreviates the corresponding {\ACE}
439
directive `quit', but since `quit' is a {\GAP} keyword it is not
440
available via the {\GAP} interface to {\ACE}.
441
442
*INTERACTIVELY*, use `ACEQuit' (see~"ACEQuit").
443
444
\>`system:=<string>'{option system}@{option `system'}&
445
Does a shell escape, to execute <string>; <string> must be a string.
446
(Shortest abbreviation: `sys'.)
447
448
Since {\GAP} already provides `Exec()' for this purpose, this option
449
is unlikely to have a use.
450
451
\enditems
452
453
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454
\Section{Query Options}
455
456
\beginitems
457
458
\>`cycles'{option cycles}@{option `cycles'}&
459
Prints out the table in `cycles'. (Shortest abbreviation: `cy'.)
460
461
This option prints out the permutation representation.
462
463
*INTERACTIVELY*, use `ACECycles' (see~"ACECycles").
464
465
\>`dump'{option dump}@{option `dump'}
466
\>`dump:=<level>'{option dump}@{option `dump'}
467
\>`dump:=[<level>]'{option dump}@{option `dump'}
468
\>`dump:=[<level>, <detail>]'{option dump}@{option `dump'}&
469
`Dump' the internal variables of {\ACE}; <level> must be an integer in
470
the range 0 to 2, and <detail> must be 0 or 1.
471
(Shortest abbreviation: `d'.)
472
473
The value of <level> determines which of the three levels of {\ACE} to
474
dump. (You will need to read the standalone manual `acce3001.dvi' in
475
the `standalone-doc' directory to understand what Levels 0, 1 and 2
476
are all about.) The value of <detail> determines the amount of detail
477
(`<detail> = 0' means less detail). The first form (with no arguments)
478
selects `<level> = 0, <detail> = 0'. The second form of this command
479
makes `<detail> = 0'. This option is intended for gurus; the source
480
code should be consulted to see what the output means.
481
482
*INTERACTIVELY*, use `ACEDumpVariables' (see~"ACEDumpVariables").
483
484
\>`help'{option help}@{option `help'}&
485
Prints the {\ACE} help screen. (Shortest abbreviation: `h'.)
486
487
This option prints the list of options of the {\ACE} binary. Note that
488
this list is longer than a standard screenful.
489
490
\>`nc'{option nc}@{option `nc'}
491
\>`nc:=<val>'{option nc}@{option `nc'}
492
\>`normal'{option normal}@{option `normal'}
493
\>`normal:=<val>'{option normal}@{option `normal'}&
494
Check or attempt to enforce normal closure; <val> must be 0 or 1.
495
496
This option tests the subgroup for normal closure within the group. If
497
a conjugate of a subgroup generator by a generator, is determined to
498
belong to a coset other than coset 1, it is printed out, and if `<val>
499
= 1', then any such conjugate is also added to the subgroup
500
generators. With no argument or if `<val> = 0', {\ACE} does not add
501
any new subgroup generators.
502
503
*Notes:*
504
The method of determination of whether a conjugate of a subgroup
505
generator is in the subgroup, is by testing whether it can be traced
506
from coset 1 to coset 1 (see `trace':~"option trace").
507
508
The resultant subgroup need not be normally closed after executing
509
option `nc' with the value 1. It is still possible that some
510
conjugates of the newly added subgroup generators will not be elements
511
of the subgroup.
512
513
*INTERACTIVELY*, use `ACEConjugatesForSubgroupNormalClosure'
514
(see~"ACEConjugatesForSubgroupNormalClosure").
515
516
\>`options'{option options}@{option `options'}&
517
Dumps version information of the {\ACE} binary.
518
(Shortest abbreviation: `opt'.)
519
520
A rather unfortunate name for an option; this command dumps details of
521
the ``options'' included in the version of {\ACE} when the {\ACE}
522
binary was compiled.
523
524
A typical output, is as follows:
525
526
\begintt
527
Executable built:
528
Sat Feb 27 15:57:59 EST 1999
529
Level 0 options:
530
statistics package = on
531
coinc processing messages = on
532
dedn processing messages = on
533
Level 1 options:
534
workspace multipliers = decimal
535
Level 2 options:
536
host info = on
537
\endtt
538
539
*INTERACTIVELY* and non-interactively, use the command
540
`ACEBinaryVersion();' (see~"ACEBinaryVersion") for this information,
541
instead, unless you want it in an {\ACE} standalone input file.
542
543
\>`oo:=<val>'{option oo}@{option `oo'}
544
\>`order:=<val>'{option order}@{option `order'}&
545
Print a coset representative of a coset number with order a multiple
546
of <val> modulo the subgroup; <val> must be an integer.
547
548
This option finds a coset with order a multiple of `|<val>|' modulo
549
the subgroup, and prints out its coset representative. If `<val> \<
550
0', then all coset numbers meeting the requirement are printed. If
551
`<val> > 0', then just the first coset number meeting the requirement
552
is printed. Also, `<val> = 0' is permitted; this special value effects
553
the printing of the orders (modulo the subgroup) of all coset numbers.
554
555
*INTERACTIVELY*, use `ACEOrders' (see~"ACEOrders"), for the case
556
`<val> = 0', or `ACEOrder' (see~"ACEOrder"), otherwise.
557
558
\>`sr'{option sr}@{option `sr'}
559
\>`sr:=<val>'{option sr}@{option `sr'}&
560
Print out parameters of the current presentation; <val> must be an
561
integer in the range 0 to 5.
562
563
No argument, or `<val> = 0', prints out the `Group Name', the group's
564
`relators', `Subgroup Name' and the subgroup's `generators'. If `<val>
565
= 1', then the `Group Generators' and the current setting of the ``run
566
parameters'' is also printed. The printout is the same as that
567
produced at the start of a run when option `messages' (see~"option
568
messages") is non-zero. Also, <val> equal to 2, 3, 4, or 5 print out
569
just the `Group Name', just the group's `relators', just the `Subgroup
570
Name', or just the subgroup's `generators', respectively.
571
572
*Notes:*
573
The `sr' option should only be used *after* an enumeration run;
574
otherwise, the value 0 for some options will be unreliable. To ensure
575
this occurs non-interactively, ensure one of the options that invokes
576
an enumeration: `start' (see~"option start") or `aep' (see~"option
577
aep") or `rep' (see~"option rep"), precedes the `sr' option. (When an
578
enumeration-invoking option is included non-interactively the quiet
579
inclusion step of the `start' option is omitted.)
580
581
*INTERACTIVELY*, use `ACEGroupGenerators' (see~"ACEGroupGenerators"),
582
`ACERelators' (see~"ACERelators"), `ACESubgroupGenerators' (see
583
"ACESubgroupGenerators"), and `ACEParameters' (see~"ACEParameters").
584
585
\>`print'{option print}@{option `print'}
586
\>`print:=<val>'{option print}@{option `print'}
587
\>`print:=[<val>]'{option print}@{option `print'}
588
\>`print:=[<val>, <last>]'{option print}@{option `print'}
589
\>`print:=[<val>, <last>, <by>]'{option print}@{option `print'}&
590
Compact and print the coset table; <val> must be an integer, and
591
<last> and <by> must be positive integers.
592
(Shortest abbreviation: `pr'.)
593
594
In the first (no value) form, `print' prints the entire coset table,
595
without orders or coset representatives. In the second and third
596
forms, the absolute value of <val> is taken to be the last line of the
597
table to be printed (and 1 is taken to be the first); in the fourth
598
and fifth forms, `|<val>|' is taken to be the first line of the table
599
to be printed, and <last> is taken to be the number of the last line
600
to be printed. In the last form, the table is printed from line
601
`|<val>|' to line <last> in steps of <by>. If <val> is negative, then
602
the orders modulo the subgroup (if available) and coset
603
representatives are printed also.
604
605
*INTERACTIVELY*, use `ACEDisplayCosetTable'
606
(see~"ACEDisplayCosetTable").
607
608
\>`sc:=<val>'{option sc}@{option `sc'}
609
\>`stabilising:=<val>'{option stabilising}@{option `stabilising'}&
610
Print out the coset numbers whose elements normalise the subgroup;
611
<val> must be an integer.
612
(Shortest abbreviation of `stabilising' is `stabil'.)
613
614
If `<val> > 0', the first `<val>' non-trivial (i.e.~other than coset
615
1) coset numbers whose elements normalise the subgroup are printed. If
616
`<val> = 0', all non-trivial coset numbers whose elements normalise
617
the subgroup, plus their representatives, are printed. If `<val> \<
618
0', the first `|<val>|' non-trivial coset numbers whose elements
619
normalise the subgroup, plus their representatives, are printed.
620
621
*Note:*
622
The name of this option is an historical hangover. It is named for the
623
property that elements that ``normalise'' a subgroup, may be said to
624
``stabilise'' that subgroup when they act ``by conjugation''. Also,
625
the option `normal' (see~"option normal") already performs a different
626
function.
627
628
*INTERACTIVELY*, use `ACECosetsThatNormaliseSubgroup'
629
(see~"ACECosetsThatNormaliseSubgroup").
630
631
\>`statistics'{option statistics}@{option `statistics'}
632
\>`stats'{option stats}@{option `stats'}&
633
Dump enumeration statistics.
634
(Shortest abbreviation of `statistics' is `stat'.)
635
636
If the statistics package is compiled into the {\ACE} code, which it
637
is by default (see the `options'~"option options" option), then this
638
option dumps the statistics accumulated during the most recent
639
enumeration. See the `enum.c' source file for the meaning of the
640
variables.
641
642
*INTERACTIVELY*, use `ACEDumpStatistics' (see~"ACEDumpStatistics").
643
644
\>`style'{option style}@{option `style'}&
645
Prints the current enumeration style.
646
647
This option prints the current enumeration style, as deduced from the
648
current `ct' and `rt' parameters (see~"Enumeration Style").
649
650
*INTERACTIVELY*, use `ACEStyle' (see~"ACEStyle").
651
652
\>`tw:=[<val>, <word>]'{option tw}@{option `tw'}
653
\>`trace:=[<val>, <word>]'{option trace}@{option `trace'}&
654
Trace `<word>' through the coset table, starting at coset `<val>';
655
<val> must be a positive integer, and <word> must be a word in the
656
group generators.
657
658
This option prints the final coset number of the trace, if the trace
659
completes.
660
661
*INTERACTIVELY*, use `ACETraceWord' (see~"ACETraceWord").
662
663
\enditems
664
665
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
666
\Section{Options that Modify the Coset Table}
667
668
\beginitems
669
670
\index{dead coset (number)}
671
\>`recover'{option recover}@{option `recover'}
672
\>`contiguous'{option contiguous}@{option `contiguous'}&
673
`Recover' space used by dead coset numbers.
674
(Shortest abbreviation of `recover' is `reco', and shortest
675
abbreviation of `contiguous' is `contig'.)
676
677
This option invokes the compaction routine on the table to recover the
678
space used by any dead coset numbers. A `CO' message line is printed
679
if any cosets were recovered, and a `co' line if none were. This
680
routine is called automatically if the `cycles', `nc', `print' or
681
`standard' options (see~"option cycles", "option nc", "option print"
682
and "option standard") are invoked.
683
684
*INTERACTIVELY*, use `ACERecover' (see~"ACERecover").
685
686
\>`standard'{option standard}@{option `standard'}&
687
Compacts {\ACE}'s coset table and standardises the numbering of
688
cosets, according to the `lenlex' scheme (see Section~"Coset Table
689
Standardisation Schemes"). (Shortest abbreviation: `st'.)
690
691
For a given ordering of the generators in the columns of the table, it
692
produces a canonical numbering of the cosets. This function does not
693
display the new table; use the `print' (see~"option print") for that.
694
Such a table has the property that a scan of the successive rows of
695
the *body* of the table row by row, from left to right, encounters
696
previously unseen cosets in numeric order.
697
698
*Notes:*
699
In a `lenlex' standard table, the coset representatives are ordered
700
first according to length and then the lexicographic order defined by
701
the order the generators and their inverses head the columns. Note
702
that, since {\ACE} avoids having an involutory generator in the first
703
column when it can, this lexicographic order does not necessarily
704
correspond with the order in which the generators were first put to
705
{\ACE}. Two tables are equivalent only if their canonic forms are the
706
same. Invoking this option directly does *not* affect the {\GAP} coset
707
table obtained via `ACECosetTable'; use the `lenlex' (see~"option
708
lenlex") option, if you want your table `lenlex' standardised. (The
709
`lenlex' option restarts the enumeration, if it is necessary to ensure
710
the generators have not been rearranged.)
711
712
*Guru Notes:*
713
In five of the ten standard enumeration strategies of Sims
714
\cite{Sim94} (i.e.~the five Sims strategies not provided by {\ACE}),
715
the table is standardised repeatedly. This is expensive
716
computationally, but can result in fewer cosets being necessary. The
717
effect of doing this can be investigated in {\ACE} by (repeatedly)
718
halting the enumeration (via restrictive options), standardising the
719
coset numbering, and continuing (see Section~"Emulating Sims" for an
720
interactive example).
721
722
*INTERACTIVELY*, use `ACEStandardCosetNumbering'
723
(see~"ACEStandardCosetNumbering").
724
725
\enditems
726
727
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
728
\Section{Options for Comments}
729
730
\beginitems
731
732
\>`text:=<string>'{option text}@{option `text'}&
733
Prints <string> in the output; <string> must be a string.
734
735
This allows the user to add comments to the output from {\ACE}.
736
737
*Note:*
738
Please avoid using this option to insert comments starting with three
739
asterisks: `***', since this string is used as a sentinel internally
740
in flushing output from {\ACE}.
741
742
\>`aceincomment:=<string>'{option aceincomment!different to option text}%
743
@{option `aceincomment'!different to option `text'}&
744
Prints comment <string> in the {\ACE} input; <string> must be a string.
745
(Shortest abbreviation: `aceinc'.)
746
747
This option prints the comment <string> behind a sharp sign (`\#') in
748
the input to {\ACE}. Only useful for adding comments (that {\ACE}
749
ignores) to standalone input files.
750
751
\enditems
752
753
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754
%%
755
%E
756
757