GAP (Utils) - Chapter 4: Groups and homomorphisms

Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

4 Groups and homomorphisms
4.1 Functions for groups
4.1-1 Comm
4.1-2 IsCommuting
4.1-3 ListOfPowers
4.1-4 GeneratorsAndInverses
4.1-5 UpperFittingSeries
4.2 Functions for group homomorphisms
4.2-1 EpimorphismByGenerators

### 4 Groups and homomorphisms

#### 4.1 Functions for groups

##### 4.1-1 Comm

`‣ Comm`( L ) | ( operation )

This method has been transferred from package ResClasses.

It provides a method for `Comm` when the argument is a list (enclosed in square brackets), and calls the function `LeftNormedComm`.

    gap> Comm( [ (1,2), (2,3) ] );
    (1,2,3)
    gap> Comm( [(1,2),(2,3),(3,4),(4,5),(5,6)] );
    (1,5,6)
    gap> Comm(Comm(Comm(Comm((1,2),(2,3)),(3,4)),(4,5)),(5,6));  ## the same
    (1,5,6)

##### 4.1-2 IsCommuting

`‣ IsCommuting`( a, b ) | ( operation )

This function has been transferred from package ResClasses.

It tests whether two elements in a group commute.

    gap> D12 := DihedralGroup( 12 );
    <pc group of size 12 with 3 generators>
    gap> SetName( D12, "D12" );
    gap> a := D12.1;;  b := D12.2;;
    gap> IsCommuting( a, b );
    false

##### 4.1-3 ListOfPowers

`‣ ListOfPowers`( g, exp ) | ( operation )

This function has been transferred from package RCWA.

The operation `ListOfPowers(g,exp)` returns the list [g,g^2,...,g^exp] of powers of the element g.

    gap> ListOfPowers( 2, 20 );
    [ 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384,
     32768, 65536, 131072, 262144, 524288, 1048576 ]
    gap> ListOfPowers( (1,2,3)(4,5), 12 );
    [ (1,2,3)(4,5), (1,3,2), (4,5), (1,2,3), (1,3,2)(4,5), (),
     (1,2,3)(4,5), (1,3,2), (4,5), (1,2,3), (1,3,2)(4,5), () ]
    gap> ListOfPowers( D12.2, 6 );
    [ f2, f3, f2*f3, f3^2, f2*f3^2, <identity> of ... ]

##### 4.1-4 GeneratorsAndInverses

`‣ GeneratorsAndInverses`( G ) | ( operation )

This function has been transferred from package RCWA.

This operation returns a list containing the generators of G followed by the inverses of these generators.

    gap> GeneratorsAndInverses( D12 );
    [ f1, f2, f3, f1, f2*f3^2, f3^2 ]
    gap> GeneratorsAndInverses( SymmetricGroup(5) );
    [ (1,2,3,4,5), (1,2), (1,5,4,3,2), (1,2) ]

##### 4.1-5 UpperFittingSeries

`‣ UpperFittingSeries`( G ) | ( attribute )

`‣ LowerFittingSeries`( G ) | ( attribute )

`‣ FittingLength`( G ) | ( attribute )

These three functions have been transferred from package ResClasses.

The upper and lower Fitting series and the Fitting length of a solvable group are described here: https://en.wikipedia.org/wiki/Fitting_length.

    gap> UpperFittingSeries( D12 );  LowerFittingSeries( D12 );
    [ Group([  ]), Group([ f3, f2*f3 ]), Group([ f3, f2*f3, f1 ]) ]
    [ D12, Group([ f3 ]), Group([  ]) ]
    gap> FittingLength( D12 );
    2
    gap> S4 := SymmetricGroup( 4 );;
    gap> UpperFittingSeries( S4 );
    [ Group(()), Group([ (1,2)(3,4), (1,4)(2,3) ]), Group([ (1,2)(3,4), (1,4)
      (2,3), (2,4,3) ]), Group([ (3,4), (2,3,4), (1,2)(3,4) ]) ]
    gap> List( last, StructureDescription );
    [ "1", "C2 x C2", "A4", "S4" ]
    gap> LowerFittingSeries( S4 );
    [ Sym( [ 1 .. 4 ] ), Alt( [ 1 .. 4 ] ), Group([ (1,4)(2,3), (1,3)
     (2,4) ]), Group(()) ]
    gap> List( last, StructureDescription );
    [ "S4", "A4", "C2 x C2", "1" ]
    gap> FittingLength( S4);
    3

#### 4.2 Functions for group homomorphisms

##### 4.2-1 EpimorphismByGenerators

`‣ EpimorphismByGenerators`( G, H ) | ( operation )

This function has been transferred from package RCWA.

It constructs a group homomorphism which maps the generators of G to those of H. Its intended use is when G is a free group, and a warning is printed when this is not the case. Note that anything may happen if the resulting map is not a homomorphism!

    gap> G := Group( (1,2,3), (3,4,5), (5,6,7), (7,8,9) );;
    gap> phi := EpimorphismByGenerators( FreeGroup("a","b","c","d"), G );
    [ a, b, c, d ] -> [ (1,2,3), (3,4,5), (5,6,7), (7,8,9) ]
    gap> PreImagesRepresentative( phi, (1,2,3,4,5,6,7,8,9) );
    d*c*b*a
    gap> a := G.1;; b := G.2;; c := G.3;; d := G.4;;
    gap> d*c*b*a;
    (1,2,3,4,5,6,7,8,9)
    gap> ## note that it is easy to produce nonsense:
    gap> epi := EpimorphismByGenerators( Group((1,2,3)), Group((8,9)) );
    Warning: calling GroupHomomorphismByImagesNC without checks
    [ (1,2,3) ] -> [ (8,9) ]
    gap> IsGroupHomomorphism( epi );
    true
    gap> Image( epi, (1,2,3) );
    ()
    gap> Image( epi, (1,3,2) );
    (8,9)

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML