|
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
This section describes Magma functions for computing the first
cohomology group of a finite group with coefficient
in a finite (not necessarily abelian) group.
These functions are based on [Hal05].
Let Γbe a group.
A group A on which Γacts by group automorphisms from the right,
is called a Γ-group.
Given a Γ-group A, define
H0(Γ, A) := { a∈A | aσ = a (for all ) σ∈Γ}.
A 1-cocycle of Γon A is a map
cocα: Γ-> A, σ|-> cocασ,
such that
cocαστ = (cocασ)τ cocατ
for all σ, τ∈Γ.
Two cocycles cocα, cocβon A are called
cohomologous (with respect to a)
if there exists a∈A,
such that cocβσ = a - σ .cocασ .a for
all σ∈Γ.
Note that being cohomologous is an equivalence relation.
We denote by Z1(Γ, A) the set of all 1-cocycles of Γon A.
We denote by [cocα] the equivalence class of cocαand
by H1(Γ, A) the set of equivalence classes of 1-cocycles.
Z1(Γ, A) and H1(Γ, A) are pointed sets.
The constant map triv : σ|-> 1 is the distinguished element of
Z1(Γ, A), called the trivial 1-cocycle.
Its cohomology class is the distinguished element of H1(Γ, A).
A twisted form Acocβof A by the cocycle cocβ∈Z1(Γ, A)
is the same group A but with a different action of Γon it, given by
a * σ:= aσcocασ
for σ∈Γand a∈A.
Subsections
This section describes intrinsics dealing with cocycles and the first cohomology.
Given a group A and a group Γacting on it by the map action,
return the object of type GGrp, which is the Group A together
with this particular action of Γ. The map action must be a
homomorphism from Γto the automorphism group of A.
If B is a normal subgroup of A and normalised by the action
of Γon A (thus a Γ-group itself), then the action of
Γon A induces in the natural way to A/B. It is possible
to create such a group:
Given a Γ-group A and a normal subgroup B normalised by
the action of Γ, return the induced Γ-group A/B.
Let Γact on A by conjugation:
> A := SymmetricGroup(4);
> Gamma := sub<A|(1,2,3), (1,2)>;
> action := hom< Gamma -> Aut(A) |
> g :-> iso< A -> A | a :-> a^g, a :-> a^(g^-1) > >;
> A := GammaGroup( Gamma, A, action );
> A;
Gamma-group: Symmetric group acting on a set of cardinality 4
Order = 24 = 2^3 * 3
(1, 2, 3, 4)
(1, 2)
Gamma-action: Mapping from: GrpPerm: $, Degree 4 to
Set of all automorphisms of GrpPerm: $, Degree 4, Order 2^3 * 3
given by a rule [no inverse]
Gamma: Permutation group acting on a set of cardinality 4
(1, 2, 3)
(1, 2)
>
and B be a normal subgroup of A:
> B := AlternatingGroup(4);
> AmodB := InducedGammaGroup( A, B );
> AmodB;
Gamma-group: Symmetric group acting on a set of cardinality 2
Order = 2
(1, 2)
(1, 2)
Gamma-action: Mapping from: GrpPerm: $, Degree 4, Order 2 * 3 to
Set of all automorphisms of GrpPerm: $, Degree 2, Order 2
given by a rule [no inverse]
Gamma: Permutation group acting on a set of cardinality 4
Order = 6 = 2 * 3
(1, 2, 3)
(1, 2)
Induced from another Gamma-group
>
Returns true if the group B is normalised by the action action, where
action is as above.
Returns true iff the Γ-group AmodB was created as an induced Γ-group.
If it is, then the Γ-groups A, B, the projection and
representative maps are returned as well.
Returns the group A as a Grp object to be used in Magma.
Returns the action of Γon A as a map.
Returns the group Γacting on A.
OneCocycle(A, alpha) : GGrp, Map[Grp,Grp] -> OneCoC
Check: BoolElt Default: true
If the map α:Γ-> A or the sequence imgs of images of the generators
Γ.1, ..., Γ.n defines a 1-cocycle, return the 1-cocycle.
By default, the map is checked to define a 1-cocycle. If it doesn't,
OneCocycle will abort with an error.
This check can be disabled by setting the optional argument Check to false.
Return the trivial 1-cocycle.
IsOneCocycle(A, alpha) : GGrp, Map[Grp,Grp] -> BoolElt, OneCoC
Return true if the map α:Γ-> A or the sequence imgs of
images of the generators Γ.1, ..., Γ.n defines a 1-cocycle
and false otherwise. If true, return the cocycle as the second argument.
Note that IsOneCocycle does not abort with an error in contrast to OneCocycle
if the map does not define a cocycle.
Return true if and only if the 1-cocycles αand βare cohomologous.
If they are, return the intertwining element as the second return value.
Return the cohomology class of the 1-cocycle α.
InducedOneCocycle(A, B, alpha) : GGrp, Grp, OneCoC -> OneCoC
Given a 1-cocycle on A, return the induced 1-cocycle on AmodB. The
second version will generate the induced Γ-group A/B first.
OnlyOne: BoolElt Default: false
Given a 1-cocycle on an induced Γ-group A/B, return the
set of all non-cohomologous 1-cocycles on A, which induce to α.
If the optional argument OnlyOne is true, the set will
contain at most one 1-cocycle.
If αis not extendible, the returned set is empty.
Given a 1-cocycle on an induced Γ-group A/B, return the
the set of all non-cohomologous 1-cocycles on A, which induce to a cocycle
in the cohomology class of α. If no such cocycles on A
exist, the returned set is empty.
Return the Γ-group on which αis defined.
Return the Map object corresponding to α.
Given a finite group A and an integer n (currently restricted to
being 1) return the n-th cohomology group Hn(Γ, A). Since
the group A is not assumed to be abelian, only n=0, 1 can be used.
Currently, only n=1 implemented. (The zero cohomology of A
is the subgroup of A centralised by Γand can be
constructed using group theoretical methods available in Magma.)
Return the first cohomology H1(Γ, A).
as a set of representatives of all cohomology classes.
If the group A is abelian, existing code by Derek Holt is
used (see Chapter COHOMOLOGY AND EXTENSIONS).
Otherwise use [Hal05].
Given the Γ-group A and a 1-cocycle αon it, return
the twisted group Aα.
First, we create the group A=D8. The returned group
is the usual permutation group on the octagon. Γis
the Normaliser of A in S8 and is acting by conjugation.
> A := DihedralGroup(8);
> Gamma := Normaliser(Sym(8),A);Gamma;
Permutation group Gamma acting on a set of cardinality 8
Order = 32 = 2^5
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 8)(2, 7)(3, 6)(4, 5)
(2, 4)(3, 7)(6, 8)
> action := hom< Gamma -> Aut(A) |
> g :-> iso< A -> A | a :-> a^g, a :-> a^(g^-1) > >;
> A := GammaGroup( Gamma, A, action );
Now let B be the center of A and create the
induced Γ-group A/B:
> B := Center(Group(A));
> AmodB := InducedGammaGroup(A, B);
Create the trivial 1-cocycle on A/B and compute
its cohomology class:
> triv := TrivialOneCocycle(AmodB);
> CohomologyClass( triv );
{@
One-Cocycle
defined by [
Id($),
Id($),
Id($)
],
One-Cocycle
defined by [
Id($),
(1, 4)(2, 7)(3, 8)(5, 6),
(1, 4)(2, 7)(3, 8)(5, 6)
],
One-Cocycle
defined by [
(1, 4)(2, 7)(3, 8)(5, 6),
Id($),
(1, 4)(2, 7)(3, 8)(5, 6)
],
One-Cocycle
defined by [
(1, 4)(2, 7)(3, 8)(5, 6),
(1, 4)(2, 7)(3, 8)(5, 6),
Id($)
]
@}
Pick one of the cocycles in this class
and compute the intertwining element:
> alpha := Random($1);alpha;
One-Cocycle
defined by [
(1, 4)(2, 7)(3, 8)(5, 6),
(1, 4)(2, 7)(3, 8)(5, 6),
Id($)
]
> bo, a := AreCohomologous(alpha,triv);
> bo; a;
true
(1, 5)(2, 8)(3, 7)(4, 6)
Now create another cocycle on A/B and extend it to A:
> alpha := OneCocycle( AmodB,
> [Group(AmodB)| (1, 7, 4, 2)(3, 5, 8, 6),
> (1, 2, 4, 7)(3, 6, 8, 5),
> 1 ] );
> ExtendedOneCocycle(alpha);
{
One-Cocycle
defined by [
(1, 4, 7, 2, 5, 8, 3, 6),
(1, 2, 3, 4, 5, 6, 7, 8),
Id($)
],
One-Cocycle
defined by [
(1, 8, 7, 6, 5, 4, 3, 2),
(1, 6, 3, 8, 5, 2, 7, 4),
Id($)
]
}
Pick a cocycle βin this set and check if it really induces to
α:
> beta := Rep($1);
> InducedOneCocycle(AmodB, beta) eq alpha;
true
Finally, create the twisted group Aβ:
> A_beta := TwistedGroup(A, beta);
> A_beta;
Gamma-group: Permutation group acting on a set of cardinality 8
Order = 16 = 2^4
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 8)(2, 7)(3, 6)(4, 5)
Gamma-action: Mapping from: GrpPerm: $, Degree 8, Order 2^5 to
Set of all automorphisms of GrpPerm: $, Degree 8, Order 2^4
given by a rule [no inverse]
Gamma: Permutation group acting on a set of cardinality 8
Order = 32 = 2^5
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 8)(2, 7)(3, 6)(4, 5)
(2, 4)(3, 7)(6, 8)
>
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|