GAP:SmallGroup

Function type
SmallGroup is a GAP function that takes in two arguments, both of which are numbers. or alternatively a list of two numbers, and outputs a group.

Behavior
Consider the command SmallGroup(a,b) or SmallGroup([a,b]). Here is how this behaves:

The following caveats should be noted about the manner in which the group is stored/processed:


 * For a finite solvable group, the group is stored as a PcGroup: in other words, it is stored in terms of a polycyclic series for the group. Thus, if the group is solvable, the command SmallGroup returns a polycyclic series.
 * For a finite group that is not solvable, the group is stored as a permutation group.

Available groups
The orders for which the SmallGroup function can be called are given below. See also AllSmallGroups.

The smallest orders for which the SmallGroups library does not have information are given in the table below:

Reverse functions

 * GAP:IdGroup: This takes a given group as input and outputs its group ID, i.e., an ordered pair of its order and the position it is in among the groups of that order. This is precisely the two-sided inverse of the SmallGroup function. Note that IdGroup is not available for some of the groups that have group IDs, specifically, groups of order 512, 1536, and those of order $$p^5, p^6, p^7$$ when the corresponding value is bigger than $$2000$$ (with the exception of $$5^5 = 3125$$).

Single command examples
Here are some examples:

gap> SmallGroup(1,1);  gap> IsTrivial(SmallGroup(1,1)); true gap> SmallGroup(3,1); 

Below is an explanation:

Error message examples
gap> H := SmallGroup(3,2); Error, there is just 1 group of size 3 called from SMALL_GROUP_FUNCS[inforec.func]( size, i, inforec ) called from called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> quit; gap> SmallGroup(1024,1); Error, the library of groups of size 1024 is not available called from called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue

Typical command sequences using SmallGroup
gap> G := SmallGroup(6,2); <pc group of size 6 with 2 generators> gap> G = CyclicGroup(6); false gap> IsomorphismGroups(G,CyclicGroup(6)); [ f1, f2 ] -> [ f1*f2, f2 ]

Here is another example:

gap> L := SmallGroup(60,5); Group([ (1,2,3,4,5), (1,2,3) ]) gap> IsSimpleGroup(L); true gap> IsAlternatingGroup(L); true

Below is an explanation:

gap> M := SmallGroup(60,1); <pc group of size 60 with 4 generators> gap> IsCyclic(M); false gap> IsAbelian(M); false gap> IsSolvable(SmallGroup(60,1)); true gap> StructureDescription(M); "C5 x (C3 : C4)"

Below is an explanation: