1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#####################################################################
InstallGlobalFunction(ModPCohomologyRing,
function(arg)
local A,R;
if Length(arg)=1 then
A:=ModPCohomologyRing_part_1(arg[1]);fi;
if Length(arg)=2 then
A:=ModPCohomologyRing_part_1(arg[1],arg[2]); fi;
if Length(arg)=3 then
if IsString(arg[3]) then
A:=ModPCohomologyRing_part_1(arg[1],arg[2],arg[3]);
else
if IsGroup(arg[1]) then
R:=ResolutionPrimePowerGroup(SylowSubgroup(arg[1],arg[2]),1+arg[3]);
A:=ModPCohomologyRing_alt(arg[1],R);
else
if IsInt(arg[3]) then
A:=HAP_FunctorialModPCohomologyRing(arg[1],arg[2],1+arg[3]);
else
A:=HAP_FunctorialModPCohomologyRing(arg[1],arg[2],arg[3]);
fi;
fi;
fi;
fi;
if arg[Length(arg)]="high" or arg[Length(arg)]="low" then
A:=ModPCohomologyRing_part_2(A); fi;
return A;
end);
#####################################################################
#####################################################################
InstallGlobalFunction(ModPCohomologyGenerators,
function(arg)
local A;
if IsHapResolution(arg[1]) then
A:=ModPCohomologyRing_part_1(arg[1],"low");fi;
if IsGroup(arg[1]) then
A:=ModPCohomologyRing_part_1(arg[1],arg[2],"low");fi;
return [ModPRingGenerators(A),A!.degree];
end);
#####################################################################
|