Abelian Groups

Finitely-Presented Abelian Groups

Abelian groups can be defined in a variety of ways but the preferred representation is in terms of generators and relations. Given an abelian group in terms of generators and relations then it is usually desirable to to present the torsion part as a direct sum of cyclic groups. This is achieved by computing the Smith Normal Form (SNF) of its relation matrix. The SNF code is capable of handling groups having tens of thousand generators and relations. Functions are provided that convert an abelian group given in any of Magma's representations into Magma's standard abelian group representation (generators and relations). The Hermite and Smith normal form algorithms are used to construct a normal form for subgroups and quotient groups.

In the case of finite abelian groups, the functions provided for general finite groups such as composition series, maximal subgroups, subgroup lattice, and automorphism group apply to abelian groups. Determining the order of an element or computing discrete logarithms can be difficult in the case of very large groups. The algorithms used for the discrete logarithm problem are improvements of those described by J. Buchmann, M.J. Jacobson, and E. Teske.

Generic Abelian Groups

The term generic abelian group refers to the situation in which a group A is described by giving a set X together with functions acting on X that perform the fundamental group operations for A. Specifically, the user must provide functions which compute the product, the inverse, and the identity. For efficiency, the user may also optionally specify the order and a generating set for the group.

Going from such a definition of an abelian group A to a presentation for A will often be very expensive and so a small number of operations are implemented so as to not require this information. The two key operations are finding the order of an element and computing the discrete logarithm of an element to a given base. For many abelian group operations, knowledge of a presentation is required and if such an operation is invoked, the structure of A (and hence a presentation) will be automatically constructed.

There are two possible ways of computing the structure of the group. If the order of the group is known (or can be computed) then it is relatively easy to construct each of the p-Sylow subgroups. If the order is not available, the structure is computed from a set of generators supplied by the user.