mktree man page
mktree — enumerate elements of a finitely generated matrix group
mksub [Options] <Name>
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 ith row of this matrix describes how the ith 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 kth 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 sth element from the right by the kth 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:
Quiet, no messages.
Verbose, more messages.
- -T <MaxTime>
Set CPU time limit
- -g <NGen>
Set the number of generators. Default: 2.
Don't write the element file, just print the order.
The program holds all group elements in memory. This limits the application of the program to fairly small groups and representations of small degree.