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