Permutations
Permutations are created by using the Perm constructor. Arithmetic with permutations is effected by non-commutative multiplication (.) and exponentiation (^), with a permutation understood as conjugation, or otherwise, a power.
> |
![a := Perm([[1, 2]]); 1](/products/maple/new_features/images17/grouptheory/GroupTheory_19.gif) |
> |
![b := Perm([[1, 3, 5], [2, 4]])](/products/maple/new_features/images17/grouptheory/GroupTheory_21.gif) |
> |
 |
> |
 |
> |
 |
> |
 |
Permutation Groups
A focus for this release has been permutation groups: groups generated by a finite set of permutations on a finite set, which is taken to be the set {1,2,...,n}, for some positive integer n. In addition to abstract group-theoretic properties and computations applicable to any (finite) group, a selection of computations specific to permutation groups is included.
> |
![G := Group(Perm([[1, 2], [3, 4]]), Perm([[1, 2, 3, 4]]))](/products/maple/new_features/images17/grouptheory/GroupTheory_31.gif) |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
CayleyTable Groups
A group may be defined by its Cayley table, the operation table of the group. Cayley tables are specified as integer arrays or matrices.
> |
 |
> |
 |
> |
 |
Finitely Presented Groups
You can define a group by specifying a set of generators and defining relations.
For example, here is a definition of the alternating group of degree 5:
> |
 |
We can verify the order of the group directly.
> |
 |
To check simplicity, we first convert the finitely presented group to a permutation group, and then use the IsSimple command.
> |
 |
Symbolic Groups
Symbolic groups are used to represent groups that depend on zero or more "parameters" (usually integers). They are used, for example, to represent some of the larger sporadic finite simple groups (such as the Monster and the Harada-Norton simple group) that are too large to support practical computation with group elements. Additionally, some constructors can take symbolic expressions for parameters and return a symbolic representation of the constructed group.
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
![`assuming`([IsSimple(Alt(n))], [`<`(5, n)])](/products/maple/new_features/images17/grouptheory/GroupTheory_83.gif) |
Group Constructors
Many groups can be created directly and conveniently by using purpose-built constructors provided by the GroupTheory package:
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
Visualizations
It is useful to be able to visualize a group by examining its subgroup lattice graphically:
> |
 |
> |
 |
> |
 |
> |
 |
Group Properties
Support for testing a variety of group properties is included in the GroupTheory package.
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
Interesting Subgroups
A number of standard subgroups can be constructed with the GroupTheory package.
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
> |
 |
Isomorphism Testing and Group Identification
The GroupTheory package includes an isomorphism test for finite groups given by their Cayley tables. Operation of the command is extended to other finite groups by computing their Cayley tables, which is done automatically. The package also includes a database o fall the finite groups up to order 200. Together, this allows any finite group with at most 200 elements to be identified unambiguously in a standard way.
We can verify the commutativity, up to isomorphism, of the direct product construction by using the AreIsomorphic command.
> |
 |
> |
 |
> |
 |
> |
 |