Chapter=Cohomology forpcp->
<Heading>Cohomology for pcp-first and second cohomology group for a pcp-group <M>U</M> and a finite
The &GAP; 4 package &Polycyclic; provides methods to compute the
first and second cohomology group for a pcp-group <M>U</M> and a finite
dimensional <M>&ZZ; U</M> or <M>FU</M> module <M>A</M> where <M>F</M> is a finite field. The
algorithm for determining the first cohomology group is outlined in
<Cite Key="dimensional M&ZZ; </ or <M></M>module MA/> <M><>is finite .
<P/>
As a preparation for the cohomology computation, we introduce the
cohomology records. These records provide the technical setup for "/.
java.lang.StringIndexOutOfBoundsException: Range [14, 3) out of bounds for length 28
Then this createsa which be used input the
cohomology computations java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 46
<ManSection>
<Func Name="CRRecordByMats" Arg="U, mats"/>
<Description>
creates an external module. Let <normal elementary or free abelian ofU< java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 80
list of matrices <A>mats</A> on a vector space of the form <M>&ZZ;^n</M> or <M>\mathbb{F}_p^n</M>.
Then this function creates a record cohomology computations.
cohomology computations.
</Description>
</ManSection>
<ManSection>
<Func Name="java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 5
<Name"RRecordByPcp=U />
<Description>
creates java.lang.StringIndexOutOfBoundsException: Range [1, 11) out of bounds for length 8
normal elementaryor free abelian normal subgroup of <A>U/> or let <A>pcp</A>
be a pcp of a normal elementary of free abelian subfactor of <A>U</A>. Then
this function creates a record which can be used
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
P>
Thejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
<List>
Mark>Af</A</java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 8
a pcp of the left .
>(<A. If internaljava.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 76
APcp(,G(pcp)<A>.
<Item>
Mark><Amats</> <>/> andA></>/java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
<Item>
the matrix action of <A>factor</A> with acting matrices, their inverses
and the identity matrix.
</Item>
<Mark><A>dim</A>
>
Mark<><A></Mark
< <java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
< <Pcp(A<A>or theinput<p<A>
<Item>
the right <Item>
generatorexponents listsand a description for the corresponding
left hand sides.
</Item>
<Mark><A>central</A></Mark>
<Item>
is true, <tem>
forefficiency .
</Item>
</List>
And additionally, if <M>C</M> defines an internal module, then /Item>
<List>
<Mark><A>group</A></Mark>
<Item>
the original group <java.lang.StringIndexOutOfBoundsException: Range [1, 23) out of bounds for length 8
</Item>
<Mark><Aabel"ohomology groups">
<Item>
this is either <A>Pcp(A)</A> or the input <A>pcp</A>.
</Item>
<>A>extension</A></Mark>
<Item>
information on the extension of <A>A</A> by <A>U/A</A>.
</Item>
</List>
</Description>
</ManSection>
Let isthe M>/>-cohomology group.Since <MA/M>is elementary free abelian,
and a <the groups <M>Z^i(U, A)</M> and <M>B^i(U, A)</M> are elementary or free abelian
and by <M>B^i(U, java.lang.StringIndexOutOfBoundsException: Range [6, 18) out of bounds for length 15
is <>i/M>-h group.<><M or freeabelian,
the groups <M>Z^i(U, A)</M> and <M>B^i(U, A)</M> are elementary or free abelian
groups as and weuseanexplicitdescription bases
<P/>
&olycyclic package to compute andand
secondcohomology group for a polycyclic group <A>U</A>. We write all
involved groups additively and we use
for them. Let <M>C</M> be the cohomology record java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0
<M>A</M>.
<P/>
Let <M>f_1, \ldots, f_n</M> be the elements in the entry <M>factor</M> of the
cohomology record <M>C</M>. Then we use the following embedding of the
first to-java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 62
<MZ^(Ujava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
<>
For the second cohomology group we recall that each element of <M>Z^2(U, A)</M>
defines anextended isdefined by in <></; that is,each
of the pc-presentation <M>U/M>given the record <><M.
The extended presentation is defined by tails in <M>A</M>; that is, each
relatorin recordentry M</>is extended by an element of <M>A</M>.
The concatenation of these tails yields the ofthe record entry<M></M>of <MC</M.Weusethese tail
the length the entry <M>relators</M> of <M>C</M>. We use these tail
vectorsto describe <>Z2U A)</><>^2U A)<M> that this
description is dependent on the chosen presentation in <M>C</Mthe factorM>^(,A/ ^2( A)/M>isindependent ofthe presentation.
the factor <M>Z^2(U, A)/ B^2(U, A)</M> is independent of the chosen presentation.
<P/>
The following functions are<P/
and The following functions available compute explicitly first
<ManSection "OneCoboundariesCR"Arg"">
<Func Name"" Arg=C"/>
<Func Name="TwoCoboundariesCR<java.lang.StringIndexOutOfBoundsException: Range [10, 5) out of bounds for length 36
< Name=TwoCocyclesCR"Arg=""
<Func Name="FuncName=OneCohomologyCR Arg="/
<="TwoCohomologyCR"Arg"/>
<>
Thefirstfunctions java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 70
two functions need to describe a factor of additive abelian groups.
They return the following descriptions for these factors.
>
<MarkAgcc/A></ark
<<Mark<A<A>Mark>
the basis of the cocycles of <A>C</A>.
</Item>
<Mark><A>gcb</A <tem>
Item>
tbasis thethe coboundaries of A><A>
</rk>A>gcb/><Mark>
<<java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 28
Itemjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
a description ofthe of bycoboundaries
Usually,However, java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 73
e available in that A</A free abelian
and thus we recordcontains
>
< <MarkA>ens/>/>
>A>gens/A<Mark>
<Item>
</tem>
<<rels/A
<ark<>els/A>/java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
<Item>
relative orders java.lang.StringIndexOutOfBoundsException: Range [6, 23) out of bounds for length 11
</ A>denom/><Mark
<Mark><A>imgs</A></Mark>
<Item>
the images for the elements in <A>gcc</A>.
</Item>
<Mark><A>prei</A></Mark>
<Item>
preimages for the elements in <A>gens</A>.
</Item>
<Mark><A>denom</A></Mark>
<Item>
the kernel of the map; that is, another basis for <A>gcb</A>.
</Item>
</List>
</Item>
</List>
There is an additional function which can be used to compute the
second cohomology group over an arbitrary finitely generated abelian
group. The finitely generated abelian group should be realized as a
factor of a free abelian group modulo a lattice. The function is
called as
</Description>
</ManSection>
<ManSection>
<Func Name="TwoCohomologyModCR" Arg="C, lat"/>
<Description>
where <A>C</A> is a cohomology record and <A>lat</A> is a basis for a sublattice
of a free abelian module. The output format is the same as for
<C>TwoCohomologyCR</C>.
</Description>
</ManSection>
In some cases more information on the first cohomology group is
of interest. In particular, if we have an internal module given and
we want to compute the complements using the first cohomology group,
then we need additional information. This extended version of first
cohomology is obtained by the following functions.
<ManSection>
<Func Name="OneCoboundariesEX" Arg="C"/>
<Description>
returns a record consisting of the entries
<List>
<Mark><A>basis</A><Mark
<<Description>
a /ManSection
</Item<anSection>
<Mark><A>transf</A></Mark>
<Item>
There is a derivation mapping from <M>A</M> to <M>B^1(U,A)</M>. This mapping
is described here as transformation from <M>A</M> to <A>basis</A>.
<Mark><A>fixpts</A></java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 13
<Item>
the fixpoints of <M>A</M>. This is also the kernel of the derivation mapping.
</Item>
</List>
</Description>
</ManSection>
<ManSection>
<Func Name="OneCocyclesEX" Arg="C"/>
<Description>
returns a record consisting of the entries
<List>
<Mark><A>basis</A></Mark>
<Item>
a basis for <M>Z^1(U, A) \leq A^n</M>.
</Item>
<Mark><A>transl</A></Mark>
<Item>
a special solution. This is only of interest in case that <M> classes to <M></M>in M></> heclasses computed over the
an internal module and in this case it gives the translation vector
in <>n/>used corresponding the elements
<M>basis</M>. If <thisiterationmany java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 77
always the zero classes of complements to <M>N</M> in <M>U</M>.)
</Item>
</List>
</Description>
</ManSection>
<ManSection>
<Func Name="OneCohomologyEX" Arg="C"/>
<Description>
returns the combined information on the first cohomology group.
</Description>
</ManSection>
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Extensions and Complements">
<Heading>Extensions and Complements</Heading>
The natural applications of first and second cohomology group is
the determination of extensions and complements. Let <M>C</M> be a
cohomology record.
<ManSection>
<Func Name=" ComplementCR" Arg="C, c"/>
<Description>
returns the complement corresponding to the 1-cocycle <A>c</A>. In the case
that <A>C</A> is an external module, we construct the split extension of <M>U</M>
with <M>A</M> first and then determine the complement. In the case that <A>C</A>
is an internal module, the vector <A>c</A> must be an element of the affine
space corresponding to the complements as described by <C>OneCocyclesEX</C>.
</Description>
</ManSection>
<ManSection>
<Func Name=" ComplementsCR" Arg="C"/>
<Description>
returns all complements using the correspondence to <M>Z^1(U,A)</M>. Further,
this function returns fail, if <M>Z^1(U,A)</M> is infinite.
</Description>
</ManSection>
<ManSection>
<Func Name=" ComplementClassesCR" Arg="C"/>
<Description>
returns complement classes using the correspondence to <M>H^1(U,A)</M>. Further,
this function returns fail, if <M>H^1(U,A)</M> is infinite.
</Description>
</ManSection>
<ManSection>
<Func Name=" ComplementClassesEfaPcps" Arg="U, N, pcps"/>
<Description>
Let <M>N</M> be a normal subgroup of <M>U</M>. This function returns the complement
classes to <M>N</M> in <M>U</M>. The classes are computed by iteration over the
<M>U</M>-invariant efa series of <M>N</M> described by <A>pcps</A>. If at some stage in
this iteration infinitely many complements are discovered, then the function
returns fail. (Even though there might be only finitely many conjugacy
classes of complements to <M>N</M> in <M>U</M>.)
</Description>
</ManSection>
<ManSection>
<Func Name=" ComplementClasses" Arg="[V,] U, N"/>
<Description>
Let <M>N</M> and <M>U</M> be normal subgroups of <M>V</M> with <M>N \leq U \leq V</M>. This
function attempts to compute the <M>V</M>-conjugacy classes of complements to
<M>N</M> in <M>U</M>. The algorithm proceeds by iteration over a <M>V</M>-invariant
efa series of <M>N</M>. If at some stage in this iteration infinitely many
complements are discovered, then the algorithm returns fail.
</Description>
</ManSection>
<ManSection>
<Func Name="ExtensionCR" Arg="C, c"/>
<Description>
returns the extension corresponding to the 2-cocycle <M>c</M>.
</Description>
</ManSection>
<ManSection>
<Func Name="ExtensionsCR" Arg="C"/>
<Description>
returns all extensions using the correspondence to <M>Z^2(U,A)</M>. Further,
this function returns fail, if <M>Z^2(U,A)</M> is infinite.
</Description>
</ManSection>
<ManSection>
<Func Name="ExtensionClassesCR" Arg="C"/>
<Description>
returns extension classes using the correspondence to <M>H^2(U,A)</M>. Further,
this function returns fail, if <M>H^2(U,A)</M> is infinite.
</Description>
</ManSection>
<ManSection>
<Func Name="SplitExtensionPcpGroup" Arg="U, mats"/>
<Description>
returns the split extension of <A>U</A> by the <M>U</M>-module described by <A>mats</A>.
</Description>
</ManSection>
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Constructing pcp groups as extensions">
<Heading>Constructing pcp groups as extensions</Heading>
This section contains an example application of the second cohomology
group to the construction of pcp groups as extensions. The following
constructs extensions of the group of upper unitriangular matrices with
its natural lattice.
<Example><![CDATA[
# get the group and its matrix action
gap> G := UnitriangularPcpGroup(3,0);
Pcp-group ion>
ap> mats :=G!.;
[ [ [ 1, 1n>
[ [ 1, 0, 0 ], [ 0, 1, 1 ], [ 0, 0, 1 ] ],
[ [ 1, 0, 1 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ]< ="ComplementClasses"Arg"[,] U N"/>
# set up the cohomology record
gap>: CRRecordByMatsG,mats;;
#computethe secondcohomologygroup
gap> of <N/M.If at iterationinfinitely many
# H^2(,M)
gap> cc.factor.rels;
[ 2, 0, 0 ]
# constructan whichjava.lang.StringIndexOutOfBoundsException: Range [45, 42) out of bounds for length 64
# infinite/escription>
gap> c := ccjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
[0,0, ,0,0 ,0 ,0,00 ,0, 10 , 1
java.lang.StringIndexOutOfBoundsException: Range [27, 3) out of bounds for length 29
-groupwith orders 0,0,0 ,0
# check that the extension does not split - get the normal subgroup
gap> N := H!.module;
Pcp-group withreturns extensionclassesusingthe to<>^UA<M> Further,
# create the interal module
gap> C := this function returns fail, if <M>H^2(U,A)</M> is infinite.
# use the complements routine
gap> ComplementClassesCR(C);
[ ]
e>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.