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

3 The Database
 3.1 Accessing Lie p-rings
 3.2 Numbers of Lie p-rings
 3.3 Searching the database
 3.4 More details
 3.5 Special functions for dimension 7
 3.6 Dimension 8 and maximal class

3 The Database

This package gives access to the database of Lie p-rings of order at most p^7 as determined by Mike Newman, Eamonn O'Brien and Michael Vaughan-Lee, see [NOV03] and [OV05]. A description of the database can also be found in [Vau13].

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 provide a complete and irredundant set of isomorphism type representatives of the Lie p-rings of order p^n. 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 3^n 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.

3.1 Accessing Lie p-rings

3.1-1 LiePRingsByLibrary
‣ LiePRingsByLibrary( dim[, gen][, cl] )( function )

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.

3.1-2 LiePRingsByLibrary
‣ LiePRingsByLibrary( dim, P[, gen][, cl] )( function )

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> ]

3.2 Numbers of Lie p-rings

3.2-1 NumberOfLiePRings
‣ NumberOfLiePRings( dim )( function )

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 ]

3.2-2 NumberOfLiePRings
‣ NumberOfLiePRings( dim, P )( function )

returns the number of isomorphism types of ordinary Lie p-rings of order P^dim in the database. If P ≥ 5, then this is the number of all isomorphism types of Lie p-rings of order P^dim 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(P^dim).

3.2-3 NumberOfLiePRingsInFamily
‣ NumberOfLiePRingsInFamily( L )( function )

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

3.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.

3.3-1 LiePRingsInFamily
‣ LiePRingsInFamily( L, P )( function )

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> ]

3.4 More details

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

3.4-1 LibraryName
‣ LibraryName( L )( attribute )

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

3.4-2 ShortPresentation
‣ ShortPresentation( L )( attribute )

returns a string exhibiting a short presentation of L.

3.4-3 LibraryConditions
‣ LibraryConditions( L )( attribute )

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.

3.4-4 MinimalGeneratorNumberOfLiePRing
‣ MinimalGeneratorNumberOfLiePRing( L )( attribute )

returns the minimal generator number of L.

3.4-5 PClassOfLiePRing
‣ PClassOfLiePRing( L )( attribute )

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> 

3.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.

3.5-1 LiePRingsDim7ByFile
‣ LiePRingsDim7ByFile( nr )( function )

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

3.5-2 LiePRingsDim7ByFile
‣ LiePRingsDim7ByFile( nr, P )( function )

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> ]

3.6 Dimension 8 and maximal class

Recently, Lee and Vaughan-Lee [LV22] 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.

3.6-1 LiePRingsByLibraryMC8
‣ LiePRingsByLibraryMC8( )( function )

returns a list of 69 generic Lie p-rings.

3.6-2 LiePRingsInFamilyMC8
‣ LiePRingsInFamilyMC8( L, P )( function )

returns the isomorphism types of Lie p-rings in the family defined by the generic Lie p-ring L for a fixed prime P with P ≥ 5.

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

generated by GAPDoc2HTML