SharedMeatAxe 1.0
mktree - Enumerate Group Elements

Command Line

mktree Options [-n] [-g NGen] Name 
Options
Standard options, see prog_stdopts
-n
Do not write the outpt file.
-g
Set the number of generators (default: 2).
Name
Name of the representation.

Input Files

Name.1, Name.2, ...
Generators.

Output Files

Name.elt
Element tree.

Description

This program enumerates all elements of a finitely generated matrix group. By default, the program assumes that the group has two generators, which are read from Name.1 and Name.2. A different number of generators can be specified with "-g".

Unless the "-n" option is used, the program writes the element tree to Name.elt. The element tree describes how the group elements can be calculated as products of generators. It is actually a matrix with two columns and one row for each group element. The i-th row of this matrix describes how the i-th element is calculated:

  • The row (-1,-1) represents the unit element. This row appears first in the output.
  • (0,k) means that this element is the k-th generator. Note that the generator number starts with 0, i.e., the first generator has k=0.
  • (s,k) means that the corresponding element is obtained by multiplying the s-th element from the right by the k-th generator. Both generator and element numbers start with 0. Thus, the (0,k) lines decribed above are actually a special case of the general (s,k) lines.

The following example shows the output for a group of the order 10 with two generators, a and b:

Line   Contents     Meaning
----   --------     ---------------
 1      -1   -1     identity matrix
 2      0    0      a
 3      0    1      b
 4      1    0      aa
 5      1    1      ab
 6      3    0      aaa
 7      3    1      aab
 8      5    0      aaaa
 9      5    1      aaab
10      7    1      aaaab

Implementatino Details

The program holds all group elements in memory. This limits the application of the program to fairly small groups and representations of small degree.


SharedMeatAxe 1.0 documentation