GAP Manual: 37.1. The Basic Groups Library

CyclicGroup( n )
CyclicGroup( D, n )

In the first form CyclicGroup returns the cyclic group of size n as a permutation group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and CyclicGroup returns the cyclic group of size n as a group of elements of that type.

    gap> c12 := CyclicGroup( 12 );
    Group( ( 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12) )
    gap> c105 := CyclicGroup( AgWords, 5*3*7 );
    Group( c105_1, c105_2, c105_3 )
    gap> Order(c105,c105.1); Order(c105,c105.2); Order(c105,c105.3);
    105
    35
    7 

AbelianGroup( sizes )
AbelianGroup( D, sizes )

In the first form AbelianGroup returns the abelian group C_(sizes[1]) * C_(sizes[2]) * ... * C_(sizes[n]), where sizes must be a list of positive integers, as a permutation group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and AbelianGroup returns the abelian group as a group of elements of this type.

    gap> g := AbelianGroup( AgWords, [ 2, 3, 7 ] );
    Group( a, b, c )
    gap> Size( g );
    42
    gap> IsAbelian( g );
    true 

The default function GroupElementsOps.AbelianGroup uses the functions CyclicGroup and DirectProduct (see DirectProduct) to construct the abelian group.

ElementaryAbelianGroup( n )
ElementaryAbelianGroup( D, n )

In the first form ElementaryAbelianGroup returns the elementary abelian group of size n as a permutation group. n must be a positive prime power of course. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and ElementaryAbelianGroup returns the elementary abelian group as a group of elements of this type.

    gap> ElementaryAbelianGroup( 16 );
    Group( (1,2), (3,4), (5,6), (7,8) )
    gap> ElementaryAbelianGroup( AgWords, 3 ^ 10 );
    Group( m59049_1, m59049_2, m59049_3, m59049_4, m59049_5, m59049_6,
    m59049_7, m59049_8, m59049_9, m59049_10 ) 

The default function GroupElementsOps.ElementaryAbelianGroup uses CyclicGroup and DirectProduct (see DirectProduct to construct the elementary abelian group.

DihedralGroup( n )
DihedralGroup( D, n )

In the first form DihedralGroup returns the dihedral group of size n as a permutation group. n must be a positive even integer. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and DihedralGroup returns the dihedral group as a group of elements of this type.

    gap> DihedralGroup( 12 );
    Group( (1,2,3,4,5,6), (2,6)(3,5) ) 

PolyhedralGroup( p, q )
PolyhedralGroup( D, p, q )

In the first form PolyhedralGroup returns the polyhedral group of size p * q as a permutation group. p and q must be positive integers and there must exist a nontrivial p-th root of unity modulo every prime factor of q. In the second form D must be a domain of group elements, e.g., Permutations or Words, and PolyhedralGroup returns the polyhedral group as a group of elements of this type.

    gap> PolyhedralGroup( 3, 13 );
    Group( ( 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13), ( 2, 4,10)( 3, 7, 6)
    ( 5,13,11)( 8, 9,12) )
    gap> Size( last );
    39 

SymmetricGroup( d )
SymmetricGroup( D, d )

In the first form SymmetricGroup returns the symmetric group of degree d as a permutation group. d must be a positive integer. In the second form D must be a domain of group elements, e.g., Permutations or Words, and SymmetricGroup returns the symmetric group as a group of elements of this type.

    gap> SymmetricGroup( 8 );
    Group( (1,8), (2,8), (3,8), (4,8), (5,8), (6,8), (7,8) )
    gap> Size( last );
    40320 

AlternatingGroup( d )
AlternatingGroup( D, d )

In the first form AlternatingGroup returns the alternating group of degree d as a permutation group. d must be a positive integer. In the second form D must be a domain of group elements, e.g., Permutations or Words, and AlternatingGroup returns the alternating group as a group of elements of this type.

    gap> AlternatingGroup( 8 );
    Group( (1,2,8), (2,3,8), (3,4,8), (4,5,8), (5,6,8), (6,7,8) )
    gap> Size( last );
    20160 

GeneralLinearGroup( n, q )
GeneralLinearGroup( D, n, q )

In the first form GeneralLinearGroup returns the general linear group GL( n, q ) as a matrix group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and GeneralLinearGroup returns GL( n, q ) as a group of elements of that type.

    gap> g:= GeneralLinearGroup( 2, 4 ); Size( g );
    GL(2,4)
    180 

SpecialLinearGroup( n, q )
SpecialLinearGroup( D, n, q )

In the first form SpecialLinearGroup returns the special linear group SL( n, q ) as a matrix group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and SpecialLinearGroup returns SL( n, q ) as a group of elements of that type.

    gap> g:= SpecialLinearGroup( 3, 4 ); Size( g );
    SL(3,4)
    60480 

SymplecticGroup( n, q )
SymplecticGroup( D, n, q )

In the first form SymplecticGroup returns the symplectic group SP( n, q ) as a matrix group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and SymplecticGroup returns SP( n, q ) as a group of elements of that type.

    gap> g:= SymplecticGroup( 4, 2 ); Size( g );
    SP(4,2)
    720 

GeneralUnitaryGroup( n, q )
GeneralUnitaryGroup( D, n, q )

In the first form GeneralUnitaryGroup returns the general unitary group GU( n, q ) as a matrix group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and GeneralUnitaryGroup returns GU( n, q ) as a group of elements of that type.

    gap> g:= GeneralUnitaryGroup( 3, 3 ); Size( g );
    GU(3,3)
    24192 

SpecialUnitaryGroup( n, q )
SpecialUnitaryGroup( D, n, q )

In the first form SpecialUnitaryGroup returns the special unitary group SU( n, q ) as a matrix group. In the second form D must be a domain of group elements, e.g., Permutations or AgWords, and SpecialUnitaryGroup returns SU( n, q ) as a group of elements of that type.

    gap> g:= SpecialUnitaryGroup( 3, 3 ); Size( g );
    SU(3,3)
    6048 

[next] ~~~ [up]