36.9 Conjugacy Classes

  • ConjugacyClass( G, g ) C

    creates the conjugacy class in G with representative g. This class is an external set, so functions such as Representative (which returns g), ActingDomain (which returns G), StabilizerOfExternalSet (which returns the centralizer of g) and AsList work for it.

    A conjugacy class is an external orbit (ExternalOrbit) of group elements with the group acting by conjugation on it. Thus element tests or operation representatives can be computed. The attribute Centralizer gives the centralizer of the representative (which is the same result as StabilizerOfExternalSet). (This is a slight abuse of notation: This is not the centralizer of the class as a set which would be the standard behaviour of Centralizer.)

  • ConjugacyClasses( G ) A

    returns the conjugacy classes of elements of G as a list of ConjugacyClasses of G (see ConjugacyClass (ConjugacyClass) for details). It is guaranteed that the class of the identity is in the first position, the further arrangement depends on the method chosen (and might be different for equal but not identical groups).

    For very small groups (of size up to 500) the classes will be computed by the conjugation action of G on itself (see ConjugacyClassesByOrbits). This can be deliberately switched off using the ``noaction'' option shown below.

    For solvable groups, the default method to compute the classes is by homomorphic lift (see section Conjugacy Classes in Solvable Groups).

    For other groups the method of HulpkeClasses is employed.

    ConjugacyClasses supports the following options that can be used to modify this strategy:

    random
    The classes are computed by random search. See ConjugacyClassesByRandomSearch (ConjugacyClassesByRandomSearch) below.

    action
    The classes are computed by action of G on itself See ConjugacyClassesByOrbits (ConjugacyClassesByOrbits) below.

    noaction
    Even for small groups ConjugacyClassesByOrbits (ConjugacyClassesByOrbits) is not used as a default. This can be useful if the elements of the group use a lot of memory.

    gap> g:=SymmetricGroup(4);;
    gap> cl:=ConjugacyClasses(g);
    [ ()^G, (1,2)^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,3,4)^G ]
    gap> Representative(cl[3]);Centralizer(cl[3]);
    (1,2)(3,4)
    Group([ (3,4), (1,2), (1,3)(2,4) ])
    gap> Size(Centralizer(cl[5]));
    4
    gap> Size(cl[2]);
    6
    

  • ConjugacyClassesByRandomSearch( G ) F

    computes the classes of the group G by random search. This works very efficiently for almost simple groups.

    This function is also accessible via the option random to ConjugacyClass.

  • ConjugacyClassesByOrbits( G ) F

    computes the classes of the group G as orbits of G on its elements. This can be quick but unsurprisingly may also take a lot of memory if G becomes larger. All the classes will store their element list and thus a membership test will be quick as well.

    This function is also accessible via the option action to ConjugacyClass.

    gap> h:=Group((4,6)(5,7),(1,2,4)(3,6,5));;ConjugacyClasses(h:noaction);;time;
    190
    gap> h:=Group((4,6)(5,7),(1,2,4)(3,6,5));;ConjugacyClasses(h:random);;time;
    130
    gap> h:=Group((4,6)(5,7),(1,2,4)(3,6,5));;ConjugacyClasses(h:action);;time;
    70
    

  • NrConjugacyClasses( G ) A

    returns the number of conjugacy classes of G.

    gap> g:=Group((1,2,3,4),(1,2));;                                        
    gap> NrConjugacyClasses(g);
    5
    

  • RationalClass( G, g ) C

    creates the rational class in G with representative g. A rational class consists of all elements that are conjugate to g or to a power gi where i is coprime to the order of g. Thus a rational class can be interpreted as a conjugacy class of cyclic subgroups. A rational class is an external set (IsExternalSet) of group elements with the group acting by conjugation on it, but not an external orbit.

  • RationalClasses( G ) A

    returns a list of the rational classes of the group G. (See RationalClass.)

    gap> RationalClasses(DerivedSubgroup(g));
    [ RationalClass( Group( [ (1,3,2), (2,4,3) ] ), () ), 
      RationalClass( Group( [ (1,3,2), (2,4,3) ] ), (1,3)(2,4) ), 
      RationalClass( Group( [ (1,3,2), (2,4,3) ] ), (2,3,4) ) ]
    
  • GaloisGroup( ratcl ) A

    Suppose that ratcl is a rational class of a group G with representative g. The exponents i for which g i lies already in the ordinary conjugacy class of g, form a subgroup of the prime residue class group Pn (see PrimitiveRootMod), the so-called Galois group of the rational class. The prime residue class group Pn is obtained in GAP as Units( Integers mod n ), the unit group of a residue class ring. The Galois group of a rational class rcl is stored in the attribute GaloisGroup(rcl) as a subgroup of this group.

  • IsConjugate( G, x, y ) O
  • IsConjugate( G, U, V ) O

    tests whether the elements x and y or the subgroups U and V are conjugate under the action of G. (They do not need to be contained in G.) This command is only a shortcut to RepresentativeOperation.

    gap> IsConjugate(g,Group((1,2,3,4),(1,3)),Group((1,3,2,4),(1,2)));
    true
    

    RepresentativeAction (see RepresentativeAction) can be used to obtain conjugating elements.

    gap> RepresentativeAction(g,(1,2),(3,4));
    (1,3)(2,4)
    

    [Top] [Previous] [Up] [Next] [Index]

    GAP 4 manual
    February 2000