The Coset Table Window will initially show you a coset table with columns for each of the generators of the presently investigated group g and their inverses, in which only the consequences of giving the subgroup h the coset number 1 are inserted (so that at the beginning it has only one row). We have already described in Chapter The Tables how to work interactively by mouse clicks in this table.
Also in that chapter (see Sections Warnings and The Information Line) we have described the warnings that may appear directly below the Coset Table and the ``Information Line'' that is placed further below the coset table.
However the Coset Table Window also provides via buttons and menus access to much of the functionality offered by ITC.
The Coset Table Window has a row of four buttons at the top: Sheet
,
Settings
, Close
, and File
. We will refer to these as the top
buttons. Clicking one of these will pop up a menu from which you can
select actions in the course of a coset enumeration. You do this by
holding the left mouse button while moving the pointer to the
respective entry in the menu and releasing the mouse button there.
Then the respective action of the program will be executed while the
menu vanishes.
This action may consist in popping up yet another (query) window into which you have to write further (e. g. numerical) instructions or in setting modes for the CE or in immediately performing certain changes in the coset table and other tables.
This way of selecting actions may be felt to be uncomfortable and hence for convenience the most frequently used actions occurring during a coset enumeration can be prompted more directly by clicking one of 18 buttons provided at the bottom of the Coset Table Window. We will refer to these as the bottom buttons.
In the section ``The Top Buttons'' (The Top Buttons) we will describe the menus belonging to the buttons at the top of the coset table.
In a further section ``The Bottom Buttons'' (The Bottom Buttons) we will describe the use of the bottom buttons.
Many of the windows to be described will contain two further buttons
ok
and cancel
. Clicking ok
means that you want the order
executed that is described in the window while cancel
means that you
do not want this execution. In any case, having pressed one of this
buttons, you will afterwards return to where you called this window
from.
Note that buttons are in general clicked with the left mouse button.
There is one exception where clicking a bottom button with the
right mouse button will have an effect namely with showing the
definitions made. This is explained in the description of the effect
of the bottom button show defs
(see show defs).
Button Sheet
Note: This button also appears as a top button in each of the ``display windows''.
Display windows (see Section How does it work?) are opened by
clicking the following bottom buttons of the Coset Table Window:
show rels
(see show rels), show subgrp
(see show subgrp),
show defs
(see show defs), show gaps
(see show gaps), and
show coincs
(see show coincs), as well as in the display window
opened by clicking the menu entry show current settings
in the
menu popped up via the top button Settings
(see show current settings).
The menu popped up by the button Sheet
has only two entries:
save as postscript
This allows you to save the contents of the respective window (e. g.
the Coset Table Window) as a PostScript file. Releasing the left
mouse button on this entry will pop up a further menu which allows you
to enter the name of the file to which you want this to be written.
You are assisted doing this by a list of names of files that exist in
your directories, and from which you can choose. The menu also offers
you three more buttons: ok
, cancel
, and home
. Choosing home
will insert the name of your home directory into the provided field
while ok
starts the action after you have finished the name of the
target file, and cancel
brings you back to the window in which you
clicked the button Sheet
.
close graphic sheet
This closes the display window and brings you back to the window from
which you had opened it.
Button Settings
The menu popped up by this button has ten entries. Two of these allow one to influence the size of the table provided for the coset enumeration. Seven further ones allow one to turn on or off certain modes to be followed during the enumeration. These modes can be turned on or off at the beginning, but can also be changed later on during the enumeration. The last menu entry allows one to open a window in which the presently set parameters and modes are shown.
change default table size
This opens a query window (see Section How does it work?) in which
you can change the default table size from the original value of
1000 to any positive integer you want by typing the desired size
into a field provided for this purpose, but consider that
unnecessarily high values may cause garbage collections. Clicking
ok
means that you accept the value now given in the field and return
to the Coset Table Window, clicking cancel
brings you back there
without having changed the existing default table size. You can
change your decision by going to that window again. Note that
changing the default value while a CE is under the way does not change
the present table size. If you want to or have to change the table
size during a coset enumeration, you can use the next menu entry
extend table size
(see extend table size).
extend table size
The text in the query window (see Section How does it work?) tells
you the present table size and proposes twice that size as the value
to which it should be changed. You can again alter that value. ok
and cancel
have the same meaning as before.
Note that an analogous window for extending the table size will spring
up if in the coset enumeration you have exhausted the preset table
size. If you extend the table size and leave by clicking ok
the CE
will immediately be resumed with the extended table size being
provided. If you do not extend the table size in such a case, ITC
will refuse to accept or make further definitions. If you then extend
the table size using extend table size
as described in extend table size the calculation can be resumed but must be restarted again.
coincidence handling off
coincidence handling on
ITC allows one to follow stepwise the handling of coincidences if such
occur. Since however this can be a fairly slow procedure that one
might not want to follow in detail, this feature can be turned on and
off by these two menu entries. If coincidence handling is switched
off any process will automatically come to a halt as soon as a
coincidence is encountered. At that time a window with the list of
pending coincidences will spring up and can then be used to eliminate
coincidences one by one in any wanted sequence ``by hand'' (see The List of Pending coincidences). Also in the coset table (in addition
to the last definition made) all rows get marked in red that are up
for elimination. Note that while coincidences are pending the same
coset number can occur more than once in a column of an ITC Coset
Table. By default coincidence handling will be switched on if you
start with a new group from the GAP window, however if you make a
new attempt with the same group having finished the last one by the
clear
button (see clear) you will retain the previous choice.
echo on
echo off
When you use a mouse click to perform any of the operations of ITC
this will be documented by a line of the form gap>
PointerButtonDown(x,y,...)
or gap> MenuSelected(u,v,...)
in the GAP window, where e. g. the integers x, y, ... specify
the position in the window in which you have clicked. This,
however, does not help you easily to understand what you have done. It
is not even helpful for re-doing what you have done, because in a
repeat the windows may sit in different places. On the other hand in
a long interactive run you may want to be able to reconstruct your
actions, be it -- horribile dictu -- that you have run into a bug that
you want to report, or - rather better - that by a stroke of luck you
found the result in a particularly nice and short way. For this
purpose you can click the menu entry echo on
. Having done this
the GAP window will after each of these rather ununderstandable
messages print with the prefix >>
readable information on the button
or menu entry, respectively, that you had clicked, in many cases
simply the text written in that button or menu entry. Since you can
write in parallel everything occurring in the GAP window to a file
using the LogTo
command (see LogTo in the GAP reference
manual) you can thus keep a record of your interactive actions. If
you do not want this feature, you can switch it off again.
gaps strategy 1 (first gap)
gaps strategy 2 (first rep of max weight)
gaps strategy 3 (last rep of max weight)
These strategies have been explained in Section Some definition Strategies. You have the option to preset the strategy of
selecting the next gap of length 1 using these menu entries. Then
they can be executed using the bottom button fill gaps
(see fill gaps). In the query window opened by clicking this bottom button
you can prescribe how many ``fill gaps'' steps you want to make
following the preset strategy. By default strategy 1 will be chosen.
show current settings
Selecting this menu entry opens a display window in which the chosen
default table size and the current table size as well as the choices
of modes (coincidence handling on/off
and echo on/off
) and of the
strategy for choosing the next gap of length 1 are shown. As long as
this window remains open it will be updated whenever any of these
values is changed.
Button Close
The menu popped up by this button allows one to choose various strategies for trying to finish the coset enumeration. The present menu entries are
close table by Felsch
use gaps strategy 1 (first gap)
use gaps strategy 2 (first rep of max weight)
use gaps strategy 3 (last rep of max weight)
close table by HLT
All these have been described in principle in Section Some Definition Strategies. Note however that the ``closing gaps of length 1''
strategies automatically use Felsch steps if and as long as no gap of
length 1 exists at a certain stage. If you want to see exactly how
this happens you have to use the fill gaps
command (see fill gaps)
with some high number of wanted steps and to help it with Felsch steps
thrown in interactively if it gets stuck because of lack of gaps of
length 1. We will demonstrate this in the first of the examples.
Note that all but the first strategy do not guarantee the Mendelsohn
Condition.
Button File
The menu popped up by this button has three entries which concern reading from and writing to files important information that may have been obtained by a longer interactive coset enumeration:
read definitions from file
indexdefinition!read from file
Section How does it work?) in which you can write the name of the
file. You are assisted in doing that by a list of names of files that
exist in your directories, from which you can choose. Note that this
choice is disabled (and the menu text read definitions from file
coloured grey instead of black) as soon as you have started a coset
enumeration so that reading in another definiton sequence does not
make sense any longer.
write definitions to file
indexdefinition!write to file
order to possibly reuse it, you can write this definition sequence to
a file. Releasing the mouse button at this entry opens a query window
(see Section How does it work?) in which you can write the name of
the file. Again you are assisted by being offered some filenames from
which you can choose. Note that a definition sequence can be written
to a file at any time during a CE, so that you can use it to proceed
in different ways from a certain state that you have reached. However
note that this menu entry is disabled (and the menu text write
definition to file
coloured grey instead of black) as long as no
definition sequence exists yet.
write standardized table to file
As mentioned e. g. also in Section the Information Line there is no
renumbering of coset numbers in case some of them are eliminated by
the handling of coincidences. That means that at the end of a coset
enumeration that did involve handling of coincidences the coset
numbers will form a sequence of natural numbers that starts with 1
but has ``holes''. This is inconvenient, in particular if one wants to
consider the columns of the coset table as the permutations of the
cosets under right multiplication by the respective generator (or
inverse generator). Therefore after a CE has finished it is possible
to write a standardized coset table (in which in particular the coset
numbers now run from 1 to the index of h in g) to a file, which
then can be processed in any wanted way by GAP. Releasing the mouse
button at this entry will open a query window (see Section How does it work?) in which you can write the name of this file. Again you are
assisted by being offered file names from which you may choose. Note
that this menu entry is disabled and the text write standardized
table to file
coloured grey instead of black as long as the tables
have not closed. That is, only closed coset tables can be
standardized by ITC.
A coset table that has been written this way to a file with name
filename can be read into GAP and assigned to a variable costab
via
costab:= ReadAsFunction(
filename )();
The different kind of functionality of these 18 buttons is to some extent indicated by their colours.
The first two (blue) buttons just allow one to scroll to the lines of the coset table that one wants to work with, if it contains more than 30 ``alive'' rows.
scroll to
Upon clicking this button a query window (see Section How does it work?) will be opened in which you can specify by its number the
row in the Coset Table that you want to see. The Coset Table will be
scrolled up or down in such a way that the wanted row appears in the
middle of the displayed part of the Coset Table. As a default, the
number of the last still alive row of the Coset Table will be offered
to you. If the specified coset number is no longer ``alive'' the
maximal alive coset number below the specified one is taken instead.
Any displayed Relation Tables or the Table of Definitions will be
scrolled in parallel to the Coset Table.
scroll by
Upon clicking this button a query window (see Section How does it work?) will be opened in which you can enter into a field provided
for the purpose the number of rows by which you want to scroll up or
down in the coset table. Positive integers mean scrolling up, that is
to higher coset numbers, negative integers mean scrolling down, that
is to lower coset numbers. Originally the value 20 (that you may
change) is offered in this field. If you click this button a second
time, the number that you had accepted last time will be offered
again, thus allowing you to glance through the Coset Table at certain
intervals without having to type in a new number each time, Note that
here actual rows shown in the tables are counted. That is, if some
rows have been suppressed by coincidence handling they are not
counted, so that you may end up with rows of higher numbers than you
expected. Any displayed Relation Tables or the Table of Definitions
will be scrolled in parallel to the Coset Table.
The next seven (green) buttons all give access to certain strategies to be followed through several steps in a coset enumeration. See Section Some Definition Strategies for details.
Felsch
The ``Felsch'' strategy for performing a coset enumeration makes a
sequence of definitions by row-wise filling empty places in the coset
table and by searching for all consequences after each definition
which are then immediately worked in as well as all coincidences that
may be found. Upon clicking this button a query window (see Section
How does it work?) will be opened, in which you can choose how many
definitions you want to have made following this strategy. As default
(that you can change) the number 1 is offered; choosing this is
hence tantamount to making a definition in the first empty place in
the coset table in a row-wise scan.
HLT
The ``HLT'' strategy proceeds by filling rows of Subgroup and Relation
Tables (see Section Some Definition Strategies and note in
particular that as explained there the HLT strategy of ITC deviates
in some respect from what is usually meant by the term). Upon
clicking this button a query window (see Section How does it work?)
is opened in which you can specify how many definitions you want to
make using this strategy. If you want to close the tables using a
HLT strategy, you can use the menu entry close table by HLT
(close table by HLT) in the menu opened by the top button Close
.
fill rows
This button allows you to fill at once in all Relation and Subgroup
Tables all rows that belong to one or more prescribed coset numbers.
Upon clicking this button a query window (see Section How does it work?) will be opened in which you can specify the wanted coset
numbers, separated by commas. As a default the smallest number i is
offered for which not all ith rows of Relation and Subgroup Tables
are filled yet. Note that you can only fill rows that do exist, that
is rows of a coset number that has already been defined and has not
been eliminated by coincidence handling. If you violate this
condition, your order will be ignored. If you want to fill a row only
in a particular Subgroup or Relation Table or in the Coset Table you
can do this by clicking at the beginning of the respective row
(see The Coset Table and The Relation Tables). Specifying the
(non-existing) coset number 0 allows you to fill just the (first and
only) rows of the Subgroup Tables without filling rows in any of the
Relation Tables.
fill gaps
Closing rows in relation or subgroup tables in which only one place is
open, is the easiest way to get immediate consequences. Such empty
places are called gaps of length 1. Often several choices of such
``gaps of length 1'' to be closed are possible and ITC offers
various strategies to make this choice (see Section Some Definition Strategies). (Remember -- compare Section Some Definition Strategies -- : by inspecting the Relation Tables that you can
display by ITC you may not see all these gaps of length 1, since
ITC does not display all the relation tables that can be obtained
by cyclic permutation of the relators in the given presentation.)
These strategies can be set via the top button Settings
(see gaps strategy 1); by default strategy 1 will have been set. Clicking
the button fill gaps
will open a query window (see Section How does it work?), in which you can specify how many times you want to close
a gap of length 1 that is chosen by the selected strategy. By
clicking the button show gaps
(see show gaps) you can learn which
gaps of length 1 are open at a given time. However note that by
closing a particular gap of length 1 often new gaps of length 1
will be created, so that by entering a number, say ng, bigger than
the number of presently existing gaps of length 1 into this window
you will start off what might be called a ``pure minimal gap strategy''.
This is often a very good strategy, however by the theory about the
Todd-Coxeter method it is not guaranteed that such a ``pure minimal gap
strategy'' must terminate, even if the index of h in g is finite
since the so called Mendelsohn Condition might be violated (see
Neu82). If you click this button while no gaps of length 1
exist, a warning There are no gaps of length 1
will appear in red
below the coset table. If the process runs out of gaps of length 1
before ng of such gaps have been closed, the process will stop and a
warning There are no more gaps of length 1
will appear in red below
the Coset Table. Note that the strategies for closing the tables by
filling gaps of length 1 that are offered in the menu of the top
button Close
are not ``pure minimal gap strategies'', they throw in
Felsch type definitions if no gaps of length 1 exist (see use gaps strategy 1).
back to
In experimenting with various definition sequences you may want to
retrace to a certain point in your procedure. This is offered by this
button. Upon clicking it a query window (see Section How does it work?) is opened that allows you to retrace to the situation after
defining the coset number that you enter into a given field. The
default offered is to retrace by just one step by offering the
last-but-one defined coset number. If you enter a negative integer,
the CE process is retraced by a number of definitions that is the
absolute value of the negative integer that you had entered.
sort defs
indexdefinition!sorting
Definitions'' method (see Section Sorting Definitions) to the Coset
Table. Note that this button is disabled if the tables have not
closed. You may sometimes observe during the running of this method
that the number Defined
in the Information Line is decreasing. When
the method has come to an end this will be indicated in the
Information Line by the (red) text Tables sorted
.
short-cut
As already pointed out in Section The Short-cut Method, the number of
coincidences encountered before all tables close may strongly depend
on the definition sequence (the strategy followed). Once closure has
been reached, the definition sequence that has led to the result is
kept, and in case coincidences have occurred one may try to use it for
finding a shorter definition sequence that also leads to the result.
An algorithm that tries to do this has been developed by Volkmar
Felsch. This ``Short-cut'' method is described in Section The Short-cut Method, here we just mention that it goes through various
cycles that each may reduce the number of still needed definitions.
By clicking the button short-cut
a query window (see Section How does it work?) is opened in which you can specify the number of
cycles of the Short-cut method to be performed or can decide to let it
run until it terminates having exhausted all its (finitely many)
possibilities. This stepwise reduction can be observed in the
Information Line (see The Information Line) where the number of
defined cosets keeps changing, and the number of cycles of the method
performed so far is displayed, until the algorithm stops. While the
reduction achieved is often quite remarkable it should be understood
that no guarantee is given that the absolute minimum of needed
definitions will be found. In fact by experimenting with this feature
you can see that the final number of definitions after this ``pruning''
can depend on the sequence of definitions from which you start. Note
that you can inspect the definition sequence before and after this
pruning using the bottom button show defs
(show defs). Note that
the Short-cut method can only be applied after tables have closed,
if you try to invoke it before this has been achieved, a warning The
tables have not closed
flashes up in red below the Coset Table and
nothing happens.
Of the six white buttons five allow you to open further ``display'' windows (see Section How does it work?), in which additional information about the state of the coset enumeration is shown. Note that clicking the same button a second time will close the corresponding display window.
show rels
Clicking this button opens a window that shows the ``List of Relators''
(see The List of relators for operating this). Note that thus it
indirectly gives access to the Relation Tables (see Section The Relation Tables).
show subgrp
Clicking this button opens a window that shows the List of Subgroup
Generators (see The List of Subgroup Generators for operating this).
Note that it thus indirectly gives access to the Subgroup Tables
(see The Subgroup Tables). If no subgroup generators are given, that
is if you try to enumerate the cosets of the trivial subgroup, no window
is opened but the warning There are no subgroup generators
flashes
up in red below the Coset Table.
show defs
indexdefinition!show
shows the Table of Definitions (see The Table of Definitions).
Clicking with the right mouse button will instead colour in the
Coset Table all those entries green in which the respective coset
number was defined in the present definition sequence. We hope that
seeing the distribution of the definitions in the coset table may be
of interest in particular if such a definition sequence has been
obtained by use of the Short-cut method (see short-cut and The Short-cut Method).
show gaps
Clicking this button opens a window showing a list of
``representatives'' of the equivalence classes of presently known gaps
of length 1. See Section Some Definition Strategies and
Section The List of Length 1 Gaps for a description of the structure
and meaning of that list as well as for the operations that can be
started by clicking in that list. If no gaps of length 1 exist, no
window will be opened, but a warning There are no gaps of length 1
will flash up in red below the Coset table.
show coincs
If no coincidences are pending upon clicking this button the warning
There are no pending coincidences
will flash up in red below the
Coset Table. Otherwise clicking this bottom button opens a window
which displays the text Pending coincidences
and a list of these.
See The List of Pending Coincidences
(Section The List of Pending Coincidences) for a description of the structure and meaning of that
list and the operations that can be started by clicking in that list.
The white button
mark cosets
allows one to mark certain cosets (in green colour) in all tables in
order to see easily where they occur. Clicking this bottom button
opens a query window (see Section How does it work?) in which you
can enter the coset numbers (separated by commas) that you want to get
coloured. Entering an empty sequence of coset numbers to be marked
will erase any markings.
There are finally three red buttons, which allow you to leave your present calculation with ITC in various ways.
clear
Clicking this bottom button will clear all the tables from all
entries constructed in the coset enumeration, while keeping the group
and subgroup that you had entered into GAP, so that you can directly
start anew with the same problem. The table size will be reset to the
default table size, but otherwise settings defined during the last
run, for instance whether coincidence handling is switched on or off,
will remain, that is, not automatically be set to their default
values. Remember that you can inspect the present settings in the
window opened via the menu entry show current settings
(show current settings).
reset
This works similarly to clear
except that all settings will be reset
to their default values. Remember again that you can inspect the
present settings in the window opened via the menu entry show current
settings
(show current settings).
quit
This closes all windows and just brings you back to the GAP
window. In a new start of ITC all switches will be set to their
default values. The group that you had handled will still be available
as a GAP object.
[Up] [Previous] [Next] [Index]
ITC manual