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

4 The Database

Sections

  1. Accessing Lie p-rings
  2. Numbers of Lie p-rings
  3. Searching the database
  4. More details
  5. Special functions for dimension 7
  6. Dimension 8 and maximal class

This package gives access to the database of Lie p-rings of order at most p7 as determined by Mike Newman, Eamonn O'Brien and Michael Vaughan-Lee, see NOV04 and OVL05. A description of the database can also be found in Notes.

For each n ∈ {1, …, 7} this package contains a (finite) list of generic presentations of Lie p-rings. For each prime p ≥ 5, each of the generic Lie p-rings gives rise to a family of Lie p-rings over the considered prime p by specialising the indeterminates to a certain list of values. The resulting lists of Lie p-rings provides a complete and irredundant set of isomorphism type representatives of the Lie p-rings of order pn. The generic Lie p-rings of p-class at most 2 can also be considered for the prime p=3 and yield a list of isomorphism type representatives for the Lie p-rings of order 3n and p-class at most 2.

The Lazard correspondence has been used to check the correctness of the database of Lie p-rings: for various small primes it has been checked that the Lie p-rings of this database define non-isomorphic finite p-groups.

In the following we describe functions to access the database. Throughout this chapter, we assume that dim ∈ {1, …, 7} and P is a prime with P ≠ 2.

4.1 Accessing Lie p-rings

  • LiePRingsByLibrary( dim )
  • LiePRingsByLibrary( dim, gen, cl )

    returns the generic Lie p-rings of dimension dim in the database. The second form returns the Lie p-rings of minimal generator number gen and p-class cl only.

  • LiePRingsByLibrary( dim, P )
  • LiePRingsByLibrary( dim, P, gen, cl )

    returns isomorphism type representatives of ordinary Lie p-rings of dimension dim for the prime P. The second form returns the Lie p-rings of minimal generator number gen and p-class cl only. The function assumes P ≥ 3 and for P = 3 there are only the Lie p-rings of p-class at most 2 available.

    The first example yields the generic Lie p-rings of dimension 4.

    gap> LiePRingsByLibrary(4);
    [ <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>,
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p>, 
      <LiePRing of dimension 4 over prime p> ]
    

    The next example yields the isomorphism type representatives of Lie p-rings of dimension 3 for the prime 5.

    gap> LiePRingsByLibrary(3, 5);
    [ <LiePRing of dimension 3 over prime 5>, 
      <LiePRing of dimension 3 over prime 5>, 
      <LiePRing of dimension 3 over prime 5>, 
      <LiePRing of dimension 3 over prime 5>, 
      <LiePRing of dimension 3 over prime 5> ]
    

    The following example extracts the generic Lie p-rings of dimension 5 with minimal generator number 2 and p-class 4.

    gap> LiePRingsByLibrary(5, 2, 4);
    [ <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p> ]
    

    Finally, we determine the isomorphism type representatives of Lie p-rings of dimension 5, minimal generator number 2 and p-class 4 for the prime 7.

    gap> LiePRingsByLibrary(5, 7, 2, 4);
    [ <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7>, 
      <LiePRing of dimension 5 over prime 7> ]
    

    4.2 Numbers of Lie p-rings

  • NumberOfLiePRings( dim )

    returns the number of generic Lie p-rings in the database of the considered dimension for dim { 1, …, 7}.

    gap> List([1..7], x -> NumberOfLiePRings(x));
    [ 1, 2, 5, 15, 75, 542, 4773 ]
    

  • NumberOfLiePRings( dim, P )

    returns the number of isomorphism types of ordinary Lie p-rings of order Pdim in the database. If P ≥ 5, then this is the number of all isomorphism types of Lie p-rings of order Pdim and if P = 3 then this is the number of all isomorphism types of Lie p-rings of p-class at most 2. If P ≥ 7, then this number coincides with NumberSmallGroups(Pdim).

  • NumberOfLiePRingsInFamily( L )

    returns the number of Lie p-rings associated to L as a polynomial in p and possibly some residue classes.

    gap> L := LiePRingsByLibrary(7)[780];
    <LiePRing of dimension 7 over prime p with parameters
    [ x, y, z, t, s, u, v ]>
    gap> NumberOfLiePRingsInFamily(L);
    -1/3*p^5*(p-1,3)+p^5-1/3*p^4*(p-1,3)+p^4-1/3*p^3*(p-1,3)+p^3-1/3*p^2*(p-1,3)
    +p^2-p*(p-1,3)+3*p-3/2*(p-1,3)+9/2
    

    4.3 Searching the database

    We now consider a generic Lie p-ring L from the database and consider the family of ordinary Lie p-rings that arise from it.

  • LiePRingsInFamily( L, P )

    takes as input a generic Lie p-ring L from the database and a prime P and returns all Lie p-rings determined by L and P up to isomorphism. This function returns fail if the generic Lie p-ring does not exist for the special prime P; this may be due to the conditions on the prime or (if P=3) to the p-class of the Lie p-ring.

    gap> L := LiePRingsByLibrary(7)[118];
    <LiePRing of dimension 7 over prime p with parameters [ x, y ]>
    gap> LibraryConditions(L);
    [ "[x,y]~[x,-y]", "p=1 mod 4" ]
    gap> LiePRingsInFamily(L, 7);
    fail
    gap> Length(LiePRingsInFamily(L,13));
    91
    gap> 13^2;
    169
    

    The following example shows how to determine all Lie p-rings of dimension 5 and p-class 4 over the prime 29 up to isomorphism.

    gap> L := LiePRingsByLibrary(5);;
    gap> L := Filtered(L, x -> PClassOfLiePRing(x)=4);
    [ <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p>, 
      <LiePRing of dimension 5 over prime p> ]
    gap> K := List(L, x-> LiePRingsInFamily(x, 29));
    [ [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], fail, fail, 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ], fail, fail, 
      [ <LiePRing of dimension 5 over prime 29> ], 
      [ <LiePRing of dimension 5 over prime 29> ] ]
    gap> K := Filtered(Flat(K), x -> x<>fail);
    [ <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29>, 
      <LiePRing of dimension 5 over prime 29> ]
    

    4.4 More details

    Let L be a Lie p-ring from the database. Then the following additional attributes are available.

  • LibraryName(L)

    returns a string with the name of L in the database. See p567.pdf for further background.

  • ShortPresentation(L)

    returns a string exhibiting a short presentation of L.

  • LibraryConditions(L)

    returns the conditions on L. This is a list of two strings. The first string exhibits the conditions on the parameters of L, the second shows the conditions on primes.

  • MinimalGeneratorNumberOfLiePRing(L)

    returns the minimial generator number of L.

  • PClassOfLiePRing(L)

    returns the p-class of L.

    gap> L := LiePRingsByLibrary(7)[118];
    <LiePRing of dimension 7 over prime p with parameters [ x, y ]>
    gap> LibraryName(L);
    "7.118"
    gap> LibraryConditions(L);
    [ "[x,y]~[x,-y]", "p=1 mod 4" ]
    

    All of the information listed in this section is inherited when L is specialised.

    gap> L := LiePRingsByLibrary(7)[118];
    <LiePRing of dimension 7 over prime p with parameters [ x, y ]>
    gap> K := SpecialiseLiePRing(L, 13, ParametersOfLiePRing(L), [0,0]);
    <LiePRing of dimension 7 over prime 13>
    gap> LibraryName(K);
    "7.118"
    gap> LibraryConditions(K);
    [ "[x,y]~[x,-y]", "p=1 mod 4" ]
    

    The following example shows how to find a Lie p-ring with a given name in the database.

    gap> L := LiePRingsByLibrary(7);;
    gap> Filtered(L, x -> LibraryName(x) = "7.1010")[1];
    <LiePRing of dimension 7 over prime p> 
    

    4.5 Special functions for dimension 7

    The database of Lie p-rings of dimension 7 is very large and it may be time-consuming (or even impossible due to storage problems) to generate all Lie p-rings of dimension 7 for a given prime P.

    Thus there are some special functions available that can be used to access a particular set of Lie p-rings of dimension 7 only. In particular, it is possible to consider the descendants of a single Lie p-ring of smaller dimension by itself. The Lie p-rings of this type are all stored in one file of the library. Thus, equivalently, it is possible to access the Lie p-rings in one single file only.

    The table LIE_TABLE contains a list of all possible files together with the number of Lie p-rings generated by their corresponding Lie p-rings.

  • LiePRingsDim7ByFile( nr )

    returns the generic Lie p-rings in file number nr.

  • LiePRingsDim7ByFile( nr, P )

    returns the isomorphism types of Lie p-rings in file number nr for the prime P.

    gap> LIE_TABLE[100];
    [ "3gen/gapdec6.139", 1/2*p+(p-1,3)+3/2 ]
    gap> LiePRingsDim7ByFile(100);
    [ <LiePRing of dimension 7 over prime p>, 
      <LiePRing of dimension 7 over prime p>, 
      <LiePRing of dimension 7 over prime p>,
      <LiePRing of dimension 7 over prime p>,
      <LiePRing of dimension 7 over prime p with parameters [ x ]> ]
    gap> LiePRingsDim7ByFile(100, 7);
    [ <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7>, 
      <LiePRing of dimension 7 over prime 7> ]
    

    4.6 Dimension 8 and maximal class

    Recently, Lee and Vaughan-Lee MC8 determined the Lie p-rings of dimension 8 with maximal class up to isomorphism. This classification is now also available in the Lie p-ring package via the following functions.

  • LiePRingsByLibraryMC8()

    returns a list of 69 generic Lie p-rings. For each of these the following function returns the isomorphism types of Lie p-rings in the family for a fixed prime P with P ≥ 5.

  • LiePRingsInFamilyMC8(L, P)

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

    LiePRing manual
    October 2022