File: chap13.html

package info (click to toggle)
gap-hap 1.74%2Bds-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 58,664 kB
  • sloc: xml: 16,678; sh: 197; javascript: 155; makefile: 121; ansic: 47; perl: 24
file content (152 lines) | stat: -rw-r--r-- 18,320 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (HAP commands) - Chapter 13:  Cohomology ring structure</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap13"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap12.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap14.html">[Next Chapter]</a>&nbsp;  </div>

<p id="mathjaxlink" class="pcenter"><a href="chap13_mj.html">[MathJax on]</a></p>
<p><a id="X7A9561E47A4994F5" name="X7A9561E47A4994F5"></a></p>
<div class="ChapSects"><a href="chap13.html#X7A9561E47A4994F5">13 <span class="Heading"> Cohomology ring structure</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap13.html#X7CFDEEC07F15CF82">13.1 <span class="Heading">  </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X8152396B78D7F28C">13.1-1 IntegralCupProduct</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X7F42615F7C10EEA0">13.1-2 IntegralRingGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X7DEFADD17CAA6308">13.1-3 ModPCohomologyGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X796632C585D47245">13.1-4 ModPCohomologyRing</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X8225CCD787C16ECB">13.1-5 ModPRingGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap13.html#X831034A284F3906F">13.1-6 Mod2CohomologyRingPresentation</a></span>
</div></div>
</div>

<h3>13 <span class="Heading"> Cohomology ring structure</span></h3>

<p><a id="X7CFDEEC07F15CF82" name="X7CFDEEC07F15CF82"></a></p>

<h4>13.1 <span class="Heading">  </span></h4>

<p><a id="X8152396B78D7F28C" name="X8152396B78D7F28C"></a></p>

<h5>13.1-1 IntegralCupProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IntegralCupProduct</code>( <var class="Arg">R</var>, <var class="Arg">u</var>, <var class="Arg">v</var>, <var class="Arg">p</var>, <var class="Arg">q</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IntegralCupProduct</code>( <var class="Arg">R</var>, <var class="Arg">u</var>, <var class="Arg">v</var>, <var class="Arg">p</var>, <var class="Arg">q</var>, <var class="Arg">P</var>, <var class="Arg">Q</var>, <var class="Arg">N</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>(Various functions used to construct the cup product are also <span class="URL"><a href="../www/SideLinks/CR_functions.html">available</a></span>.)</p>

<p>Inputs a <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span>, a vector <span class="SimpleMath">u</span> representing an element in <span class="SimpleMath">H^p(G,Z)</span>, a vector <span class="SimpleMath">v</span> representing an element in <span class="SimpleMath">H^q(G,Z)</span> and the two integers <span class="SimpleMath">p,q</span> &gt;<span class="SimpleMath">0</span>. It returns a vector <span class="SimpleMath">w</span> representing the cup product <span class="SimpleMath">u⋅ v</span> in <span class="SimpleMath">H^p+q(G,Z)</span>. This product is associative and <span class="SimpleMath">u⋅ v = (-1)pqv⋅ u</span> . It provides <span class="SimpleMath">H^∗(G,Z)</span> with the structure of an anti-commutative graded ring. This function implements the cup product for characteristic 0 only.</p>

<p>The resolution <span class="SimpleMath">R</span> needs a contracting homotopy.</p>

<p>To save the function from having to calculate the abelian groups <span class="SimpleMath">H^n(G,Z)</span> additional input variables can be used in the form <span class="SimpleMath">IntegralCupProduct(R,u,v,p,q,P,Q,N)</span> , where</p>


<ul>
<li><p><span class="SimpleMath">P</span> is the output of the command <span class="SimpleMath">CR_CocyclesAndCoboundaries(R,p,true)</span></p>

</li>
<li><p><span class="SimpleMath">Q</span> is the output of the command <span class="SimpleMath">CR_CocyclesAndCoboundaries(R,q,true)</span></p>

</li>
<li><p><span class="SimpleMath">N</span> is the output of the command <span class="SimpleMath">CR_CocyclesAndCoboundaries(R,p+q,true)</span> .</p>

</li>
</ul>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCohomologyRings.html">2</a></span> </p>

<p><a id="X7F42615F7C10EEA0" name="X7F42615F7C10EEA0"></a></p>

<h5>13.1-2 IntegralRingGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IntegralRingGenerators</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>Inputs at least <span class="SimpleMath">n+1</span> terms of a <span class="SimpleMath">ZG</span>-resolution and integer <span class="SimpleMath">n</span>&gt; <span class="SimpleMath">0</span>. It returns a minimal list of cohomology classes in <span class="SimpleMath">H^n(G,Z)</span> which, together with all cup products of lower degree classes, generate the group <span class="SimpleMath">H^n(G,Z)</span> .</p>

<p>(Let <span class="SimpleMath">a_i</span> be the <span class="SimpleMath">i</span>-th canonical generator of the <span class="SimpleMath">d</span>-generator abelian group <span class="SimpleMath">H^n(G,Z)</span>. The cohomology class <span class="SimpleMath">n_1a_1 + ... +n_da_d</span> is represented by the integer vector <span class="SimpleMath">u=(n_1, ..., n_d)</span>. )</p>

<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCohomologyRings.html">2</a></span> </p>

<p><a id="X7DEFADD17CAA6308" name="X7DEFADD17CAA6308"></a></p>

<h5>13.1-3 ModPCohomologyGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyGenerators</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyGenerators</code>( <var class="Arg">R</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>Inputs either a <span class="SimpleMath">p</span>-group <span class="SimpleMath">G</span> and positive integer <span class="SimpleMath">n</span>, or else <span class="SimpleMath">n</span> terms of a minimal <span class="SimpleMath">Z_pG</span>-resolution <span class="SimpleMath">R</span> of <span class="SimpleMath">Z_p</span>. It returns a pair whose first entry is a minimal set of homogeneous generators for the cohomology ring <span class="SimpleMath">A=H^*(G,Z_p)</span> modulo all elements in degree greater than <span class="SimpleMath">n</span>. The second entry of the pair is a function <span class="SimpleMath">deg</span> which, when applied to a minimal generator, yields its degree.</p>

<p>WARNING: the following rule must be applied when multiplying generators <span class="SimpleMath">x_i</span> together. Only products of the form <span class="SimpleMath">x_1*(x_2*(x_3*(x_4*...)))</span> with <span class="SimpleMath">deg(x_i) ≤ deg(x_i+1)</span> should be computed (since the <span class="SimpleMath">x_i</span> belong to a structure constant algebra with only a partially defined structure constants table).</p>

<p><strong class="button">Examples:</strong> <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">1</a></span> </p>

<p><a id="X796632C585D47245" name="X796632C585D47245"></a></p>

<h5>13.1-4 ModPCohomologyRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyRing</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyRing</code>( <var class="Arg">G</var>, <var class="Arg">n</var>, <var class="Arg">level</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyRing</code>( <var class="Arg">R</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPCohomologyRing</code>( <var class="Arg">R</var>, <var class="Arg">level</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>Inputs either a <span class="SimpleMath">p</span>-group <span class="SimpleMath">G</span> and positive integer <span class="SimpleMath">n</span>, or else <span class="SimpleMath">n</span> terms of a minimal <span class="SimpleMath">Z_pG</span>-resolution <span class="SimpleMath">R</span> of <span class="SimpleMath">Z_p</span>. It returns the cohomology ring <span class="SimpleMath">A=H^*(G,Z_p)</span> modulo all elements in degree greater than <span class="SimpleMath">n</span>.</p>

<p>The ring is returned as a structure constant algebra <span class="SimpleMath">A</span>.</p>

<p>The ring <span class="SimpleMath">A</span> is graded. It has a component <span class="SimpleMath">A!.degree(x)</span> which is a function returning the degree of each (homogeneous) element <span class="SimpleMath">x</span> in <span class="SimpleMath">GeneratorsOfAlgebra(A)</span>.</p>

<p>An optional input variable "level" can be set to one of the strings "medium" or "high". These settings determine parameters in the algorithm. The default setting is "medium".</p>

<p>When "level" is set to "high" the ring <span class="SimpleMath">A</span> is returned with a component <span class="SimpleMath">A!.niceBasis</span>. This component is a pair <span class="SimpleMath">[Coeff,Bas]</span>. Here <span class="SimpleMath">Bas</span> is a list of integer lists; a "nice" basis for the vector space <span class="SimpleMath">A</span> can be constructed using the command <span class="SimpleMath">List(Bas,x-&gt;Product(List(x,i-&gt;Basis(A)[i]))</span>. The coefficients of the canonical basis element <span class="SimpleMath">Basis(A)[i]</span> are stored as <span class="SimpleMath">Coeff[i]</span>.</p>

<p>If the ring <span class="SimpleMath">A</span> is computed using the setting "level"="medium" then the component <span class="SimpleMath">A!.niceBasis</span> can be added to <span class="SimpleMath">A</span> using the command <span class="SimpleMath">A:=ModPCohomologyRing_part_2(A)</span>.</p>

<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap8.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.html">2</a></span> </p>

<p><a id="X8225CCD787C16ECB" name="X8225CCD787C16ECB"></a></p>

<h5>13.1-5 ModPRingGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ModPRingGenerators</code>( <var class="Arg">A</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>Inputs a mod <span class="SimpleMath">p</span> cohomology ring <span class="SimpleMath">A</span> (created using the preceeding function). It returns a minimal generating set for the ring <span class="SimpleMath">A</span>. Each generator is homogeneous.</p>

<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap8.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.html">2</a></span> </p>

<p><a id="X831034A284F3906F" name="X831034A284F3906F"></a></p>

<h5>13.1-6 Mod2CohomologyRingPresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; Mod2CohomologyRingPresentation</code>( <var class="Arg">G</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; Mod2CohomologyRingPresentation</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; Mod2CohomologyRingPresentation</code>( <var class="Arg">A</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; Mod2CohomologyRingPresentation</code>( <var class="Arg">R</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>When applied to a finite <span class="SimpleMath">2</span>-group <span class="SimpleMath">G</span> this function returns a presentation for the mod 2 cohomology ring <span class="SimpleMath">H^*(G,Z_2)</span>. The Lyndon-Hochschild-Serre spectral sequence is used to prove that the presentation is correct.</p>

<p>When the function is applied to a <span class="SimpleMath">2</span>-group <span class="SimpleMath">G</span> and positive integer <span class="SimpleMath">n</span> the function first constructs <span class="SimpleMath">n</span> terms of a free <span class="SimpleMath">Z_2G</span>-resolution <span class="SimpleMath">R</span>, then constructs the finite-dimensional graded algebra <span class="SimpleMath">A=H^(*≤ n)(G,Z_2)</span>, and finally uses <span class="SimpleMath">A</span> to approximate a presentation for <span class="SimpleMath">H^*(G,Z_2)</span>. For "sufficiently large" the approximation will be a correct presentation for <span class="SimpleMath">H^*(G,Z_2)</span>.</p>

<p>Alternatively, the function can be applied directly to either the resolution <span class="SimpleMath">R</span> or graded algebra <span class="SimpleMath">A</span>.</p>

<p>This function was written by <strong class="button">Paul Smith</strong>. It uses the Singular commutative algebra package to handle the Lyndon-Hochschild-Serre spectral sequence.</p>

<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap8.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">2</a></span> </p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap12.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap14.html">[Next Chapter]</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>