[Up] [Previous] [Next] [Index]

# 5 Buttons and Menus

### Sections

1. The Top Buttons
2. The Bottom Buttons

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).

## 5.1 The Top Buttons

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`)();`

## 5.2 The Bottom Buttons

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]