73.134 EndomorphismClasses

EndomorphismClasses( G, case )

The monoid of endomorphisms is required when calculating the monoid of derivations of a crossed module and when determining all the cat1-structures on a group G (see sections refAllDerivations and refAllSections).

An endomorphism epsilon of R with image H^{prime} is determined by item a normal subgroup N of R and a permutation representation theta : R/N to Q of the quotient, giving a projection theta circ nu : R to Q , where nu : R to R/N is the natural homomorphism; item an automorphism alpha of Q; item a subgroup H^{prime} in a conjugacy class [H] of subgroups of R isomorphic to Q having representative H, an isomorphism phi : Q cong H, and a conjugating element c in R such that H^c = H^{prime}, and takes values epsilon r ; = ; (phi alpha theta nu r)^c.

Endomorphisms are placed in the same class if they have the same choice of N and [H], so the number of endomorphisms is |mathrm{End}(R)| = ; sum_{classes} |mathrm{Aut}(Q)| |[H]|. The function returns records E = R.endomorphismClasses and subfield .classes as shown below. Three cases are catered for as indicated in the example.

    gap> Ea4 := EndomorphismClasses( a4 , 7);
    Usage:  EndomorphismClasses( G [, case] );
     choose  case = 1  to include automorphisms and zero,
    default  case = 2  to exclude automorphisms and zero,
             case = 3  when  N meet H  is trivial,
    false
    gap> Ea4 := EndomorphismClasses( a4 );
    rec(
      isDomain := true,
      isEndomorphismClasses := true,
      areNonTrivial := true,
      intersectionFree := false,
      classes := [ rec(
              quotient := a4.Q2,
              projection := OperationHomomorphism( a4, a4.Q2 ),
              autoGroup := Group( GroupHomomorphismByImages( a4.Q2, a4.Q2, 
                [ (1,3,2) ], [ (1,2,3) ] ) ),
              rangeNumber := 3,
              isomorphism := GroupHomomorphismByImages( a4.Q2, a4.H3, 
                [ (1,3,2) ], [ (2,3,4) ] ),
              conj := [ (), (1,3,2), (1,2)(3,4), (1,4,2) ] ) ],
      group := a4,
      latticeLength := 5,
      latticeReps := [ a4.id, a4.H2, a4.H3, a4.H4, a4 ] ) 

Previous Up Top Next
Index

GAP 3.4.4
April 1997