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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap12.html">[Previous Chapter]</a> <a href="chap14.html">[Next Chapter]</a> </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"> </span><a href="chap13.html#X7CFDEEC07F15CF82">13.1 <span class="Heading"> </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap13.html#X8152396B78D7F28C">13.1-1 IntegralCupProduct</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap13.html#X7F42615F7C10EEA0">13.1-2 IntegralRingGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap13.html#X7DEFADD17CAA6308">13.1-3 ModPCohomologyGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap13.html#X796632C585D47245">13.1-4 ModPCohomologyRing</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap13.html#X8225CCD787C16ECB">13.1-5 ModPRingGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </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">‣ 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">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ 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">( function )</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> ><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">‣ IntegralRingGenerators</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</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>> <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">‣ ModPCohomologyGenerators</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyGenerators</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</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">‣ ModPCohomologyRing</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyRing</code>( <var class="Arg">G</var>, <var class="Arg">n</var>, <var class="Arg">level</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyRing</code>( <var class="Arg">R</var>, <var class="Arg">level</var> )</td><td class="tdright">( function )</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->Product(List(x,i->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">‣ ModPRingGenerators</code>( <var class="Arg">A</var> )</td><td class="tdright">( function )</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">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">G</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">G</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">A</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap12.html">[Previous Chapter]</a> <a href="chap14.html">[Next Chapter]</a> </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>
|