Group Theory

A group is a set G together with an associative operation * satisfying the axioms of existence of a unit element and an inverse of every element of the group. The Axiom category Group represents this setting. Many data structures in Axiom are groups and therefore there is a large variety of examples as fields and polynomials, although the main interest there is not a group structure.
To work with and in groups in a concrete manner some way of representing groups has to be chosen. A group can be given as a list of generators and as a set of relations. If there are no relations, then we have a free group, realized in the domain FreeMonoid which won't be discussed here. We consider permutation groups, where a group is realized as a subgroup of the symmetric group of a set, i.e., the group of all bijections of a set, the operation being the composition of maps. Indeed, every groupo can be realized this way, although this may not be practical.
Furthermore group elements can be given as invertible matrices. The group operation is reflected by matrix multiplication. More precise in representation theory group homomorphisms from a group to general linear groups are constructed. Some algorithms are implemented in Axiom.