Given a cohomology module for a group G and a subgroup H of G, form the restriction of the input cohomology module to H.Note that, denoting this restriction by CMH, we can define the restriction maps on the first and second cohomology groups of CM by
> res1 := hom<CohomologyGroup(CM, 1) -> CohomologyGroup(CMH, 1) | > x:->IdentifyOneCocycle(CMH,OneCocycle(CM,x)) >; > res2 := hom<CohomologyGroup(CM, 2) -> CohomologyGroup(CMH, 2) | > x:->IdentifyTwoCocycle(CMH,TwoCocycle(CM,x)) >;
> G := GL(3, 2); > M := GModule(G); > H := Sylow(G, 2); > CG := CohomologyModule(G, M); > CH := Restriction(CG, H);
We first consider H1(G, M).
> H1G := CohomologyGroup(CG, 1); H1G; Full Vector space of degree 1 over GF(2) > H1H := CohomologyGroup(CH, 1); H1H; Full Vector space of degree 2 over GF(2) > res1 := hom<H1G -> H1H | x:->IdentifyOneCocycle(CH,OneCocycle(CG,x)) >; > res1(H1G.1); (1 1)
We now consider H2(G, M).
> H2G := CohomologyGroup(CG, 2); H2G; Full Vector space of degree 1 over GF(2) > H2H := CohomologyGroup(CH, 2); H2H; Full Vector space of degree 3 over GF(2) > res2 := hom<H2G -> H2H | x:-> IdentifyTwoCocycle(CH,TwoCocycle(CG,x)) >; > res2(H2G.1); (0 0 1)
In the case of a zero restriction, we can find a corresponding coboundary.
> H:=sub< G | G.2, G.2^(G.1*G.2*G.1) >; > #H; 21 > CH := Restriction(CG, H); > CohomologyGroup(CH, 1); CohomologyGroup(CH, 2); Full Vector space of degree 0 over GF(2) Full Vector space of degree 0 over GF(2) > t:=TwoCocycle(CG,[1]); > isc, o := IsTwoCoboundary(CH, t); > isc; true > forall{ <h,k> : h in H, k in H | t(<h,k>) eq > o(<h>)*MatrixOfElement(CH,k) + o(<k>) - o(<h*k>) }; true