|
|
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 Hn(G, M).
For modules defined over the ring of integers only, n may also be equal to 3.
(In this case, H3(G, M) is computed as the second cohomology group of M
regarded as a module over Q/Z.)
If the group used to define (CM) was a finitely presented group, then n may
only be equal to 0 or 1. Note that (CM)
must be a module returned by invoking CohomologyModule.
Following on from example H75E3 above:
> G:=CyclicGroup(4);
> mats := [ Matrix(Integers(),2,2,[1,2,1,3]) ];
> invar := [2,4];
> CM := CohomologyModule(G,invar,mats);
> CohomologyGroup(CM,0);
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 2 ]
> CohomologyGroup(CM,1);
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 2 ]
> CohomologyGroup(CM,2);
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 2 ]
Following on from example H75E4 above:
> G := Group<x,y | x^2,y^3,(x*y)^7 >;
> L := LowIndexSubgroups(G, <7,7>);
> Q := CosetImage(G,L[1]);
> PM := PermutationModule(Q, Integers());
> cons := Constituents(PM);
> mats := ActionGenerators(cons[2]);
> M := GModule(G,mats);
> CM := CohomologyModule(G,M);
> CohomologyGroup(CM,0);
Full Quotient RSpace of degree 0 over Integer Ring
Column moduli:
[ ]
> CohomologyGroup(CM,1);
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 7 ]
> CohomologyGroup(CM,2);
Runtime error: Second cohomology groups are not implemented for GrpFP
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 Hn(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 that function, it does
not enable the user to compute with explicit extensions and
two-cocycles.
Note that there are some alternative functions for performing these calculations
described in other manual chapters.
For K[G]-module M (with K a finite field and G a finite group),
compute and return the K-dimension of the cohomology group Hn(G, M)
for n ≥0. For n=0 and 1, this is carried out by using the function
CohomologicalDimension(CM,n) just described. For n ≥2, it is done
recursively using projective covers and dimension shifting to reduce to the
case n=1.
See Section Projective Indecomposable Modules in
Chapter MODULES OVER AN ALGEBRA AND GROUP REPRESENTATIONS for further details and examples.
For K[G]-module M (with K a finite field and G a finite group),
compute and return the sequence of K-dimensions of the cohomology groups
Hk(G, M) for 1 ≤k ≤n. On account of the recursive method used, this
is quicker than computing them all individually.
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. Note that K must be a finite field of
prime order. 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 data structure.
This function returns the
dimension of the first cohomology group of the F-module MF, where F
is a finitely presented group, f is an epimorphism from F onto a
finite group G and M is a G-module that has been lifted to MF.
Again, this function is generally much faster, since it uses sparse
matrices.
This function is equivalent to
CohomologicalDimension(G, M, 1) where
M := PermutationModule(P, K) and
P is defined by the images of generators of G under the map f, but
is generally much faster, since it uses sparse matrices and
avoids the explicit construction of the permutation module.
H1DimensionExteriorSquare(G, f, K) : GrpFP, Map, Rng -> RngIntElt
These functions are equivalent to
CohomologicalDimension(G, M, 1) where
M is the symmetric square or exterior square, respectively, of
PermutationModule(P, R), and
P is defined by the images of generators of G under the map f.
But the functions are generally much faster, since they use
sparse matrices and avoid the explicit construction of the modules.
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 H1(G, M) and H2(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 H1(G, M) and H2(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)
We do a similar comparison with Example H75E2 above.
> G := ASL(3,5);
> N := pCore(G,5);
> M := GModule(G,N);
> CM := CohomologyModule(G,M);
> time [CohomologyGroup(CM,i) : i in [0..2]];
[
Full Vector space of degree 0 over GF(5),
Full Vector space of degree 1 over GF(5),
Full Vector space of degree 1 over GF(5)
]
Time: 46.940
> CM := CohomologyModule(G,M);
> time [CohomologicalDimension(CM,i) : i in [0..2]];
[ 0, 1, 1 ]
Time: 0.320
In the case of Ω^ - (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]
|
|