|
Before invoking the functions in this section, it is necessary to first
invoke the function CohomologyGroup(CM, n) for the appropriate n.
For n = 0, 1 or 2, an n-cocycle is a function
from Gn to the module M, where elements of Gn are represented
as an n-tuple < g1, ..., gn > of group elements,
for which a certain relation is satisfied.
These relations are consistent with the Magma convention of the use of
right actions, and so they are slightly different from those encountered
in many textbooks, where left actions are more common.
0-, 1- and 2-cocycles z, o and t, respectively, satisfy the
following relations for all g, h, ∈G.
z(< >)g = z(< >);
o(< gh >) = o(< g >)h + o(< h >);
t(< gh, k >) + t(< g, h >)k
= t(< g, hk >) + t(< h, k >) .
ZeroCocycle(CM, s) : ModCoho, ModTupRngElt -> UserProgram
Given a cohomology module (CM) constructed from the K[G]-module M
and an element s of the cohomology group H0(G, M) associated with
(CM), this function returns the corresponding zero-cocycle. The
zero-cocycle is returned as a function of the 0-tuple < >,
of which the image is an element of the fixed point submodule of M.
The argument s may either be given as an element of H0(G, M) or
as a sequence of integers defining such an element.
Given a cohomology module (CM) constructed from the K[G]-module M
and a zero-cocycle given as a function of the 0-tuple < >,
of which the image is an element of the fixed point submodule of M,
this function returns the corresponding element of H0(G, M).
Hence this function is the inverse function to ZeroCocycle.
OneCocycle(CM, s) : ModCoho, ModTupRngElt -> UserProgram
Given a cohomology module (CM) constructed from the K[G]-module M
and an element s of the cohomology group H1(G, M) associated with
(CM), the function returns a corresponding one-cocycle. The one-cocycle
is returned as a function from G to the module M, where elements
g of G are represented as 1-tuples < g >.
The argument s may either be given as an element of H1(G, M) or as a
sequence of integers defining such an element.
Given a cohomology module (CM) constructed from the K[G]-module M
and a one-cycle s for (CM), specified as a function from G to the
module M (where elements g of G are represented as 1-tuples
< g >), this function returns the corresponding
element of H1(G, M). Thus, the function is the inverse to OneCocycle.
Given a cohomology module (CM) constructed from the K[G]-module M
and a one-cycle s for (CM), specified as a function from G to the
module M (where elements g of G are represented as 1-tuples
< g >), this function determines whether the cocycle is
a 1-coboundary; that is, whether it corresponds to the zero element of
H1(G, M). If so, then it also returns a corresponding 0-cochain
t(< >)
that satisfies s(< g >) = t(< >) -
t(< >)g for all g ∈G.
TwoCocycle(CM, s) : ModCoho, ModTupRngElt -> UserProgram
Given a cohomology module (CM) constructed from the K[G]-module M
and an element s of the cohomology group H2(G, M) associated with
(CM), the function returns a corresponding two-cocycle. The two-cocycle
is returned as a function from G x G to the module M, where
elements of G x G are represented as 2-tuples
< g1, g2 >. The argument s may either be given as an element
of H2(G, M) or as a sequence of integers defining such an element.
Given a cohomology module (CM) constructed from the K[G]-module M
and a two-cycle s for (CM), specified as a function from G x G
to the module M (where elements of G x G are represented as 2-tuples
< g1, g2 >), this function returns the corresponding
element of H2(G, M). Thus, the function is the inverse to TwoCocycle.
Given a cohomology module (CM) constructed from the K[G]-module M
and a two-cycle s for (CM), specified as a function from G to the
module M (where elements of G x G are represented as 2-tuples
< g1, g2 >), this function determines whether the cocycle is
a 2-coboundary; that is, whether it corresponds to the zero element of
H2(G, M). If so, then it also returns a corresponding 1-cochain
t(< g >)
that satisfies s(< g, h >) = t(< g >)h +
t(< h >) - t(< gh >) for all g, h ∈G.
An easy example where the module is an abelian group defined by its invariant
factors.
> G := PermutationGroup< 4 | (1,2,3,4) >;
> invar:=[2,4,4];
> mats := [ Matrix(Integers(),3,3,[1,2,0,0,0,1,0,1,2]) ];
> X := CohomologyModule(G,invar,mats);
> C := CohomologyGroup(X,0);
> C;
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 4 ]
> ZeroCocycle(X,[3]);
function(tp) ... end function
> $1(X);
(-1 -1 -3)
> IdentifyZeroCocycle(X,func<x|-$1>);
(1)
> C := CohomologyGroup(X,1);
> C;
Full Quotient RSpace of degree 2 over Integer Ring
Column moduli:
[ 2, 2 ]
> z1 := OneCocycle(X,[1,0]);
> z2 := OneCocycle(X,[0,1]);
> z1(<G.1>);
(1 0 0)
> z := func< x | z1(x)+z2(x) >;
> IdentifyOneCocycle(X,z);
(1 1)
> C := CohomologyGroup(X,2);
> C;
Full Quotient RSpace of degree 1 over Integer Ring
Column moduli:
[ 4 ]
> z1 := TwoCocycle(X,[1]);
> z1(<G.1,G.1^2>);
(1 1 3)
> z := func< xy | z1(xy)+z1(xy) >;
> IdentifyTwoCocycle(X,z);
(2)
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|