[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Groups

Groups

Magma supports the following categories of groups:

GrpAb
abelian groups
GrpPerm
permutation groups
GrpFP
finitely presented groups
GrpPC
soluble groups in polycyclic (power-conjugate) presentations
GrpMat
matrix groups
GrpBB
blackbox groups

The construction of these groups is category-dependent, and may be performed in several ways. See the relevant help pages for details; the following notes are intended as an overview.

The generic `full' or `free' magmas are created by the functions

FreeAbelianGroup
for GrpAb
SymmetricGroup or Sym
for GrpPerm
FreeGroup
for GrpFP and GrpPC
GeneralLinearGroup or GL
for GrpMat
BlackboxGroup
for GrpBB

One may create any group by creating one of these structures and then taking the required subgroup (for GrpPerm and GrpMat) or quotient group (for the structures with presentations). The sub or quo constructor should be used for this purpose.

To abbreviate this process, the following constructors apply:

There are special functions for constructing some standard groups. These functions take the required category of group (such as GrpFP) as their first argument, but are generally not available for all categories:

If the category argument is omitted then a permutation group will be constructed (except for AbelianGroup). The GrpMat category has a separate collection of standard groups, namely GL, SL, GU, SU, Sp, and Sz.

The order of group G is Order(G) or #G. If the order cannot be computed then the value 0 is returned.

The operators for arithmetic on group elements are:

The order of element g is Order(g). The identity is Id(G) or G!1.

Functions testing properties of a group include

and functions testing properties of a subgroup include

These functions and operators return some standard subgroups:

In order to transfer from one category of group to another, the following functions exist:

See the help nodes on these topics for further information.

Example

> D<s, t> := DihedralGroup(GrpPC, 7); 
> print D;
GrpPC : D of order 14 = 2 * 7
PC-Relations:
s^2 = Id(D), 
t^7 = Id(D), 
t^s = t^6
> DH := sub< D | t^3 >;
> print DH;
GrpPC : DH of order 7
PC-Relations:
DH.1^7 = Id(DH)
> print IsCyclic(DH);
true

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]