# [ dimension, m, c, # short presentation, # structure constants of pcp, # conditions,,name]
BindGlobal( "LiePRingByData", function( dim, l )
local r, S, L, cond, i;
# generate some info
cond := []; if IsBound(l[6]) then cond[1] := l[6]; else cond[1] := ""; fi; if IsBound(l[7]) then cond[2] := l[7]; else cond[2] := ""; fi; if IsBound(l[9]) then cond[3] := l[9]; fi;
# create a Lie p-ring
r := VarsOfSCTab( l[5] );
i := RingInvariantsByData( cond[1], l[1], r );
S := rec( dim := dim, prime := Indeterminate(Integers,"p"),
tab := l[5], param := r, ring := i );
L := CreateLiePRing(S);
SetIsLiePRing(L, true);
BindGlobal( "NumberOfLiePRings", function( arg )
local dim, P;
dim := arg[1];
# if a prime is given if Length(arg) = 2then
P := arg[2]; if not IsPrimeInt(P) or P=2then return fail; fi; if P < 7then
Print("prime must be at least 7\n"); elif dim > 7then
Print("dimension must be at most 7\n"); else
return NumberSmallGroups( arg[2]^dim ); fi; fi;
# otherwise return the number of generic Lie $p$-rings if dim = 1then
return 1; elif dim = 2then
return 2; elif dim = 3then
return 5; elif dim = 4then
return 15; elif dim = 5then
return 75; elif dim = 6then
return 542; elif dim = 7then
return 4773; fi; end );
## ## dim ## dim, P ## dim, gen, cl ## dim, P, gen, cl ##
InstallGlobalFunction( LiePRingsByLibrary, function( arg )
local dim, lie, spe;
# get the dimension and the Lie p-rings
dim := arg[1];
lie := List([1..NumberOfLiePRings(dim)],
n -> LiePRingByData( dim, LIE_DATA[dim][n] ) );
# consider cases if Length(arg) = 1then
return lie; elif Length(arg) = 2then
spe := List( lie, L -> LiePRingsInFamily( L, arg[2] ) );
spe := Filtered(spe, l -> l <> fail );
return Flat(spe); elif Length(arg) = 3then
lie := Filtered(lie, x -> MinimalGeneratorNumberOfLiePRing(x)=arg[2]);
lie := Filtered(lie, x -> PClassOfLiePRing(x)=arg[3]);
return lie; elif Length(arg) = 4then
lie := Filtered(lie, x -> MinimalGeneratorNumberOfLiePRing(x)=arg[3]);
lie := Filtered(lie, x -> PClassOfLiePRing(x)=arg[4]);
spe := List( lie, L -> LiePRingsInFamily( L, arg[2] ) );
spe := Filtered(spe, l -> l <> fail );
return Flat(spe); fi;
end );
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.