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 messages.tex ACE appendix - messages 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{The Meanings of ACE's output messages}
16
17
In this chapter, we discuss the meanings of the messages that appear
18
in output from the {\ACE} binary, the verbosity of which is determined
19
by the `messages' option (see~"option messages"). Actually our aim
20
here is to concentrate on describing those ``messages'' that are
21
controlled by the `messages' option, namely the *progress* and
22
*results messages*; other output from {\ACE} is fairly
23
self-explanatory. (We describe some other output to give points of
24
reference.)
25
26
Both interactively and non-interactively, {\ACE} output is `Info'-ed
27
at `InfoACE' level 3. To see the `Info'-ed {\ACE} output, set the
28
`InfoLevel' of `InfoACE' to at least 3, e.g.
29
30
\beginexample
31
gap> SetInfoACELevel(3);
32
\endexample
33
34
This causes each line of {\ACE} output to be prepended with
35
```\#I '''. Below, we describe the `Info'-ed output observed when
36
each of `ACECosetTableFromGensAndRels', `ACECosetTable', `ACEStats' or
37
`ACEStart' is called with three arguments, and presume that users will
38
be able to extend the description to explain output observed from
39
other {\ACE} interface functions. The first-observed (`Info'-ed)
40
output from {\ACE}, is {\ACE}'s banner, e.g.
41
42
\begintt
43
#I ACE 3.001 Sat Feb 27 11:44:12 2016
44
#I =========================================
45
#I Host information:
46
#I name = banksia
47
#I ***
48
\endtt
49
50
If there were any errors in the directives put to {\ACE}, or output
51
from the options described in Appendix~"Other ACE Options", they will
52
appear next. Then, the next observed output is a row of three
53
asterisks:
54
55
\begintt
56
#I ***
57
\endtt
58
59
*Guru note:*
60
The three asterisks are generated by a ```text:***''' (see~"option
61
text") directive, emitted to {\ACE}, so that {\ACE}'s response can be
62
used as a sentinel to flush out any user errors, or any output from a
63
user's use of Appendix~"Other ACE Options" options.
64
65
Next, if the `messages' option (see~"option messages") is set to a
66
non-zero value, what is observed is a heading like:
67
68
\begintt
69
#I #--- ACE 3.001: Run Parameters ---
70
\endtt
71
72
(where `3.001' may be replaced be some later version number of the
73
{\ACE} binary) followed by the ``input parameters'' developed from the
74
arguments and options passed to `ACECosetTableFromGensAndRels',
75
`ACEStats' or `ACEStart'. After these appears a separator:
76
77
\begintt
78
#I #---------------------------------
79
\endtt
80
81
followed by any *progress messages* (progress messages only occur if
82
`messages' is non-zero; recall that by default `messages' = 0),
83
followed by a *results message*.
84
85
In the case of `ACECosetTableFromGensAndRels', the *results message*
86
is followed by a compaction (`CO' or `co') progress message and a
87
coset table.
88
89
{\ACE}'s exit banner which should look something like:
90
91
\begintt
92
=========================================
93
ACE 3.001 Sat Feb 27 11:44:17 2016
94
\endtt
95
96
is only seen when running {\ACE} as a standalone.
97
98
Both *progress messages* and the *results message* consist of an
99
initial tag followed by a list of statistics. All messages have values
100
for the statistics `a', `r', `h', `n', `h', `l' and `c' (excepting
101
that the second `h', the one following the `n' statistic, is only
102
given if hole monitoring has been turned on by setting `messages' $\<
103
0$, which as noted above is expensive and should be avoided unless
104
really needed). Additionally, there may appear the statistics: `m' and
105
`t' (as for the results message); `d'; or `s', `d' and `c' (as for the
106
`DS' progress message). The meanings of the various statistics and
107
tags will follow later. The following is a sample progress message:
108
109
\begintt
110
#I AD: a=2 r=1 h=1 n=3; h=66.67% l=1 c=+0.00; m=2 t=2
111
\endtt
112
113
with tag `AD' and values for the statistics `a', `r', `h', `n', `h'
114
(appears because `messages' $\< 0$), `l', `c', `m' and `t'. The
115
following is a sample results message:
116
117
\begintt
118
#I INDEX = 12 (a=12 r=16 h=1 n=16; l=3 c=0.01; m=14 t=15)
119
\endtt
120
121
which, in this case, declares a successful enumeration of the coset
122
numbers of a subgroup of index 12 within a group, and, as it turns
123
out, values for the same statistics as the sample progress message.
124
125
You should see all the above (and a little more), except that your
126
dates and host information will no doubt differ, by running:
127
128
\beginexample
129
gap> ACEExample("A5-C5" : echo:=0, messages:=-1);
130
\endexample
131
132
In the following table we list the statistics that can follow a
133
progress or results message tag, in order:
134
135
\begintt
136
--------------------------------------------------------------------
137
statistic meaning
138
--------------------------------------------------------------------
139
a number of active coset numbers
140
r number of applied coset numbers
141
h first (potentially) incomplete row
142
n next coset number definition
143
h percentage of holes in the table (if `messages'$ \< 0$)
144
l number of main loop passes
145
c total CPU time
146
m maximum number of active coset numbers
147
t total number of coset numbers defined
148
s new deduction stack size (with DS tag)
149
d current deduction stack size, or
150
no. of non-redundant deductions retained (with DS tag)
151
c no. of redundant deductions discarded (with DS tag)
152
--------------------------------------------------------------------
153
\endtt
154
155
Now that we have discussed the various meanings of the statistics,
156
it's time to discuss the various types of progress and results
157
messages possible. First we describe progress messages.
158
159
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
\Section{Progress Messages}
161
162
A progress message (and its tag) indicates the function just completed
163
by the enumerator. In the following table, the possible message `tag's
164
appear in the first column. In the `action' column, a `y' indicates
165
the function is aggregated and counted. Every time this count reaches
166
the value of `messages', a message line is printed and the count is
167
zeroed. Those tags flagged with a `y*' are only present if the
168
appropriate option was included when the {\ACE} binary was compiled (a
169
default compilation includes the appropriate options; so normally read
170
`y*' as `y'). Tags with an `n' in the `action' column indicate the
171
function is not counted, and cause a message line to be output every
172
time they occur. They also cause the action count to be reset.
173
174
\begintt
175
------------------------------------------------------------------
176
tag action meaning
177
------------------------------------------------------------------
178
AD y coset 1 application definition (`SG'/`RS' phase)
179
RD y R-style definition
180
RF y row-filling definition
181
CG y immediate gap-filling definition
182
CC y* coincidence processed
183
DD y* deduction processed
184
CP y preferred list gap-filling definition
185
CD y C-style definition
186
Lx n lookahead performed (type `x')
187
CO n table compacted
188
co n compaction routine called, but nothing recovered
189
CL n complete lookahead (table as deduction stack)
190
UH n updated completed-row counter
191
RA n remaining coset numbers applied to relators
192
SG n subgroup generator phase
193
RS n relators in subgroup phase
194
DS n stack overflowed (compacted and doubled)
195
------------------------------------------------------------------
196
\endtt
197
198
% \begin{table}
199
% \hrule
200
% \caption{Possible progress messages}
201
% \label{tab:prog}
202
% \smallskip
203
% \renewcommand{\arraystretch}{0.875}
204
% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}
205
% \hline\hline
206
% message & action & meaning \\
207
% \hline
208
% \ttt{AD} & y & coset \#1 application definition
209
% (\ttt{SG}/\ttt{RS} phase) \\
210
% \ttt{RD} & y & R-style definition \\
211
% \ttt{RF} & y & row-filling definition \\
212
% \ttt{CG} & y & immediate gap-filling definition \\
213
% \ttt{CC} & y* & coincidence processed \\
214
% \ttt{DD} & y* & deduction processed \\
215
% \ttt{CP} & y & preferred list gap-filling definition \\
216
% \ttt{CD} & y & C-style definition \\
217
% \ttt{Lx} & n & lookahead performed (type \ttt{x}) \\
218
% \ttt{CO} & n & table compacted \\
219
% \ttt{CL} & n & complete lookahead (table as deduction stack) \\
220
% \ttt{UH} & n & updated completed-row counter \\
221
% \ttt{RA} & n & remaining cosets applied to relators \\
222
% \ttt{SG} & n & subgroup generator phase \\
223
% \ttt{RS} & n & relators in subgroup phase \\
224
% \ttt{DS} & n & stack overflowed (compacted and doubled) \\
225
% \hline\hline
226
% \end{tabular*}
227
% \end{table}
228
229
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230
\Section{Results Messages}
231
232
The possible results are given in the following table; any result not
233
listed represents an internal error and should be reported to the
234
{\ACE} authors.
235
236
% The level column is omitted ... since it won't mean anything to a
237
% GAP user
238
\begintt
239
result tag meaning
240
-------------------------------------------------------------------
241
INDEX = x finite index of `x' obtained
242
OVERFLOW out of table space
243
SG PHASE OVERFLOW out of space (processing subgroup generators)
244
ITERATION LIMIT `loop' limit triggered
245
TIME LIMT `ti' limit triggered
246
HOLE LIMIT `ho' limit triggered
247
INCOMPLETE TABLE all coset numbers applied, but table has holes
248
MEMORY PROBLEM out of memory (building data structures)
249
-------------------------------------------------------------------
250
\endtt
251
252
% \begin{table}
253
% \hrule
254
% \caption{Possible enumeration results}
255
% \label{tab:rslts}
256
% \smallskip
257
% \renewcommand{\arraystretch}{0.875}
258
% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}
259
% \hline\hline
260
% result & level & meaning \\
261
% \hline
262
% \ttt{INDEX = x} & 0 & finite index of \ttt{x} obtained \\
263
% \ttt{OVERFLOW} & 0 & out of table space \\
264
% \ttt{SG PHASE OVERFLOW} & 0 & out of space (processing subgroup
265
% generators) \\
266
% \ttt{ITERATION LIMIT} & 0 & \ttt{loop} limit triggered \\
267
% \ttt{TIME LIMT} & 0 & \ttt{ti} limit triggered \\
268
% \ttt{HOLE LIMIT} & 0 & \ttt{ho} limit triggered \\
269
% \ttt{INCOMPLETE TABLE} & 0 & all cosets applied, but table has holes \\
270
% \ttt{MEMORY PROBLEM} & 1 & out of memory (building data structures) \\
271
% \hline\hline
272
% \end{tabular*}
273
% \end{table}
274
275
*Notes:*
276
Recall that hole monitoring is switched on by setting a negative value
277
for the `messages' (see~"option messages") option, but note that hole
278
monitoring is expensive, so don't turn it on unless you really need
279
it. If you wish to print out the presentation and the options, but not
280
the progress messages, then set `messages' non-zero, but very large.
281
(You'll still get the `SG', `DS', etc. messages, but not the `RD',
282
`DD', etc. ones.) You can set `messages' to $1$, to monitor all
283
enumerator actions, but be warned that this can yield very large
284
output files.
285
286
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287
%%
288
%E
289
290