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 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491
|
<?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="../tutorial/chap14.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTwistedCoefficients.html">4</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>
<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">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">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 <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/chap13.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutLinks.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutParallel.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutRosenbergerMonster.html">5</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutFunctorial.html">6</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutIntro.html">7</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTensorSquare.html">8</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutLie.html">9</a></span> </p>
<p><a id="X7A30C1CC7FB6B2E9" name="X7A30C1CC7FB6B2E9"></a></p>
<h5>2.5-3 PrimePartDerivedFunctor</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrimePartDerivedFunctor</code>( <var class="Arg">G</var>, <var class="Arg">R</var>, <var class="Arg">A</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a group <span class="SimpleMath">G</span>, an integer <span class="SimpleMath">k ≥ 0</span>, at least <span class="SimpleMath">k+1</span> terms of a free <span class="SimpleMath">ZP</span>-resolution of <span class="SimpleMath">Z</span> for <span class="SimpleMath">P</span> a Sylow <span class="SimpleMath">p</span>-subgroup of <span class="SimpleMath">G</span>. A function such as <strong class="button">A=TensorWithIntegers</strong> is also entered. The abelian invariants of the <span class="SimpleMath">p</span>-primary part <span class="SimpleMath">H_k(G,A)_(p)</span> of the homology with coefficients in <span class="SimpleMath">A</span> is returned.</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/aboutPerformance.html">2</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutFunctorial.html">3</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutTwistedCoefficients.html">4</a></span> </p>
<p><a id="X828B81D9829328F8" name="X828B81D9829328F8"></a></p>
<h5>2.5-4 PoincareSeries</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PoincareSeries</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">‣ PoincareSeries</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">‣ PoincareSeries</code>( <var class="Arg">R</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">‣ PoincareSeries</code>( <var class="Arg">L</var>, <var class="Arg">n</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 a positive integer <span class="SimpleMath">n</span>. It returns a quotient of polynomials <span class="SimpleMath">f(x)=P(x)/Q(x)</span> whose expansion has coefficient of <span class="SimpleMath">x^k</span> equal to the rank of the vector space <span class="SimpleMath">H_k(G, F_p)</span> for all <span class="SimpleMath">k</span> in the range <span class="SimpleMath">1 ≤ k ≤ n</span>. (The second input variable can be omitted, in which case the function tries to choose a `reasonable' value for <span class="SimpleMath">n</span>. For 2-groups the function <strong class="button">PoincareSeriesLHS(G)</strong> can be used to produce an <span class="SimpleMath">f(x)</span> that is correct in all degrees.) In place of the group <span class="SimpleMath">G</span> the function can also input (at least <span class="SimpleMath">n</span> terms of) a minimal mod-<span class="SimpleMath">p</span> resolution <span class="SimpleMath">R</span> for <span class="SimpleMath">G</span>. Alternatively, the first input variable can be a list <span class="SimpleMath">L</span> of integers. In this case the coefficient of <span class="SimpleMath">x^k</span> in <span class="SimpleMath">f(x)</span> is equal to the <span class="SimpleMath">(k+1)</span>st term in the list.</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/aboutArithmetic.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.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/aboutPoincareSeriesII.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="X828B81D9829328F8" name="X828B81D9829328F8"></a></p>
<h5>2.5-5 PoincareSeries</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PoincareSeries</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">‣ PoincareSeries</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">‣ PoincareSeries</code>( <var class="Arg">R</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">‣ PoincareSeries</code>( <var class="Arg">L</var>, <var class="Arg">n</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 a positive integer <span class="SimpleMath">n</span>. It returns a quotient of polynomials <span class="SimpleMath">f(x)=P(x)/Q(x)</span> whose expansion has coefficient of <span class="SimpleMath">x^k</span> equal to the rank of the vector space <span class="SimpleMath">H_k(G, F_p)</span> for all <span class="SimpleMath">k</span> in the range <span class="SimpleMath">1 ≤ k ≤ n</span>. (The second input variable can be omitted, in which case the function tries to choose a `reasonable' value for <span class="SimpleMath">n</span>. For 2-groups the function <strong class="button">PoincareSeriesLHS(G)</strong> can be used to produce an <span class="SimpleMath">f(x)</span> that is correct in all degrees.) In place of the group <span class="SimpleMath">G</span> the function can also input (at least <span class="SimpleMath">n</span> terms of) a minimal mod-<span class="SimpleMath">p</span> resolution <span class="SimpleMath">R</span> for <span class="SimpleMath">G</span>. Alternatively, the first input variable can be a list <span class="SimpleMath">L</span> of integers. In this case the coefficient of <span class="SimpleMath">x^k</span> in <span class="SimpleMath">f(x)</span> is equal to the <span class="SimpleMath">(k+1)</span>st term in the list.</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/aboutArithmetic.html">4</a></span> , <span class="URL"><a href="../www/SideLinks/About/aboutModPRings.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/aboutPoincareSeriesII.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="X7EFE814686C4EEF5" name="X7EFE814686C4EEF5"></a></p>
<h5>2.5-6 RankHomologyPGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RankHomologyPGroup</code>( <var class="Arg">G</var>, <var class="Arg">P</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a <span class="SimpleMath">p</span>-group <span class="SimpleMath">G</span>, a rational function <span class="SimpleMath">P</span> representing the Poincaré series of the mod-<span class="SimpleMath">p</span> cohomology of <span class="SimpleMath">G</span> and a positive integer <span class="SimpleMath">n</span>. It returns the minimum number of generators for the finite abelian <span class="SimpleMath">p</span>-group <span class="SimpleMath">H_n(G, Z)</span>.</p>
<p><strong class="button">Examples:</strong> <span class="URL"><a href="../tutorial/chap7.html">1</a></span> </p>
<p><a id="X86CDD4B77CBE3087" name="X86CDD4B77CBE3087"></a></p>
<h4>2.6 <span class="Heading"> <span class="SimpleMath">F_p</span>-modules</span></h4>
<p><a id="X85758F95832207D2" name="X85758F95832207D2"></a></p>
<h5>2.6-1 GroupAlgebraAsFpGModule</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupAlgebraAsFpGModule</code>( <var class="Arg">G</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 returns the modular group algebra <span class="SimpleMath">F_pG</span> in the form of an <span class="SimpleMath">F_pG</span>-module.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X84B5182E831D0928" name="X84B5182E831D0928"></a></p>
<h5>2.6-2 Radical</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Radical</code>( <var class="Arg">M</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs an <span class="SimpleMath">F_pG</span>-module and returns its radical.</p>
<p><strong class="button">Examples:</strong></p>
<p><a id="X7929281B848A9FBE" name="X7929281B848A9FBE"></a></p>
<h5>2.6-3 RadicalSeries</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RadicalSeries</code>( <var class="Arg">M</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">‣ RadicalSeries</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs an <span class="SimpleMath">F_pG</span>-module <span class="SimpleMath">M</span> and returns its radical series as a list of <span class="SimpleMath">F_pG</span>-modules.</p>
<p>Inputs a free <span class="SimpleMath">F_pG</span>-resolution R and returns the filtered chain complex <span class="SimpleMath">⋯ Rad_2( F_pG)R ≤ Rad_1( F_pG)R ≤ R</span>.</p>
<p><strong class="button">Examples:</strong></p>
<div class="chlinkprevnextbot"> <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>
<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>
|