create a Cayley table group data structure
CayleyTableGroup(m, sgopt, embopt, lbopt, ckopt)
Cayley table defining group operations
(optional) equation of the form supergroup=g where g is a supergroup of the group to be constructed; constructs the given group as a subgroup of g
(optional) equation of the form embedding=t, where t gives the embedding
(optional) equation of the form labels=lst, giving labels for the generators
(optional) equation of the form check=c, determining whether m is verified to be a Cayley table
group data structure
The CayleyTableGroup command creates a Cayley table group data structure. Cayley table group implementations are reasonably efficient for small group sizes, but they require listing all elements of a group. When you want to study a group G, and if it is possible to find a permutation representation of G of degree substantially smaller than the order of G, then that permutation representation will typically be more efficient to work with.
The first calling sequence above creates a group given by a pre-computed Cayley table. The single required argument is the Cayley table (or multiplication table): an n by n Matrix or Array, m, describing the group with n elements, where the i,j entry contains the positive integer k such that the product of the ith and jth group elements is the kth group element.
You can supply a supergroup option to mark this group as a subgroup of another Cayley table group. Typically you will want to supply the embedding that maps elements of this group into its supergroup. This is given using the embedding option. Its value is a table mapping the elements of the current group (positive integers from 1 to n) to elements of the supergroup (positive integers from 1 to the size of the supergroup). If no supergroup is specified or the user specifies supergroup=undefined, then Maple does not mark the resulting group as a subgroup of any particular group.
The labels option can be used to give names for the elements. These can be retrieved using the command GroupTheory[Labels]. (For other types of groups, labels are only defined for their generators. This is consistent, because the list of generators of a Cayley table group is by default all its elements.)
If the option check=true is given, then this calling sequence uses the command Magma[IsGroup] to test whether the given table describes a group. Supplying just the name check is equivalent to check=true. If the option check=false is given, the test is not performed. In this case, if m does in fact not describe the Cayley table of a group, further results will be unpredictable. The default is check=true.
The second calling sequence takes a group data structure constructed by the GroupTheory package and converts it to a Cayley table group. The labels for the elements of the Cayley table group are the corresponding elements of the argument gp to CayleyTableGroup.
M ≔ 1|2|3|4,2|1|4|3,3|4|1|2,4|3|2|1
g1 ≔ CayleyTableGroup⁡M,labels=a,b,c,d
g1≔ < a Cayley table group with 4 elements >
We know that this is a Cayley table, so we can skip the test.
g2 ≔ CayleyTableGroup⁡M,labels=a,b,c,d,check=false
g2≔ < a Cayley table group with 4 elements >
Below, we convert g3 to a Cayley table group.
g3 ≔ AlternatingGroup⁡4
g4 ≔ CayleyTableGroup⁡g3
g4≔ < a Cayley table group with 12 elements >
The GroupTheory[CayleyTableGroup] command was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
Download Help Document