[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Calculating Cohomology

CohomologyGroup(CM, n) : ModCoho, RngIntElt -> ModTupRng
Given a cohomology module CM for the group G acting on the module M and a non-negative integer n taking one of the values 0, 1 or 2, this function returns the cohomology group H^n(G, M). Note that CM must be either the module returned by invoking CohomologyModule(G, M), or the module defined by the action of mats on the finite abelian group in CohomologyModule(G, invar, mats).
CohomologicalDimension(CM, n) : ModCoho, RngIntElt -> RngIntElt
Given a cohomology module CM for the group G acting on the module M defined over a finite field K and a non-negative integer n taking one of the values 0, 1 or 2, this function returns the dimension of H^n(G, M) over K. Note that this function may only be applied to the module returned by a call to CohomologyModule(G, M), where M is a module over a finite field K. When n = 2, this function is faster and may be applied to much larger examples than CohomologyGroup(CM, n) but, unlike CohomologyGroup(CM, n), it does not enable the user to compute with explicit extensions and two-cocycles.
CohomologicalDimension(G, M, n) : GrpPerm, ModRng, RngIntElt -> RngIntElt
Given the permutation group G, the K[G]-module M and an integer n (equal to 1 or 2), return the dimension of the n-th cohomology group of G acting on M. This function invokes Derek Holt's original C cohomology code (see [Hol85b]). In some cases it will be faster than the function that uses the cohomology module datastructure.

Example GrpCoh_coho-example (H23E2)

(1)
We examine the first and second cohomology groups of the group A_8.

> G := Alt(8);
> M := PermutationModule(G, GF(3));

We first calculate the dimensions of H^1(G, M) and H^2(G, M) using the old functions.

> time CohomologicalDimension(G, M, 1);
0
Time: 0.020
> time CohomologicalDimension(G, M, 2);
1
Time: 0.020

We now recalculate the dimensions of H^1(G, M) and H^2(G, M) using the new functions.

> X := CohomologyModule(G, M);
> time CohomologicalDimension(X, 1);
0
Time: 0.020
> time CohomologicalDimension(X, 2);
1
Time: 0.920
> X := CohomologyModule(G, M);
> time C:=CohomologyGroup(X, 2);
Time: 4.070
> C;
Full Vector space of degree 1 over GF(3)

Example GrpCoh_more-difficult (H23E3)

(2)
In the case of Omega^ - (8, 3) acting on its natural module, the new function succeeds, but the old function does not.

> G := OmegaMinus(8, 3);
> M := GModule(G);
> X := CohomologyModule(G, M);
> time CohomologicalDimension(X, 2);
2
Time: 290.280
> phi, P := PermutationRepresentation(G);
> MM := GModule(P, [ActionGenerator(M, i): i in [1..Ngens(G)]] );

> time CohomologicalDimension(P, MM, 2); Out of space. >> time CohomologicalDimension(P, MM, 2); ^ Runtime error in 'CohomologicalDimension': Cohomology failed


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]