MeatAxe: mktree - Enumerate Group Elements

MeatAxe 2.4

- Main Page
- Related Pages
- Modules
- Data Structures

mktree - Enumerate Group Elements

## Command Line

    mktree Options [-n] [-g NGen] Name

Options
  Standard options, see Standard Command Line Options

-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

## Implementation 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.