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.
‣ 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.
‣ 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> ]
‣ 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 ]
‣ 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).
‣ 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
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 ) | ( 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> ]
Let L be a Lie p-ring from the database. Then the following additional attributes are available.
‣ LibraryName( L ) | ( attribute ) |
returns a string with the name of L in the database. See p567.pdf for further background.
‣ ShortPresentation( L ) | ( attribute ) |
returns a string exhibiting a short presentation of L.
‣ 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.
‣ MinimalGeneratorNumberOfLiePRing( L ) | ( attribute ) |
returns the minimal generator number of L.
‣ 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>
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 ) | ( function ) |
returns the generic Lie p-rings in file number nr.
‣ 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> ]
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.
‣ LiePRingsByLibraryMC8( ) | ( function ) |
returns a list of 69 generic Lie p-rings.
‣ 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.
generated by GAPDoc2HTML