Quelle chap2.html
Sprache: HTML
|
|
| products/sources/formale Sprachen/GAP/pkg/hap/doc/chap2.html |
 |
<?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 2: Basic functionality for ZG-resolutions and group cohomology</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="chap2" 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="chap1.html">[Previous Chapter]</a> <a href="chap3.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap2_mj.html">[MathJax on]</a></p>
<p><a id="X84CA5C9B81900889" name="X84CA5C9B81900889"></a></p>
<div class="ChapSects"><a href="chap2.html#X84CA5C9B81900889">2 <span class="Heading">Basic functionality for <span class="SimpleMath">ZG</span>-resolutions and group cohomology</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7C0B125E7D5415B4">2.1 <span class="Heading"> Resolutions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X868E2A04832619C5">2.1-1 EquivariantChainMap</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X79EA11238403019D">2.1-2 FreeGResolution</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7CA87AA478007468">2.1-3 ResolutionBieberbachGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X81A5CEFC82A1897D">2.1-4 ResolutionCubicalCrystGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X789B3E7C7CBB3751">2.1-5 ResolutionFiniteGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7CBE6BDA7DB5AD7D">2.1-6 ResolutionNilpotentGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X8574D76D7C891A04">2.1-7 ResolutionNormalSeries</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X86934BE9858F7199">2.1-8 ResolutionPrimePowerGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7E4556B078B209CE">2.1-9 ResolutionSL2Z</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X8518446086A3F7EA">2.1-10 ResolutionSmallGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X79A0221B7E96B642">2.1-11 ResolutionSubgroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X85EC9D8E7A15A570">2.2 <span class="Heading"> Algebras <span class="SimpleMath">⟶</span> (Co)chain Complexes</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7D5DD19D7BA9D816">2.2-1 LeibnizComplex</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7F9E1F1781479F7B">2.3 <span class="Heading"> Resolutions <span class="SimpleMath">⟶</span> (Co)chain Complexes</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X788F3B5E7810E309">2.3-1 HomToIntegers</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X81FED0E9858E413A">2.3-2 HomToIntegralModule</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X83BA99787CBE2B7D">2.3-3 TensorWithIntegers</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X8122D25786C83565">2.3-4 TensorWithIntegersModP</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X80B6849C835B7F19">2.4 <span class="Heading"> Cohomology rings</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X79C31EED8406A3E9">2.4-1 AreIsomorphicGradedAlgebras</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X83DC2F1A805BA7A3">2.4-2 HAPDerivation</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7B93B7D082A50E61">2.4-3 HilbertPoincareSeries</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X803D9B5E7A26F749">2.4-4 HomologyOfDerivation</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X855D2D747B6C54E1">2.4-5 IntegralCohomologyGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7F5D00C97A46D686">2.4-6 LHSSpectralSequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X828D20AC8735152B">2.4-7 LHSSpectralSequenceLastSheet</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7DEFADD17CAA6308">2.4-8 ModPCohomologyGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X796632C585D47245">2.4-9 ModPCohomologyRing</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X831034A284F3906F">2.4-10 Mod2CohomologyRingPresentation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7BCF8D907D237A03">2.5 <span class="Heading"> Group Invariants</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7D1658EF810022E5">2.5-1 GroupCohomology</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7F0A19E97980FD57">2.5-2 GroupHomology</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7A30C1CC7FB6B2E9">2.5-3 PrimePartDerivedFunctor</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X828B81D9829328F8">2.5-4 PoincareSeries</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X828B81D9829328F8">2.5-5 PoincareSeries</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7EFE814686C4EEF5">2.5-6 RankHomologyPGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X86CDD4B77CBE3087">2.6 <span class="Heading"> <span class="SimpleMath">F_p</span>-modules</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X85758F95832207D2">2.6-1 GroupAlgebraAsFpGModule</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X84B5182E831D0928">2.6-2 Radical</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2.html#X7929281B848A9FBE">2.6-3 RadicalSeries</a></span>
</div></div>
</div>
<h3>2 <span class="Heading">Basic functionality for <span class="SimpleMath">ZG</span>-resolutions and group cohomology</span></h3>
<p>This page covers the functions used in chapter 3 of the book <span class="URL"><a href="https://global.oup.com/academic/product/an-invitation-to-computational-homotopy-9780198832980">An Invitation to Computational Homotopy</a></span>.</p>
<p><a id="X7C0B125E7D5415B4" name="X7C0B125E7D5415B4"></a></p>
<h4>2.1 <span class="Heading"> Resolutions</span></h4>
<p><a id="X868E2A04832619C5" name="X868E2A04832619C5"></a></p>
<h5>2.1-1 EquivariantChainMap</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EquivariantChainMap</code>( <var class="Arg">R</var>, <var class="Arg">S</var>, <var class="Arg">f</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span> of <span class="SimpleMath">Z</span>, a free <span class="SimpleMath">ZQ</span>-resolution <span class="SimpleMath">S</span> of <span class="SimpleMath">Z</span>, and a group homomorphism <span class="SimpleMath">f: G → Q</span>. It returns the induced <span class="SimpleMath">f</span>-equivariant chain map <span class="SimpleMath">F: R → S</span>.</p>
<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> , <span class="URL"><a href="../www/SideLinks/About/aboutPoincareSeries.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutFunctorial.html">4</a></span> </p>
<p><a id="X79EA11238403019D" name="X79EA11238403019D"></a></p>
<h5>2.1-2 FreeGResolution</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FreeGResolution</code>( <var class="Arg">P</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a non-free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">P_∗</span> and a positive integer <span class="SimpleMath">n</span>. It attempts to return <span class="SimpleMath">n</span> terms of a free <span class="SimpleMath">ZG</span>-resolution of <span class="SimpleMath">Z</span>. However, the stabilizer groups in the non-free resolution must be such that HAP can construct free resolutions with contracting homotopies for them.</p>
<p>The contracting homotopy on the resolution was implemented by Bui Anh Tuan.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../tutorial/chap6.html">2</a></span> , <span class="URL"><a href="../tutorial/chap7.html">3</a></span> , <span class="URL"><a href="../tutorial/chap11.html">4</a></span> , <span class="URL"><a href="../tutorial/chap13.html">5</a></span> , <span class="URL"><a href="../tutorial/chap14.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArithmetic.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPolytopes.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDavisComplex.html">9</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">10</a></span> </p>
<p><a id="X7CA87AA478007468" name="X7CA87AA478007468"></a></p>
<h5>2.1-3 ResolutionBieberbachGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionBieberbachGroup</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">‣ ResolutionBieberbachGroup</code>( <var class="Arg">G</var>, <var class="Arg">v</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a torsion free crystallographic group <span class="SimpleMath">G</span>, also known as a Bieberbach group, represented using <strong class="button">AffineCrystGroupOnRight</strong> as in the GAP package Cryst. It also optionally inputs a choice of vector <span class="SimpleMath">v</span> in the Euclidean space <span class="SimpleMath">R^n</span> on which <span class="SimpleMath">G</span> acts freely. The function returns <span class="SimpleMath">n+1</span> terms of the free ZG-resolution of <span class="SimpleMath">Z</span> arising as the cellular chain complex of the tessellation of <span class="SimpleMath">R^n</span> by the Dirichlet-Voronoi fundamental domain determined by <span class="SimpleMath">v</span>. No contracting homotopy is returned with the resolution.</p>
<p>This function is part of the HAPcryst package written by Marc Roeder and thus requires the HAPcryst package to be loaded.</p>
<p>The function requires the use of Polymake software.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap11.html">1</a></span> </p>
<p><a id="X81A5CEFC82A1897D" name="X81A5CEFC82A1897D"></a></p>
<h5>2.1-4 ResolutionCubicalCrystGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionCubicalCrystGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a crystallographic group <span class="SimpleMath">G</span> represented using <strong class="button">AffineCrystGroupOnRight</strong> as in the GAP package <span class="SimpleMath">Cryst</span> together with an integer <span class="SimpleMath">k ≥ 1</span>. The function tries to find a cubical fundamental domain in the Euclidean space <span class="SimpleMath">R^n</span> on which <span class="SimpleMath">G</span> acts. If it succeeds it uses this domain to return <span class="SimpleMath">k+1</span> terms of a free ZG-resolution of <span class="SimpleMath">Z</span>.</p>
<p>This function was written by Bui Anh Tuan.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../tutorial/chap8.html">2</a></span> , <span class="URL"><a href="../tutorial/chap11.html">3</a></span> </p>
<p><a id="X789B3E7C7CBB3751" name="X789B3E7C7CBB3751"></a></p>
<h5>2.1-5 ResolutionFiniteGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionFiniteGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a finite group <span class="SimpleMath">G</span> and an integer <span class="SimpleMath">k ≥ 1</span>. It returns <span class="SimpleMath">k+1</span> terms of a free ZG-resolution of <span class="SimpleMath">Z</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap6.html">1</a></span> , <span class="URL"><a href="../tutorial/chap7.html">2</a></span> , <span class="URL"><a href="../tutorial/chap8.html">3</a></span> , <span class="URL"><a href="../tutorial/chap10.html">4</a></span> , <span class="URL"><a href="../tutorial/chap11.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutParallel.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPerformance.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCocycles.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPeriodic.html">9</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCohomologyRings.html">10</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPoincareSeries.html">11</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCrossedMods.html">12</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDefinitions.html">13</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutSimplicialGroups.html">14</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutExtensions.html">15</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutSpaceGroup.html">16</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutFunctorial.html">17</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutGouter.html">18</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTopology.html">19</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTwistedCoefficients.html">20</a></span> </p>
<p><a id="X7CBE6BDA7DB5AD7D" name="X7CBE6BDA7DB5AD7D"></a></p>
<h5>2.1-6 ResolutionNilpotentGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionNilpotentGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a nilpotent group <span class="SimpleMath">G</span> (which can be infinite) and an integer <span class="SimpleMath">k ≥ 1</span>. It returns <span class="SimpleMath">k+1</span> terms of a free <span class="SimpleMath">ZG</span>-resolution of <span class="SimpleMath">Z</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap6.html">1</a></span> , <span class="URL"><a href="../tutorial/chap11.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCohomologyRings.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutRosenbergerMonster.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutExtensions.html">5</a></span> </p>
<p><a id="X8574D76D7C891A04" name="X8574D76D7C891A04"></a></p>
<h5>2.1-7 ResolutionNormalSeries</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionNormalSeries</code>( <var class="Arg">L</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a a list <span class="SimpleMath">L</span> consisting of a chain $<span class="SimpleMath">1=N_1 ≤ N_2 ≤ ⋯ ≤ N_n =G</span> of normal subgroups of <span class="SimpleMath">G</span>, together with an integer <span class="SimpleMath">k ≥ 1</span>. It returns <span class="SimpleMath">k+1</span> terms of a free ZG-resolution of <span class="SimpleMath">Z</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../tutorial/chap10.html">2</a></span> , <span class="URL"><a href="../tutorial/chap11.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPerformance.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPersistent.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutRosenbergerMonster.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutExtensions.html">8</a></span> </p>
<p><a id="X86934BE9858F7199" name="X86934BE9858F7199"></a></p>
<h5>2.1-8 ResolutionPrimePowerGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionPrimePowerGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a finite <span class="SimpleMath">p</span>-group <span class="SimpleMath">G</span> and an integer <span class="SimpleMath">k ≥ 1</span>. It returns <span class="SimpleMath">k+1</span> terms of a minimal free <span class="SimpleMath">FG</span>-resolution of the field <span class="SimpleMath">F</span> of <span class="SimpleMath">p</span> elements.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../tutorial/chap8.html">2</a></span> , <span class="URL"><a href="../tutorial/chap11.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDefinitions.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTopology.html">6</a></span> </p>
<p><a id="X7E4556B078B209CE" name="X7E4556B078B209CE"></a></p>
<h5>2.1-9 ResolutionSL2Z</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionSL2Z</code>( <var class="Arg">m</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs positive integers <span class="SimpleMath">m, n</span> and returns <span class="SimpleMath">n</span> terms of a free <span class="SimpleMath">ZG</span>-resolution of <span class="SimpleMath">Z</span> for the group <span class="SimpleMath">G=SL_2( Z[1/m])</span>.</p>
<p>This function is joint work with Bui Anh Tuan.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap11.html">1</a></span> , <span class="URL"><a href="../tutorial/chap13.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArithmetic.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">4</a></span> </p>
<p><a id="X8518446086A3F7EA" name="X8518446086A3F7EA"></a></p>
<h5>2.1-10 ResolutionSmallGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionSmallGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</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">‣ ResolutionSmallGroup</code>( <var class="Arg">G</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a small group <span class="SimpleMath">G</span> and an integer <span class="SimpleMath">k ≥ 1</span>. It returns <span class="SimpleMath">k+1</span> terms of a free ZG-resolution of <span class="SimpleMath">Z</span>.</p>
<p>If <span class="SimpleMath">G</span> is a finitely presented group then up to degree <span class="SimpleMath">2</span> the resolution coincides with cellular chain complex of the universal cover of the <span class="SimpleMath">2</span> complex associated to the presentation of <span class="SimpleMath">G</span>. Thus the boundaries of the generators in degree <span class="SimpleMath">3</span> provide a generating set for the module of identities of the presentation.</p>
<p>This function was written by Irina Kholodna.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../tutorial/chap11.html">2</a></span> </p>
<p><a id="X79A0221B7E96B642" name="X79A0221B7E96B642"></a></p>
<h5>2.1-11 ResolutionSubgroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ResolutionSubgroup</code>( <var class="Arg">R</var>, <var class="Arg">H</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a free ZG-resolution of <span class="SimpleMath">Z</span> and a finite index subgroup <span class="SimpleMath">H ≤ G</span>. It returns a free ZH-resolution of <span class="SimpleMath">Z</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../www/SideLinks/About/aboutArithmetic.html">1</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArtinGroups.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTwistedCoefficients.html">3</a></span> </p>
<p><a id="X85EC9D8E7A15A570" name="X85EC9D8E7A15A570"></a></p>
<h4>2.2 <span class="Heading"> Algebras <span class="SimpleMath">⟶</span> (Co)chain Complexes</span></h4>
<p><a id="X7D5DD19D7BA9D816" name="X7D5DD19D7BA9D816"></a></p>
<h5>2.2-1 LeibnizComplex</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeibnizComplex</code>( <var class="Arg">g</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a Leibniz algebra, or Lie algebra, <span class="SimpleMath">mathfrakg</span> over a ring <span class="SimpleMath">K</span> together with an integer <span class="SimpleMath">n≥ 0</span>. It returns the first <span class="SimpleMath">n</span> terms of the Leibniz chain complex over <span class="SimpleMath">K</span>. The complex was implemented by Pablo Fernandez Ascariz.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X7F9E1F1781479F7B" name="X7F9E1F1781479F7B"></a></p>
<h4>2.3 <span class="Heading"> Resolutions <span class="SimpleMath">⟶</span> (Co)chain Complexes</span></h4>
<p><a id="X788F3B5E7810E309" name="X788F3B5E7810E309"></a></p>
<h5>2.3-1 HomToIntegers</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomToIntegers</code>( <var class="Arg">C</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">‣ HomToIntegers</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">‣ HomToIntegers</code>( <var class="Arg">F</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a chain complex <span class="SimpleMath">C</span> of free abelian groups and returns the cochain complex <span class="SimpleMath">Hom_ Z(C, Z)</span>.</p>
<p>Inputs a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span> in characteristic <span class="SimpleMath">0</span> and returns the cochain complex <span class="SimpleMath">Hom_ ZG(R, Z)</span>.</p>
<p>Inputs an equivariant chain map <span class="SimpleMath">F: R→ S</span> of resolutions and returns the induced cochain map <span class="SimpleMath">Hom_ ZG(S, Z) ⟶ Hom_ ZG(R, Z)</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../tutorial/chap7.html">2</a></span> , <span class="URL"><a href="../tutorial/chap8.html">3</a></span> , <span class="URL"><a href="../tutorial/chap10.html">4</a></span> , <span class="URL"><a href="../tutorial/chap13.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCohomologyRings.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutSpaceGroup.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTorAndExt.html">9</a></span> </p>
<p><a id="X81FED0E9858E413A" name="X81FED0E9858E413A"></a></p>
<h5>2.3-2 HomToIntegralModule</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomToIntegralModule</code>( <var class="Arg">R</var>, <var class="Arg">A</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span> in characteristic <span class="SimpleMath">0</span> and a group homomorphism <span class="SimpleMath">A: G → GL_n( Z)</span>. The homomorphism <span class="SimpleMath">A</span> can be viewed as the <span class="SimpleMath">ZG</span>-module with underlying abelian group <span class="SimpleMath">Z^n</span> on which <span class="SimpleMath">G</span> acts via the homomorphism <span class="SimpleMath">A</span>. It returns the cochain complex <span class="SimpleMath">Hom_ ZG(R,A)</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../tutorial/chap13.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTwistedCoefficients.html">3</a></span> </p>
<p><a id="X83BA99787CBE2B7D" name="X83BA99787CBE2B7D"></a></p>
<h5>2.3-3 TensorWithIntegers</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TensorWithIntegers</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">‣ TensorWithIntegers</code>( <var class="Arg">F</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span> of characteristic <span class="SimpleMath">0</span> and returns the chain complex <span class="SimpleMath">R ⊗_ ZG Z</span>.</p>
<p>Inputs an equivariant chain map <span class="SimpleMath">F: R → S</span> in characteristic <span class="SimpleMath">0</span> and returns the induced chain map <span class="SimpleMath">F⊗_ ZG Z : R ⊗_ ZG Z ⟶ S ⊗_ ZG Z</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../tutorial/chap3.html">2</a></span> , <span class="URL"><a href="../tutorial/chap6.html">3</a></span> , <span class="URL"><a href="../tutorial/chap7.html">4</a></span> , <span class="URL"><a href="../tutorial/chap10.html">5</a></span> , <span class="URL"><a href="../tutorial/chap11.html">6</a></span> , <span class="URL"><a href="../tutorial/chap13.html">7</a></span> , <span class="URL"><a href="../tutorial/chap14.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArithmetic.html">9</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArtinGroups.html">10</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutAspherical.html">11</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutParallel.html">12</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPerformance.html">13</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCocycles.html">14</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPersistent.html">15</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPoincareSeries.html">16</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCoveringSpaces.html">17</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCoverinSpaces.html">18</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPolytopes.html">19</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutCoxeter.html">20</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutRosenbergerMonster.html">21</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDavisComplex.html">22</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDefinitions.html">23</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutSimplicialGroups.html">24</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutExtensions.html">25</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutSpaceGroup.html">26</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutFunctorial.html">27</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutGraphsOfGroups.html">28</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">29</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTorAndExt.html">30</a></span> </p>
<p><a id="X8122D25786C83565" name="X8122D25786C83565"></a></p>
<h5>2.3-4 TensorWithIntegersModP</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TensorWithIntegersModP</code>( <var class="Arg">C</var>, <var class="Arg">p</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">‣ TensorWithIntegersModP</code>( <var class="Arg">R</var>, <var class="Arg">p</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">‣ TensorWithIntegersModP</code>( <var class="Arg">F</var>, <var class="Arg">p</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a chain complex <span class="SimpleMath">C</span> of characteristic <span class="SimpleMath">0</span> and a prime integer <span class="SimpleMath">p</span>. It returns the chain complex <span class="SimpleMath">C ⊗_ Z Z_p</span> of characteristic <span class="SimpleMath">p</span>.</p>
<p>Inputs a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R</span> of characteristic <span class="SimpleMath">0</span> and a prime integer <span class="SimpleMath">p</span>. It returns the chain complex <span class="SimpleMath">R ⊗_ ZG Z_p</span> of characteristic <span class="SimpleMath">p</span>.</p>
<p>Inputs an equivariant chain map <span class="SimpleMath">F: R → S</span> in characteristic <span class="SimpleMath">0</span> a prime integer <span class="SimpleMath">p</span>. It returns the induced chain map <span class="SimpleMath">F⊗_ ZG Z_p : R ⊗_ ZG Z_p ⟶ S ⊗_ ZG Z_p</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap1.html">1</a></span> , <span class="URL"><a href="../tutorial/chap10.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutArithmetic.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPerformance.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPersistent.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutPoincareSeries.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutDefinitions.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutExtensions.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTorAndExt.html">9</a></span> </p>
<p><a id="X80B6849C835B7F19" name="X80B6849C835B7F19"></a></p>
<h4>2.4 <span class="Heading"> Cohomology rings</span></h4>
<p><a id="X79C31EED8406A3E9" name="X79C31EED8406A3E9"></a></p>
<h5>2.4-1 AreIsomorphicGradedAlgebras</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AreIsomorphicGradedAlgebras</code>( <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs two freely presented graded algebras <span class="SimpleMath">A= F[x_1, ..., x_m]/I</span> and <span class="SimpleMath">B= F[y_1, ..., y_n]/J</span> and returns <strong class="button">true</strong> if they are isomorphic, and <strong class="button">false</strong> otherwise. This function was implemented by Paul Smith.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X83DC2F1A805BA7A3" name="X83DC2F1A805BA7A3"></a></p>
<h5>2.4-2 HAPDerivation</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HAPDerivation</code>( <var class="Arg">R</var>, <var class="Arg">I</var>, <var class="Arg">L</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a polynomial ring <span class="SimpleMath">R= F[x_1,...,x_m]</span> over a field <span class="SimpleMath">F</span> together with a list <span class="SimpleMath">I</span> of generators for an ideal in <span class="SimpleMath">R</span> and a list <span class="SimpleMath">L=[y_1,...,y_m]⊂ R</span>. It returns the derivation <span class="SimpleMath">d: E → E</span> for <span class="SimpleMath">E=R/I</span> defined by <span class="SimpleMath">d(x_i)=y_i</span>. This function was written by Paul Smith. It uses the Singular commutative algebra package.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X7B93B7D082A50E61" name="X7B93B7D082A50E61"></a></p>
<h5>2.4-3 HilbertPoincareSeries</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HilbertPoincareSeries</code>( <var class="Arg">E</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a presentation <span class="SimpleMath">E= F[x_1,...,x_m]/I</span> of a graded algebra and returns its Hilbert–Poincaré series. This function was written by Paul Smith and uses the Singular commutative algebra package. It is essentially a wrapper for Singular's Hilbert–Poincaré series.
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap8.html">1</a></span> </p>
<p><a id="X803D9B5E7A26F749" name="X803D9B5E7A26F749"></a></p>
<h5>2.4-4 HomologyOfDerivation</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomologyOfDerivation</code>( <var class="Arg">d</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a derivation <span class="SimpleMath">d: E → E</span> on a quotient <span class="SimpleMath">E=R/I</span> of a polynomial ring <span class="SimpleMath">R= F[x_1,...,x_m]</span> over a field <span class="SimpleMath">F</span>. It returns a list <span class="SimpleMath">[S,J,h]</span> where <span class="SimpleMath">S</span> is a polynomial ring and <span class="SimpleMath">J</span> is a list of generators for an ideal in <span class="SimpleMath">S</span> such that there is an isomorphism <span class="SimpleMath">α: S/J → ker d/ im~ d</span>. This isomorphism lifts to the ring homomorphism <span class="SimpleMath">h: S → ker d</span>. This function was written by Paul Smith. It uses the Singular commutative algebra package.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X855D2D747B6C54E1" name="X855D2D747B6C54E1"></a></p>
<h5>2.4-5 IntegralCohomologyGenerators</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IntegralCohomologyGenerators</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 free <span class="SimpleMath">ZG</span>-resolution of <span class="SimpleMath">Z</span> and the integer <span class="SimpleMath">n ≥ 1</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> . (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></p>
<p><a id="X7F5D00C97A46D686" name="X7F5D00C97A46D686"></a></p>
<h5>2.4-6 LHSSpectralSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LHSSpectralSequence</code>( <var class="Arg">G</var>, <var class="Arg">N</var>, <var class="Arg">r</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a finite <span class="SimpleMath">2</span>-group <span class="SimpleMath">G</span>, and normal subgroup <span class="SimpleMath">N</span> and an integer <span class="SimpleMath">r</span>. It returns a list of length <span class="SimpleMath">r</span> whose <span class="SimpleMath">i</span>-th term is a presentation for the <span class="SimpleMath">i</span>-th page of the Lyndon-Hochschild-Serre spectral sequence. This function was written by Paul Smith. It uses the Singular commutative algebra package.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X828D20AC8735152B" name="X828D20AC8735152B"></a></p>
<h5>2.4-7 LHSSpectralSequenceLastSheet</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LHSSpectralSequenceLastSheet</code>( <var class="Arg">G</var>, <var class="Arg">N</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a finite <span class="SimpleMath">2</span>-group <span class="SimpleMath">G</span> and normal subgroup <span class="SimpleMath">N</span>. It returns presentation for the <span class="SimpleMath">E_∞</span> page of the Lyndon-Hochschild-Serre spectral sequence. This function was written by Paul Smith. It uses the Singular commutative algebra package.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X7DEFADD17CAA6308" name="X7DEFADD17CAA6308"></a></p>
<h5>2.4-8 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+1</span> terms of a minimal <span class="SimpleMath">FG</span>-resolution <span class="SimpleMath">R</span> of the field <span class="SimpleMath">F</span> of <span class="SimpleMath">p</span> elements. It returns a pair whose first entry is a minimal list of homogeneous generators for the cohomology ring <span class="SimpleMath">A=H^∗(G, F)</span> modulo all elements in degree greater than <span class="SimpleMath">n</span>. The second entry of the pair is a function <strong class="button">deg</strong> which, when applied to a minimal generator, yields its degree. 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>2.4-9 ModPCohomologyRing</h5>
<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>
<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>
<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">FG</span>-resolution <span class="SimpleMath">R</span> of the field <span class="SimpleMath">F</span> of <span class="SimpleMath">p</span> elements. It returns the cohomology ring <span class="SimpleMath">A=H^∗(G, F)</span> modulo all elements in degree greater than <span class="SimpleMath">n</span>. The ring is returned as a structure constant algebra <span class="SimpleMath">A</span>. The ring <span class="SimpleMath">A</span> is graded. It has a component <strong class="button">A!.degree(x)</strong> which is a function returning the degree of each (homogeneous) element <span class="SimpleMath">x</span> in <strong class="button">GeneratorsOfAlgebra(A)</strong>. An optional input variable <span class="SimpleMath">"level"</span> can be set to one of the strings <span class="SimpleMath">"medium"</span> or <span class="SimpleMath">"high"</span>. These settings determine parameters in the algorithm. The default setting is <span class="SimpleMath">"medium"</span>. When <span class="SimpleMath">"level"</span> is set to <span class="SimpleMath">"high"</span> the ring <span class="SimpleMath">A</span> is returned with a component <strong class="button">A!.niceBasis</strong>. 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 <strong class="button">List(Bas,x->Product(List(x,i->Basis(A)[i]))</strong>. The coefficients of the canonical basis element <strong class="button">Basis(A)[i]</strong> are stored as <strong class="button">Coeff[i]</strong>. If the ring <span class="SimpleMath">A</span> is computed using the setting <span class="SimpleMath">"level"="medium"</span> then the component <strong class="button">A!.niceBasis</strong> can be added to <span class="SimpleMath">A</span> using the command <strong class="button">A:=ModPCohomologyRing_part_2(A)</strong>.</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>2.4-10 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-<span class="SimpleMath">2</span> cohomology ring <span class="SimpleMath">H^∗(G, F)</span>. The Lyndon-Hochschild-Serre spectral sequence is used to prove that the presentation is complete. When the function is applied to a <span class="SimpleMath">2</span>-group G and positive integer <span class="SimpleMath">n</span> the function first constructs <span class="SimpleMath">n+1</span> terms of a free <span class="SimpleMath">FG</span>-resolution <span class="SimpleMath">R</span>, then constructs the finite-dimensional graded algebra <span class="SimpleMath">A=H^(∗ ≤ n)(G, F)</span>, and finally uses <span class="SimpleMath">A</span> to approximate a presentation for <span class="SimpleMath">H^*(G, F)</span>. For "sufficiently large" <span class="SimpleMath">n</span> the approximation will be a correct presentation for <span class="SimpleMath">H^∗(G, F)</span>. Alternatively, the function can be applied directly to either the resolution <span class="SimpleMath">R</span> or graded algebra <span class="SimpleMath">A</span>. This function was written by Paul Smith. 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>
<p><a id="X7BCF8D907D237A03" name="X7BCF8D907D237A03"></a></p>
<h4>2.5 <span class="Heading"> Group Invariants</span></h4>
<p><a id="X7D1658EF810022E5" name="X7D1658EF810022E5"></a></p>
<h5>2.5-1 GroupCohomology</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupCohomology</code>( <var class="Arg">G</var>, <var class="Arg">k</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">‣ GroupCohomology</code>( <var class="Arg">G</var>, <var class="Arg">k</var>, <var class="Arg">p</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a group <span class="SimpleMath">G</span> and integer <span class="SimpleMath">k ≥ 0</span>. The group <span class="SimpleMath">G</span> should either be finite or else lie in one of a range of classes of infinite groups (such as nilpotent, crystallographic, Artin etc.). The function returns the list of abelian invariants of <span class="SimpleMath">H^k(G, Z)</span>.</p>
<p>If a prime <span class="SimpleMath">p</span> is given as an optional third input variable then the function returns the list of abelian invariants of <span class="SimpleMath">H^k(G, Z_p)</span>. In this case each abelian invariant will be equal to <span class="SimpleMath">p</span> and the length of the list will be the dimension of the vector space <span class="SimpleMath">H^k(G, Z_p)</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> , <span class="URL"><a href="../tutorial/chap8.html">2</a></span> </p>
<p><a id="X7F0A19E97980FD57" name="X7F0A19E97980FD57"></a></p>
<h5>2.5-2 GroupHomology</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupHomology</code>( <var class="Arg">G</var>, <var class="Arg">k</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">‣ GroupHomology</code>( <var class="Arg">G</var>, <var class="Arg">k</var>, <var class="Arg">p</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a group <span class="SimpleMath">G</span> and integer <span class="SimpleMath">k ≥ 0</span>. The group <span class="SimpleMath">G</span> should either be finite or else lie in one of a range of classes of infinite groups (such as nilpotent, crystallographic, Artin etc.). The function returns the list of abelian invariants of < | |