[Up] [Index]

1 The classicpres package

Sections

  1. Functions Provided
  2. Isomorphism to finitely presented group
  3. Standard Generators

This package provides functionality for presentations of classical groups as given in lgo20. It is a translation (with permission of the authors) of the corresponding code in the system Magma, and should -- short of arbitrary choices depending on internal ordering of finite field elements -- return the same data.

Work on the translation was started at the Summer School Matrix Group Recognition at RWTH Aachen in July 2019.

The work was supported in part by NSF Grant DMS-1720146, which is gratefully acknowledged.

1.1 Functions Provided

There are only two user functions:

  • ClassicalStandardPresentation(type, d, q )

    Given the specification type, d, q of a quasisimple group G, this operation constructs a presentation on the standard generators for G. The string type must be one of "SL", "Sp", "SU", "Omega", "Omega-", or "Omega+", while d is the dimension and q is the cardinality of the finite field. The presentations are described in LGO20. The presentation is returned as a finitely presented group, the relations being stored as its RelatorsOfFpGroup

    If the option Projective is set to true, the operation constructs a presentation for the corresponding projective group (on the images of the same generators).

    gap> pres:=ClassicalStandardPresentation( "SL" , 4, 3);
    <fp group on the generators [ f1, f2, f3, f4 ]>
    gap> RelatorsOfFpGroup(pres);
    [ f4*f1^-1*f3*f1*f3^2*f1^-1*f3*f1*f3^-1,
      f3^-1*f2^-6*f1^-1*f2^6*f3*f2^-6*f1*f2^6,
      f3^-1*f2^-3*f3^-1*f2^3*f3*f2^-3*f3*f1^-1*f2^3*f3^-1*f2^-3*f1*f2^3,
      f3^-1*f2^-3*f1^-1*f2^3*f3^-1*f2^-3*f1*f2^3*f3*f2^-3*f1^-1*f2^3*f3*f2^-3*f1*f\
    2^3, f3^-1*f2^-3*f1^-1*f3^-1*f1*f2^3*f3*f2^-3*f1^-1*f3*f1*f2^3,
      f3^-1*f2^-6*f3^-1*f2^6*f3*f2^-6*f3*f2^6, f1^4,
      f1^-1*f2^-3*f1^2*f2^3*f1^3*f2^-3*f1^2*f2^3, (f1*f2^-3*f1*f2^3)^3,
      f1^-1*f2^-6*f1^-1*f2^6*f1*f2^-6*f1*f2^6, f2^9*(f1^-1*f2^-3)^2*f1^-1,
      f2^-12*f1^-1*f2^12*f1, f2^24, f1*(f3*f1^-1)^2*f3,
      (f1^-1*f3^4*f1^-1*f3^2)^2*f3^3*f1^-2, f2^8 ]
    gap> s:=Subgroup(pres,[pres.1,pres.2,pres.4]);
    Group([ f1, f2, f4 ])
    gap> Index(pres,s);
    63180
    gap> DisplayCompositionSeries(Image(FactorCosetAction(pres,s)));
    G (4 gens, size 6065280)
     | A(3,3) = L(4,3) ~ D(3,3) = O+(6,3)
    1 (0 gens, size 1)
    

  • ClassicalStandardGenerators(type, d, q)

    This operation produces the standard generators of Leedham-Green and O'Brien for the quasisimple classical group of specified type in dimension d over a field of size q. The type is designated by the argument type which must be one of the strings "SL", "Sp", "SU", "Omega", "Omega-", or "Omega+". The standard generators generate a specific copy of a classical group and are defined in LGO09 and DLLGO13.

    gap> gens:=ClassicalStandardGenerators( "SL" , 4, 3);;
    [ < immutable compressed matrix 4x4 over GF(3) >,
      < immutable compressed matrix 4x4 over GF(3) >,
      < immutable compressed matrix 4x4 over GF(3) >,
      < immutable compressed matrix 6x4 over GF(3) > ]
    gap> List(gens,Order);
    [ 4, 8, 3, 2 ]
    gap> Size(Group(gens));
    12130560
    gap> List(RelatorsOfFpGroup(pres),x->Order(MappedWord(x,
    > FreeGeneratorsOfFpGroup(pres),gens)));
    [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
    

    If the option Projective is set to true, the operation constructs a presentation for the corresponding projective group (on the images of the same generators).

    gap> pres:=ClassicalStandardPresentation( "SL" , 4, 3:Projective);
    <fp group on the generators [ f1, f2, f3, f4 ]>
    gap> List(RelatorsOfFpGroup(pres),x->Order(MappedWord(x,
    > FreeGeneratorsOfFpGroup(pres),gens)));
    [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1 ]
    

    1.2 Isomorphism to finitely presented group

    In GAP, the canonical way of obtaining a presentation of (say) a permutation group is the operation IsomorphismFpGroup. This package thus also installs a method for IsomorphismFpGroup for groups that know that they are simple, and tests whether the groups are classical. If so, an isomorphism between the given group, and the permutation action of the classical groups on vectors is computed (this should be improved with constructive recognition in the future) and the presentation of ClassicalStandardPresentation is used.

    Non-simple groups that construct a presentation through their composition factors will then automatically use these presentations for the simple factors when combining to a presentation of the group.

    However be aware that the isomorphisms returned will use the generic permutation group mechanism for decomposition, and thus will not result in good or short words.

    1.3 Standard Generators

    The generating sequences chosen (and on which the presentations are written) use the standard generators of classical groups as defined in LGO09 and DLLGO13, since these generators also are used in the constructive recognition process.

    The presentations in LGO20 initially use slightly different generating sets, and a translation between these two generating sets is provided. If one of the two functions ClassicalStandardGenerators or ClassicalStandardPresentation is called with the option PresentationGenerators, this different generating set is used. (Its use could be to obtain a slightly shorter presentation in situations in which adherence to the standard generaors is not required.)

    The method provided for IsomorphismFpGroup currently uses these PresentationGenerators, but this is not a guaranteed property.

    [Up] [Index]

    classicpres manual
    November 2021