CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
<Chapter><Heading> Cohomology ring structure</Heading>
2
3
<Table Align="|l|" >
4
5
<Row>
6
<Item>
7
<Index> IntegralCupProduct
8
</Index>
9
<C>IntegralCupProduct(R,u,v,p,q) </C>
10
<C> IntegralCupProduct(R,u,v,p,q,P,Q,N) </C>
11
<P/>
12
(Various functions used to construct the cup product
13
are also <URL Text="available"> CR_functions.html</URL>.)
14
<P/>
15
16
Inputs a <M>ZG</M>-resolution <M>R</M>, a vector <M>u</M> representing an
17
element in <M>H^p(G,Z)</M>, a vector <M>v</M> representing an element in
18
<M>H^q(G,Z)</M> and the two integers <M>p,q</M> &tgt;<M> 0</M>.
19
It returns a vector <M>w</M> representing the cup product <M>u\cdot v</M>
20
in <M>H^{p+q}(G,Z)</M>. This product is associative and
21
<M>u\cdot v = (-1)pqv\cdot u</M> .
22
It provides <M>H^\ast(G,Z)</M> with the structure of an
23
anti-commutative graded ring. This function implements the
24
cup product for
25
characteristic 0 only.
26
<P/>
27
The resolution <M>R</M> needs a contracting homotopy.
28
<P/>
29
To save the function from having to calculate the abelian groups
30
<M>H^n(G,Z)</M> additional input variables can be used in the form
31
<M>IntegralCupProduct(R,u,v,p,q,P,Q,N)</M> , where
32
33
<List>
34
<Item>
35
<M>P</M> is the output of the command <M>CR_CocyclesAndCoboundaries(R,p,true)</M>
36
</Item>
37
<Item>
38
<M>Q</M> is the output of the command <M>CR_CocyclesAndCoboundaries(R,q,true)</M></Item>
39
<Item><M>N</M> is the output of the command
40
<M>CR_CocyclesAndCoboundaries(R,p+q,true)</M> .
41
</Item>
42
</List>
43
</Item>
44
</Row>
45
46
<Row>
47
<Item>
48
<Index> IntegralRingGenerators</Index>
49
<C>IntegralRingGenerators(R,n) </C>
50
<P/>
51
52
Inputs at least <M>n+1</M> terms of a <M>ZG</M>-resolution and integer
53
<M>n</M>&tgt; <M>0</M>. It returns a minimal list of cohomology classes in
54
<M>H^n(G,Z)</M> which, together with all cup products of lower degree
55
classes, generate the group <M>H^n(G,Z)</M> .
56
<P/>
57
(Let <M>a_i</M> be the <M>i</M>-th canonical generator of the
58
<M>d</M>-generator abelian group <M>H^n(G,Z)</M>. The cohomology class
59
<M>n_1a_1 + ... +n_da_d</M> is represented by the integer vector
60
<M>u=(n_1, ..., n_d)</M>. )
61
</Item>
62
</Row>
63
64
<Row>
65
<Item>
66
<Index> ModPCohomologyGenerators</Index>
67
<C>ModPCohomologyGenerators(G,n) </C>
68
<C>ModPCohomologyGenerators(R) </C>
69
<P/>
70
71
Inputs either a <M>p</M>-group <M>G</M> and positive integer <M>n</M>, or
72
else <M>n</M> terms of a minimal <M>Z_pG</M>-resolution <M>R</M> of <M>Z_p</M>.
73
It returns a pair whose first entry is a minimal set of homogeneous generators for
74
the cohomology ring <M>A=H^*(G,Z_p)</M> modulo all elements
75
in degree greater than <M>n</M>. The second entry of the pair is a function <M>deg</M> which, when applied to a minimal generator, yields its degree.
76
<P/>
77
WARNING: the following rule must be applied when multiplying generators <M>x_i</M>
78
together. Only products of the form <M>x_1*(x_2*(x_3*(x_4*...)))</M> with <M>deg(x_i) \le deg(x_{i+1})</M> should be computed (since the
79
<M>x_i</M> belong to a structure constant algebra with only a partially
80
defined structure constants table).
81
82
</Item>
83
</Row>
84
85
<Row>
86
<Item>
87
<Index> ModPCohomologyRing</Index>
88
<C>ModPCohomologyRing(G,n) </C>
89
<C>ModPCohomologyRing(G,n,level) </C>
90
<C>ModPCohomologyRing(R) </C>
91
<C>ModPCohomologyRing(R,level)</C>
92
<P/>
93
94
95
Inputs either a <M>p</M>-group <M>G</M> and positive integer <M>n</M>, or
96
else <M>n</M> terms of a minimal <M>Z_pG</M>-resolution <M>R</M> of <M>Z_p</M>.
97
It returns the cohomology ring <M>A=H^*(G,Z_p)</M> modulo all elements
98
in degree greater than <M>n</M>.
99
<P/>
100
The ring is returned as a structure constant algebra <M>A</M>.
101
<P/>
102
The ring <M>A</M> is graded. It has a component <M>A!.degree(x)</M>
103
which is a function returning the degree of each (homogeneous) element
104
<M>x</M> in <M>GeneratorsOfAlgebra(A)</M>.
105
106
<P/> An optional input variable "level"
107
can be set to one of the strings "medium" or "high". These settings
108
determine parameters in the algorithm. The default setting is "medium".
109
110
<P/> When "level" is set to "high" the ring <M>A</M> is returned with a component <M>A!.niceBasis</M>. This component is a pair <M>[Coeff,Bas]</M>. Here
111
<M>Bas</M> is a list of integer lists; a "nice" basis for the vector space <M>A</M> can be constructed using the command <M>List(Bas,x->Product(List(x,i->Basis(A)[i]))</M>.
112
The coefficients of the canonical basis element <M>Basis(A)[i]</M> are stored as <M>Coeff[i]</M>.
113
114
<P/>
115
If the ring <M>A</M> is computed using the setting "level"="medium" then the component <M>A!.niceBasis</M> can be added to <M>A</M> using the command
116
<M> A:=ModPCohomologyRing_part_2(A) </M>.
117
</Item>
118
</Row>
119
120
121
122
<Row>
123
<Item>
124
<Index> ModPRingGenerators</Index>
125
<C>ModPRingGenerators(A) </C>
126
<P/>
127
128
Inputs a mod <M>p</M> cohomology ring <M>A</M>
129
(created using the preceeding function). It returns a minimal
130
generating set for the
131
ring <M>A</M>. Each generator is homogeneous.
132
</Item>
133
</Row>
134
135
<Row>
136
<Item>
137
<C>Mod2CohomologyRingPresentation(G) </C>
138
<C>Mod2CohomologyRingPresentation(G,n) </C>
139
<C>Mod2CohomologyRingPresentation(A) </C>
140
<C>Mod2CohomologyRingPresentation(R)</C>
141
142
<P/>
143
144
When applied to a finite <M>2</M>-group <M>G</M> this function returns a presentation for the mod 2 cohomology ring <M>H^*(G,Z_2)</M>. The Lyndon-Hochschild-Serre spectral sequence is used to prove that the presentation is correct.
145
146
<P/>
147
When the function is applied to a <M>2</M>-group <M>G</M> and positive integer <M>n</M> the function first constructs <M>n</M> terms of a free <M>Z_2G</M>-resolution <M>R</M>, then constructs the finite-dimensional graded algebra
148
<M>A=H^(*\le n)(G,Z_2)</M>, and finally uses <M>A</M> to approximate
149
a presentation for <M>H^*(G,Z_2)</M>. For "sufficiently large" the approximation will be a correct presentation for <M>H^*(G,Z_2)</M>.
150
151
<P/> Alternatively, the function can be applied directly to either the resolution <M>R</M> or graded algebra <M>A</M>.
152
153
<P/>This function was written by <B>Paul Smith</B>. It uses the Singular commutative algebra package to handle the Lyndon-Hochschild-Serre spectral sequence.
154
</Item>
155
</Row>
156
157
158
</Table>
159
</Chapter>
160
161
162
163