An Invitation to Computational Homotopy 9780198832973, 0198832974, 9780198832980, 0198832982

936 131 10MB

English Pages 525 Se [546] Year 2019

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

An Invitation to Computational Homotopy
 9780198832973, 0198832974, 9780198832980, 0198832982

  • Commentary
  • toc is missing

Table of contents :
1: Path components and the fundamental group2: Cellular homology3: Cohomology of groups4: Cohomological group theory5: Cohomology of homotopy 2-types6: Explicit classifying spaces

Citation preview

AN INVITATION TO COMPUTATIONAL HOMOTOPY

An Invitation to Computational Homotopy graham ellis

1

3

Great Clarendon Street, Oxford, OX2 6DP, United Kingdom Oxford University Press is a department of the University of Oxford. It furthers the University’s objective of excellence in research, scholarship, and education by publishing worldwide. Oxford is a registered trade mark of Oxford University Press in the UK and in certain other countries © Graham Ellis 2019 The moral rights of the author have been asserted First Edition published in 2019 Impression: 1 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without the prior permission in writing of Oxford University Press, or as expressly permitted by law, by licence or under terms agreed with the appropriate reprographics rights organization. Enquiries concerning reproduction outside the scope of the above should be sent to the Rights Department, Oxford University Press, at the address above You must not circulate this work in any other form and you must impose this same condition on any acquirer Published in the United States of America by Oxford University Press 198 Madison Avenue, New York, NY 10016, United States of America British Library Cataloguing in Publication Data Data available Library of Congress Control Number: 2019937515 ISBN 978–0–19–883297–3 (hbk.) ISBN 978–0–19–883298–0 (pbk.) DOI: 10.1093/oso/9780198832973.001.0001 Printed and bound by CPI Group (UK) Ltd, Croydon, CR0 4YY Links to third party websites are provided by Oxford in good faith and for information only. Oxford disclaims any responsibility for the materials contained in any third party website referenced in this work.

To Maren, Eileen, Aled and Jan

Preface

T

his book has been written as an introduction to elementary algebraic topology for students with an interest in computers and computer programming. Its aim is to illustrate how the basics of the subject can be implemented on a computer. The transition from basic theory to practical computation raises a range of non-trivial algorithmic issues and it is hoped that the treatment of these will also appeal to readers already familiar with basic theory who are interested in developing computational aspects. The book covers a subset of standard introductory material on fundamental groups, covering spaces, homology, cohomology and classifying spaces as well as some less standard material on crossed modules, homotopy 2-types and explicit resolutions for an eclectic selection of discrete groups. It attempts to cover these topics in a way that hints at potential applications of topology in areas of computer science and engineering outside the usual territory of pure mathematics, and also in a way that demonstrates how computers can be used to perform explicit calculations within the domain of pure algebraic topology itself. The initial chapters include examples from data mining, biology and digital image analysis, while the later chapters cover a range of computational examples on the cohomology of classifying spaces that are likely beyond the reach of a purely paper-and-pen approach to the subject. The applied examples in the initial chapters use only low-dimensional and mainly abelian topological tools. Our applications of higher dimensional and less abelian computational methods are currently confined to pure mathematical calculations. The approach taken to computational homotopy is very much based on J.H.C. Whitehead’s theory of combinatorial homotopy [289–291] in which he introduced the fundamental notions of CW-space, simple homotopy equivalence and crossed module. The book should serve as a self-contained informal introduction to these topics and their computer implementation. It is written in a style that tries to lead as quickly as possible to a range of potentially useful machine computations. It does not aim to provide an encyclopaedic treatment of any topics in computational topology. Nor does it aspire to reflect the range of deep theoretical principles that underly and contribute so much to algebraic topology. Rather, it adheres to the very modest goal of describing how one author, and his coworkers and students, have strived to make topological computations. It is hoped that the description will aid others wishing to participate in the growing field of applied and computational algebraic topology. The book is intended to be accessible to graduate students who have taken standard undergraduate modules in algebra (linear algebra, groups, rings and fields) and point-set

viii | Preface

topology. It can be used in various ways. Chapters 1 and 2 can form the basis of a onesemester introduction to the fundamental group, homology and cohomology of simplicial, cubical and CW-spaces. This introduction could cover computational examples on fundamental groups of 3-dimensional spaces arising as the complement of knotted proteins, along with computational investigations of point cloud data using persistent homology and cohomology cup products. Alternatively, Chapter 3 together with a selection of material from Chapters 4–6 can form the basis of a one-semester module on group cohomology for students already familiar with basic algebraic topology. Such a module could include explicit computations of mod-p cohomology rings for small finite p-groups and computational investigations of: (i) Stiefel–Whitney classes of real representations of small finite p-groups, (ii) the low-dimensional integral homology of finite groups such as the Mathieu simple groups, and (iii) integral cohomology of some Artin groups and arithmetic groups. When used as the primary basis for a taught module, the book could be supplemented by any of the more traditional introductions to algebraic topology or group cohomology as a means of reinforcing theoretical aspects of the subject. Alternatively, the book and associated software could simply be used as a computational supplement in an existing taught module in order to provide students with easy access to a broad range of machine examples. The book does not have its origins in any particular graduate course. Rather, it has its origins in some computer routines for elementary cohomology calculations written over a decade ago by the author. These routines were written for the GAP system for computational algebra [126] and have evolved, with the help of graduate and postdoctoral students, into the HAP package for Homological Algebra Programming [100] which is now distributed with GAP. When a student begins a project in computational algebraic topology, the precise data types for the input and output of an algorithm need to be carefully specified, as do the mathematical techniques underlying the algorithms. These data types and techniques need to be recorded in an easily readable document if new students are to further develop implementations of former students. That documentation has evolved into the current book. It is thus hoped that the book will be of use to independent researchers interested in using or developing the GAP computational algebra system for performing a particular cohomological calculation as part of their investigations. There are many good introductions to elementary algebraic topology. Personal favourites are William Massey’s introductory text [203] and the more recent and slightly more comprehensive book by Allen Hatcher [150], both written by significant contributors to the subject. A third personal favourite, with a more specialized focus for readers already familiar with the basics, is Kenneth Brown’s introductory text on the cohomology of groups [39]. But there are many other excellent introductory texts that could be equally well recommended to beginning graduate students. This poses an obvious difficulty for any author of a new introduction to aspects of the subject. The current book aims to tackle the difficulty by minimizing the intersection with other texts as far as possible, subject to the constraint of remaining reasonably self-contained. It aims to supplement the literature by describing how techniques from computational algebra can be used to investigate examples that go beyond a reader’s tolerance for tediously long paper-and-pen calculation. The book is thus written under the assumption that the reader

Preface | ix

has access to some of the existing introductory literature and the willingness to consult these texts occasionally should curiosity arise. Any introduction to algebraic topology has to make choices as to which standard topics to exclude. In the present book the choices were guided by two principles: (i) only material closely related to algorithms already implemented in the HAP package is included; (ii) for efficient implementations of algorithms some notions are given a more detailed treatment at the expense of reduced treatments of other basic notions. For example, the first principle has led to the omission of a proper treatment of singular homology. This principle has also led to the omission of the computationally useful notion of -complexes. As an example of the second principle we mention that the book starts with an account of CW-spaces and then treats simplicial complexes in passing as a particular case. The chapters of the book fall under two themes: Chapter 1

Theme

Computational Topics

basic topology

CW-spaces, path components, topological persistence, simple homotopy, fundamental group, covering spaces cellular chain complexes, homology over fields and principal ideal domains, homological persistence, cohomology and cup products

2

3

homotopical algebra

cohomology of groups, homological perturbation

4

relation between group theory and cohomology of groups

5

cohomology of crossed modules, simplicial groups, homological perturbation

6

free resolutions for a range of groups

The first two chapters offer a short introduction to the fundamental group and cellular (co)homology, and are motivated by computer applications to dynamical systems, data mining, digital image analysis, protein analysis and group theory. The choice of material in these initial chapters has been influenced by recent textbooks on Computational Homology [173] and Computational Topology [92] and the survey article [53] on Topology and Data. Chapters 3 and 6 cover material on the cohomology of groups, the former covering more standard material while the latter is more eclectic. They include techniques for computing classifying spaces and cohomology of a range of classes of discrete groups such as finite groups, finitely generated nilpotent groups, Euclidean crystallographic groups, Coxeter groups, graphs of groups, various hyperbolic groups and arithmetic groups, and certain Artin groups. Techniques for computing the full modular cohomology ring structure are given in the case of finite prime-power groups. An implementation of the mod-2 Steenrod algebra is described for finite 2-groups. An implementation of classifying spaces for proper actions and Bredon homology is described for various infinite groups. The

x | Preface

material in Chapters 3 and 6 has been strongly influenced by Brown’s text on Cohomology of Groups [39]. Chapter 3 delegates proofs about Steenrod operations to the book by Mosher and Tangora [218]. Chapter 6 is also influenced by the books by Davis [76] and Bridson and Haefliger [36] on geometric group theory. Some group theoretic applications of low-dimensional cohomology and nonabelian tensor products are covered in Chapter 4. In Chapter 5 we turn to simplicial groups, their cohomology and in particular the cohomology of homotopy 2-types as represented by crossed modules. That chapter delegates various proofs to the book by Goerss and Jardine on Simplicial homotopy theory [132]. The material related to crossed modules in that chapter and elsewhere is strongly influenced by the book of Brown, Higgins and Sivera on Nonabelian algebraic topology [43]. Background material on point-set topology, categories and functors, and finitely presented groups and groupoids is presented in an appendix. The appendix also contains: a short survey of other software for homology and for group cohomology; installation instructions for HAP; and a discussion of parallel computation in which basic functionality for parallel computation within HAP is described. A second appendix, containing a description of all HAP functions used in the book, is available online [101]. The primary focus of the book is computation and much of the material concerns algorithms (or at least procedures), their implementation and sample applications of the implementation. Implementations tend to be ephemeral due to changing software platforms, whereas algorithms and procedures are as eternal as mathematics. Probably for this reason many books on computation present precise pseudo-code descriptions of algorithms, together with results or discussion on their complexity, and downplay implementations. The HAP software package is an experiment in how far one can push the project of encoding algebraic topology into touch-of-a-button functions suitable for non-specialists who simply need to know the answer to a particular calculation and do not care so much about the method of computation. For instance, a theoretical physicist interested in confirming that the Mathieu group M24 has third integral homology H3 (BM24 , Z) = Z12 might be satisfied with the output of the function gap> GroupHomology(MathieuGroup(24),3); gap> [ 4, 3 ] without needing details of how this function is implemented (cf. [79, 121, 124]). Such functions sometimes make calls to procedures for which the easiest proof that the procedure terminates on the given input is to run the procedure and observe that it terminates! Given the aims of HAP and the difficulty of deciding if some procedures will ever terminate, the present book downplays precise pseudo-code and omits discussion of complexity. Instead, it uses relatively informal standard mathematical language to describe most algorithms and procedures, and gives detailed example applications of the current HAP implementations. The HAP implementations, which are mostly written in the very readable GAP programming language, are available for viewing in the open source GAP distribution. Many of the implementations need to make some fairly random choices during their execution and these choices can significantly affect the run time. For that reason the book omits sample run times. If the reader is interested in how the current implementation might perform on a given input then he or she simply has to try it out on a computer!

Preface | xi

The algebraic topology implemented in HAP predates the invention of the personal computer. However, it was designed in a modular fashion and this modularity has been transported directly into the implementation according to the following principle. A data type should only be included in the implementation if there is a corresponding standard notion in topology. A function should only be included in the implementation if there is a corresponding standard construction in topology.

For example, in topology we have the notions of: simplicial space, CW-space, chain complex and homology. We have functors that: regard a simplicial space X as a CWspace, assign an integral chain complex C∗ X to a CW-space, assign a Zp -chain complex C∗ ⊗Z Zp to an integral chain complex C∗ , and assign a vector space Hn (C∗ ⊗Z Zp ) to a Zp -chain complex. To compute the homology group H2 (S2 , Z3 ) = Z3 in HAP one could use the following commands which reflect this functoriality. gap> S2:=SimplicialComplex([[1,2,3],[1,2,4],[1,3,4],[2,3,4]]); Simplicial complex of dimension 2. gap> Y:=RegularCWComplex(S2); Regular CW-complex of dimension 2 gap> C:=ChainComplex(Y); Chain complex of length 2 in characteristic 0 . gap> D:=TensorWithIntegersModP(C,3); Chain complex of length 2 in characteristic 3 . gap> HomologyVectorSpace(D,2); ( GF(3)ˆ1 )

This design principle is one that can carry over to other potential software implementations and is quite independent of the particular HAP implementation used throughout the book. The reader can view HAP simply as an illustration of the principle. There are two obvious benefits to the design principle. Firstly, the basic definitions and constructions of algebraic topology are known to piece together seamlessly into one powerful and extensible theory. Software that adopts the same tested component design is assured to be equally extensible. Secondly, topologists will likely be tempted by such software more than by an ad hoc collection of computer routines. In support of the latter assertion we mention that, for instance: a four-line HAP program is used in the recent paper [70] to help answer a 45-year-old question of R.H. Bing concerning the fixed point property of spaces; a longer HAP program is used in the recent memoir [163] to help with the stably rational classification of algebraic tori of dimensions 4 and 5 over a field k. The reader may wonder why the GAP programming language has been chosen to illustrate the computer implementation of algebraic topology as opposed to some more widely used language such as C++. There are essentially two reasons for this choice. Firstly, GAP contains many efficient implementations of basic algorithms that are needed in topology (echelon form, Smith normal form, nilpotent quotient algorithm, Reidemeister–Schreier subgroup presentation, Todd–Coxeter algorithm and double

xii | Preface

coset enumeration, orbit-stabilizer algorithm, Sylow subgroups and other basic grouptheoretic constructions, . . . ) and provides easy access to basic libraries used to illustrate the algorithms (small groups library, crystallographic groups library, finite simple groups library, irreducible group representations, . . . ) and it would be futile to reimplement all of this. Secondly, a main goal of the HAP project is to decide on, and clearly document, the principal data types and functions that should be implemented in a topology software system, and to demonstrate that the choices yield a practical system. This goal is largely independent of programming language, but there are features of GAP that facilitate the project: it is open-source software; it has a convenient interactive environment; it allows for low-level algorithms to be implemented in C; it is actively supported by the international computational algebra community; it has established links with Polymake and Singular software. Each computational example in the book is available in the HAP package as a GAP readable file. Code relating to Example x.y.z can be run using the command HapExample(“x.y.z”); so that the example can then be further investigated using the full functionality of GAP. The examples take anything from a fraction of a second to, in some cases, several hours to run on a typical laptop computer. Some examples refer to data files and include a reference [filename]; the relevant data file is available in the HAP package. The majority of the GAP examples run on the default Windows and Linux versions of GAP. Some of the examples require GAP packages that run only on Linux. A few examples require external open source software such a Singular or Polymake which again only run under Linux. The book treats external software as black boxes which simply do what is said on the box. Various PhD students and postdocs at Galway have helped, either directly or indirectly, with the material in this book and thanks are due to all of them. In chronological order, the PhD students are: Aidan McDermott, Irina Kholodna, James Harris, Seamus Kelly, Maura Clancy, Fintan Hegarty, Le Van Luyen, Bui Anh Tuan, Daher Freh Al-Baydli, Nisreen AlOkbi, Kevin Killeen. Again in chronological order, the postdocs are: Emil Sköldberg, Gerald Williams, Marc Röder, Paul Smith, Simon King, Mark Dickinson, Alexander Rahm. The material in the book has also benefited greatly from extended visits to Galway by Pablo Fernández Ascariz, Cédric Fragnaud, Hamid Mohammadzadeh, Robert Morse, Ana Romero and Mathieu Dutour Sikiri´c. Graham Ellis National University of Ireland, Galway December 2018

List of Figures 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32

Torus endowed with a CW-structure. Hawaiian earing. Illustration of Theorem 1.1.1. Orbit polytope for the symmetric group S4 . The polytope C(G, v). The polytopes 3 and I3 . Polytope boundary is a 2-dimensional CW-subspace of 12 . Simplicial Klein bottle. 3-dimensional prism. Pure cubical and permutahedral models of the trefoil knot. BL for the permutahedral lattice. Nerves of two spaces. L-ball and L-sphere for r = 2. Strange attractor of the Hénon map. Values of N(A, ) for the Hénon attractor. A 2-dimensional CW-space. Application of Algorithm 1.3.1 to the Klein bottle. Distances between five taxa. Dendrogram. A digital image. A threshold plot. Barcode for persistent Betti numbers. Barcode for dendrogram. Barcode for filtration. Barcode for filtration. Pure cubical complexes obtained from an image of a starfish. 0-dimensional barcode for a starfish. Pure cubical complexes for a starfish. 0-dimensional barcode for a starfish. Point cloud in R2 . Simplicial graph produced by the Mapper algorithm. Data points and corresponding Mapper graph.

4 6 8 12 14 15 15 17 19 20 21 24 26 27 27 29 32 33 35 35 36 37 37 38 39 40 41 41 41 44 45 46

xviii | List of Figures

1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.50 1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59 1.60 1.61 1.62 1.63 1.64 1.65 1.66 1.67 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

An elementary expansion of Y. Simplification of a regular CW-space. Bing’s house. Proof of Proposition 1.4.4. Dunce hat. Contact space of a CW-space. Backbone of the Thermus Thermophilus protein. Admissible discrete vector field on the torus. The spaces T 0 , V 1 and T 1 . The Quillen complex A2 (S4 ). Equivalent paths in Y I . Subcomplex of the simplicial Klein bottle. Knot diagram for the trefoil knot. Addition of a trefoil knot and its mirror image. A knot constructed from a sequence of 163 points. An example of the Erdõs–Rényi graph G(1000, 1/750). Plots of β0 (G(5000, p)) and d(π1 Y(60, p)). Sketch proof of Seifert and van Kampen’s theorem. Contractible pure cubical space. A torus as the union of two overlapping cylinders. Fundamental group generators for the trefoil complement. The two types of knot crossing. Planar knot diagram for the trefoil. A 4-crossing knot diagram. Knot number 1 on 9 crossings. Classifying index for prime knots. Two trefoil knots. Borromean rings and three unlinked trivial knots. Homo Sapiens 1xd3 protein backbone. Second prime knot on five crossings and a related graph. A Dirichlet-Voronoi region. A 2-dimensional cubical lattice manifold. Cayley graph for the group H3 . Chicken red blood cells. A 2-fold cover of S1 ∨ S1 . Images of a collection of letters. Barycentric subdivision of a cube. Relator disks. Star graph of a presentation. Surface for a 2-dimensional Artin group. Relators disks and a syzygy. Spanning tree on a sphere. Plots of βk (K(100, p)). Plots of βk (L(50, p)).

47 50 51 53 54 55 57 59 60 63 67 73 74 75 79 80 80 82 83 86 87 88 88 89 94 95 99 100 101 102 110 118 120 125 126 131 134 138 139 140 141 142 153 154

List of Figures | xix

2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 5.1 5.2 5.3 5.4 6.1 6.2 6.3 6.4 6.5

A data cloud and its thickenings. β1∗,∗ barcode for C∗ (Y∗ , Q). β1∗,∗ barcode for C∗ (K∗ , Q). A cloud of 3527 points. β1∗,∗ and β2∗,∗ barcodes. Cubical complex for the 1v2x protein. β1∗,∗ barcode of the 1v2x protein. Data cloud and 1-skeleton of an associated space. β0 barcode (top) and β1 barcode. β1 barcode. Graph fitted to a distance matrix. Images of the letters “A” and “B”. Graph fitted to the images of Figure 2.21. A few 3 × 3 grey-scale patches. β0 barcode (left) and β1 barcode. Two Dirichlet–Voronoi fundamental domains. Piecewise linear knot. Spaces U ⊂ A ⊂ X. Cross section of a pure cubical complex. A van Kampen diagram. A van Kampen diagram. Link with three components. 1-skeleton of a term in a filtered simplicial complex. Edge graph of a fundamental domain. Discrete vector field on R. The cubic tree. Orbit polytope. Degree 2 persistent radical numbers. van Kampen diagrams for Lemma 3.6.1. Degree 5 homology barcodes. The finite irreducible Coxeter diagrams. Coxeter polytope for H3 . Portion of an infinite Coxeter Cayley graph. Portion of an infinite Coxeter Cayley graph. Geometric interpretation of equation 4.4. Schematic depiction of a relative map. Piecewise linear map from unit square. A lollipop in W. S1 × S1 × S1 as a quotient of a cube. van Kampen diagram for a syzygy. Star graphs for relators. Graphs of groups. Cubic tree. Tessellations for T(2, 3, 7) and T(2, 3, 5).

159 160 161 161 162 163 164 166 167 168 169 169 170 171 171 175 180 183 185 203 207 210 211 219 220 239 243 264 268 286 319 319 320 321 329 381 381 384 386 427 429 432 437 442

xx | List of Figures

6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20

Free resolution for Euclidean and hyperbolic cases. Orbit polytope for A4 . Hyperbolic quadrilateral. Tetrahedron in H3 with four ideal vertices. Dual 2-complex for the tetrahedron in H3 . Coxeter graph for A˜ 4 . Weak order on A3 . Hasse diagram for the weak order on W = S5 . Discrete vector field WD = A˜ 3 . Polytopes arising as XD,v . The E7 Coxeter diagram. Coxeter graph of a seven generator Artin group. Coxeter graphs. Polytopes corresponding to Coxeter graphs. Least common left multiple in an Artin monoid.

443 443 448 451 453 456 457 460 461 462 465 467 469 470 474

List of Tables 5.1 6.1 6.2 6.3 6.4

Crossed modules of small order. Homology groups Hn (SL2 (Z[1/m]), Z) Details on free resolutions for M22 , M23 , M24 . Low dimensional homology of Mathieu groups. Boundaries in the Coxeter complex.

400 439 465 466 471

List of Algorithms 1.1.1 1.1.2 1.2.1 1.2.2 1.3.1 1.3.2 1.4.1 1.4.2 1.4.3 1.5.1 1.6.1 1.9.1 1.9.2 1.9.3 1.10.1 2.4.1 2.4.2 2.8.1 3.1.1 3.2.1 3.2.2 3.3.1 3.7.1 3.9.1

Facets of a convex hull Face lattice of a half-space polytope Nerve of a lattice complex CW-structure of a pure cubical complex Path components of a regular CW-complex Path components of a lattice complex Deformation retract of a regular CW-complex Simplification of a regular CW-structure Deformation retract of a lattice complex Discrete vector field on a regular CW-complex Fundamental group of a regular CW-complex Equivariant CW-complex of a crystallographic group Crystallographic group orbits Crystallographic group stabilizers Free presentation for a finite group Semi-echelon matrix Filtered semi-echelon matrix Cup product for 2-complexes Free cubical resolution for Bieberbach groups Free resolution using linear algebra Free resolution using discrete vector fields Simplification of a free resolution Isomorphism test for graded-commutative algebras Completion criterion for mod-2 cohomology ring

10 11 22 28 31 34 49 50 56 61 71 111 112 113 120 151 157 206 221 228 230 232 281 291

1

Path Components and the Fundamental Group

Our aim is to compute homotopy invariants of topological spaces. This chapter begins with a few basics about homotopy and then introduces the class of topological spaces that forms the primary focus of our computations. This is the class of CW-spaces introduced by J.H.C. Whitehead in the 1940s. The first section ends with details on convex hull computations that are needed to provide our first computer examples of CW-spaces. Section 2 introduces three more classes of spaces – simplicial spaces, cubical spaces and permutahedral spaces – that are also convenient for computations. Constructions for converting these into the primary class of CW-spaces are given. The nerve construction is introduced as a means of converting cubical and permutahedral spaces into homotopy equivalent simplicial spaces. An example is given which hints at the idea of using cubical spaces as a tool for studying dynamical systems. Further details on this idea are presented in the book [173]. The most fundamental homotopy invariant of a CW-space X, its set π0 (X) of path components, is introduced in Section 3. Algorithms are given for computing π0 (X) for CW-spaces, and also for cubical and permutahedral spaces. This section includes examples in digital image analysis, which are used to introduce the topical concept of topological persistence. Persistence occurs again in Chapter 2 in the context of homology functors, and again in Chapter 3 in the context of spectral sequences. Section 3 contains a subsection on the Mapper clustering procedure due to Singh, Mémoli and Carlsson [265]. This clustering procedure has been used in [221] to identify a particular subgroup of breast cancers. Section 4 addresses the question of how to represent homotopies on a computer. The answer is again provided in the work of J.H.C. Whitehead: they can be represented using his combinatorial notion of simple homotopy. The classical examples of Bing’s House and the Dunce Cap are used to illustrate that not every contractible CW-space can be reduced to a point by a sequence of simple homotopy collapses. Simple homotopy collapses apply to CW-spaces, but they can also be applied directly, in batches, to cubical and permutahedral spaces. Examples are given to illustrate that an effective method of producing a homotopy equivalent smaller CW-space from a cubical (or permutahedral) space is to first apply homotopy collapses directly to the cubical space, then convert the collapsed cubical space to a An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

2 | Path Components and the Fundamental Group

CW-space, and then apply further collapses to the converted CW-space. Up to Section 4 all computations are performed on regular CW-spaces. It is not so clear how best to represent an arbitrary CW-space X on a computer. There are a number of possibilities and the option proposed in Section 5, and used throughout the remainder of the book, is to represent it in terms of a regular CW-space Y together with an explicit homotopy equivalence Y  X. The explicit homotopy equivalence is recorded using the notion of discrete vector field, a notion introduced in [118] but also present under a different name in the PhD work [171]. Section 5 contains a group-theoretic example that uses discrete vector fields to establish the homotopy type of the Quillen complex of a finite group. The fundamental group is introduced in Section 6. An algorithm is given for finding a presentation for the fundamental group π1 (X) of a finite CW-space X. The algorithm is illustrated on CW-spaces, involving several million cells, that arise from the complements of protein backbones. The study of protein backbones leads on naturally to the general study of knot complements, and an example is given that illustrates the computation of a peripheral system for a knot arising from a protein backbone. It is a result of Waldhausen that peripheral systems provide complete knot invariants. The algorithms for π0 (X) and π1 (X) are used to illustrate deep phenomena about random simplicial complexes which are studied theoretically in [175, 176]. The section ends with a statement and computer implementation of the Seifert–van Kampen theorem. A subsection contains details on a version of the Seifert–van Kampen theorem for fundamental groupoids since there are certain definite advantages to groupoids when working in a computational setting. A second subsection describes and implements the Wirtinger presentation of the fundamental group of a knot complement. For the special case of knot complements this is a more efficient approach to finding a presentation of the fundamental group. Methods for computing with group presentations (of fundamental groups) are outlined in Section 7. These are used to show that abelian invariants of the subgroups of the fundamental group of index ≤ 6 suffice to distinguish between all prime knots on ≤ 11 crossings; the result is extended in [35] to prime knots on ≤ 14 crossings and subgroups of index ≤ 7. Section 8 introduces the notion of a quandle and explains how it can be used to compute invariants that distinguish between non-prime knots. Section 9 introduces covering spaces and equivariant CW-spaces. The examples in this section are derived from crytallographic groups and representations of finite groups. The final Section 10 introduces the 2-dimensional CW-space associated to a group presentation which is used extensively in Chapters 3 and 6.

1.1 Regular CW-spaces In topology two spaces X and Y are considered to be indistinguishable, or homeomorphic, if there exist continuous functions f : X → Y and f  : Y → X for which f  ◦ f = 1X is the identity on X and f ◦ f  = 1Y is the identity on Y. Such functions are said to be homeomorphisms. For example, the open interval X = (−1, 1) and real line Y = R are indistinguishable thanks to the homeomorphism f (x) = x/(x2 − 1).

Regular CW-spaces | 3

A topological property is a property that holds for a space X only if it holds for all spaces homeomorphic to X. Connectedness is an example of a topological property. Topological properties can be used to distinguish between spaces. For instance, suppose that we have an arbitrary homeomorphism f : X → Y. Then for any x0 ∈ X the function f restricts to a homeomorphism f : X \ {x0 } → Y \ { f (x0 )}. So X \ {x0 } is connected only if Y \ { f (x0 )} is connected. This suffices to prove that the real line Y = R is not homeomorphic to the real plane X = R2 . Topology is the study of topological properties of spaces. For brevity we use the term map (or sometimes continuous map) as a synonym for continuous function, and speak of discontinuous maps when referring to functions that are not continuous. Much of algebraic topology focuses on homotopical properties of spaces. To define this term one first defines two maps f , g : X → Y to be homotopic if there is a map H : X × [0, 1] → Y, (x, t)  → H(x, t) with H(x, 0) = f (x) and H(x, 1) = g(x) for all x ∈ X. We say that H is a homotopy and write f  g. This is an equivalence relation on the set of all maps from X to Y. Two spaces X and Y are said to be homotopy equivalent if there exist maps f : X → Y and f  : Y → X for which f  ◦ f  1X and f ◦ f   1Y . Such maps f , f  are said to be homotopy equivalences. Homotopy equivalence is an equivalence relation on topological spaces. A space is said to be contractible if it is homotopy equivalent to a space consisting of a single point. Euclidean space X = Rn is homotopy equivalent to the singleton space Y = {0} thanks to the maps f (x) = 0, f  (0) = (0, 0, · · · , 0) ∈ Rn , the identity f f  = 1Y and the homotopy f  f  1X given by the formula H(x, t) = (1 − t)f  f (x) + tx. It follows by transitivity that the real line R is homotopy equivalent to the plane R2 . A homotopical property is a property that holds for a space X only if it holds for all spaces homotopy equivalent to X. Since homeomorphic spaces are homotopy equivalent, it follows that every homotopical property is a topological property. A homotopy invariant I(X) is another term for a homotopical property of X. Homotopy theory can be viewed as a pipeline data G topological space X = B(G) algebra A(X) homotopy invariant I(X) Interpretation that inputs some data G, uses the data to construct a meaningful topological space X, then uses X to construct some algebraic structure A(X), and uses this algebra to determine a homotopical property I(X) of the space X. The final task is to interpret the property in a useful way. Traditional algebraic topology inputs a pure mathematical object G such as

4 | Path Components and the Fundamental Group

a group or ring or topological space. The construction X = B(G) returns a topological space with nice features that make for easy calculations. Even when the input G is itself a space it may be necessary to convert it into a nicer space X. The construction A(X) returns some algebraic structure that typically is not a homotopy invariant of X but from which a homotopy invariant I(X) can be extracted. The goal is to provide a useful interpretation of I(X). Chapters 3–6 focus on the case where the input data G is a group or crossed module. But in the first two chapters we consider examples in which G is: a topological space, a digital image, a collection of digital images, a dynamical system, a protein backbone, a knot or link, a point cloud data set, a random graph, a lattice of p-subgroups of a finite group, and a real representation of a finite group. This range of examples is intended to emphasize the potential applicability of homotopy theory. The examples are feasible because we use a computer to help us work our way through the pipeline. Our aim is to use a computer to calculate homotopy invariants of a range of topological spaces. The spaces typically contain uncountably many points, and to store them on a computer we require a finite or countably infinite representation that retains all homotopy theoretic information. Such a representation was developed by J.H.C. Whitehead in his 1949 papers on combinatorial homotopy [289, 290]. The idea is to represent a space as a collection of open balls, or cells, of various dimensions. The cells are glued together along their boundaries. Whitehead formalized the idea into the notion of a CW-space (also called a membrane complex in his earlier papers), a notion which is fundamental to modern algebraic topology and one which is a central object of study in this book. To motivate the precise definition of a CW-space we illustrate it with the torus, the direct product S1 × S1 of two circles, shown in Figure 1.1 (left). Figure 1.1 (right) shows the torus endowed with a CW-structure involving four 0-dimensional cells, eight 1-dimensional cells and four 2-dimensional cells. In the definition of a CW-space we use the following notation for the closed unit ndimensional ball Dn = {x ∈ Rn : ||x|| ≤ 1}, the open unit n-dimensional ball ˚ n = {x ∈ Rn : ||x|| < 1}, D

Figure 1.1 Torus endowed with a CW-structure.

Regular CW-spaces | 5

and the unit (n − 1)-dimensional sphere Sn−1 = {x ∈ Rn : ||x|| = 1}  where ||(x1 , . . . , xn )|| = x21 + . . . + x2n . We abbreviate n-dimensional ball to n-ball and n-dimensional sphere to n-sphere. We also use the term n-disk as a synonym for n-ball. Note ˚ 0 = D0 = R0 = {0}. that D Definition 1.1.1. A CW-space is a Hausdorff space X together with a family of subsets

eλ ⊆ X (λ ∈ ) each homeomorphic to an open unit ball of some dimension dim(eλ ). We refer to the eλ as cells of dimension dim(eλ ) and define the n-skeleton X n to be the union of those cells of dimension ≤ n. The following axioms must hold.

1. Each x ∈ X lies in precisely one cell eλ . (In other words, the cells partition X.) 2. For each cell eλ of dimension n = dim(eλ ) ≥ 1 there exists a continuous map φ : Dn → X that restricts to a continuous map φ  : Sn−1 → X n−1 and that sends ˚ n homeomorphically onto eλ . We say that φ is an attaching map or characteristic D map for the cell eλ . 3. The closure eλ of any cell eλ in X is contained in a finite union of cells eμ , μ ∈ . 4. A subset A ⊆ X is closed if and only if A ∩ eλ is closed in X for each λ ∈ . The letters CW stand for the closure finiteness of Axiom (3) and the weak topology of axiom (4). We refer to a cell of dimension n as an n-cell. We say that a CW-space is of dimension n if it has an n-cell and no cell of dimension greater than n. We say that a CW-space is finite if it contains only finitely many cells. Axioms (3) and (4) automatically hold as consequences of Axiom (1) in any finite CW-space. One can show that in any CW-space the closure eλ of an n-cell is equal to φ(Dn ) where φ is the attaching map for the cell. See the appendix to Allen Hatcher’s book [150] for a detailed account of the point-set topology of CW-spaces. A standard example of a topological space that can not be endowed with the structure of a CW-space is the subspace of the Euclidean plane R2 depicted in Figure 1.2 and known as the Hawaiian earing. This earing is the union of the circles with centre (1/n, 0) and radius 1/n for n = 1, 2, 3, . . . . The obvious candidate for a CW-structure, involving one 0-cell and countably many 1-cells, yields a non-compact CW-space whereas the Hawaiian earing is a closed and bounded subset of the plane and hence compact. The following property plays an important role in our computer representation of CW-spaces. Definition 1.1.2. A CW-space is said to be regular if each attaching map φ : Dn → X

sends the closed ball Dn injectively into X.

The CW-structure on the torus S1 × S1 given in Figure 1.1 (right) is regular. The CWstructure on the circle S1 involving one 0-cell e0 = {(1, 0)} and one 1-cell e1 = {x ∈ S1 : x = (1, 0)} is not regular.

6 | Path Components and the Fundamental Group

Figure 1.2 Hawaiian earing.

For n ≥ 1 we define the boundary of an n-dimensional cell en to be ∂enλ = enλ \ enλ , where the closure enλ equals the image of the attaching map φ : Dn → X for en . If X is regular then, from just a knowledge of which (n − 1)-cells lie in the boundary of each n-cell en , n ≥ 1, one can construct a homeomorphism φ : Sn−1 → en \ en and extend it to a homeomorphism φ : Dn → en . The space X can be reconstructed, up to homeomorphism, in this way. (The 1-skeleton X 1 is just a graph and is easily reconstructed up to homeomorphism from a knowledge of the boundary 0-cells of each 1-cell; the skeleta X 1 , X 2 , …can be reconstructed recursively.) It is therefore quite practical to store on a computer the topological information contained in a finite regular CW-space X. In this book we are interested in topological spaces, combinatorial representations of these spaces, and computer data types for storing the combinatorial representations. It is often convenient to blur any distinction between the three entities. However, we sometimes need to keep a clear distinction. In the latter case we use the term space when referring to a topological space, and the term complex when referring to a combinatorial model or data type of some topological space that can be implemented on a computer. In the former case we use the terms space and complex somewhat interchangeably. We use letters such as X, Y to denote both spaces and complexes; when there is a need, we write |X|, |Y| to denote spaces modelled by combinatorial objects or data types X, Y. In keeping with this convention we introduce the following terminology. Definition 1.1.3. A regular CW-complex X consists of a sequence of sets n , n ≥ 0,

arising as the indexing sets for the n-dimensional cells of some CW-space |X|, together with a sequence of binary valued functions ιn : n × n−1 → {0, 1} , n ≥ 1

n  defined by ιn (λ, λ ) = 1 if en−1 λ is contained in the boundary of eλ , and ιn (λ, λ ) = 0 otherwise. We say that |X| is a geometric realization of X and define Size(X) =

Regular CW-spaces | 7



n≥0 |n |. If any n is infinite, or if infinitely many n are non-empty, then Size(X) = ∞.

The HAP package [100] uses the following representation of finite regular CWcomplexes. Redundant information is incorporated into the representation in order to improve the speed of certain algorithms. Data type 1.1.1. A regular CW-complex can be represented as a component object X

with the following components: • X!.boundaries[n+1][k] is a list of integers [t, a1 , . . . , at ] recording that the ai th cell of dimension n − 1 lies in the boundary of the kth cell of dimension n. • X!.coboundaries[n][k] is a list of integers [t, a1 , ..., at ] recording that the kth cell of dimension n lies in the boundary of the ai th cell of dimension n + 1. • X!.nrCells(n) is a function returning the number of cells in dimension n. • X!.properties is a list of properties of the complex, each property stored as a pair such as [“dimension”, 4]. The associated boolean valued function IsHAPRegularCWComplex(X) returns true when X is of this data type. Interesting examples of regular CW-spaces can be generated from convex hull computations. With these examples in mind, we recall some basic terminology and machinery from convex polytope theory. A subset X ⊆ Rn is convex if, for any pair of points x, y ∈ X, the line segment joining x to y lies entirely in X. The convex hull of a finite set of points S = {v1 , v2 , . . . vp } in Rn , Conv(S) = {



ti vi ∈ Rn : ti ≥ 0 ,

1≤i≤p



ti = 1},

(1.1)

1≤i≤p

is the ‘smallest’ convex subset of Rn containing all points of S. In other words, any convex set that contains S also contains Conv(S). For any non-zero vector w ∈ Rn and any real number c the half space H(w, c) = {x ∈ Rn : x, w ≥ c} is a convex set, where x, w denotes the standard Euclidean inner product. The term convex polytope is a synonym for the convex hull of a finite set of points. A rigorous proof of the following result can be found, for instance, in Chapter 1 of [299]. Theorem 1.1.1. (Fundamental Theorem of Convex Polytopes) For any finite set S ⊂ Rn

there is a finite collection of half spaces H(w1 , c1 ), H(w2 , c2 ), …, H(wF , cF ) such that  Conv(S) = H(wi , ci ). 1≤i≤F

8 | Path Components and the Fundamental Group 3x1 – 2x2 ≥ 1

5

4

3 –x1 + 2x2 ≥ 1 2

1 –x1 ≥ – 3 1

2

3

4

Figure 1.3 Illustration of Theorem 1.1.1.

To illustrate the statement of Theorem 1.1.1 consider the set of four points S = {v1 = (1, 1), v2 = (2, 2), v3 = (3, 2), v4 = (3, 4)} in R2 and the three half spaces H1 = H((−1, 2), 1), H2 = H((−1, 0), −3), H3 = H((3, −2), 1). The equality Conv(S) = H1 ∩ H2 ∩ H3 is pictured in Figure 1.3 as a shaded area that is clearly both a convex hull and an intersection of half spaces. We can use this example to outline a proof of Theorem 1.1.1. In order to derive from S the half spaces whose intersection equals the convex hull P = Conv(S), first observe from 1.1 that P is a projection onto the first two coordinates of the subspace K ⊂ R6 consisting of those vectors (x1 , x2 , t1 , t2 , t3 .t4 ) satisfying the following ten inequalities. ⎞ ⎛ −1 0 1 2 3 3 ⎜ 1 0 −1 −2 −3 −3⎟ ⎟⎛ ⎜ ⎜ 0 −1 1 2 2 4⎟ ⎟ x1 ⎜ ⎟ ⎜ x2 ⎜ 0 1 −1 −2 −2 −4 ⎟⎜ ⎜ ⎟ ⎜ t1 ⎜ 0 0 1 1 1 1 ⎟⎜ ⎜ ⎟ ⎜ t2 ⎜ 0 0 −1 −1 −1 −1 ⎟⎜ ⎜ ⎟ ⎝ t3 ⎜ 0 0 1 0 0 0 ⎟ ⎜ ⎟ t4 ⎜ 0 0 0 1 0 0 ⎟ ⎜ ⎝ 0 0 0 0 1 0⎠ 0 0 0 0 0 1

⎞ 0 ⎜ ⎟ ⎞ ⎜ 0⎟ ⎜ 0⎟ ⎜ ⎟ ⎟ ⎜ 0⎟ ⎟ ⎜ ⎟ ⎟ ⎜ 1⎟ ⎟≥⎜ ⎟ ⎟ ⎜−1⎟ ⎟ ⎜ ⎟ ⎠ ⎜ 0⎟ ⎜ ⎟ ⎜ 0⎟ ⎜ ⎟ ⎝ 0⎠ 0 ⎛

(1.2)

Regular CW-spaces | 9

We need to explain how the variables t1 , t2 , t3 , t4 can be “eliminated” from these ten inequalities to yield a description of P ⊂ R2 as the subset of those pairs (x1 , x2 ) ∈ R2 satisfying the half space inequalities ⎛

⎛ ⎞ ⎞ −1 2 1 x ⎝−1 0⎠ 1 ≥ ⎝−3⎠. x2 3 −2 1

(1.3)

Let us begin with the elimination of t4 . Note that, of the ten inequalities (1.2), four are of the form t4 ≥ L(x1 , x2 , t1 , t2 , t3 ) where L is a linear expression. Three are of the form t4 ≤ U(x1 , x2 , t1 , t2 , t3 ) where U is a linear expression. The remaining three inequalities don’t involve t4 . The projection π: R6 → R5 onto the first five coordinates thus sends K to the subspace π(K) ⊂ R5 consisting of those vectors (x1 , x2 , t1 , t2 , t3 ) satisfying the three inequalities t1 ≥ 0, t2 ≥ 0, t3 ≥ 0 and 4 × 3 = 12 inequalities of the form L(x1 , x2 , t1 , t2 , t3 ) ≤ U(x1 , x2 , t1 , t2 , t3 ). The same elimination technique can then be applied to eliminate t3 from the 15 inequalities defining π(K) ⊂ R5 to obtain a set of inequalities defining the image of K under the projection π 2 : R6 → R4 onto the first four coordinates. This elimination procedure (due to Fourier and rediscovered by Motzkin) can in turn be used to eliminate t2 and then t1 to yield a highly redundant set of inequalities x A 1 ≥b x2

(1.4)

describing P ⊂ R2 as an intersection of half spaces. There are several methods for reducing the redundant system (1.4) to the minimal system (1.3). For example, to test if a given inequality E is implied by a system Ax ≥ b we can add the negation of E to the system: the resulting system not E and Ax ≥ b has no solution if and only if E is implied by Ax ≥ b. Fourier–Motzkin elimination can be used to test if a system of inequalities A x ≥ b has any solution: eliminate all but the first variable and the resulting single variable inequality has a solution if and only if A x ≥ b has a solution. The above discussion of Theorem 1.1.1 is summarized in the naive and computationally expensive Algorithm 1.1.1.

10 | Path Components and the Fundamental Group

Algorithm 1.1.1 Facets of a convex hull.

Input: A set S consisting of k ≥ 1 points in Rn . Output: An m × n matrix A and m × 1 vector b such that the inequalities Ax ≥ b describe a minimal set of half spaces whose intersection is Conv(S). 1: procedure 2: Convert the set S to a system A x ≥ b of 2n + 2 + k inequalities defining a subspace K ⊂ Rn+k that projects onto Conv(S) ⊂ Rn . 3: Use Fourier–Motzkin elimination to obtain a (typically highly redundant) set of inequalities Ax ≥ b that determine Conv(S). 4: For each inequality in the system Ax ≥ b use Fourier–Motzkin elimination to test if it is implied by the other inequalities in the system. If it is implied then remove it from the system and update A, b accordingly. 5: Return A and b. 6: end procedure Algorithm 1.1.1 would suffice for computing a minimal half space description of the convex hull of a small number of points in low-dimensional Euclidean space. There are many possible refinements to, and variants of, this basic algorithm. The Polymake software [127] for convex polyhedra incorporates a range of convex hull algorithms, each optimized for specific situations, and these are used in HAP. For an n-dimensional convex polytope P = Conv(S) ⊂ Rn described as an intersection of a minimal collection of half spaces H1 = {x ∈ Rn : x, w1  ≥ c1 }, . . . , Hm = {x ∈ Rn : x, wm  ≥ cm } one defines the facets of P to be the closed subspaces Fin−1 = P ∩ −Hi for 1 ≤ i ≤ m and −Hi = {x ∈ Rn : x, wi  ≤ ci }. Each k-dimensional subspace of P arising as the intersection of a collection of facets is deemed to be a k-dimensional face or k-face of P. The polytope P is deemed to be the unique n-dimensional face of P and there are no faces of dimension > n. Any k-dimensional face Fk is homeomorphic to the closed disk Dk . A 0-dimensional face is called a vertex and a 1-dimensional face is called an edge of P. A k-face Fk can be represented by the set ν(F k ) = {i : F k ⊆ Fin−1 , 1 ≤ i ≤ m} of those integers i for which F k is a subspace of the facet Fin−1 . For the n-dimensional face we have ν(P) = ∅. The following Proposition summarizes some useful elementary properties of convex polytopes. A proof of the proposition can be extracted from standard texts on convex polytopes such as [299]. Proposition 1.1.2. Let P = Conv(S) be a polytope arising as the convex hull of a finite set

of points S ⊂ Rn .

Regular CW-spaces | 11

(i) P has the structure of a regular CW-space in which the interiors of the k-faces are the k-dimensional cells of the CW-space. (ii) The vertices of P form a subset of S. A point in S is a vertex if and only if it lies in some facet of P. (iii) For any two distinct faces F1 , F2 of dimensions at least k there is a face F of dimension at least k + 1 such that ν(F) = ν(F1 ) ∩ ν(F2 ). (iv) For each face F k+1 of dimension k + 1 there exists a pair of k-faces F1k , F2k such that ν(F k+1 ) = ν(F1k ) ∩ ν(F2k ). Algorithm 1.1.2 describes one procedure for accessing the regular CW-structure of convex polytopes. The algorithm is based on Proposition 1.1.2. A refinement of the algorithm is described in [120] and implemented in Polymake. Algorithm 1.1.2 Face lattice of a half-space polytope.

Input: A finite set S ⊂ Rn and an m × n matrix A and m × 1 vector b such that the inequalities Ax ≥ b describe a minimal set of half spaces with bounded intersection equal to the polytope P = Conv(S) of dimension dim(P) = d say. Output: A regular CW-complex X whose geometric realization is the CW-structure on P described in Proposition 1.1.2(i). 1: procedure 2: For each column vector w ∈ S compute the set ν(w) = {i : Ai w = bi , 1 ≤ i ≤ m} where Ai denotes the ith row of A and bi denotes the ith entry in b. 3: Compute P0 = {ν(w) : w ∈ S, |ν(w)| ≥ d}. Each set ν(w) ∈ P0 corresponds to a vertex of P; the integers in ν(w) record those facets of P containing this vertex. 4: for 1 ≤ k ≤ d do 5: Compute the set Pk = {σ = σ1 ∩ σ2 : σ1 , σ2 ∈ Pk−1 , σ1 = σ2 } 6: Compute the subset Pk ⊆ Pk consisting of those sets in Pk that are maximal in Pk with respect to set inclusion. 7: end for 8: The k-faces Fk of P correspond to the elements ν(F k ) in Pk in such a way that an inclusion of faces F k−1 ⊂ Fk corresponds to a containment of finite sets ν(F k ) ⊂ ν(F k−1 ). Record the finite sets Pk and the containments ν(F k ) ⊂ ν(Fk−1 ) as a regular CW-complex X. 9: Return X. 10: end procedure Examples of polytopal CW-spaces can be generated from real matrix representations, i.e. homomorphisms ρ : G → GLn (R), of finite groups G. For any column vector v ∈ Rn one can consider the set S(ρ, v) = {ρ(g)v : g ∈ G} ⊂ Rn and the convex hull P(ρ, v) = Conv(S(ρ, v)). We refer to such a convex polytope as an orbit polytope and denote it by P(G) or P(G, v) when the representation ρ is clear from the context.

12 | Path Components and the Fundamental Group Example 1.1.1. Consider the symmetric group S4 of degree 4 represented as the group

of all 4 × 4 permutation matrices and the column vector v = (−2, −1, 1, 2)t ∈ R4 . The set S(ρ, v) then consists of all 24 permutations of the coordinates of v. Each permutation of v lies in the 3-dimensional hyperplane consisting of those vectors in R4 whose coordinates sum to zero. The 3-dimensional polytope P(S4 , v) is visualized in Figure 1.4. The following GAP session generates P(S4 , v) as a 3-dimensional regular CW-complex and then lists the number of cells in each dimension. GAP session 1.1.1 gap> points:=Orbit(SymmetricGroup(4),[-2,-1,1,2],Permuted);; gap> Y:=RegularCWPolytope(points); Regular CW-complex of dimension 3 gap> NumbersOfCells:=List([0..3],Y!.nrCells); [ 24, 36, 14, 1 ]

The polytope P(S4 , v) has 24 vertices, 36 edges and 14 facets. One can show that the combinatorial structure of P(S4 , v), i.e. the number of k-faces and their incidence relations, is the same for all vectors v = (x1 , x2 , x3 , x4 ) with distinct coordinates xi = xj , 1 ≤ i < j ≤ 4. The GAP session requires the HAP package to be loaded, and makes a call to Polymake software. In keeping with all subsequent examples, it can be reproduced using the following command. GAP session gap> HapExample("1.1.1");



Figure 1.4 Orbit polytope for the symmetric group S4 , known as the 3-dimensional permutahedron.

Regular CW-spaces | 13

The determination of the cell structure of the convex hull of a given set S of points in Rn is known to be a computationally expensive problem in general. For orbit polytopes there are some observations that help with the computation. The following is one such observation. Lemma 1.1.3. For any matrix representation ρ : G → GLn (R) of a finite group G, and any

vector v ∈ Rn , the vertices of the orbit polytope P(ρ, v) are precisely the (not necessarily distinct) vectors ρ( g)v, g ∈ G.

Proof. Proposition 1.1.2 asserts that the vertices of the convex hull Conv(S) of any finite set of points S ⊂ Rn lie in S. For S = {ρ(g)v : g ∈ G} the polytope P(ρ, v) = Conv(S) is invariant under the action of the matrix ρ(g) for each g ∈ G, and this action restricts to a permutation of vertices. Thus if ρ(g)v were to lie in the interior of the polytope, then so too would ρ(g  )v for every g  ∈ G, and the polytope would be the empty set. It follows that ρ(g)v is a vertex of the polytope for  each g ∈ G. A second observation is more simply stated under the assumption that ρ is an orthogonal representation of G (i.e. each matrix ρ(g) is orthogonal) and that the stabilizer of v is a proper subgroup of G. Let wv = (1/|S|) wi ∈S wi be the average of the vectors in the orbit S = {ρ(g)v : g ∈ G}. Then v = wv and we can define the hyperplane (wv ) = {x ∈ Rn : x − wv , wv − v = 0} which contains the point wv and which is perpendicular to the vector wv − v. The cone Cone(S) = {



ti wi ∈ Rn : ti ≥ 0}

(1.5)

wi ∈S

intersects the plane (wv ) in a convex polytope C(G, v) = Cone(S) ∩ (w)

(1.6)

and the following lemma can be verified. The lemma is illustrated in Figure 1.5 for the permutation action of symmetric group S4 on R4 and vector v = (1, 2, 3, 4)t ∈ R4 . Lemma 1.1.4. Let ρ : G → GLn (R) be an orthogonal matrix representation of a non-

trivial finite group G and let the stabilizer of v ∈ Rn be a proper subgroup of G. Then the k-dimensional faces of C(G, v) correspond to those (k + 1)-dimensional faces of P(G, v) containing the vertex v.

Lemma 1.1.4 can be used in conjunction with Algorithm 1.1.1 and the equalities P(G, v) = P(G, ρ(g)v), g ∈ G, to compute P(G, v) as a regular CW-complex for some quite large groups G. This approach is used in Chapter 3 to obtain cohomological information for various finite groups.

14 | Path Components and the Fundamental Group

υ

Figure 1.5 The polytope C(G, v) shown in dark grey for G = S4 and v = (1, 2, 3, 4)t .

1.2 Simplicial, Cubical and Permutahedral Complexes The following three convex polytopes play a central role in topology. Definition 1.2.1. The standard n-simplex

n = Conv{e1 , . . . , en+1 ∈ Rn+1 } is the convex hull of the n + 1 standard basis vectors of Rn+1 . The standard n-cube In = Conv{λ1 e1 + . . . + λn en ∈ Rn : λi ∈ {0, 1}} is the convex hull of the 2n linear 0/1-combinations of the standard basis vectors of Rn . The standard n-permutahedron ∇ n = Conv{σ (1)e1 + . . . + σ (n + 1)en+1 ∈ Rn : σ ∈ Sn+1 } is the convex hull of the (n + 1)! permutations of the vector (1, . . . , n + 1) ∈ Rn+1 . For n = 0 each of these polytopes is a single point. For n = 1 each is a single edge. For n = 2 they are the regular triangle 2 , square I2 and hexagon ∇ 2 . For n = 3 they are the regular tetrahedron 3 and cube I3 shown in Figure 1.6 and permutahedron ∇ 3 shown in Figure 1.4. Much of algebraic topology can be viewed as the study of certain subspaces of n . Definition 1.2.2. A subspace X of a CW-space Y is said to be a CW-subspace if X is a CW-

space whose cells are cells of Y. A CW-subspace of n is called a finite simplicial space. Example 1.2.1. An example of a 2-dimensional simplicial space is shown in Figure 1.7.

The space is a CW-subspace of 12 and is constructed as the surface of the convex hull of the orbit of v = (1, 2, 3, 4) ∈ R4 under the permutation action of the alternating group A4 .

Simplicial, Cubical and Permutahedral Complexes | 15

Figure 1.6 The polytopes 3 and I3 .

Figure 1.7 Polytope boundary is a 2-dimensional CW-subspace of 12 .

This convex hull is a 3-dimensional polytope. The visualization in Figure 1.7 was obtained from the following GAP session. GAP session 1.2.1 gap> OrbitPolytope(AlternatingGroup(4),[1,2,3,4],["visual"]);

 Definition 1.2.3. A simplicial complex K is a collection of finite subsets of some set V

satisfying: (i) if σ ∈ K and τ ⊂ σ then τ ∈ K; (ii) {v} ∈ K for each v ∈ V. The sets σ ∈ K are called simplices and the elements v ∈ V are called vertices. The set σ is called a k-simplex if |σ | = k + 1. A 1-simplex is called an edge. The complex K is

16 | Path Components and the Fundamental Group

said to be finite if the vertex set V is finite. The complex K is said to be of dimension n if some simplex contains n + 1 vertices and no simplex contains more. A finite simplicial space X gives rise to a simplicial complex K whose vertex set V is the set of 0-cells of X, and whose simplices are those subsets σ ⊆ V whose convex hull is the closure of some cell of X. Conversely, we can construct a finite simplicial space |K| from ∼ =

any finite simplicial complex K by first choosing a bijection φ : V → {e1 , ..., e|V| } between the vertex set of K and the standard basis vectors of R|V| , and then taking |K| to be the union of the convex hulls Conv(φ(σ )) for each σ ∈ K. The simplicial space |K| is said to be a geometric realization of K. The HAP package uses the following data type for finite simplicial complexes. Data type 1.2.1. A finite simplicial complex can be represented as a component object

K with the following components: • K!.vertices is a list whose elements are distinct and represent the vertices of the simplicial complex. It must be possible to test u < v for any two elements u, v in the list where < is some fixed total order. • K!.simplices(k,i) is a function which returns the list of vertices in the ith k-simplex. The order of the vertices in the returned list is important and is chosen to be in increasing order. • K!.nrSimplices(k) is a function which returns the number of k-dimensional simplices. • K!.enumeratedSimplex(x) is a function which inputs a list x of vertices, in increasing order, representing a k-simplex and returns the position of this simplex in the list of all k-simplices. • K!.properties is a list of pairs such as [“dimension", 2]. The operation IsHapSimplicialComplex(K) returns true when K is of this data type. Example 1.2.2. The following GAP session constructs the simplicial complex K depicted in Figure 1.8 (right) and then converts it to the data type of a regular CW-complex. The complex involves nine vertices with 1-simplices and 2-simplices represented by lines and shaded triangles in the figure.

GAP session 1.2.2 gap> 2simplices:= [[1,2,5], [2,5,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], [4,5,8], [4,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7], [1,4,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> K:=SimplicialComplex(2simplices); Simplicial complex of dimension 2.

Simplicial, Cubical and Permutahedral Complexes | 17 2

1

5

4

1

3

1

8

9

6

7

2

3

4

5

1

Figure 1.8 Simplicial Klein bottle.

gap> Y:=RegularCWComplex(K); Regular CW-complex of dimension 2

It can be shown that any simplicial space homeomorphic to the Klein bottle must have at least eight vertices. So while the simplicial representation of the Klein bottle in this  example is not minimal, it is close to minimal. The following ubiquitous example of a simplicial complex arises from an arbitrary collection U = {Uλ }λ∈ of sets Uλ . Definition 1.2.4. The nerve of the collection U = {Uλ }λ∈ is the simplicial complex

with vertex set V = U and with simplex set

Nerve(U ) = {σ ⊆ U : σ is finite and



U = ∅}.

U∈σ

The nerve construction derives its importance from the following theorem which is usually attributed to Karol Borsuk [30] and Jean Leray [190], a proof of which can be found for example in Chapter 4 of [150]. Theorem 1.2.1. Let U = {Uλ }λ∈ be a collection of open subsets of a compact (or just para-

  compact) Hausdorff space X such that X = λ∈ Uλ and such that λ∈σ Uλ is empty or contractible for each finite subset σ ⊆ U . Then the geometric realization |Nerve(U )| is homotopy equivalent to X.

The need for the openness hypothesis in Theorem 1.2.1 is illustrated by the cover U = {U1 = [0, 1), U2 = {0}} of the circle S1 = [0, 1]/{0 ∼ 1}. The intersection U1 ∩ U2 is

18 | Path Components and the Fundamental Group

contractible. The geometric realization of the nerve Nerve(U ) = {{U1 }, {U2 }, {U1 , U2 }} is homeomorphic to the unit interval [0, 1] and thus not homotopy equivalent to the circle. The need for the contractibility hypothesis in Theorem 1.2.1 is illustrated by the open cover U = {U1 = [0, 1/4) ∪ (3/4, 1], U2 = (1/3, 2/3)} of the circle S1 = [0, 1]/ {0 ∼ 1}. The geometric realization of the nerve is again homeomorphic to [0, 1]. The convex polytopes In and ∇ n can be used to define cubical and permutahedral analogues of the notion of simplicial complex. We focus on computing with special cases of these analogues and introduce the special cases as instances of ‘lattice complexes’. Let L ⊆ Rn be an additive subgroup of Euclidean space generated by some choice of n linearly independent vectors VL = {v1 , · · · , vn }. Then L is a free abelian group and acts on Rn as a group of translations, where v ∈ L acts via the translation Rn → Rn , x  → x + v. Such a group L is called a lattice. Each non-zero element of L acts fixed-point freely, and a fundamental domain for the action is the Dirichlet–Voronoi region DL = {x ∈ Rn : ||x|| ≤ ||x − v|| for all v ∈ L}.

(1.7)

Here we use the term fundamental domain to mean a closed region whose images under the action cover Rn , the interiors of any two distinct images having empty intersection. Lemma 1.2.2. If VL is the standard basis of Rn then the convex polytope DL is a translate of

the standard n-cube In .

Proof. The standard n-cube In of 1.2.1 is centred at z = (1/2, . . . , 1/2) ∈ Rn . Its translate In0 = {x − z : x ∈ In } is an intersection of the 2n half spaces defined by the inequalities ||x|| ≤ ||x − ei || and ||x|| ≤ ||x + ei ||. Hence DL ⊆ In0 . Since In0 is clearly a fundamental domain for the action of the free abelian group L generated by the standard basis  vectors e1 , . . . , en ∈ Rn , we have DL = In0 Lemma 1.2.3. If we identify Rn with the hyperplane

Rn = {(x1 , . . . , xn+1 ) ∈ Rn+1 : x1 + · · · + xn+1 = 0} and take VL ⊂ Rn+1 to be the set of n vectors VL = {(−n, 1, 1, . . . , 1, 1), (1, −n, 1, . . . , 1, 1), . . . , (1, 1, 1, . . . , −n, 1)} then the convex polytope DL is a translate of the standard n-permutahedron ∇ n . Proof. The standard permutahedron of 1.2.1 has its centre at z = (n+2) 2 (1, 1, . . . , 1) ∈ Rn+1 . Its translate ∇0n = {x − z : x ∈ ∇ n } is centred at the origin. By Lemma 1.1.3 the vertices of ∇0n are the (n + 1)! permutations of the vector v = (1, 2, . . . , n + 1) − z. Let G denote the symmetric group of degree n + 1 generated by the set D = {(1, 2), . . . , (n, n + 1)} of consecutive transpositions. Let Gk denote the subgroup of G generated by the subset Dk = D \ {(k, k + 1)} of consecutive transpositions. the orbit of v under the permutation action of Gk and let Nk = Let vGk denote  (1/|vGk |) w∈vGk w denote the average of all vectors in this orbit. One can check

Simplicial, Cubical and Permutahedral Complexes | 19

Figure 1.9 3-dimensional prism.

that Nk is of the form Nk = (x1 , . . . , xn+1 ) with x1 = . . . = xk and xk+1 = . . . = xn+1 for 1 ≤ k ≤ n, and that w − Nk , Nk  = 0 for all w ∈ vGk . Moreover, w − Nk , Nk  ≤ 0

(1.8)

for all w ∈ vG , and the set {w − Nk : w ∈ vGk } spans a space of dimension n − 1. (For any specific low value of n one could verify these claims simply by using GAP and Polymake.) Consequently the inequality 1.8 describes a half space  corresponding to a facet of ∇0n . The orbit NkG of Nk under the action of G contains n+1 k distinct vectors, each corresponding to a distinct facet of ∇0n . We have thus found

n  n+1 = 2n+1 − 2 k k=1

facets of ∇0n . Now v lies in n of these facets. By symmetry, each vertex of ∇0n lies in n of these facets. It follows that the 2n+1 − 2 inequalities < w − N, N > ≤ 0 ,

N ∈ NkG

form a complete and irredundant half space description of ∇0n (due to Rado [236]). For each N ∈ NkG the vector 2N lies in the lattice L generated by VL . Hence DL ⊆ n ∇0 . The proof is completed by verifying that ∇0n is a fundamental domain for the  action of L. Other choices of VL can lead to other combinatorial structures on the Dirichlet–Voronoi region DL such as the 3-dimensional hexagonal prism of Figure 1.9. Definition 1.2.5. Any finite subset  ⊂ L of a lattice L ⊂ Rn determines a finite union

of polytopes X=



DL + γ

γ ∈

where DL + γ = {x + γ : x ∈ DL }. We call such a union X a lattice space or L-space. We refer to the polytopes DL + γ as facets of X. When DL = In0 we say that X is a pure cubical space and that any CW-subspace of X is a cubical space. When DL = ∇0n we say

20 | Path Components and the Fundamental Group

Figure 1.10 Pure cubical and permutahedral models of the trefoil knot.

that X is a pure permutahedral space and that any CW-subspace of X is a permutahedral space. Examples of a 3-dimensional pure cubical space and 3-dimensional pure permutahedral space are illustrated in Figure 1.10. Both examples model the trefoil knot. Definition 1.2.6. Given a lattice L ⊂ Rn with preferred basis VL = {v1 , . . . , vn } we define

the L-ball BL to be the finite set of integer vectors BL = {(λ1 , . . . , λn ) ∈ Zn : DL ∩ (DL + λ1 v1 + · · · + λn vn ) = ∅}. The following Lemma 1.2.4 reformulates the observation that, in the tessellation of Rn by unit n-cubes, two cubes intersect non-trivially if and only if their centres have coordinates that differ by at most 1 in any position. Lemma 1.2.4. If VL is the standard basis of Rn then the L-ball consists of the 3n integer vectors

BL = {(λ1 , . . . , λn ) : λi ∈ {−1, 0, 1}}. The following Lemma 1.2.5 reformulates the observation that, in the permutahedral tessellation of Rn , two distinct permutahedra intersect non-trivially if and only if their intersection is an (n − 1)-dimensional facet of both permutahedra. The proof of Lemma 1.2.3 establishes that a given permutahedron has precisely 2n+1 − 2 facets; the direction vectors from the centre of a permutahedron to the centres of its facets are given by the 2n+1 − 2 non-zero vectors in the set BL defined below. This set BL also contains the zero vector. Lemma 1.2.5. Let vi ∈ Rn+1 be the vector with i-th coordinate equal to −n and all other

coordinates equal to 1. If VL = {v1 , . . . vn } then the L-ball BL consists of the 2n − 1 integer vectors BL = {(λ1 , . . . , λn ) ∈ Zn : λ1 v1 + · · · + λn vn ∈ BL }

Simplicial, Cubical and Permutahedral Complexes | 21 v1 + v2 + 0v3 0v1 + v2 + 0v3

v1 + 0v2 + 0v3 0v1 + 0v2 + 0v3 0v1 + v2 + v3

v1 + 0v2 + v3 0v1 + 0v2 + v3

Figure 1.11 BL for VL = {v1 , v2 } where v1 = (−2, 1, 1), v2 = (1, −2, 1), v3 = (1, 1, −2).

where BL = {μ1 v1 + . . . + μn+1 vn+1 : μi ∈ {0, 1},

n+1 

μi ≤ n}.

i=1

Example 1.2.3. For VL = {v1 = (−2, 1, 1), v2 = (1, −2, 1)} and v3 = (1, 1, −2) the

vectors in BL are pictured in Figure 1.11. In this case BL = {0v1 + 0v2 , v1 + 0v2 , −v1 + 0v2 , 0v1 + v2 , 0v1 − v2 , v1 − v2 , −v1 + v2 } and so

BL = {(0, 0), (1, 0), (−1, 0), (0, 1), (0, −1), (1, −1), (−1, 1)}. 

The following Definition 1.2.7 encodes the combinatorial ingredients of lattice spaces needed for basic homotopy theoretic algorithms. Definition 1.2.7. A lattice complex or L-complex consists of a finite set of integer vectors

BL ⊂ Zn and a finite n-dimensional array A = (aλ1 ...λn ) of binary valued entries aλ1 ...λn ∈ {0, 1}. The indices lie in a range 1 ≤ λj ≤ dj and we call  = {(λ1 , . . . , λn ) : 1 ≤ λj ≤ dj } ⊂ Zn the index range.

We use the term pure permutahedral complex for a lattice complex with BL as in Lemma 1.2.5. We use the term pure cubical complex for a lattice complex with BL as in Lemma 1.2.4. Definition 1.2.8. Let L ⊂ Rn be a lattice with preferred basis VL = {v1 , . . . , vn }. Let DL

be the corresponding Dirichlet–Voronoi region, and let BL be the L-ball of Definition 1.2.6. To any L-complex X = ( BL , A = (aλ ) ) with index range  ⊂ Zn we associate the pure lattice space

22 | Path Components and the Fundamental Group



|X| =

DL + (λ1 v1 + . . . + λn vn ).

λ = (λ1 , . . . , λn ) ∈  with aλ = 1 We say that |X| is the geometric realization of X with respect to the basis VL . The HAP package uses the following data type for lattice complexes. Data type 1.2.2. A lattice complex is represented as a component object M with the

following components. • M!.binaryArray is an array with binary entries aλ1 ···λn ∈ {0, 1} for λj ∈ {1, . . . , dj }. • M!.ball is the list of vectors in the L-ball BL . • M!.properties is a list of pairs such as [“dimension", n] and [“arraySize", [d1 , . . . , dn ]]. The associated function IsHAPLatticeComplex(M) returns the boolean true when M is of this data type. For the special case of cubical and permutahedral lattice complexes the component M!.ball is omitted from data type 1.2.2 in HAP and replaced by associated functions IsHAPPureCubicalComplex(M) and IsHAPPurePermutahedralComplex(M) that return true  when M is of these data types. Let X = γ ∈ DL + γ be an arbitrary lattice space. To ease notation we write Dγ = DL + γ . By the nerve of the lattice space we mean the simplicial complex Nerve(X) = Nerve(D) arising as the nerve of the covering D = {Dγ }γ ∈ . Theorem 1.2.1 yields the following. Proposition 1.2.6. A lattice space X ⊂ RnL is homotopy equivalent to the geometric realiza-

tion |Nerve(X)| of its nerve.

Proof. For each convex polytope Dγ in X we can construct a small open convex neighbourhood Dγ ⊂ Uγ such that the convex sets Uγ form an open cover of X. Then Nerve(X) can be viewed as the nerve of the cover U = {Uγ }γ ∈ . Theorem 1.2.1  implies that |Nerve(X)| = |Nerve(U )| is homotopy equivalent to X. Proposition 1.2.6 motivates the following Algorithm 1.2.1. Algorithm 1.2.1 Nerve of a lattice complex.

Input: A lattice complex ( BL , A = (aλ1 ...λn ) ). Output: A simplicial complex K whose geometric realization is homotopy equivalent to the geometric realization of the lattice complex. 1: procedure

Simplicial, Cubical and Permutahedral Complexes | 23

2: Construct the vertex set V = {(λ1 , . . . , λn ) ∈ Zn : aλ1 ...λn = 1}. 3: for k = 1, . . . , N = |BL | do 4: Construct the set of k-tuples of integer vectors Bk = {(v1 , . . . , vk ) : 0 = vi ∈ BL , vi < vj , vi − vj ∈ BL for 1 ≤ i < j ≤ N} with respect to some fixed choice of total order < on BL . 5: end for 6: Initialize K = {{v} : v ∈ V}. 7: for v ∈ V do 8: for k = 1, . . . , N do 9: for (v1 , . . . , vk ) ∈ Bk do 10: if av+vj = 1 for all 1 ≤ j ≤ k then 11: Add the k-simplex σ = {v, v + v1 , . . . , v + vk } to K. 12: end if 13: end for 14: end for 15: end for 16: Return the simplicial complex K with vertex set V. 17: end procedure Example 1.2.4. The following GAP session constructs the pure permutahedral complex associated to the pure permutahedral space M in Figure 1.10 (right) and then applies Algorithm 1.2.1 to obtain the nerve of M. The nerve is a 1-dimensional simplicial complex illustrated in Figure 1.12 (right). The session includes commands for producing the permutahedral illustrations in Figures 1.10 and 1.12.

GAP session 1.2.4 gap> M:=PurePermutahedralKnot(3,1); Pure permutahedral complex of dimension 3. gap> K:=Nerve(M); Simplicial complex of dimension 1. gap> Display(M); #See Figure 1.10 gap> Display(Graph(K)); #See Figure 1.12

The following continuation of the GAP session constructs the nerve of the pure cubical space M in Figure 1.10 (left) and its illustration in Figure 1.12 (left). This nerve is 2dimensional, and is homotopy equivalent to the nerve of the permutahedral space M.

24 | Path Components and the Fundamental Group

Figure 1.12 Nerves of the cubical space (left) and permutahedral space (right) of Figure 1.10.

GAP session 1.2.4 gap> M1:=PureCubicalKnot(3,1);; gap> K1:=Nerve(M1); Simplicial complex of dimension 2. gap> Display(Graph(K1));



In the permutahedral tessellation of Rn by translates of the standard permutahedron, each

vertex belongs to the boundary of precisely n + 1 facets (a facet being an n-dimensional permutahedron). Consequently the nerve Nerve(X) of a pure permutahedral space X ⊂ Rn has dimension at most n. In contrast, the nerve of a pure cubical space X ⊂ Rn has dimension at most 2n . Figures 1.10 and 1.12 illustrate how information is lost in passing from a lattice space to its nerve: the lattice space is embedded in Rn ; the corresponding lattice complex contains information on this embedding whereas the nerve retains no information on the embedding. Certain topological operations on lattice spaces admit easily computed analogues in the setting of lattice complexes. The required relationship between a combinatorial operation O(X1 , . . . , Xk ) on lattice complexes and the corresponding topological operation O(|X1 |, . . . , |Xk |) is that they should commute with geometric realization: |O(X1 , . . . , Xn )| = O(|X1 |, . . . , |Xn |). Definition 1.2.9 lists a few such basic topological operations with combinatorial analogues given in 1.2.10. Definition 1.2.9. Let L ⊂ Rn be a lattice and let X and Y be two L-spaces. Their L-

union is just their set-theoretic union X ∪ Y. Their L-intersection is the closure X˚ ∩Y˚ of the intersection of their interiors. The L-difference X − Y˚ consists of those points

Simplicial, Cubical and Permutahedral Complexes | 25

in X not belonging to the interior of Y. An L-complement of X is any space I n − X˚ formed by removing the interior of X from a contractible lattice space I n containing X in its interior. The L-boundary δX consists of the closure of the union of all those n˚ The L-thickening τ X consists dimensional cells of X whose closures intersect I n − X. of the closure of the union of X with all those n-dimensional cells of I n − X˚ whose closures intersect X. Definition 1.2.10. Fix a lattice L ⊂ Zn and let X = ( BL , AX ) and Y = ( BL , AY ) be

two L-complexes whose binary arrays AX = (aXλ ) and AY = (aYλ ) have common finite index range  ⊂ Zn . We define the union X ∪ Y = ( BL , AX∪Y ), the intersection X ∩ Y = ( BL , AX∩Y ), the difference X \ Y = ( BL , AX\Y ), the complement X comp = ( BL , Acomp ), the boundary δX = ( BL , AδX ) and the thickening τ X = ( BL , Aτ X ) to be the L-complexes with the following binary arrays = max(aXλ , aYλ ), aX∪Y λ = min(aXλ , aYλ ), aX∩Y λ  X\Y aλ

 aδX λ

=

=

1 if aXλ = 1 and aYλ = 0,

0 otherwise,  1 if aXλ = 0, comp X aλ = 0 if aXλ = 1,

1 if aXλ = 1 and aXλ+μ = 0 for some μ ∈ BL ,

0 otherwise,  1 if aXλ+μ = 1 for some μ ∈ BL , τX aλ = 0 otherwise.

We define τ 1 (X) = τ (X), τ r+1 (X) = τ (τ r (X)). The index λ ranges over the finite range  for each array. The following is a useful combinatorial analogue of volume. Definition 1.2.11. We say that an L-complex X = ( BL , (aλ )λ∈ ) with finite index range

 has size equal to the integer Size(X) =



aλ .

λ∈

Definition 1.2.12. We define the L-ball complex and L-sphere complex of radius r, range

 ⊂ Zn and centre v ∈  to be the L-complexes

26 | Path Components and the Fundamental Group

Figure 1.13 L-ball and L-sphere complexes of radius r = 2 for the 2-dimensional permutahedral lattice L.

BL (v, r) = τ r (( BL , A )), SL (v, r) = δBL (v, r) where A = (aλ )λ∈ is the array with av = 1 and aλ = 0 for λ = v. See Figure 1.13. Example 1.2.5. Lattice complexes can be used to study theoretical properties of dynamical systems. The text [173] devotes several chapters to the use of pure cubical complexes in this context, leading to proofs of chaotic symbolic dynamics in certain examples. To whet the reader’s appetite for this topic we give a simple computation which illustrates how the size of a pure cubical complex can be used to study, at least empirically, the ‘dimension’ of the orbit of a point under the action of the Hénon map

x y + 1 − ax2 2 2 . → f: R →R , bx y

Starting with (x0 , y0 ) = (0, 0) and iterating (xn+1 , yn+1 ) = f (xn , yn ) with the parameter values a = 1.4, b = 0.3 one obtains a sequence of points which is known to be dense in the so-called strange attractor A of the Hénon map. The first few thousand points in this sequence are plotted in Figure 1.14. A classical descriptor of the shape of such an attractor is its box counting dimension δ = δ(A) involving the minimal number N(A, ) of solid squares of side  needed to cover A. The number δ is defined by the property that, for small  > 0, N(A, ) is approximated by the function A −δ for some constant A. Heuristic numerical estimates of N(A, ) are given in Figure 1.15 for various choices of  and lead to the heuristic estimate δ−

loge N(A, 1/2250) − loge N(A, 1/500) = 1.28. loge 1/2250 − loge 1/500

The estimates for N(A, ) were obtained by computing the first 5 × 106 iterates f (xn , yn ) to 30 decimal places of accuracy, scaling by a factor of 1/, and then producing a minimal 2-dimensional pure cubical complex of unit square 2-cells that covers the scaled sequence of 5 × 106 iterates. The following GAP session produces an estimate for N(A, 1/500) and the picture of Figure 1.14.

Simplicial, Cubical and Permutahedral Complexes | 27

Figure 1.14 Strange attractor of the Hénon map with a = 1.4, b = 0.3 .

ϵ N(A, ϵ)

1 500

1 750

1 1000

1 1250

1 1500

1 1750

1 2000

1 2250

10279 17169 24911 33350 42295 51637 61088 70663

Figure 1.15 Values of N (A, ) for the Hénon attractor with a = 1.4, b = 0.3 .

GAP session 1.2.5 gap> M:=HenonOrbit([0,0],14/10,3/10,5*10ˆ6,500,30); Pure cubical complex of dimension 2. gap> Size(M); 10279 gap> Display(M);



28 | Path Components and the Fundamental Group

For many computations with lattice spaces one needs to access their cell structure and store it as a regular CW-complex. We explain how this can be done in the permutahedral and cubical cases. Let us first consider an n-dimensional pure permutahedral space |X| ⊂ Rn arising as the geometric realization of a pure permutahedral complex X = ( BL , A ). Without any real loss of generality we can assume that the index range  = {λ = (λ1 , . . . , λn ) ∈ Zn : 1 ≤ λj ≤ dj } is such that aλ = 0 whenever a coordinate λj satisfies λj = 1 or λj = dj . The k-cells ek in the CW-decomposition of |X| correspond to those (n − k)-simplices σ = (P0 , . . . , Pn−k ) in the nerve K = Nerve(|τ X|) of the thickened complex τ X for which at least one of the permutahedra Pj is a facet in |X|. A k-cell ek lies in the boundary of a (k + 1)-cell ek+1 if the corresponding (n − k)-simplex σ and (n − k − 1)-simplex σ  satisfy σ  ⊂ σ . The CW-structure of |X| can thus be obtained by using Algorithm 1.2.1 to construct K and then: recording simplices of K that correspond to cells of |X|; recording inclusions σ  ⊂ σ that correspond to boundary cells. When |X| ⊂ Rn is the geometric realization of an n-dimensional pure cubical complex X = ( BL , A ) the associated regular CW-complex can be obtained by first applying Algorithm 1.2.2 to the binary array A. As an illustration of Algorithm 1.2.2 consider the cubical CW-space of Figure 1.16. The algorithm converts the array

Algorithm 1.2.2 CW-structure of a pure cubical complex.

Input: A binary array A = (aλ1 ···λn ) where 1 ≤ λj ≤ dj . Output: A binary array A = (aμ1 ···μn ) where 1 ≤ μj ≤ 2dj + 1. 1: procedure 2: Create an empty array A = (a∗...∗ ). 3: for 1 ≤ μ1 ≤ 2d1 + 1, 1 ≤ μ2 ≤ 2d2 + 1, . . . , 1 ≤ μn ≤ 2dn + 1 do 4: Set aμ1 ...μn = 0. 5: end for 6: for 1 ≤ λ1 ≤ d1 , 1 ≤ λ2 ≤ d2 , . . . , 1 ≤ λn ≤ dn do 7: if aλ1 ...λn = 1 then 8: for 1 ≤ j ≤ n and μj ∈ {2λj − 1, 2λj , 2λj + 1} do 9: Set aμ1 ...μn = 1 10: end for 11: end if 12: end for 13: Return A . 14: end procedure



⎞ 0 1 0 A=⎝ 1 0 1 ⎠ 0 1 0

Simplicial, Cubical and Permutahedral Complexes | 29

Figure 1.16 A 2-dimensional CW-space.

for a pure cubical complex representation of this CW-space into the array ⎛ ⎜ ⎜ ⎜ ⎜  A =⎜ ⎜ ⎜ ⎜ ⎝

0 0 1 1 1 0 0

0 0 1 1 1 0 0

1 1 1 1 1 1 1

1 1 1 0 1 1 1

1 1 1 1 1 1 1

0 0 1 1 1 0 0

0 0 1 1 1 0 0

⎞ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎠

For the binary array A = (aμ ) of Algorithm 1.2.2 we define the degree of an entry aμ1 ...μn to be the number of even integer coordinates in the index vector μ = (μ1 , . . . , μn ). An array entry with value aμ1 ...μn = 1 and degree k corresponds to a k-dimensional cell ek of the pure cubical space represented by the array. The array entries aμ+b with b an integer vector with one non-zero entry bj = ±1 correspond to the (k − 1)-dimensional cells in the boundary of ek . Algorithm 1.2.2 can thus be used to convert a pure cubical complex into a regular CW-complex. Example 1.2.6. To illustrate the conversion of pure permutahedral complexes, pure

cubical complexes and simplicial complexes into the regular CW-complex data type, we convert the pure permutahedral complex M and pure cubical complex M of Figure 1.10 and the two simplicial complexes K = Nerve(M), K  = Nerve(M ) arising from the nerve construction. GAP session 1.2.6 gap> M:=PurePermutahedralKnot(3,1);; gap> XM:=RegularCWComplex(M); Regular CW-complex of dimension 3

30 | Path Components and the Fundamental Group gap> M1:=PureCubicalKnot(3,1);; gap> XM1:=RegularCWComplex(M1); Regular CW-complex of dimension 3 gap> K:=Nerve(M);; gap> XK:=RegularCWComplex(K); Regular CW-complex of dimension 1 gap> K1:=Nerve(M1);; gap> XK1:=RegularCWComplex(K1); Regular CW-complex of dimension 2

The Euler characteristic of a finite CW-space X is defined as χ(X) =

dim(X) 

(−1)i αi

(1.9)

i=0

where αi denotes the number of i-cells. From the following commands we see that the CW-spaces corresponding to M, M , K, K  all have the same Euler characteristic. GAP session 1.2.6 gap> Chi:=function(Y); > return List([0..Dimension(Y)],i->(-1)ˆi*Y!.nrCells(i)); > end;; gap> Chi(XM); Sum(Chi(XM)); [ 1496, -2480, 1066, -82 ] 0 gap> Chi(XM1);Sum(Chi(XM1)); [ 368, -736, 460, -92 ] 0 gap> Chi(XK); Sum(Chi(XK)); [ 82, -82 ] 0 gap> Chi(XK1); Sum(Chi(XK1)); [ 92, -112, 20 ] 0



Path Components and Persistence | 31

1.3 Path Components and Persistence A space X is path-connected if for each pair of points x, y ∈ X there exists a continuous map p : [0, 1] → X with p(0) = x and p(1) = y. Such a map is called a path in X. We denote the collection of all paths in X by X I . The path component of a point x ∈ X is the set [x]X = {y ∈ X : p(0) = x and p(1) = y for some p ∈ X I }. We denote the collection of path components of X by π0 (X) = {[x]X : x ∈ X}. Any continuous map f : X → Y induces a set theoretic function π0 (f ) : π0 (X) → π0 (Y), [x]X  → [ f (x)]Y . The construction π0 is a functor from the category of topological spaces to the category of sets. (See Appendix A.2 for a review of categories and functors.) The cardinality of the set π0 (X) is denoted by β0 and called the 0-dimensional Betti number of X. Any pathconnected space is connected in the usual sense (see A.1). It can be shown that any connected CW-space is path-connected. Suppose that X is a CW-space. Each point x ∈ X belongs to some cell ek . For any 0-cell 0 e in the closure ek there exists a path p ∈ X I with p(0) = x and p(1) = e0 . Suppose that q ∈ X I is any path whose endpoints q(0) = e0 , q(1) = e0 are 0-cells. By compactness, the image of q intersects only finitely many cells in X. By induction on the number of cells intersecting the image of q, and starting with the highest dimensional cells that intersect the image, the path q can be homotopied to a path q : [0, 1] → X 1 in the 1-skeleton of X where q (0) = e0 , q (1) = e0 . There is thus a bijection π0 (X) ∼ = π0 (X 1 ) and any path component of X can be represented by some 0-cell. The 1-skeleton of a regular CW-space X is just a graph (in fact, a 1-dimensional regular CW-space) and so π0 (X) can be computed by applying to X 1 the version of Prim’s algorithm described in Algorithm 1.3.1. Our description of the algorithm uses the notion of an arrow α : e0 → e1 on the 1-skeleton, by which we just mean a pair α = (e0 , e1 ) consisting of a 1-cell e1 and a 0-cell e0 ∈ ∂e1 ; we say that each of the cells e0 , e1 is involved in the arrow α. Given a collection of arrows on the 1-skeleton, a 0-cell or 1-cell is said to be critical if it is not involved in any arrow. Figure 1.17 shows a collection of arrows on the 1-skeleton of a simplicial Klein bottle produced using Algorithm 1.3.1. The Klein bottle is path-connected and so there is just one critical 0-cell in the figure. Algorithm 1.3.1 Path components of a regular CW-complex.

Input: A finite regular CW-complex X. Output: A list of 0-cells e01 , . . . , e0t representing the distinct path components of X together with a function r(e0 ) which, for any 0-cell e0 in X, returns the representative r(e0 ) = e0j of its path component.

32 | Path Components and the Fundamental Group

1: procedure 2: At any stage of the algorithm each 0-cell and 1-cell will have precisely one of the following three states: (i) critical, (ii) potentially critical, (iii) non-critical. 3: Initially deem all 0-cells and all 1-cells to be potentially critical. 4: while there exists some potentially critical 0-cell do 5: while there exists a potentially critical 1-cell e1 with precisely one potentially critical 0-cell e0 in its boundary do 6: Add the arrow e0 → e1 on X 1 ; deem both e0 and e1 to be non-critical. 7: end while 8: if there exists some potentially critical 0-cell then 9: Deem some potentially critical 0-cell to be critical. 10: end if 11: end while 12: Return the critical 0-cells as the path component representatives. 13: Return the recursively defined function ⎧0 if e0 is critical, ⎨e 0 0 r(e ) = r(e ) if there exists an arrow e0 → e1 with ⎩ e0 = e0 in the boundary of e1 . 14: end procedure Example 1.3.1. The table in Figure 1.18 shows measurements between five objects. One can check that the table defines a metric d(x, y) on the set V = {h, m, r, c, w}. For any threshold t ≥ 0 we can construct the graph G(V, t) with vertex set V and one undirected edge {x, y} for each pair x, y ∈ V satisfying d(x, y) ≤ t. The graph is an example of a simplicial complex, and Algorithm 1.3.1 can be used to compute π0 (G(V, t)) = π0 (|G(V, t)|). For

1

2

3

1

5

4

4

5

1

2

3

Figure 1.17 Application of Algorithm 1.3.1 to the Klein bottle.

1

Path Components and Persistence | 33

h m r c w

h 0 11 10 14 22

m r c w 11 10 14 22 0 3 13 21 3 0 12 20 13 12 0 16 21 20 16 0

Figure 1.18 Distances between five taxa.

example, the following GAP session shows that G(V, 10) has three path components containing the sets of vertices {h, m, r}, {c}, {w} respectively. GAP session 1.3.1 gap> A:=[[0,11,10,14,22], > [11,0,3,13,21], > [10,3,0,12,20], > >

[14,13,12,0,16], [22,21,20,16,0]];;

gap> G:=SymmetricMatrixToGraph(A,10);; gap> p:=PiZero(G);; gap> Classify([1..5],p[2]); [ [ 1, 2, 3 ], [ 4 ], [ 5 ] ] gap> DisplayDendrogramMat(A,10,2);

The final command of the GAP session produces the dendrogram representation in Figure 1.19 of the surjective functions π0 (G(V, ti )) → π0 (G(V, ti+1 )) induced by graph inclusions G(V, ti ) → G(V, ti+1 ) for t0 = 0, t1 = 2, t2 = 4, . . . , t10 = 20. The ith column of nodes in the dendrogram represents the path components of G(V, ti ), there being one node for each path component. The sixth column (from the left) corresponds to G(V, 10). The lines in the dendrogram indicate how path components coalesce as t increases from left to right. The dendrogram is typical of the phylogenetic trees used in bioinformatics and other areas of biology. Often in such a tree the leaves represent observable taxa and the  internal nodes represent hypothetical taxa. For a lattice space X there is an efficient alternative method for determining path components that avoids the need to create a regular CW-complex representation of the space. It is an easy exercise to see that π0 (X) is a homotopy invariant. That is, there exists a bijection π0 (X) ∼ = π0 (X  ) whenever X and X  are homotopy equivalent spaces. By Corollary 1.2.6 we have π0 (X) ∼ = π0 (|Nerve(X)|) and so it suffices to work with the 1-skeleton of the nerve. The facets of X correspond to vertices of the nerve, and two

34 | Path Components and the Fundamental Group

vertices in the nerve bound a common edge precisely when the corresponding facets have non-trivial intersection. This yields Algorithm 1.3.2. Algorithm 1.3.2 Path components of a lattice complex.

Input: A lattice complex X = ( BL , A = (aλ )λ∈ ). Output: An array C = (cλ )λ∈ of integers cλ ∈ {0, 1, . . . , β0 (X)} where β0 (X) denotes the number of path components of X. The entries of C are such that the [k] lattice complex X [k] = ( BL , A[k] = (aλ )λ∈ ) with array [k]

aλ =

 1 if cλ = k 0 otherwise,

represents the kth path component of X. The array A is destroyed. 1: procedure 2: Initialize colour := 0. 3: Create an empty array C = (c∗...∗ ). 4: for λ ∈  do 5: Set cλ = 0. 6: end for 7: while some aλ > 0 do 8: Set colour := colour + 1. 9: Choose some non-zero array entry aλ0 . 10: Set cλ0 := colour and aλ0 := 0. 11: while there is a non-zero aλ with cλ+μ = colour for some μ ∈ BL do 12: for all μ ∈ BL do 13: if aλ+μ = 1 then 14: Set cλ+μ := colour. 15: Set aλ+μ := 0. 16: end if 17: end for 18: end while 19: end while 20: Return C. 21: end procedure Example 1.3.2. A digital image, such as that of Figure 1.20 (left), yields a 5-dimensional pure cubical space whose facets are 5-dimensional unit cubes centred on the integer vectors (x, y, r, g, b) with x, y the Euclidean coordinates of a pixel, and with r, g, b integers in the range 0 to 255 representing the red/green/blue colour of the pixel. A 2-dimensional pure cubical space Mt can be obtained by choosing a threshold t ≥ 0 and including one 2-dimensional unit square facet centred at (x, y) ∈ R2 for each pixel with r + g + b ≤ t. (The colour white has r = 255, g = 255, b = 255.) The following GAP ses-

Path Components and Persistence | 35

Figure 1.19 Dendrogram for data of Example 1.3.1.

Figure 1.20 A digital image with 3264 × 2432 pixels, and corresponding pure cubical space.

sion constructs the 2-dimensional cubical complex for M300 from the digital image [image1.3.2.eps] in Figure 1.20 (left) with threshold t = 300. The space M300 is depicted in Figure 1.20 (right). The session uses Algorithm 1.3.1 to compute that M300 has β0 (M300 ) = 133 path components. GAP session 1.3.2 gap> M:=ReadImageAsPureCubicalComplex("image1.3.2.eps",300); Pure cubical complex of dimension 2. gap> BettiNumber(M,0); 133

The computed number of path components is disappointingly inconsistent with the number of objects that the human eye perceives in the corresponding digital image. Figure 1.21 shows a plot of β0 (Mt ) for the space Mt obtained from the image in Figure 1.20 using thresholds r + g + b ≤ t = 7n for integers n in the range 0 < n < 100. For thresholds in the region around t = 300 the value of β0 (Mt ) is comparatively stable. As the threshold t increases new path components are born, and groups of existing path components coalesce to form single path components. The graph of β0 (Mt ) thus increases and decreases. For s ≤ t the number of path components of Ms that include into distinct path components of Mt can be obtained by using Algorithm 1.3.2 to determine

36 | Path Components and the Fundamental Group

27519

1

0

700

Figure 1.21 Plot of threshold t versus β0 (Mt ) in Example 1.3.2.

the number of path components of Mt that have non-empty intersection with Ms . For large |t − s| this should be a better estimate of the number of objects in the image that  would be detected by the human eye, and prompts the following definition. Definition 1.3.1. Given a topological space X with a filtration (i.e. with a chain of

subspaces) X1 ⊆ X2 ⊆ X3 ⊆ . . . ⊆ X one defines the 0-dimensional persistent Betti numbers as β0st (X) = |Image(π0 (Xs ) → π0 (Xt ))| for s ≤ t, where π0 (Xs ) → π0 (Xt ) is the function induced by inclusion. Thus β0st (X) is the number of path components of Xt having non-empty intersection with Xs . In particular, β0tt = β0t is the number of path components of Xt . For s > t we set β0st (X) = 0.

In general, persistent Betti numbers β0st (X) contain less information about path components than is contained in dendrograms. The persistent Betti numbers can be represented using the notion of a barcode. This consists of a finite array of nodes, organized into rows and columns, together with horizontal lines between certain nodes. There are β0ss nodes in column s, and precisely β0st horizontal lines joining nodes in column s to nodes in column t, s ≤ t. The ordering or height of the horizontal lines is unimportant. For example, the persistent Betti numbers in the matrix ⎛

⎞ 1 1 1 (β0s t ) = ⎝0 4 2⎠ 0 0 4 are captured by the barcode of Figure 1.22

(1.10)

Path Components and Persistence | 37

Figure 1.22 Barcode for persistent Betti numbers in 1.10.

Figure 1.23 Barcode for dendrogram of Figure 1.19.

Example 1.3.1 (continued). The simplicial graphs Xt = G(V, 2t) of Example 1.3.1 form a filtration of topological spaces X0 ⊂ X1 ⊂ · · · ⊂ X10 . We can read the persistent Betti numbers β0st for this filtration directly from the dendrogram of Figure 1.19. The tth column of nodes in the dendrogram (starting from the left with t = 0) represents the path components in Xt . Since in this example the dendrogram is a tree we see that β0st (X) is just the number of nodes in the tth column of the dendrogram. The barcode for this filtration is shown in Figure 1.23.  Example 1.3.2 (continued). We can use the spaces Mt of Example 1.3.2 to construct a filtered space Xt = M1+75t , 0 ≤ t ≤ 10. The β0st (X) barcode for this filtration is shown in Figure 1.24. The barcode is shown in compact form where a line labelled by an integer n represents precisely n distinct lines with common start value s and common termination value t. The barcode contains 20 lines that are significantly longer than other lines; these correspond to the 20 visible objects in Figure 1.20 (left). The barcode was produced from the following GAP session involving Data Type 1.3.1. GAP session 1.3.2a gap> F:=ReadImageAsFilteredPureCubicalComplex( "image1.3.2.eps",10); Filtered pure cubical complex of dimension 2. gap> P:=PersistentBettiNumbers(F,0);; gap> BarCodeCompactDisplay(P);

Some of the objects in Figure 1.20 have obvious holes in them and others have no hole. To differentiate between the two types of object we could consider the filtration

38 | Path Components and the Fundamental Group 1 19 13 926 13 637 148 2 143 3 310 2925 12 185

Figure 1.24 Barcode for filtration Xt = M1+75t of Example 1.3.2. comp

comp

comp

· · · ⊂ X2 ⊂ X1 ⊂ X0 obtained by taking the complements of the pure cubical complexes using the definition of complement given in 1.2.10. The barcode for such a complementary filtration is given in Figure 1.25, though to eliminate the effect of tiny bright speckles the resolution of the image was first reduced. The reduced image is available as [image1.3.2.png]. The fifteen lines in the barcode of Figure 1.25 correspond to the 14 visible objects with holes plus the very large light background region. The barcode was produced from the following GAP session which involves Data Type 1.3.1. GAP session 1.3.2b gap> F:=ReadImageAsFilteredPureCubicalComplex( "image1.3.2.png",10);; gap> C:=ComplementOfFilteredPureCubicalComplex(F);; gap> B:=PersistentBettiNumbers(C,0);; gap> BarCodeCompactDisplay(B);

 Definition 1.3.2. A filtered lattice complex consists of a finite set of integer vectors BL ⊂

Zn and a finite n-dimensional array C = (cλ1 ...λn )λ∈ of integer valued entries. The tth term of the filtered complex is a lattice complex Xt = ( BL , A[t] ) with binary array [t] A[t] = (aλ )λ∈ given by

Path Components and Persistence | 39 1 2 2 12 2 9 1 17 20 comp

Figure 1.25 Barcode for filtration Xt

[t]

of Example 1.3.2.

aλ =

 1 if cλ ≤ t, 0 otherwise.

The HAP package uses the following data type for filtered lattice complexes. Data type 1.3.1. A filtered lattice complex can be represented as a component object F

with the following components. • F!.binaryArray is an array with integer entries cλ1 ···λn ≥ 0 for λj ∈ {1, . . . , dj }. • F!.ball is the finite set of vectors BL . • F!.properties is a list of pairs such as [“dimension", n]. The associated function IsHAPFilteredLatticeComplex(F) returns the boolean true when F is of this data type. For cubical and permutahedral filtered lattice complexes the component F!.ball is omitted from Data Type 1.2.2 in HAP and replaced by associated boolean valued functions IsHAPFilteredPureCubicalComplex(F) and IsHAPFilteredPurePermutahedralComplex(F) which return true when F is of these data types. Example 1.3.3. Example 1.3.2 illustrates how 0-dimensional persistent Betti numbers can be used in the automatic determination of the number of ‘objects’ in a digital image as well as information on the homotopy type of these objects. One can also use persistent Betti numbers to gain information about the geometric shape of an object. Consider for instance the 2-dimensional pure cubical complex S shown in Figure 1.26 (left). This complex was obtained from a digital colour image of a starfish by thresholding. By repeatedly thickening S to the point where the complex has just a single path component, one obtains the pure cubical complex T = τ n (S) of 1.26 (right). The complex T has 204902 2-cells and is obtained from S by n = 9 thickenings.

40 | Path Components and the Fundamental Group

Figure 1.26 Pure cubical complexes obtained from an image of a starfish.

To extract geometric information from T we require some filtration on T that is invariant under isometric transformations. One such filtration has tth term Ft = T ∩ D (rt , T) where, for a choice of parameters r1 > r2 > · · · > r , we let D(rt , T) denote the open Euclidean disk of radius rt centred at the centre of gravity of T, and let D (rt , T) = R2 − D(rt , T) denote the complement of this open disk. The following GAP session constructs the barcode of Figure 1.27 arising from (a cubical approximation to) the filtration Ft with  = 20 and equally spaced parameters rt . The digital image for the GAP session is available as [image1.3.3.eps]. GAP session 1.3.3 gap> M:=ReadImageAsPureCubicalComplex("image1.3.3.eps",300);; gap> while BettiNumber(PureComplexComplement(M),0)>1 do > M:=ThickenedPureComplex(M); > od; gap> F:=ConcentricFiltration(ComplementOfPureComplex(M),20); Filtered Pure Cubical Complex of Dimension 2 gap> P:=PersistentBettiNumbers(F,0);; gap> BarCodeCompactDisplay(P);;

The five bars in Figure 1.27 correspond to the five limbs of the starfish. Repeating the computation on the six-limbed starfish of Figure 1.28, available as  [image1.3.4.jpg], yields the barcode of Figure 1.29.

Path Components and Persistence | 41 1 1 2 1 2 2

Figure 1.27 0-dimensional barcode for the starfish of Figure 1.26.

Figure 1.28 Pure cubical complexes obtained from an image of a starfish. 4 5 2

Figure 1.29 0-dimensional barcode for the starfish of Figure 1.28.

Filtered simplicial complexes and filtered regular CW-complexes are represented in HAP in the following way (as are filtered chain complexes in Chapter 2). Data type 1.3.2. Suppose that a mathematical notion is represented by a data

type X involving a component such as X!.nrCells(n) or X!.nrSimplices(n) or X!.dimension(n) that returns the number of cells (or free generators) of dimension n. A data type for the corresponding filtered notion is obtained by simply adding one extra component • X!.filteredDimension(t,n) returns the number of cells of filtration degree t and dimension n; and one extra property [“filtration_length”, ] to the component X!.properties. The data has to be stored in a manner such that for k =X!.filteredDimension(t,n) the first k cells (or free generators) of dimension n are precisely those of dimension n lying in the degree t filtration term.

42 | Path Components and the Fundamental Group

The boolean valued function IsHapFilteredNotion(X) returns true when X is used to represent the filtered mathematical notion in this way. The computation of 0-dimensional Betti numbers is essentially a graph theoretic computation. The data types for simplicial complexes and regular CW-complexes can both be used to represent finite graphs. The following data type is also convenient for representing a (filtered) graph with a reasonably small vertex set. Data type 1.3.3. A graph on n vertices is represented as a component object G with the

following components. • G!.incidenceMatrix is an n × n binary matrix whose (i, j) entry equals 1 precisely when there is an edge between the ith and jth vertices. • G!.properties is a list of pairs such as [“numberofvertices”, n]. The associated function IsHAPGraph(G) returns the boolean true when G is of this data type. A filtered graph, each of whose terms has n vertices, can be represented by the same components but with the (i, j) entry of G!.incidenceMatrix having integer value ≤ t precisely when there is an edge between the ith and jth vertices in the tth term of the filtration. In this case the associated function IsHAPFilteredGraph(G) returns the boolean true.

1.3.1 Mapper Clustering The computation of path components of a space is very much related to techniques in cluster analysis of data sets. This topological viewpoint has recently led to a range of new clustering techniques. In particular, Singh, Mémoli and Carlsson [265] have introduced a method for investigating data sets by partially clustering data points and then representing the relationships between partial clusters in terms of a simplicial complex. Their method, known as Mapper, applies to a finite data set S sampled from an unknown metric space X. In its basic form the Mapper clustering procedure [265] inputs a finite sample S of points from a metric space X, together with a user-defined function f : S → Z to some metric space Z and a user-defined finite open cover U = {Up }p∈P of Z. It also inputs a user-defined procedure cluster for clustering any finite subset U˜ ⊂ X into a number of distinct clusters Vi which yield a partition U˜ = V1  V2  · · ·  Vn . The Mapper procedure outputs a finite simplicial complex K which is intended to serve as a model for X. The distance dX (x, y) must be known for all x, y ∈ S but no further details of the metric space X are required in the construction of K. For simplicity, we assume that the user has specified a finite subset P ⊂ Z and a sufficiently large constant r > 0, and that the open cover U is defined by setting Up = {z ∈ Z : dZ (z, p) < r}. As part of the Mapper procedure each finite subset U˜ p = {x ∈ S : f (x) ∈ Up } ⊆ S is determined and partitioned U˜ p = Vp,1  Vp,2  · · ·  Vp,np using the procedure cluster. The simplicial complex K is then defined to be the nerve of the cover V = {Vp,i }p∈P,1≤i≤np of S. Thus

Path Components and Persistence | 43

K has one k-simplex for each subset σ ⊂ V of size k + 1 with ∩V∈σ V = ∅. The above description of the Mapper clustering procedure is encoded in HAP as a function Mapper(S, dX , f , dZ , P, r, cluster) which returns the simplicial complex K. Here dX and dZ denote the metrics on S and Z. In many applications one chooses P, r and f so that the resulting simplicial complex K is 1-dimensional. Graph visualization software such as GraphViz [125] can then be used to investigate K. Each vertex V of K corresponds to a finite subset of S and the size of this subset can be represented by varying the size of nodes in the visualization of the graph. Information about f could be incorporated into the visualization using colours but the HAP implementation omits this option. The function f is called the filter function and can be chosen to reflect prior knowledge of the space X. If no prior knowledge is available then one can always choose a point x0 ∈ S that minimizes b = Maxx∈S dX (x0 , x), take dZ to be the standard Euclidean metric on the interval Z = [0, b] ⊂ R, and define f : X → Z by f (x) = dX (x0 , x). We refer to such an f as an intrinsic filter function and note that, since x0 is not necessarily unique, the data set S may give rise to more than one intrinsic filter function. One method of clustering a set U˜ involves choosing a fixed parameter  > 0, forming ˜ ) with vertex set equal to U˜ and with vertices x, x ∈ U˜ connected by the graph G(U, an edge if dX (x, x ) ≤ , and then taking all vertices in a single connected component of ˜ ) to constitute a cluster. We refer to this naive method as graph clustering. It can be G(U, encoded as a function ˜ , dX ). cluster(U, There are various heuristic approaches for determining a suitable value for  in terms of U and dX , and so the parameter  can be omitted from the input if desired. One heuristic ˜ t ) for an increasing sequence of approach is to consider the filtered space Xt = G(U, thresholds 0 < 1 < 2 < · · · and, if possible, choose  = n such that all long bars in the β0st (X) barcode meet the nth column of the barcode, and no short bars meet this column. Example 1.3.4. Figure 1.30 shows a collection of points in the plane. The points are

stored as a list S (available as [data134.txt]) and the first command in the following GAP session loads this list. The next commands set both dX and dZ equal to the Euclidean metric, and define an intrinsic filter function f : S → R by choosing some point x0 ∈ S and setting f (x) = dX (x, x0 ) for x ∈ S. To choose x0 we define the eccentricity of a point x ∈ S to be the maximum of the distances d(x, y), y ∈ S. We choose x0 to have minimal eccentricity. A list P of the points pα = 30α ∈ R for 1 ≤ α ≤ 100 is constructed. These points yield an open cover U of an interval in R consisting of the open balls Uα of radius r = 29 centred at the pα . Note that the nerve of Uα is a 1-dimensional simplicial complex. A simple clustering algorithm is then constructed as a function cluster. The penultimate command returns the Mapper simplicial complex M. The final command displays M as

44 | Path Components and the Fundamental Group

Figure 1.30 Point cloud in R2 .

the graph in Figure 1.31. Each node in this graph represents a cluster of points; larger clusters are represented by larger nodes. GAP session 1.3.4 gap> Read("data134.txt"); gap> dx:=EuclideanApproximatedMetric;; gap> dz:=EuclideanApproximatedMetric;; gap> L:=List(S,x->Maximum(List(S,y->dx(x,y))));; gap> n:=Position(L,Minimum(L)); gap> f:=function(x); return [dx(S[n],x)]; end;; gap> P:=30*[0..100];; P:=List(P, i->[i]);; gap> r:=29;; gap> epsilon:=75; gap> cluster:=function(S) > > >

local Y, P, C; if Length(S)=0 then return S; fi; Y:=VectorsToOneSkeleton(S,epsilon,dx);

> > >

P:=PiZero(Y); C:=Classify([1..Length(S)],P[2]); return List(C,x->S{x});

>

end;;

Path Components and Persistence | 45

Figure 1.31 Simplicial graph produced by applying the Mapper algorithm to the distance matrix obtained from the cloud in Figure 1.30.

gap> M:=Mapper(S,dx,f,dz,P,r,cluster); Simplicial complex of dimension 1. gap> Display(GraphOfSimplicialComplex(M));

In this toy example the points S are a subset of R2 . But since only the distance between points is used they could equally well have been taken from any higher dimensional metric  space. Example 1.3.5. Mapper can be used to extract geometric information about a space

from which data is sampled, as well as topological information. Consider the image of a starfish shown in Figure 1.26 (left) and represented as a pure cubical space in the plane. The following GAP session begins by loading a sample S of 952 randomly chosen points from this space; the sample S is pictured in 1.32 (left). The session then uses the Mapper algorithm to produce the simplicial graph of Figure 1.32 (right). The graph is a tree with five long branches corresponding to the five limbs of the starfish. GAP session 1.3.5 gap> Read("data135.txt"); gap> dx:=EuclideanApproximatedMetric;; gap> dz:=EuclideanApproximatedMetric;; gap> P:=30*[0..100];; P:=List(P, i->[i]);; r:=29;; gap> epsilon:=32;; gap> cluster:=function(S) > local Y, P, C; >

if Length(S)=0 then return S; fi;

46 | Path Components and the Fundamental Group

Figure 1.32 Sample S ⊂ R2 of data points (left), and a corresponding graph (right) produced using the Mapper algorithm.

> > >

Y:=VectorsToOneSkeleton(S,epsilon,dx); P:=PiZero(Y); C:=Classify([1..Length(S)],P[2]);

> return List(C,x->S{x}); gap> end;; gap> L:=List(S,v->Maximum(List(S,y->dx(v,y))));; gap> n:=Position(L,Minimum(L));; gap> f:=function(x); return [dx(S[n],x)]; end;; gap> M:=Mapper(S,dx,f,dz,P,r,cluster); gap> Display(GraphOfSimplicialComplex(M));



A real-life application of Mapper is described in [221] where it is used to identify a subgroup of breast cancers with a unique mutational profile and excellent survival.

1.4 Simple Homotopy A combinatorial approach to homotopy theory was developed by J.H.C. Whitehead in his paper [291] on simple homotopy theory. A modern account of the theory is given in Marshall Cohen’s textbook [63]. The approach is based on the following Definition 1.4.1 and Proposition 1.4.3. In the definition we consider an embedding ι− : Dn−1 → Dn of the closed unit (n − 1)-disk Dn−1 into the southern half of the boundary of the closed unit n-disk Dn , and an embedding ι+ : Dn−1 → Dn of Dn−1 into the northern half

Simple Homotopy | 47 en−1

en

Y

Figure 1.33 An elementary expansion of Y .

of the boundary of Dn , n ≥ 2. The embeddings satisfy ι− (Dn−1 ) ∪ ι+ (Dn−1 ) = Sn−1 , ι− (Dn−1 ) ∩ ι+ (Dn−1 ) = Sn−2 . Definition 1.4.1. A CW-space Y is said to be obtained from a CW-space X by an

elementary collapse, X  Y, if

1. 2. 3. 4.

Y is a CW-subspace of X, X = Y ∪ en ∪ en−1 with en , en−1 cells not in Y, there exists a characteristic map φ : Dn → X for en that sends ι− (Dn−1 ) to Y n−1 , φι+ : Dn−1 → X is a characteristic map for en−1 .

An elementary collapse is illustrated in Figure 1.33. If X  Y then we also write Y  X and say that X is obtained from Y by an elementary expansion. We write X ↔ Y to denote that Y is obtained from X by either an elementary expansion or an elementary collapse. Two CW-spaces X, X  are said to be simple homotopy equivalent, and to be of the same simple homotopy type, if there exists a sequence X ↔ Y0 ↔ Y1 ↔ Y2 ↔ . . . ↔ Yk ↔ X  of elementary collapses and/or expansions starting from X and ending at X  . We denote the existence of such a sequence by X  X  . Simple homotopy is an equivalence relation on CW-spaces. We write X  Y to denote the existence of some sequence of elementary collapses starting from X and ending at Y and say that X is collapsible to Y. An inclusion of CW-spaces Y → X is said to be a weak deformation retract if it is a homotopy equivalence. It is a deformation retract if there exists a homotopy equivalence X → Y that restricts to the identity on Y. In the context of CW-spaces, these two notions coincide thanks to the following lemma. We use the term homotopy retract as a synonym for deformation retract. Lemma 1.4.1. Let X be a CW-space with CW-subspace Y. If the inclusion Y → X is a

homotopy equivalence then Y is a deformation retract of X. A proof of Lemma 1.4.1 can be found for instance on page 16 of [150]. The proof is based on the following fundamental property of CW-spaces, again proved in [150].

48 | Path Components and the Fundamental Group Lemma 1.4.2 (Homotopy Extension Property). Let X be a CW-space with CW-subspace

Y. Let f : X → W be a continuous map to an arbitrary (and not necessarily CW) space W. Then any homotopy H : Y × [0, 1] → W with H(y, 0) = f (y) for all y ∈ Y extends to a homotopy H : X × [0, 1] → W with H (x, 0) = f (x) for all x ∈ X and H (y, t) = H(y, t) for all y ∈ Y, t ∈ [0, 1].

A proof of the following Proposition 1.4.3 can be found, for instance, in [63]. For assertion (ii) we say that a CW-space X has simply connected components if every continuous map S1 → X is homotopic to a constant map. Part (ii) is a special case of more general results on ‘Whitehead torsion’. Proposition 1.4.3. (i) If a CW-space Y is obtained from a CW-space X by an elementary

collapse, X  Y, then Y is a deformation retract of X. (ii) Let X and K be finite CW-spaces with simply connected components. Then K is homotopy equivalent to X if and only if it is simple homotopy equivalent to X.

Inclusions and certain other maps of regular CW-spaces can be captured using the following combinatorial notion. Definition 1.4.2. A map f : X → X  between regular CW-complexes consists of two

regular CW-complexes X = ( n , ιn )n≥0 and X  = ( n , ιn )n≥0 (as specified in Definition 1.1.3) together with set theoretic functions fn : n → n for n ≥ 0 satisfying ιn (λ, μ) = ιn (fn (λ), fn−1 (μ)) for all (λ, μ) ∈ n × n−1 . The map f is said to be injective if each function fn is injective.

We say that a map f : |X| → |X  | of regular CW-spaces is strictly cellular if each cell ekλ in |X| gets mapped onto a cell f (ekλ ) in |X  |. This is the topological version of Definition 1.4.2. Any inclusion of regular CW-spaces is strictly cellular. Projections of CW-spaces can also be strictly regular since the cell f (ekλ ) is allowed to be of lower dimension than ekλ . The following data type is used in HAP to represent such maps. Data type 1.4.1. A map of regular CW-complexes is represented by a component object

F with the following components: • F!.source is a regular CW-complex X. • F!.target is a regular CW-complex X  . • F!.mapping(n,k) is a function that returns an integer k in the range 1 ≤ k ≤ X !.nrCells(n), or else the integer 0 (to signify an image cell of dimension < n), for each integer 1 ≤ k ≤ X!.nrCells(n). The boolean valued function IsHAPMapOfRegularCWComplexes(F) returns true when F is of this data type. Proposition 1.4.3 leads to the following naive but often effective Algorithm 1.4.1. When describing algorithms for a regular CW-complex X = (n , ιn )n≥0 we prefer to use the language of CW-spaces: we denote an element λ ∈ n by enλ and refer to it as a cell; we say n−1 n  that enλ is in the coboundary of en−1 λ and that eλ is in the boundary of eλ if ιn (λ, λ ) = 1. n−1 We denote by X \ {enλ , eλ } the structure obtained from X by deleting λ from n and λ from n−1 .

Simple Homotopy | 49

Algorithm 1.4.1 Deformation retract of a regular CW-complex.

Input: A regular CW-complex X with geometric realization |X|. Output: An injective map f : Y → X of regular CW-complexes where the geometric realization |Y| is a deformation retract of |X|. 1: procedure 2: Set Y equal to a copy of X. k+1 3: while some cell ekλ of Y has a unique cell ek+1 μ in its coboundary, and eμ has no cell in its coboundary do 4: Set Y = Y \ {ekλ , ek+1 μ }. 5: end while 6: Return the injective map Y → X. 7: end procedure Example 1.4.1. The following GAP session applies an implementation of Algo-

rithm 1.4.1 to the 2-dimensional regular CW-complex Y illustrated in Figure 1.20 (right). The session shows that Y has 3074967 cells of dimensions ≤ 2 and that the resulting 1-dimensional deformation retract W has 78821 cells.

GAP session 1.4.1 gap> M:=ReadImageAsPureCubicalComplex("image1.3.2.eps",300);; gap> Y:=RegularCWComplex(M); Regular CW-complex of dimension 2 gap> Size(Y); 3074967 gap> W:=ContractedComplex(Y); Regular CW-complex of dimension 1 gap> Size(W); 78821 gap> V:=SimplifiedComplex(W); Regular CW-complex of dimension 1 gap> Size(V); 3507

The penultimate command in this GAP session simplifies the CW-structure on W to obtain a smaller regular CW-structure on the same topological space involving a total of  just 3507 cells (see below for details).

50 | Path Components and the Fundamental Group

Figure 1.34 Regular CW-space before and after simplification.

The simplification procedure invoked in the penultimate command of GAP session 1.4.1 is based on the observation that if a regular CW-space W contains a k-cell ek lying in k+1 the boundary of precisely two (k + 1)-cells ek+1 with identical coboundaries then 1 , e2 these three cells can be removed and replaced by a single cell of dimension k + 1. The topological space W is unchanged; only its CW-structure changes. The resulting CWstructure will not in general be regular. However, it will be regular if the sets V0 , V1 , V2 k+1 of cells lying in the boundaries of ek , ek+1 respectively are such that V1 ∩ V2 = 1 , e2 k V0 ∪ {e }. The result of this kind of simplification procedure is illustrated in Figure 1.34. For future reference the procedure is formalized as Algorithm 1.4.2. Algorithm 1.4.2 Simplification of a regular CW-structure.

Input: A regular CW-complex X. Output: A regular CW-complex Y with Size(Y) ≤ Size(X) and with |Y| homeomorphic to |X|. 1: procedure 2: Let Y be a copy of X. k+1 3: while there exists a cell ek in Y with precisely two cells ek+1 1 , e2 in its coboundary and these two cells have identical coboundaries do k+1 4: Compute the sets V0 , V1 , V2 of cells in the boundaries of ek , ek+1 1 , e2 . 5: if |V1 ∩ V2 | = 1 + |V0 | then k+1 k+1 to Y whose 6: Remove the cells ek , ek+1 1 , e2 from Y and add a new (k + 1)-cell f k+1 k+1 boundary is the union of the boundaries of e1 and e2 minus the cell ek . 7: end if 8: end while 9: Return Y. 10: end procedure Example 1.4.2. In relation to Algorithm 1.4.1 one should bear in mind that there exist

contractible regular CW-spaces X for which it is not possible to find any elementary

Simple Homotopy | 51

Figure 1.35 Bing’s house (top) and a modification of Bing’s house (bottom).

collapse X  Y. A standard example of such a space is Bing’s house, a verion of which is shown in Figure 1.35 (top). The house is a 2-dimensional CW-space involving two rooms, each room having a single entrance. The downstairs room is entered through an entrance on the roof of the house; the upstairs room is entered through an entrance on the bottom floor of the house. There exists no k-cell with a unique (k + 1)-cell in its coboundary and so no elementary collapse can be applied to the house. A modification of Bing’s house is shown in Figure 1.35 (bottom). The modification involves the addition of a single 3-cell and a single 2-cell in its boundary. It is clear that this modification does not change the homotopy type of the house. The following GAP session uses our implementation of Algorithm 1.4.1 to show that the modified house (and hence the original house) is homotopy equivalent to a point. More precisely, the session shows: Bing’s house  modified Bing’s house  {∗} . GAP readable versions of Bing’s house and its modification are available in [bing.txt].

52 | Path Components and the Fundamental Group

GAP session 1.4.2 gap> Read("bing.txt"); gap> BingsHouse; Regular CW-complex of dimension 2 gap> BingsModifiedHouse; Regular CW-complex of dimension 3 gap> Size(BingsHouse); 309 gap> Size(BingsModifiedHouse); 311 gap> Size(ContractedComplex(BingsModifiedHouse)); 1 gap> Size(ContractedComplex(BingsHouse)); 309

 Definition 1.4.3. A regular CW-space X is said to be collapsible if X  {∗}.

A thorough discussion of collapsibility can be found in Chapter XI of [157]. Example 1.4.2 and the following Proposition 1.4.4 and Example 1.4.3 are worth bearing in mind when applying Algorithm 1.4.1. They show that in some cases the algorithm will return a smaller CW-complex if applied to X × I, or some deformation retract of X × I, instead of being directly applied to X. Let X  and X be two CW-spaces with homeomorphic underlying topological spaces but possibly different CW-structures. We say that X  is a subdivision of X if each cell e ⊂ X  is mapped by the homeomorphism into some cell of X. Definition 1.4.4. A regular CW-space X is said to be weakly collapsible if there

 with is a sequence of elementary collapses X  X1 , X1  X2 , · · · , Xn  Xn+1   Xn+1 = {∗} and with each Xi a subdivision of Xi .

Proposition 1.4.4. [84, 131, 192] Let X be a regular CW-space. Let I = [0, 1]. Then X × I

inherits a CW-structure with cells e × 0, e × 1, e × (0, 1) where e ranges over the cells of X. If there exists an elementary expansion X  Y for which Y is collapsible then X × I is weakly collapsible.

Proof. Suppose that Y = X ∪ ek ∪ ek−1 is obtained from X by an elementary expansion involving the attachment of one k-cell ek and one (k − 1)-cell ek−1 . Let ∂ek ⊂ X ∪ ek−1 denote the boundary of ek . Set W = X ∪ {(∂ek ∩ X) × I}. It is easy to see that there is a sequence X × I  X of elementary collapses each of the form

Simple Homotopy | 53 (X ∪ en ∪ en–1) × I

X ∪ {( ∂en ∩ X) × I} X

en en–1

Figure 1.36 Proof of Proposition 1.4.4.

Z ∪ (e × 1) ∪ (e × (0, 1))  Z with e ⊂ X where we identify X = X × 0. By omitting some collapses from this sequence we get X × I  W as suggested in Figure 1.36. But W is homeomorphic to the collapsible space Y, and moreover W is a subdivision  of Y. This proves the result. Proposition 1.4.4 in conjunction with Example 1.4.2 implies that X × I is weakly collapsible for X equal to Bing’s house. Example 1.4.3. The simplicial complex D of Figure 1.37 is a second standard example of a 2-dimensional regular CW-space which is contractible but not weakly collapsible. It is not weakly collapsible because every 1-cell lies in the boundary of at least two 2-cells. The space D was named the dunce hat in [297]. The following GAP session shows that there is an elementary expansion D  Y with Y = D ∪ e3 ∪ e2 collapsible. The open 3cell e3 is the interior of a 3-simplex with vertices 1, 3, 5, 6; all but one of the 2-faces of e3 lie in D. Hence, by Proposition 1.4.4, the product D × I is weakly collapsible.

GAP session 1.4.3 gap> D:=[[1,3,5],[1,5,6],[1,3,6],[2,3,5],[3,6,7], > [2,3,7],[2,4,5],[4,5,6],[4,6,8],[6,7,8],[1,2,7], > [1,7,8],[1,2,8],[2,3,8],[3,4,8],[1,3,4],[1,2,4]];; gap> Y:=Concatenation(D,[[1,3,5,6]]);; gap> Y:=RegularCWComplex(SimplicialComplex(Y)); Regular CW-complex of dimension 3 gap> CriticalCells(Y); [ [ 0, 7 ] ]



54 | Path Components and the Fundamental Group 1

3

3 6

5

2

2 7

4 8 1

3

2

1

Figure 1.37 Simplicial complex known as the dunce hat.

Proposition 1.4.3 can be used to obtain an algorithm for finding deformation retracts of lattice complexes without the need to first convert the lattice complexes to regular CWcomplexes. Definition 1.4.5. We say that a lattice complex X = ( BL , A = (aλ )λ∈ ) is a subcomplex

of a lattice complex X  = ( BL , A = (aλ )λ∈ ) if  =  and aλ = 1 implies aλ = 1. We say that such a subcomplex is a deformation retract if |X| is homotopy equivalent to |X  |.

With a view to describing an algorithm for deformation retracts of lattice complexes we introduce some definitions relating to an arbitrary regular CW-space X. Let us say that a cell ekλ in X is maximal if it does not lie in the closure of any (k + 1)-dimensional cell of X. We define the closure complement of a maximal cell ekλ in X to be the regular CW-space X \ ekλ arising as the closure of X \ ekλ . Definition 1.4.6. We define the contact space of a maximal cell ekλ in a regular CW-space

X to be the regular CW-space Cont(ekλ ) = ekλ ∩ X \ ekλ arising as the intersection of the closure and closure complement of ekλ . (See Figure 1.38.) Proposition 1.4.5. Let ekλ be a maximal cell in a regular CW-space X. If the contact space

ekλ ∩ X \ ekλ is contractible then the inclusion map X \ ekλ → X is a deformation retract. Proof. Let A = ek and C = ekλ ∩ X \ ekλ . Suppose that C is contractible. Then the inclusion C → A is a homotopy equivalence and, by Lemma 1.4.1, there is a deformation  retraction r : A → C. This retraction extends to a retraction X → X \ A. If X is an n-dimensional lattice space then a cell is maximal if and only if it is n-dimensional. When X is an n-dimensional pure permutahedral space the boundary ∂enλ = enλ \ enλ of any maximal cell contains precisely 2n+1 − 2 cells of dimension n − 1. These (n − 1)-cells

Simple Homotopy | 55

Figure 1.38 CW-space (left) and contact space of its shaded central 2-cell (right).

correspond to the non-zero vectors in the L-ball of Definition 1.2.6. The closure of the union of any collection of these (n − 1)-cells could arise as a contact space. So in the pure n+1 permutahedral case there are precisely 22 −2 possibilities for the contact space Cont(enλ ) corresponding to the possible subsets of non-trivial vectors in BL . When X is a pure cubical space then any CW-subspace of the boundary of a unit ncube could arise as the contact space of some maximal cell. So in the cubical case there n are fewer than 23 −1 possibilities for the contact space of a maximal cell corresponding to certain subsets of non-trivial vectors in the cubical ball BL . For a lattice complex L we denote by SL the set of non-zero vectors in the L-ball BL . We denote by P (SL ) the set of subsets of SL . We assume that this finite power set is endowed with some fixed total order and denote by 2SL the list b1 , . . . bt of length t = 2|BL |−1 whose ith entry bi is equal to the boolean true if the ith set in P (SL ) corresponds to a contractible contact space, and equal to the boolean false otherwise. (The empty set corresponds to the empty space which is not contractible to a point.) For the permutahedral balls BL of dimension ≤ 4 it is practical to store the list 2SL on a computer. Algorithm 1.4.1 can be used to establish the contractibility of contractible contact spaces, and homology invariants (from Chapter 2) can be used to establish noncontractibility of the remaining contact spaces. For n = 2 the list has 64 boolean entries of which 30 have the value true. For n = 3 the list has 16384 boolean entries of which 7500 have the value true. For n = 4 the list has 1073741824 boolean entries of which 280694770 have the value true. These lists are computed in [152] and, for n ≤ 3, stored in HAP. Similarly, for the cubical balls BL of dimension ≤ 3 it is practical to store the list 2SL on a computer. For n = 2 the list has 256 boolean entries of which 116 have the value true. For n = 3 the list has 67108864 boolean entries of which 25985144 have the value true. Again, these lists are computed in [152] and stored in HAP. Proposition 1.4.5 yields the following Algorithm 1.4.3. An easy minor variant is an algorithm that inputs a lattice complex X with subcomplex W and outputs a deformation retract Y of X with W a subcomplex of Y. A second easy minor variant is an algorithm that inputs a lattice complex W with subcomplex X and returns a lattice complex Y such that X is a deformation retract of Y with Y a subcomplex of W.

56 | Path Components and the Fundamental Group Algorithm 1.4.3 Deformation retract of a lattice complex.

Input: A lattice complex X = ( BL , A = (aλ )λ∈ ) and the boolean list 2SL . Output: A subcomplex Y = ( BL , C = (cλ )λ∈ ) of X that is a deformation retract. 1: procedure 2: Create a copy C of the binary array A. 3: while there exists λ ∈  with cλ = 1 and with subset {μ ∈ BL \ {0} : cλ+μ = 1} ⊂ BL corresponding to a value true in the list 2SL do 4: Set cλ = 0. 5: end while 6: Return Y = ( BL , C = (cλ )λ∈ ). 7: end procedure We say that a space (resp. complex) X  is a zig-zag deformation retract of a space (resp. complex) X if there exists a sequence of deformation retracts 







X → X1 ← X2 → X3 · · · ← X  . We call such a sequence a zig-zag deformation. For efficient computations it is useful to have a method for constructing a small zig-zag deformation retract X  of a lattice complex X = (BL , (aλ )λ∈ ). One heuristic approach involves finding the smallest intervals mj ≤ λj ≤ Mj for which aλ1 ...λn = 0 whenever λj ≤ mj for all j or whenever λj ≥ Mj for all j. From these intervals we define the L-complex U(X) to have binary array (cλ )λ∈ with cλ1 ...λn = 1 whenever mj ≤ λj ≤ Mj for all j and with cλ1 ...λn = 0 otherwise. The heuristic approach begins by setting X0 = X. We construct X2n+1 and X2n+2 recursively from X2n as follows. We use a variant of Algorithm 1.4.1 to produce a large subcomplex X2n+1 ⊆ U(X2n ) that contains X2n as a deformation retract. We then use Algorithm 1.4.1 to construct a homotopy retract X2n+2 ⊆ X2n+1 . We repeat this process until Size(X2n+2 ) ≥ Size(X2n ), at which point we stop the recursion and return the zig-zag deformation retract X  = X2n . Example 1.4.4. Figure 1.39 (left) shows the backbone of the Thermus Thermophilus protein 1v2x. The experimentally determined Euclidean coordinates for each atom of the protein are available from the Protein Data Bank [223]. The backbone is obtained by taking the coordinates of the unique alpha carbon atom in each of the 191 protein amino acids and fitting a smooth curve through this sequence of 191 carbon atoms. The initial and final alpha carbons, which lie close to the ‘surface’ of the protein structure, have been artificially joined so as to form a continuous embedding κ : S1 → R3 of the circle into Euclidean 3-space. Any continuous embedding of S1 into R3 is called a knot. We denote the image of the embedding also by κ, bearing in mind that this image contains less information than the embedding itself (cf. the discussion on knot orientation in Section 1.6).

Simple Homotopy | 57

Figure 1.39 Backbone of the Thermus Thermophilus protein 1v2x.

Figure 1.39 (right) shows a representation of the backbone as a 3-dimensional pure permutahedral space K  obtained, in the following GAP session, as a zig-zag deformation retract of a larger pure permutahedral subspace of K ⊂ R3 containing the image of the knot κ. The permutahedral space K is constructed so that it contains the image of κ as a deformation retract. Let U denote the interior of K  . Note that U is a topological manifold, i.e. locally homeomorphic to R3 . This is true of the interior of any pure permutahedral space. Informative homotopy-theoretic invariants can be extracted from the complement W = R3 \ U. For computational purposes we replace R3 by a large solid 3-cube I 3 containing U. The following GAP session reads data from the file [data1V2X.pdb] and then uses Algorithms 1.4.3 and 1.4.2 to construct a regular CW-structure on the 3-manifold I 3 \ U. The resulting CW-structure involves just 38 3-dimensional cells. GAP session 1.4.4 gap> K:=ReadPDBfileAsPurePermutahedralComplex("data1V2X.pdb"); Pure permutahedral complex of dimension 3. gap> Display(ZigZagContractedComplex(K)); gap> #See Figure 1.39 (right) gap> C:=PureComplexComplement(K); Pure permutahedral complex of dimension 3. gap> Size(C); 691684

58 | Path Components and the Fundamental Group gap> D:=ZigZagContractedComplex(C); Pure permutahedral complex of dimension 3. gap> Size(D); 4382 gap> Y:=RegularCWComplex(D); Regular CW-complex of dimension 3 gap> W:=SimplifiedComplex(Y); Regular CW-complex of dimension 3 gap> W!.nrCells(3); 38



1.5 Non-regular CW-spaces We use the term non-regular CW-space to mean a CW-space that is not necessarily regular. We include all regular CW-spaces under the term. Many algorithms on CWspaces are impractical for spaces with a large number of cells, and the regularity condition often necessitates the inclusion of far more cells than would be needed in a non-regular CW-decomposition of a space. The difficulty with non-regular CWspaces is, however, that it is not so clear how best to represent them combinatorially on a computer without losing homotopy-theoretic information. In low dimensions there are ‘faithful’ algebraic representations that readily lend themselves to computer implementation. A CW-space is said to be reduced if it contains just one 0-cell. A reduced 2-dimensional CW-space can be efficiently represented as a group presentation without loss of homotopy-theoretic information (see Section 1.6). An arbitrary 2-dimensional CW-space can be represented as a groupoid presentation (see Appendix A.3). A reduced 3-dimensional CW-space can be efficiently represented by a crossed module presentation (see Section 5.2). In higher dimensions the algebraic complexities in analogous representations present a serious obstacle to their use in practical computations. We opt for a compromise representation of a generic non-regular finite CW-space Y that involves a triple (X, Y, h) where X is a regular finite CW-space and h : X → Y is a homotopy equivalence. This way all information is stored in X, while Y can be used in algorithms. We specify h and Y using the following notion. Definition 1.5.1. A discrete vector field on a regular CW-space X is a collection of arrow

symbols s → t where

Non-regular CW-spaces | 59

1

2

3

4

1

7

7

6

6

5

5

1

2

3

4

1

Figure 1.40 A regular CW-structure on a torus endowed with an ‘admissible’ discrete vector field (left) and the corresponding non-regular CW-structure (right).

1. s, t are cells of X with dim(t) = dim(s) + 1 and with s lying in the boundary of t. We say that s and t are involved in the arrow, that s is the source of the arrow and that t is the target of the arrow. 2. any cell is involved in at most one arrow. An example of a discrete vector field on a regular CW-decomposition of a torus is illustrated in Figure 1.40 (left). The term discrete vector field is due to Forman [118]. In an earlier work [171] Jones calls this concept a marking. A discrete vector field is said to be finite if it consists of just finitely many arrows. By a chain in a discrete vector field we mean a sequence of arrows . . . , s1 → t1 , s2 → t2 , s3 → t3 , . . . where si+1 lies in the boundary of ti for each i. A chain is a circuit if it is of finite length with source s1 of the initial arrow s1 → t1 lying in the boundary of the target tn of the final arrow sn → tn . A discrete vector field is said to be admissible if it contains no circuits and no chains that extend infinitely to the right. We are mainly concerned with finite CWcomplexes; in this context a discrete vector field is admissible if it contains no circuits. We say that an admissible discrete vector field is maximal if it is not possible to add an arrow while retaining admissibility. A cell in X is said to be critical if it is not involved in any arrow. Theorem 1.5.1. [118, 119, 291] If X is a regular CW-space with admissible discrete vector

field then there is a homotopy equivalence XY where Y is a CW-space whose cells are in one-one correspondence with the critical cells of Y.

60 | Path Components and the Fundamental Group 1

2

3

4

1

1

7

7

6 5 1 2

3

4

2

3

4

2

3

4

1

1

7

7

7

7

6

6

6

6

6

5

5

5

5

5

1

1

1

1

2

3

4

1

1 2

3

4

Figure 1.41 The spaces T 0 , V 1 and T 1 for Example 1.5.1, with critical cells shown in bold.

The following Example 1.5.1 is presented in such a way that it readily extends to a formal proof of Theorem 1.5.1 for arbitrary regular CW-spaces X. Example 1.5.1. Consider the admissible discrete vector field on the regular CW-

decomposition of the torus X shown in Figure 1.40 (left). It has one critical 0-cell, two critical 1-cells and one critical 2-cell. We shall derive a homotopy equivalence h : X → Y where Y is a CW-space with one 0-cell, two 1-cells and one 2-cell as illustrated in Figure 1.40 (right). To this end we let X n denote the n-skeleton of X; we let T n denote the union of X n with all those (n + 1)-cells that occur as the target of some arrow on X; we denote by V n+1 the union of T n with all the critical (n + 1)-cells of X. We take V 0 to be the collection of critical 0-cells. There are inclusions V n ⊆ X n ⊆ T n ⊆ V n+1 . The spaces T 0 , V 1 and T 1 are illustrated in Figure 1.41. We construct the CW-space Y recursively, defining its 0-skeleton Y 0 to consist of the critical 0-cells. So V 0 = Y 0 . Suppose now that we have constructed a homotopy equivalence ν : V n → Y n where the cells of Y n are in one-one correspondence with the critical k-cells of X for k ≤ n. Using Proposition 1.4.3 we can establish that V n is a deformation retract of T n . To do this we note that since the discrete vector field is admissible and finite there must be some n-cell en in T n that is the source of the initial arrow en → en+1 of some chain in the vector field on T n . Let T1n ⊂ T n denote the regular CW-space obtained from T n by removing en and en+1 . We have an elementary collapse T n  T1n and thus T1n is a deformation retract of T n by Proposition 1.4.3. Applying the same procedure to T1n we obtain a deformation retract T2n → T1n with V n ⊆ T2n . Repeating the procedure we obtain a sequence of deformation retracts n  · · ·  T1n  T n . V n  Tkn  Tk−1

Therefore there exists a map τ : T n → V n which is a homotopy equivalence and which restricts to the identity on V n .

Non-regular CW-spaces | 61

For each critical (n + 1)-cell en+1 in X we have a characteristic map Dn+1 → X which restricts to φ : Sn → X n . The composite map φ

τ

ν

φ  : Sn −→ X n ⊆ T n −→ V n −→ Y n can be used to form the union Y n ∪ en+1 with CW-structure in which φ  extends to a characteristic map for en+1 . We take Y n+1 to be the space obtained by attaching to Y n all the critical (n + 1)-cells of X in this manner. The construction of Y n+1 is such that the homotopy equivalence ν : V n → Y n extends to a homotopy equivalence ν : V n+1 → Y n+1 . Let V, Y denote the CW-spaces with skeleta V n , Y n . For n = dim(X) we have the  desired homotopy equivalence h : X = V n → Y. Data type 1.5.1. A discrete vector field on a regular CW-space is represented as a

regular CW-complex X with the following additional components, each of which is a 2-dimensional array: • X!.vectorField[n][k] is equal to the integer k if there is an arrow from the kth cell of dimension n − 1 to the k th cell of dimension n. Otherwise X!.vectorField[n][k] is unbound. • X!.inverseVectorField[n][k’] is equal to the integer k if there is an arrow from the kth cell of dimension n − 1 to the k th cell of dimension n. Otherwise X!.inverseVectorField[n][k’] is unbound. Algorithm 1.5.1 Discrete vector field on a regular CW-complex.

Input: A finite regular CW-complex X. Output: A maximal admissible discrete vector field on X. 1: procedure 2: Partially order the cells of X in any fashion. 3: At any stage of the algorithm each cell will have precisely one of the following three states: (i) critical, (ii) potentially critical, (iii) non-critical. 4: Initially deem all cells of X to be potentially critical. 5: while there exists a potentially critical cell do 6: while there exists a pair of potentially critical cells s, t such that: dim(t) = dim(s) + 1; s lies in the boundary of t; no other potentially critical cell of dimension dim(s) lies in the boundary of t; do 7: Choose such a pair (s, t) with s minimal in the given partial ordering. 8: Add the arrow s → t and deem s and t to be non-critical. 9: end while 10: if there exists a potentially critical cell then 11: Choose a minimal potentially critical cell and deem it to be critical. 12: end if 13: end while 14: end procedure

62 | Path Components and the Fundamental Group

One procedure for constructing an admissible discrete vector field is given in Algorithm 1.5.1. In line 2 of the algorithm the cells could be partially ordered in some way that ensures any cell of dimension k is less than all cells of dimension k + 1. This partial ordering guarantees that the resulting discrete vector field on a path-connected regular CWcomplex X will have a unique critical 0-cell. An alternative version of the algorithm which also seems to give good results is to partially order the cells of X in some fashion such that any cell of dimension k + 1 is less than all cells of dimension k, and to change line 6 to while there exists a pair of potentially critical cells s, t such that: dim(t) = dim(s) + 1; t lies in the coboundary of s; no other potentially critical cell of dimension dim(t) lies in the coboundary of s; do · · · end while Example 1.5.2. Consider the protein knot κ : S1 → R3 pictured in Figure 1.39. The

following GAP session uses Algorithm 1.5.1 (as well as Algorithms 1.2.2, 1.4.1, 1.4.3) to determine a non-regular 2-dimensional CW-space X that is homotopy equivalent to the complement R3 \ κ of the image of the knot. The space X has one 0-cell, two 1-cells and two 2-cells. Techniques for determining how the two 2-cells are attached to the 1-skeleton are described in Section 1.6. GAP session 1.5.2 gap> K:=ReadPDBfileAsPurePermutahedralComplex("data1V2X.pdb"); Pure permutahedral complex of dimension 3. gap> C:=PureComplexComplement(K); Pure permutahedral complex of dimension 3. gap> D:=ZigZagContractedComplex(C); Pure permutahedral complex of dimension 3. gap> Y:=RegularCWComplex(D); Regular CW-complex of dimension 3 gap> W:=ContractedComplex(Y); Regular CW-complex of dimension 2 gap> Size(W); 87391 gap> CriticalCells(W); [ [ 2, 1 ], [ 2, 312 ], [ 1, 23068 ], [ 1, 26355 ], [ 0, 17825 ] ]



Non-regular CW-spaces | 63

Figure 1.42 The Quillen complex A2 (S4 ).

In preparation for the next example we recall the definition of the Quillen complex of a finite group at a prime p. Definition 1.5.2. The order complex of a partially ordered set V is the simplicial complex

(V) with vertex set V and with k-simplices the chains v0 < v1 < · · · < vk of k + 1 distinct elements vi ∈ V.

A group is said to be an elementary abelian p-group if it is abelian and each of its non-trivial elements has prime order p. A finite elementary abelian p-group is just a direct product of copies of the cyclic group Cp . Definition 1.5.3. For a group G one can consider the partially ordered set Ap (G) of all

non-trivial elementary abelian p-subgroups of G, the partial order being set inclusion. The order complex Ap (G) is called the Quillen complex after Daniel Quillen who first studied it. An example of Ap (G) for the prime p = 2 and the symmetric group G = S4 of degree 4 is shown in Figure 1.42. Example 1.5.3. The following GAP session constructs a discrete vector field on the

Quillen complex A2 (S7 ) of the symmetric group of degree 7 for p = 2. This Quillen complex has 11291 simplices, and the computation produces an admissible discrete vector field involving one critical 0-cell, 160 critical 2-cells and no other critical cells. This establishes that the Quillen complex is homotopy equivalent to a union A2 (S7 ) 

160 

S2

(1.11)

i=1

of 160 2-dimensional spheres attached to a common 0-cell. (In general, we write X ∨ Y to denote the union of two spaces X and Y that have a single common point and refer to

64 | Path Components and the Fundamental Group

this construction as the wedge of X and Y.) The homotopy equivalence 1.11 is given as Proposition 15.1 in [184] where it was obtained by purely theoretical methods. GAP session 1.5.3 gap> K:=QuillenComplex(SymmetricGroup(7),2); Simplicial complex of dimension 2. gap> Size(K); 11291 gap> Y:=RegularCWComplex(K);; gap> C:=CriticalCells(Y);; gap> n:=0;;Length(Filtered(C,c->c[1]=n)); 1 gap> n:=1;;Length(Filtered(C,c->c[1]=n)); 0 gap> n:=2;;Length(Filtered(C,c->c[1]=n)); 160

 Example 1.5.4. An analysis of Example 1.5.1 leads to the observation that a finite regular CW-complex is collapsible if, and only if, it admits an admissible discrete vector involving just one critical cell. Thus Bing’s house of Figure 1.35 (top) is an example of a contractible 2-dimensional CW-space which does not admit a discrete vector field with just a single critical cell. The following GAP session loads Bing’s house as a regular CW-complex and constructs a discrete vector field on it with precisely three critical cells.

GAP session 1.5.4 gap> Read("bing.txt"); gap> CriticalCells(BingsHouse); [ [ 2, 1 ], [ 1, 95 ], [ 0, 60 ] ]

In our combinatorial representation of a non-regular CW-space Y arising from a discrete vector field on a regular CW-space X, the attaching map φ : Dn → Y of an n-cell en can be specified by giving Sn−1 a regular CW-structure such that each (n − 1)-cell in Sn−1 is mapped homeomorphically by φ onto an (n − 1)-cell in Y. Thus the attaching map can be partially represented as a list of (n − 1)-cells in X occurring in the boundary ∂en , where

The Fundamental Group | 65

an (n − 1)-cell can occur in the list with multiplicity greater than 1. For Y = e0 ∪ e1 ∪ e2 equal to Bing’s house the following continuation of the GAP session shows that e0 occurs in the boundary of e1 with multiplicity 2, and that e1 occurs in the boundary of e2 with multiplicity 3. GAP session 1.5.4 gap> NonRegularCWBoundary(BingsHouse,1,95); [ 60, 60 ] gap> NonRegularCWBoundary(BingsHouse,2,1); [ 95, 95, 95 ]

These details on the CW-structure Y = e0 ∪ e1 ∪ e2 of Bing’s house do not however fully determine the homotopy type of Y (which we of course already know to be the homotopy  type of a point.)

1.6 The Fundamental Group A topological space X is said to be pointed if some point x0 ∈ X is chosen as base-point. We continue to use the term map to mean a continuous function. For pointed spaces X, Y with base-points x0 ∈ X, y0 ∈ Y we say that a map f : X → Y is pointed if f (x0 ) = y0 . Two pointed maps f , g : X → Y are homotopic rel base-points or based homotopic if there is a map H : X × [0, 1] → Y with H(x, 0) = f (x) and H(x, 1) = g(x) for x ∈ X and H(x0 , t) = y0 for t ∈ [0, 1]. We denote by [X, Y] = { f : X → Y : f (x0 ) = y0 }/  the set of based homotopy classes of pointed maps f : X → Y. We denote the based homotopy class of a pointed map f by [ f ]. When X = S1 is the circle the set [S1 , Y] has a rich algebraic structure derived from a product ∗ : [S1 , Y] × [S1 , Y] −→ [S1 , Y] induced by the diagonal map d : S1 −→ S1 ∨ S1 . To describe this diagonal map and product we view S1 as the unit interval with end-points identified, S1 = [0, 1]/{0 = 1}, and we view the wedge of circles S1 ∨ S1 as the interval of length 2 with end-points and mid-point identified, S1 ∨ S1 = [0, 2]/{0 = 1 = 2}. We choose the point 0=1 as base-point for S1 . The diagonal map d is induced from scalar multiplication ×2 : [0, 1] → [0, 2], x  → 2x. Any two pointed maps f , f  : S1 → Y define

66 | Path Components and the Fundamental Group

a map f ∨ f  : S1 ∨ S1 → Y sending x  → f (x) if 0 ≤ x ≤ 1, x  → f  (x − 1) if 1 ≤ x ≤ 2. Composition of d and f ∨ f  yields a map (f ∨ f )d : S1 → Y. The product ∗ is given by [f ] ∗ [f  ] = [(f ∨ f  )d] . It is relatively straightforward to verify that ∗ is a well-defined product satisfying the axioms of group multiplication. Details can be found for instance in [150]. The group π1 (Y) = [S1 , Y] was introduced by Henri Poincaré in his influential work Analysis Situs [232] and is called the fundamental group of Y. Sometimes it is necessary to emphasize the choice of basepoint y0 ∈ Y in which case we write π1 (Y, y0 ) instead of π1 (Y). Any map φ : X → Y of topological spaces induces a group homomorphism π(φ) : π1 (X, x0 ) → π1 (Y, φ(x0 )), [ f ]  → [φf ]. Verifications of this claim, and of the following theorem, can be found in [150]. Theorem 1.6.1. The fundamental group is a functor

π1 : (pointed topological spaces) −→ (groups) from the category of pointed spaces and pointed maps to the category of groups and group homomorphisms. Any homotopy equivalence X → Y induces a group isomorphism ∼ =

π1 (φ) : π1 (X, x0 ) → π1 (Y, φ(x0 )). There is a more combinatorial description of the fundamental group when Y is a regular CW-space with some 0-cell y0 = e0 chosen as base-point. We say that such a space is a pointed regular CW-space. In this context we define a combinatorial path of length k in Y to be a sequence of 1-cells e11 , e12 , . . . , e1k in Y in which the boundary vertices of each e1i are labelled as e0i− and e0i+ with e0(i−1)+ = e0i− for 2 ≤ i ≤ k. We deem each edge e1i to be directed from e0i− towards e0i+ . We deem e01− to be the initial vertex of the combinatorial path, e0k+ to be the final vertex, and deem the combinatorial path to be directed from e01− towards e0k+ . Thus every combinatorial path comes with a specified direction. We denote by Y I the set of all combinatorial paths in Y. We define a combinatorial loop in Y to be a combinatorial path of length k for which e01− = e0k+ = y0 . Thus a combinatorial loop is a combinatorial path that starts and finishes at the preferred base-point y0 . We denote by Y the set of all combinatorial loops in Y (suppressing the base-point y0 from the notation) and observe that concatenation of combinatorial paths yields a function Y × Y → Y. We use the terms path and loop as abbreviations for combinatorial path and combinatorial loop when the combinatorial meaning is clear from the context.

The Fundamental Group | 67

a

e

c

b

e

d

g

f

h

a

b

a

b

c

f

d

g

h

1

e

d c a

b

f eλ2

g 2

g

eλ2 c'

e' d'

Figure 1.43 Equivalent paths in Y I .

If a path p = {e11 , . . . , e1k } has two consecutive edges e1i = e1i+1 which are identical, but for their directions, then we can form the path q = {e11 , . . . , e1i−1 , e1i+2 , . . . , e1k } of length k − 2 which simply omits the two identical consecutive edges. In this case we write p 1 q. See Figure 1.43 (top). Suppose two paths p = {e11 , . . . , e1k }, q = {f11 , . . . , fl1 } are such that e1i = fi1 for 1 ≤ i ≤ 1 for 1 ≤ i ≤ n. Suppose also that the path {e1 1 1 m and e1k−i = fl−i m+1 , . . . ek−n−1 , fl−n−1 , . . . , 1 fm+1 } consists of precisely those 1-cells in the boundary of some 2-cell of Y. In this case we write p 2 q. See Figure 1.43 (bottom). The relations 1 and 2 between paths in Y restrict to relations between loops in Y. The two restrictions together generate an equivalence relation  on the set (Y) of loops. Definition 1.6.1. The edge-path group of Y is

ω(Y, y0 ) = Y/  with group multiplication induced by concatenation of loops in Y. We write ω(Y) = ω(Y, y0 ) when the choice of base-point is clear from the context. Theorem 1.6.2. For a pointed regular CW-space Y there is an isomorphism of groups

π1 (Y) ∼ = ω(Y). Remarks on a proof. The text by Spanier [273] provides a detailed proof of this result for the case when Y is a simplicial space. That proof routinely extends to the more general setting of regular CW-spaces. An alternative proof of the theorem can be obtained using the fundamental groupoid π1 (Y, Y0 ) relative to some subset Y0 ⊂ Y 0 of 0-cells of Y. Recall from Appendix A.2 that a groupoid is a category in which each arrow is an isomorphism. The fundamental groupoid π1 (Y, Y0 ) is the category with one object for each 0-cell in Y0 ; its arrows are the homotopy classes of continuous maps p : [0, 1] → Y with p(0), p(1) ∈ Y0 and where homotopy is

68 | Path Components and the Fundamental Group

rel Y0 . The van Kampen theorem for fundamental groupoids proved in [41, 42] (and recalled below in Section 1.6.1) can be used to show that the arrows in π1 (Y, Y0 ) correspond to the above defined equivalence classes of combinatorial paths in Y with initial and final vertex in Y0 . In the fundamental groupoid π1 (Y, Y0 ) the automorphism group of the base-point y0 = e0 is precisely the fundamental group π1 (Y, y0 ). This automorphism  group corresponds to ω(Y, y0 ). For the purposes of this book the reader could opt to disregard Theorem 1.6.2 altogether and simply define the fundamental group of a pointed regular CW-space Y to be π1 (Y) = ω(Y). Let Y be a path-connected pointed regular CW-space. Let T ⊆ Y 1 be some maximal tree in Y 1 . That is, T is a contractible CW-subspace of Y 1 with Y 0 ⊂ T. Any 0-cell e0 ∈ Y determines a unique shortest path PT (e0 ) = {e11 , . . . , e1k } in T with initial vertex equal to the base-point y0 and final vertex equal to e0 . There is a corresponding ‘reversed’ path PT (e0 ) = {e1k , . . . , e11 } in which the edges appear in reversed order and which starts at e0 and ends at y0 . Any path p = {e11 , . . . , e1k } of length k ≥ 1 in Y comes with an associated sequence of 0-cells e01− , e01+ ,. . ., e0k− , e0k+ . The path p determines a loop Q T (p) = PT (e01− ), e11 , PT (e01+ ), PT (e02− ), e12 , PT (e02+ ), . . . , PT (e0k− ), e1k , PT (e0k+ ) in which the right-hand side denotes a concatenation of paths. By an orientation on the 1-skeleton Y 1 we mean that for each 1-cell e1 of Y some arbitrary but fixed ordering has been chosen on the two 0-cells in its boundary. We let ∂ − e1 denote the first boundary vertex and ∂ + e1 denote the second. Given an orientation on Y 1 we define Q T (e1 ) = PT (∂ − e1 ), e1 , PT (∂ + e1 ) to be the path obtained by concatenating the three paths PT (∂ − e1 ), e1 and PT (∂ + e1 ). We denote by [QT (e1 )] the equivalence class in the edge-path group ω(Y) represented by QT (e1 ). We denote by [[QT (e1 )]] the equivalence class in the edge-path group ω(Y 1 ) represented by QT (e1 ). By an orientation on the 2-skeleton Y 2 we mean an orientation on Y 1 and that, additionally, for each 2-cell e2 in Y an ordering has been placed on all the 1-cells e11 , . . . , e1k in its boundary so that p(e2 ) = {e11 , . . . , e1k } is a path. Lemma 1.6.3. Let Y be a path-connected, pointed regular CW-space. Let T ⊂ Y 1 be a

maximal tree. For any orientation on Y 2 :

i) ω(Y) is generated by the classes [QT (e1 )] for 1-cells e1 ⊂ Y 1 \ T. ii) ω(Y 1 ) is freely generated by the classes [[QT (e1 )]] for 1-cells e1 ⊂ Y 1 \ T. iii) The kernel of the canonical surjective homomorphism ω(Y 1 ) −→ ω(Y) is normally generated by the classes [[QT (p(e2 ))]] for 2-cells e2 in Y.

The Fundamental Group | 69

Proof. Let p ∈ Y be an arbitrary loop. Using only the relation 1 we see that QT (p)  PT (e0i1 − ), e1i1 , PT (e0i1 + ), PT (e0i2 − ), e1i2 , PT (e0i2 + ), . . . , PT (e0im − ), e1im , PT (e0im + ) where e1i1 , e1i2 , . . ., e1im is the subsequence of the loop p consisting of precisely those edges not in T. This establishes (i). Only relation 1 plays a role in the edge-path group ω(Y 1 ). Thus the generators [[QT (e1 )]] satisfy no non-trivial relations and therefore generate a free group ω(Y 1 ) as asserted in (ii). The equivalence relation  on Y is generated by the relation 1 and one additional relation for each 2-cell e2 in Y. One can check that these additional relations  correspond to the classes [[QT (p(e2 ))]] in the free group ω(Y 1 ). Lemma 1.6.3 provides a finite presentation for the fundamental group of any finite regular pointed CW-space Y. If the reader opts to take π1 Y = ω(Y) as a definition rather than a theorem, then this presentation for π1 Y, in conjunction with Tietze operations on finite presentations (see Appendix A.3), can be used to establish directly that simply homotopic regular CW-spaces have isomorphic fundamental groups. The standard definition of π1 Y given above readily implies that homotopy equivalent spaces have isomorphic fundamental groups. The presentation for π1 Y given by Lemma 1.6.3 is typically very large. The existence of an admissible discrete vector field on Y can be used to obtain a smaller presentation for π1 (Y). To explain this we introduce some extra terminology and technicalities concerning discrete vector fields. Let Y be a finite regular CW-space endowed with an admissible discrete vector field and an orientation on Y 1 . We say that a cell in Y is terminal if it is either critical or is noncritical and the target of an arrow. We say that the cell is initial if it is the source of an arrow. Thus each cell is either terminal or initial. Any 0-cell e0 in Y can be associated with a unique terminal 0-cell H(e0 ) by recursively defining ⎧0 if e0 is terminal, ⎨e 0 0 H(e ) = H(e ) if there exists an arrow e0 → e1 with e0 and ⎩ e0 the boundary cells of the 1-cell e1 .

(1.12)

This recursion simply identifies the unique chain of arrows in the vector field that starts at e0 and ends at a 1-cell whose boundary contains H(e0 ). Any oriented 1-cell e1 in Y can be associated with a unique path H(e1 ) of terminal 1-cells H(e1 ) = {e11 , e12 , . . . , e1n } in Y which starts at the first boundary cell ∂ − e1 of e1 and ends at the second boundary cell ∂ + e1 of e1 . This association is explained below. We denote by H(e1 )−1 the reversed path starting at ∂ + e1 and ending at ∂ − e1 . Once we have defined H(e1 ) we will be able to define, for any path of 1-cells p = { f11 , f21 , . . . , fm1 } in Y, the path H(p) to be the concatenation of the ordered sequence of paths H(f11 )1 , H(f21 )2 , . . ., H(fm1 )m with signs i = ±1 chosen to allow path concatenation.

70 | Path Components and the Fundamental Group

For any initial 1-cell e1 we have an associated 2-cell e1 → e2 . The boundary of e2 specifies a path f11 , f21 , . . . , fm1 from the vertex ∂ − e1 to the vertex ∂ + e1 , We denote this path by ← e1 →. The path involves all 1-cells of the boundary of e2 except the 1-cell e1 . We define H(e1 ) recursively by  H(e ) = 1

if e1 is terminal, e1 1 H(← e →) if e1 is initial.

(1.13)

Note that in the recursive definitions of H(e0 ) and H(e1 ) the recursion will terminate because of the admissibility condition on the discrete vector field. Proposition 1.6.4 explains how the construction of a discrete vector field on Y provides a presentation for π1 (Y) which is typically smaller than that of Lemma 1.6.3. Algorithm 1.5.1 can be used to construct a vector field satisfying the hypothesis of the proposition. Proposition 1.6.4. Let Y be a pointed, regular CW-space endowed with an admissible

discrete vector field having precisely one critical 0-cell which is the base-point. Then the closure of the non-critical terminal 1-cells is a maximal tree T ⊂ Y 1 . For any orientation on Y 2 : i) ω(Y) is generated by the classes [QT (e1 )] for critical 1-cells e1 ⊂ Y 1 \ T. ii) Let F be the subgroup of ω(Y 1 ) generated by the classes [[QT (e1 )]] for critical 1-cells e1 ⊂ Y 1 \ T. Then F is a free group. iii) The kernel of the canonical surjective homomorphism F −→ ω(Y) is normally generated in F by the classes [[H(QT (p(e2 )))]] for critical 2-cells e2 in Y. Proof. Let T denote the closure of the non-critical terminal 1-cells. Since Y has only one critical 0-cell y0 , and since equation 1.12 constructs a chain of arrows from each 0-cell e0 to a 1-cell containing the base-point y0 = H(e0 ) in its boundary, the graph T is connected. Since the discrete vector field is admissible the graph T has no loops and is thus a tree. Lemma 1.6.3(i) asserts that ω(Y) is generated by [QT (e1 )] for 1-cells e1 ⊂ 1 Y \ T. For any loop p in Y one readily checks that p  H(p). The 1-cells in H(p) are terminal, so they are either critical or in T. In particular, for any 1-cell e1 we can express [QT (e1 )] = [H(QT (e1 ))] as a product of classes [QT (f 1 )] with f 1 a critical 1-cell in Y. This establishes part (i) of the proposition. Part (ii) of the proposition follows from Lemma 1.6.3(ii) since any subgroup of a free group is free. Let F  = ω(Y 1 ). Let R be the subgroup of F normally generated by the relators [[QT (p(e2 ))]] for each 2-cell e2 in Y. Lemma 1.6.3(iii) asserts that the edge-path group ω(Y) is isomorphic to the quotient F /R . Each initial 2-cell e2 → e3 corresponds to a relator [[QT (p(e2 ))]] which is in the normal closure of the relators of the remaining 2-cells = e2 in the boundary of e3 . Those relators corresponding to initial 2-cells can thus be omitted from the normal generating set for R , using

The Fundamental Group | 71

Tietze operations of type I (see Appendix A.3), without changing R . Each initial 1-cell e1 → e2 corresponds to a free generator of F  that is not a generator of F. The relator [[QT (p(e2 ))]] has just one occurrence of the free generator [[QT (e1 )]]; this free generator and relator can thus be removed from the presentation by an elementary Tietze operation of type II to yield a smaller presentation of the edge-path group. Applying such a Tietze operation to each generator of F  not in F yields the  presentation for ω(Y) asserted in part (iii) of the proposition. Example 1.6.1. Consider the regular CW-decomposition of the torus Y in Figure 1.40

(left). The discrete vector field shown on this torus satisfies the hypothesis of Proposition1.6.4. The maximal tree T arising from the vector field is illustrated in Figure 1.41 (left). There are two critical 1-cells e11 , e12 and there is one critical 2-cell e2 . Theorem 1.6.2 and Proposition 1.6.4 yield a presentation for π1 (Y) involving two generators x1 , x2 say, and one relator corresponding to the loop H(QT (p(e2 ))) of terminal 1-cells. The −1 −1 subsequence of the loop consisting of just the signed critical 1-cells is e11 , e12 , e11 e12 . −1 −1 The loop thus corresponds to the relator x1 x2 x1 x1 and we obtain the free presentation −1  π1 (Y) ∼ = x1 , x1 | x1 x2 x−1 1 x2 . Proposition 1.6.4 gives rise to Algorithm 1.6.1 for computing a presentation of the fundamental group of a finite regular CW-space. In GAP a finitely presented group G is specified by creating a free group F and a finite list R = {r1 , . . . , rk } of elements in F that normally generate the kernel of a surjective homomorphism F G. Algorithm 1.6.1 Fundamental group of a regular CW-complex.

Input: A regular CW-complex X and a preferred 0-cell e0 . We suppose that the geometric realization |X| is path-connected. Output: A finitely presented group G isomorphic to π1 (|X|) together with an associated function w(i) that returns a word in the generators of G corresponding to the loop H(QT (e1i )) ∈ |X| determined by the ith 1-cell e1i and some fixed tree T. 1: procedure 2: Create the 3-dimensional CW-complex X 3 by forgetting all cells of X in dimensions ≥ 4. 3: Specify an orientation on 1-cells and 2-cells in X 3 . 4: Use Algorithm 1.5.1 to produce a maximal discrete vector field on X 3 in which e0 is critical. Use an ordering on cells such that each cell of dimension k is less than any cell of dimension k + 1 as this will ensure that any 0-cell distinct from e0 will be non-critical. 5: Use the recursive definition in equation 1.13 to create the function that inputs a path p in X 1 and returns the path H(p). 6: Create a free group F with free generators x1 , . . . , xm corresponding to the critical 1-cells of X 3 .

72 | Path Components and the Fundamental Group

7: Create a finite set R consisting of those words in F corresponding to the loops H(QT (p(e2 ))) for critical 2-cells e2 . This can be done, without explicitly identifying the tree T, as follows. Let e1j denote the jth critical 1-cell. If e1i11 , e1i22 , . . ., 1

eik k is the subsequence of the path H(p(e2 )) consisting of just the signed critical  1-cells then xi11 xi22 . . . xikk is the word in F corresponding to H(QT (p(e2 ))). 8: Return the finitely presented group G determined by F and R. Also return the function w(i) = H(QT (e1i )). 9: end procedure Example 1.6.2. The following GAP session uses Algorithm 1.6.1 and Algorithm 1.5.1 to compute the homomorphism

π1 (W) ∼ = w|  −→ π1 (Y) ∼ = x, y|xy−1 xy = 1 −1 −1 w  → yx y induced by an inclusion W → Y of simplicial complexes where Y is the simplicial Klein bottle of Figure 1.8 and W is the subcomplex of Figure 1.44. GAP session 1.6.2 gap> Y:= > [[1,2,5], [2,5,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], > [4,5,8], [4,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7], > [1,4,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> Y:=SimplicialComplex(Y);; gap> W:=[[1,2,5],[2,5,8],[4,5,8],[4,6,8],[1,4,6],[1,2,6]];; gap> W:=SimplicialComplex(W);; gap> i:=RegularCWMap(Y,W); Map of regular CW-complexes gap> f:=FundamentalGroup(i); [ f1 ] -> [ f2*f1ˆ-1*f2ˆ-1 ] gap> Source(f);

gap> RelatorsOfFpGroup(Range(f)); [ f2ˆ-1*f1ˆ-1*f2*f1ˆ-1 ]



The Fundamental Group | 73 2 1

5

8

4

6

1 2

Figure 1.44 Subcomplex of the simplicial Klein bottle of Figure 1.8.

Example 1.6.3. The following GAP session uses Algorithm 1.6.1 (as well as Algorithms

∼ x, y | xyx = yxy 1.2.2, 1.4.1, 1.4.3, 1.5.1) to compute a finite presentation π1 (R3 \ K) = for K the pure permutahedral space of the Thermus Thermophilus protein 1v2x (a zig-zag deformation retract of which is) shown in Figure 1.39 (right). GAP session 1.6.3 gap> K:=ReadPDBfileAsPurePermutahedralComplex("data1V2X.pdb"); Pure permutahedral complex of dimension 3. gap> G:=KnotGroup(K);

gap> RelatorsOfFpGroup(G); [ f1ˆ-1*f2ˆ-1*f1*f2*f1*f2ˆ-1 ]



For any knot κ : S1 → R3 the fundamental group π1 (R3 \ κ) of the complement of the image of the knot is an invariant in the following sense. Two knots κ, κ  : S1 → R3 are said to be ambient isotopic if there exists a continuous map H : R3 × [0, 1] → R3 such that Ht (x) = H(x, t) is a homeomorphism from R3 to itself for each t ∈ [0, 1], H0 (x) is the identity, and κ  (y) = H1 (κ(y)) for y ∈ S1 . The groups π1 (R3 \ κ) and π1 (R3 \ κ  ) are isomorphic if κ is ambient isotopic to κ  since such an ambient isotopy implies that the complement R3 \ κ is orientation preserving homeomorphic to the complement R3 \ κ  .

74 | Path Components and the Fundamental Group

Figure 1.45 Knot diagram for the trefoil knot.

A knot is said to be tame if it is ambient isotopic to a piecewise linear embedding κ : S1 → R3 involving only finitely many linear pieces. We use the term knot as a synonym for tame knot. There are a number of symbolic representations of tame knots, most of which relate to some planar projection of the knot. More specifically, for any tame knot κ we can choose an affine projection ρ : R3  R2 onto some hyperplane R2 ⊂ R3 not containing any point in the knot image, such that the composite ρκ is one-one at all but a finite number of points x ∈ S1 called crossing points; this can always be done such that ρκ : S1 → R2 is two-one on the set of crossing points. For any pair of crossing points with identical image in the hyperplane R2 , one of the points will be nearer to the hyperplane than the other; the nearer point is called an under-crossing point and the other is called an over-crossing point. The image in R2 of a crossing point is called a crossing. When sketching the planar image of ρκ it is customary to sketch the image of the restriction ρκ : S1 → R2 to a subset S1 of S1 obtained by removing small neighbourhoods of undercrossing points. Thus ρκ(S1 ) consists of a finite collection of non-intersecting simple arcs in the plane. The collection of arcs is called a knot diagram. A knot diagram corresponding to the cubical model of the trefoil in Figure 1.10 is illustrated in Figure 1.45. A knot diagram of a 4-crossing knot is shown in Figure 1.56. The knot diagram of Figure 1.45 has certain special properties: (i) it is piecewise linear with each linear segment either vertical or horizontal; (ii) no two vertical segments share a common x-coordinate and no two horizontal segments share a common y-coordinate; (iii) all over-crossing points belong to vertical segments and all undercrossing points belong to horizontal segments. A knot diagram satisfying properties (i)–(iii) is called an arc presentation of the knot. Any arc presentation can be represented as a list (m1 , n1 ), (m2 , n2 ), ..., (mk , nk ) of pairs of integers where the bottom horizontal segment extends from the m1 th to the n1 th vertical segment; the second to bottom horizontal segment extends from the m2 th vertical segment to the n2 th vertical segment, and so on. For example, the list (2, 5), (1, 3), (2, 4), (3, 5), (1, 4) specifies the arc presentation of Figure 1.45. For any arc presentation of a knot κ : S1 → R3 we can construct a 3-dimensional pure cubical space K involving three layers of cubes. The front layer consists of columns

The Fundamental Group | 75

+

=

Figure 1.46 Addition of a trefoil knot and its mirror image.

of 3-cubes, the back layer consists of rows of 3-cubes, and the middle layer contains individual cubes connecting the ends of columns and rows in such a way that the image of κ is a deformation retract of K. The construction can be performed so that K is a compact 3-manifold with boundary. Figure 1.10 (left) illustrates the space K for the arc presentation of Figure 1.45. The crossing number of a knot κ is defined to be the least number of crossings in any knot diagram for κ. Knots with low crossing numbers have been tabulated. The original tables of knots with up to 10 crossings, and certain knots with 11 crossings, are due to work of Tait, Little and Kirkman in the nineteenth century. Their work was motivated by Kelvin’s vortex theory of the atom. The tables include just prime knots, that is, knots that aren’t expressible as a sum of two knots, each with positive crossing number, where sum refers to the knot addition operation illustrated in Figure 1.46. In terms of arc presentations the addition of two knots κ and κ  can be defined as the knot κ + κ  obtained by removing the bottom line segment from κ, removing the top line segment from κ  and then joining the loose ends. It can be proved that this addition induces a well-defined commutative addition on ambient isotopy classes of tame knots once knot orientation is taken into account. More precisely, let us endow the circle S1 , as a subset of the x-y-plane, with the anticlockwise orientation. This induces a direction of travel along the image of any knot κ : S1 → R3 . An arc presentation thus represents two knots with opposite directions of travel; in general these two knots are not ambient isotopic. In our description of the addition κ + κ  of arc presented knots we need to assume that the bottom line segment of κ has direction of travel from left to right while the top line segment of κ  has direction of travel from right to left. With this convention it is possible to establish that the addition of knots is well-defined. Another method to generate new knots from existing knots is to reflect in a plane. For example, the right-hand summand in Figure 1.46 is the mirror image of the lefthand summand. The sum of knots in Figure 1.46 was produced using the following GAP session.

76 | Path Components and the Fundamental Group

GAP session 1.6 gap> K:=PureCubicalKnot(3,1); prime knot 1 with 3 crossings gap> L:=KnotReflection(K); Reflected( prime knot 1 with 3 crossings ) gap> S:=KnotSum(K,L); prime knot 1 with 3 crossings + Reflected( prime knot 1 with 3 crossings ) gap> DisplayArcPresentation(S);

The online Knot Atlas [181] contains tables of knots. From these tables we have extracted an arc presentation of each prime knot on up to 12 crossings and stored it in GAP. Knots are stored only up to mirror-image, and orientation is not recorded. The number Nc of prime knots with crossing number c ≤ 16, up to mirror image and ignoring orientation, is given in the following table. c Nc

1 2 3 4 5 6 7 8 9 10 11 12 0 0 1 1 2 3 7 21 49 165 552 2176 13 14 15 16 9988 46972 253293 1388705

As already noted, any knot κ : S1 → R3 is endowed with an orientation arising from the anticlockwise orientation on S1 . In contrast, the image κ(S1 ) is just a subspace of R3 and possesses no orientation. We define the image of κ to be an unoriented knot. We say that two knots κ, κ  are equivalent if there exists a homeomorphism h : R3 → R3 that sends the subspace κ(S1 ) to the subspace κ  (S1 ). Example 1.8.7 considers non-equivalent knots κ, κ  whose complements have isomorphic fundamental groups π1 (R3 \ κ) ∼ = π1 (R3 \ κ  ). One method of distinguishing between such knots involves functorial properties of the fundamental group regarded as a functor



pointed regular CW-spaces groups and −→ π1 : . and strictly cellular maps homomorphisms The function w(i) returned by Algorithm 1.6.1 contains precisely the information required to specify the homomorphism π1 (f ) : π1 (X) → π1 (Y) induced by a strictly cellular map f : X → Y between regular CW-spaces. The method also involves the following definition which is implemented in HAP. Definition 1.6.2. The boundary of an n-dimensional pure and regular CW-space Y is the

minimal CW-subspace ∂Y ⊂ Y containing every (n − 1)-dimensional cell of Y that

The Fundamental Group | 77

lies in the boundary of precisely one n-cell of Y. (Here “minimal” is with respect to CW-inclusion.) Given a tame knot κ → R3 we can tessellate R3 with permutahedra and form a finite pure permutahedral subspace K ⊂ R3 containing the image of κ as a deformation retract. The closure Cκ = R3 \ K of the complement of K can be viewed as a regular CW-space whose boundary ∂Cκ (in the sense of Definition 1.6.2) is homeomorphic to a torus. The inclusion ι : ∂Cκ → Cκ induces a homomorphism π1 (ι) : π1 (∂Cκ ) → π1 (Cκ ). A result of Waldhausen [286] implies that two such 3-manifolds Cκ , Cκ  are homeomorphic if and only if there exist isomorphisms φ : π1 (Cκ ) → π1 (Cκ  ) and ψ : π1 (∂Cκ ) → π1 ∂(Cκ  ) such that φ ◦ π1 (ι) = π1 (ι ) ◦ ψ. It is known by a result of Gordon and Luecke [134] that two knots are equivalent if and only if their complements are homeomorphic. The homomorphism π1 (ι) thus determines the knot in the following sense. Theorem 1.6.5 ([134, 286]). Two knots κ, κ  are equivalent if and only if there exist

isomorphisms φ : π1 (Cκ ) → π1 (Cκ  ) and ψ : π1 (∂(Cκ )) → π1 (∂(Cκ  )) such that φ ◦ π1 (ι) = π1 (ι ) ◦ ψ.

We shall not provide details of the proof of Theorem 1.6.5, but the next example does show how the complete knot invariant π1 (ι) can be computed as a homomorphism between finitely presented groups. An advantage to working with pure permutahedral spaces C is that they are topological manifolds and so any zig-zag retract of C also has boundary homeomorphic to the torus. Example 1.6.4. The following GAP session computes the homomorphism π1 (ι) π1 (∂C) ∼ = a, b|aba−1 b−1  −→ π1 (C) ∼ = x, y|xyx = yxy a  → x−2 yx2 y b → x

for C = R3 \ K with K the pure permutahedral space shown in Figure 1.39 (right) and constructed from the file [data1V2X.pdb]. (Since the complement C = R3 \ K is a permutahedral space involving infinitely many 3-dimensional permutahedra, the session has to compute with a subspace C = I ∩ C where I ⊂ R3 is a bounded contractible region containing K in its interior. The boundary ∂C thus has two path components, one homeomorphic to a torus and the other homeomorphic to a 2-sphere. The session takes care to choose a 0-cell in the torus component as the base-point of C.) GAP session 1.6.4 gap> K:=ReadPDBfileAsPurePermutahedralComplex("data1V2X.pdb"); Pure permutahedral complex of dimension 3. gap> C:=PureComplexComplement(K); Pure permutahedral complex of dimension 3.

78 | Path Components and the Fundamental Group gap> D:=ZigZagContractedComplex(C); Pure permutahedral complex of dimension 3. gap> Y:=RegularCWComplex(D);; Regular CW-complex of dimension 3 gap> i:=BoundaryMap(Y); Map of regular CW-complexes gap> CriticalCells(Source(i)); [ [ 2, 1 ], [ 2, 1331 ], [ 1, 9951 ], [ 1, 31415 ], [ 0, 22495 ], [ 0, 25646 ] ] gap> phi:=FundamentalGroup(i,22495); [ f1, f2 ] -> [ f1ˆ-3*f2*f1ˆ2*f2*f1, f1 ]

 Example 1.6.5. The representation of knot complements as lattice spaces can give rise to extremely large lattice spaces. Consider, for example, the embedding κ : S1 → R3 pictured in Figure 1.47. This embedding is constructed from a sequence of 163 Euclidean points, the distance between non-consecutive points ranging from 29 units to 3206 units. The data are available as [data164.csv]. The points are highly non-planar and an approximation of the image of κ as a 3-dimensional pure cubical or permutahederal complex K requires a significant number of 3-cells if K is to be a topological manifold containing the image of κ as a deformation retract. The complement of K will involve vastly more 3-cells. The knot of Figure 1.47 has the useful property that it is clearly a sum of two knots. Cuts can be made at its two grey vertices and the loose ends can be joined to form two summand knots. So an analysis of the knot can be carried out as independent analyses of the two summands. And each summand can be further decomposed into a knot sum if necessary. In general, however, it is not so easy to decompose knots into a sum of smaller knots. But it is practical to decompose knot complements into smaller spaces and analyse these smaller spaces independently. This approach, which can be applied to more general spaces, requires a theorem of Seifert and van Kampen which is recalled below (Theorem 1.6.6). A toy illustration of this computational approach is given in Example 1.6.7 below. For the special case of spaces X = R3 \ K arising as knot complements, a theoretical application of the Seifert–van Kampen theorem leads to an efficient presentation of π1 X  known as the Wirtinger presentation; details are given in Section 1.6.2. Example 1.6.6. For any positive integer n and probability p we denote   by G(n,p) the Erdõs–Rényi random graph. This has n vertices with each of the 2n potential edges included independently with probability p. The estimated number of edges in G(n, p)

The Fundamental Group | 79

Figure 1.47 A knot constructed from a sequence of 163 points.

 is thus p 2n . An example of the graph for n = 1000 vertices and probability p = 1/750 is illustrated in Figure 1.48. Properties of this random graph were studied by Erdõs and Rényi [115]. In particular, they showed that as n tends to infinity G(n, p) is almost surely connected if p > (1 + ) loge (n)/n for some  > 0, and that G(n, p) almost surely has more than one path component if p < (1 − ) loge (n)/n. This phenomenon is illustrated for n = 5000 in Figure 1.49 (left). The figure shows a plot of β0 (G(n, p)) = |π0 (G(n, p))| against 1/40 000 ≤ p ≤ 80/40 000 and was produced using the following GAP session. Note that loge (n)/n is approximately 68/40 000 for n = 5000. GAP session 1.6.5 gap> n:=5000;; Bettis:=[];; gap> for p in [1..80]*(1/40000) do > K:=RandomSimplicialGraph(n,p);; > B:=BettiNumber(K,0);; > Add(Bettis,[p,B]); > od; gap> ScatterPlot(Bettis);

A 2-dimensional analogue of the Erdõs–Rényi graph was introduced by Linial and Meshulam [193]. For a positive integer n and probability p they consider the random

80 | Path Components and the Fundamental Group

Figure 1.48 An example of the Erdõs–Rényi graph G(1000, 1/750).

1650

4689

1 1/40000

1/500

0 1/500

4/25

Figure 1.49 Plot of β0 (G(5000, p)) versus p (left). Plot of d(π1 Y (60, p)) versus p (right) in which light grey points indicate an upper bound and black points indicate an accurate value.

simplicial 2-complex Y(n, p) whose 1-skeleton is the complete graph on n vertices and  whose 2-skeleton includes each of the 3n possible 2-simplices independently with probability p. We refer to Y(n, p) as the Linial–Meshulam 2-complex. For any finitely generated group G we let d(G) denote the minimum number of generators needed to generate G. Figure 1.49 (right) attempts to show a plot of the minimum number of generators d(π1 Y(n, p)) against p for the Linial–Meshulam 2-complex with n = 60. For many values

The Fundamental Group | 81

of p we can compute a presentation for π1 Y(n, p) involving no relations; the fundamental group is free in these cases and d(π1 (n, p)) is just the number of generators in the presentation. In the remaining cases the presentation yields only an upper bound for d(π1 Y(n, p)). Figure 1.49 (right) plots precise values for d(G) in black and upper bounds for d(G) in light grey. The group π1 Y(n, p) is free in all cases except possibly those five cases corresponding to grey plots. The plot was obtained from the following GAP session. GAP session 1.6.6 gap> D:=[];; n:=60;; gap> for p in [1..80]*(1/500) do > Y:=RandomSimplicialTwoComplex(n,p);; > G:=FundamentalGroup(Y); > Add(D,[p,G]); > od; gap> P:=[]; gap> for i in [1..Length(D)] do > if Length(RelatorsOfFpGroup(D[i][2]))=0 then > Add(P,[D[i][1],Length(GeneratorsOfGroup(D[i][2]))]); > else > Add(P,[D[i][1],Length(GeneratorsOfGroup(D[i][2])), "red"]); > fi; od; gap> ScatterPlot(P);



As mentioned in Example 1.6.5, a classical result of Seifert and van Kampen can help with machine computations of fundamental groups. For its statement we recall the following definition. Definition 1.6.3. Let φ : K → G and ψ : K → H be group homomorphisms. Suppose

that we have free presentations G ∼ = y : s and a set w ⊂ K that = x : r and H ∼ generates K. For each w ∈ w let the image φ(w) be represented by some word wφ in the free group on x, and let the image ψ(w) be represented by some word wψ in the free group on y. Then the amalgamated free product G ∗K H is a group defined up to isomorphism by the presentation G ∗K H ∼ = x ∪ y : r ∪ s ∪ {wφ w−1 ψ : w ∈ w} .

(1.14)

The group G ∗K H is also referred to as the pushout of the homomorphisms φ and ψ. It is called the free product of G and H in the case when K is trivial.

82 | Path Components and the Fundamental Group

A'

B' x0

Figure 1.50 Sketch proof of Seifert and van Kampen’s theorem.

Theorem 1.6.6 (Seifert and van Kampen). Let X be a path-connected topological space

with base-point x0 ∈ X. Let A, B ⊂ X be open and path-connected subsets such that: (i) X = A ∪ B and (ii) the intersection A ∩ B is path-connected and contains x0 . Then there is an isomorphism (1.15) π1 (X) ∼ = π1 (A) ∗π1 (A∩B) π1 (B)

where the homomorphisms π1 (A ∩ B) → π1 (A) and π1 (A ∩ B) → π1 (B) are induced by the inclusions A ∩ B → A and A ∩ B → B. Remarks on a proof. A proof of this result can be found in standard texts on algebraic topology such as [41, 42, 150, 203, 273] . For the special case of particular interest to us, namely when X is a regular CW-space and the open sets A, B contain regular CWsubspaces A , B as deformation retracts, it is not difficult to give a direct combinatorial proof in terms of the edge-path group ω(X) ∼ = π1 (X) of Definition 1.6.1. One first has to verify that any loop in X is equivalent, in ω(X), to the concatenation of a sequence of loops each of which is either a loop in A or a loop in B . Figure 1.50 illustrates how a particular loop in X (shown solid grey) is equivalent to a concatenation of a single loop in A (shown dotted grey) and a single loop in B (shown dotted grey). From this it follows that ω(X) is generated by the images of generators for ω(A ) and ω(B ) under the homomorphisms ω(A ) → ω(X) and ω(B ) → ω(X). One then has to verify that each of the relators given by Lemma 1.6.3 can be expressed in terms of the relators in 1.14. It is worth emphasizing that our statement of the theorem is not valid if the assumption on the path-connectedness of A ∩ B is dropped. The easiest counter example is the circle X = S1 which can be covered by two open contractible path-connected sets A, B ⊂ S1 ; we have π1 (A) ∗π1 (A∩B) π1 (B) = 1 whereas π1 (S1 ) is the infinite cyclic group. A more general result covering the case of non-connected A ∩ B is provided in Theorem 1.6.7 below.  Suppose that we wish to compute the fundamental group of a path-connected lattice space X in which we have identified some lattice subspace A ⊂ X. Let X \L A denote the lattice space complement as defined in Definition 1.2.9 and let B ⊂ X denote any lattice subspace containing X \L A. (For example, we could take B = X \L A.) Let A ∩ B denote the set-theoretic intersection of A and B. Then A ∩ B is a CW-subspace but not

The Fundamental Group | 83

Figure 1.51 Contractible pure cubical space whose topological boundary has non-trivial fundamental group.

in general a lattice space. In order to apply Theorem 1.6.6 we note that A and B are deformation retracts of open neighbourhoods for which A ∩ B is a deformation retract of the intersection of the two open neighbourhoods. If the space A has been constructed in a way that ensures that A ∩ B is path-connected then we have π1 (X) ∼ = π1 (A) ∗π1 (A∩B) π1 (B).

(1.16)

The difference between 1.15 and 1.16 is that A and B are open in the former and are lattice spaces in the latter. Care should be taken when making assumptions about π1 (A ∩ B). For example, Figure 1.51 shows a contractible 3-dimensional pure cubical space A taken from the interior of some contractible lattice space X. The intersection (X \L A) ∩ A is just the topological boundary of the contractible region A and yet has infinite cyclic fundamental group. If the intersection A ∩ B has trivial  fundamental group (for instance, if it is contractible or homotopic to a wedge of spheres Sd with d ≥ 2) then isomorphism 1.16 takes on a particularly easy form and we can compute π1 (X) = x ∪ y : r ∪ s by independently computing presentations π1 (A) = x : r and π1 (B) = y : s. Example 1.6.7. As a toy illustration of how the Seifert–van Kampen theorem can be used in computations we apply it to a lattice space arising from the complement of the knot K of Figure 1.39. The following GAP session uses isomorphism 1.16 to re-compute the presentation ∼ y, z | yzy = zyz π1 (R3 \ K) =

for the knot K. The complement C of the knot is represented as a pure cubical complex contained in a [1, 76] × [1, 77] × [1, 121] region. The Seifert–van Kampen Theorem is applied to the union of the subcomplexes A = C ∩ ([1, 76] × [1, 77] × [1, 70]), B = C ∩ ([1, 76] × [1, 77] × [70, 121]).

84 | Path Components and the Fundamental Group

GAP session 1.6.7 gap> K:=ReadPDBfileAsPureCubicalComplex("1V2X.pdb");; gap> C:=PureComplexComplement(K);; gap> Dimensions(C); [ 76, 77, 121 ] gap> A:=PureComplexSubcomplex(C,[[1..76],[1..77],[1..70]]);; gap> B:=PureComplexSubcomplex(C,[[1..76],[1..77],[70..121]]);; gap> AB:=PureComplexIntersection(A,B);; gap> BettiNumber(AB,0); 1 gap> AB:=ContractedComplex(AB);; gap> A:=ContractedComplex(A,AB);; gap> B:=ContractedComplex(B,AB);; gap> f:=FundamentalGroup(RegularCWMap(A,AB)); [ f1, f2, f3, f4 ] -> [ f3*f2ˆ-1*f3ˆ-1*f2ˆ-1*f3*f2*f3ˆ-1, f1, f3*f1ˆ-1, ] gap> g:=FundamentalGroup(RegularCWMap(B,AB)); [ f1, f2, f3, f4 ] -> [ f1, , f1ˆ-1, f1ˆ-1*f2ˆ-1 ] gap> F:=Pushout(f,g);; gap> F:=SimplifiedFpGroup(F);

gap> RelatorsOfFpGroup(F); [ f2ˆ-1*f3ˆ-1*f2*f3*f2*f3ˆ-1 ]



Isomorphism 1.16 can be useful in the special case when the lattice subcomplex A is contractible and B is any lattice subcomplex for which A ∩ B is path-connected and X = A ∪ B. In this case π1 (A) = 1 and 1.16 states that π1 (X) is isomorphic to the quotient of π1 (B) by its smallest normal subgroup containing the image of the homomorphism π1 (A ∩ B) → π1 (B).

(1.17)

A large contractible subcomplex A can often be computed using a variant of Algorithm 1.4.3. In such cases it may be possible to find a reasonably small subcomplex B for which

The Fundamental Group | 85

A ∩ B is path-connected, X = A ∪ B and for which the computation of 1.17 is easier than the direct computation of π1 (X).

1.6.1 Seifert–van Kampen Theorem for Groupoids The elements of any discrete group can be viewed as being arrows in a category with just a single object. This viewpoint leads to a generalization: a groupoid G is a category in which all arrows are invertible. The generalization was mentioned above in relation to the proof of Theorem 1.6.2 and basic algebraic details on it are provided in Appendix A.3. Let X be a space with subset X0 ⊂ X of base-points. The fundamental groupoid π1 (X, X0 ) consists of homotopy classes rel X0 of maps p : [0, 1] → X with p(0), p(1) ∈ X0 . We write [p] for the homotopy class rel X0 of a map p. The composite p ∗ q of two such paths p, q : [0, 1] → X is defined if p(0) = q(1), and the composite is given by p ∗ q(t) = q(2t) for t ∈ [0, 1/2] and p ∗ q(t) = p(2t − 1) for t ∈ [1/2, 1]. Groupoid composition is given by [p] ∗ [q] = [p ∗ q]. Given spaces X, Y with base-point sets X0 , Y0 respectively, and given a map f : X → Y that sends X0 into Y0 , there is an induced morphism of groupoids, i.e. a functor, π1 f : π1 (X, X0 ) → π1 (Y, Y0 ), [p]  → [fp]. The combinatorial description in Theorem 1.6.2 of the fundamental group of a regular CW-space X with base-point x0 ∈ X 0 in terms of equivalence classes of combinatorial loops extends to a description of the fundamental groupoid π1 (X, X0 ) with base-point set X0 ⊂ X 0 as equivalence classes of combinatorial paths with initial and final vertices in X0 . The equivalence relation on paths is generated by the two relations 1 and 2 of Figure 1.43. The statement of the Seifert–van Kampen theorem in 1.6.6 is a special case of a more general result, due to Ronnie Brown [41, 42], in which the fundamental group π1 (X, x0 ) is replaced by the fundamental groupoid π1 (X, X0 ). This more general version covers the case of non- path-connected intersections A ∩ B, and for that reason should be easier to apply in many practical situations. Consider for instance the decomposition of the torus X = S1 × S1 as a union X = A ∪ B of the two overlapping cylinders shown in Figure 1.52. The intersection A ∩ B has two path components, each homotopy equivalent to S1 , and so Theorem 1.6.6 can not be applied to compute π1 (A ∪ B). However, by choosing a point x0 in one connected component of A ∩ B and a point x1 in the other connected component of A ∩ B, we could compute the groupoid π1 (X, {x0 , x1 })) using the following version of the Seifert–van Kampen theorem. ˚ B˚ denote Theorem 1.6.7. [41, 42] Let X be a topological space with subspaces A, B. Let A, the interiors of A, B. Let X0 be a set of points in X that has non-empty intersection with each connected component of A ∩ B, each connected component of A and each connected component of B. Then the induced square of fundamental groupoids

86 | Path Components and the Fundamental Group

B A

Figure 1.52 A torus as the union of two overlapping cylinders.

π1 (A ∩ B, A ∩ B ∩ X0 )

/ π1 (B, B ∩ X0 )

 π1 (A, A ∩ X0 )

 / π1 (X, X0 )

is a pushout in the category of groupoids. Details on pushouts and presentations of groupoids are given in Appendix A.3. For an arbitrary groupoid G with object set Ob(G ), and for any v ∈ Ob(G ), we let G (v, v) denote the group consisting of those groupoid arrows with source and target equal to v. We refer to G (v, v) as the vertex group at v. If G is connected (i.e. if for any v, w ∈ Ob(G) there is an arrow with source v and target w) then any two vertex groups G (v, v) and G (w, w) are isomorphic. This is because we can choose an element g with source v and target w, and construct the isomorphism G (v, v) → G (w, w), x  → gxg −1 .

In the case of the fundamental groupoid G = π1 (X, X0 ) the vertex group G (v, v) = π1 (X, v) is the fundamental group of the space X. In Appendix A.3 it is explained how a finite presentation for the group G (v, v) can be read off from a finite presentation for the groupoid G . Thus parallel computations of fundamental groups π1 (X, x0 ) can be obtained using Theorem 1.6.7. Further details can be found in [5].

1.6.2 The Wirtinger Presentation We have seen how a presentation for the fundamental group π1 (R3 \ κ) of the complement of a knot κ : S1 → R3 can be computed using Algorithm 1.6.1. This is a general algorithm that applies to any regular CW-space. There are other methods for computing the fundamental group of a knot complement that take advantage of properties particular to the space X = R3 \ κ. One such method was described by Wirtinger around 1904 and later publicized by Tietze. Wirtinger’s method derives a presentation for the group

The Fundamental Group | 87

x1

x2

x3

Figure 1.53 The trefoil knot κ and generating loops for π1 (R3 \ κ).

π1 (R3 \ κ) directly from a planar diagram of the knot κ. If the planar diagram involves n crossings then the presentation involves n generators and n relators. To understand Wirtinger’s method suppose that the knot κ has been ambient isotopied so as to lie in the plane z = 1 except for n short sections of the knot that allow for the n crossings. In these short sections the knot descends in a vertical line to the plane z = 0, travels a horizontal line in this plane and then returns along a vertical line to the plane z = 1. Now choose a small  > 0 and let K ⊂ R3 consist of all points in R3 that are a distance ≤  from some point in κ. By taking  sufficiently small we can ensure that κ is a deformation retract of K. Such a space K representing the trefoil knot is shown in Figure 1.53. Set A := {(x, y, z) ∈ R3 : z > /4} and B := {(x, y, z) ∈ R3 : z < 3/4}. Then the space X = R3 \ K is a union of the open sets XA = X ∩ A and XB = X ∩ B. The intersection XA ∩ XB is the region bounded above and below by the planes z = 3/4 and z = /4 with n cylindrical holes cut through it. Thus π1 (XA ∩ XB ) is the free group on n generators. The space XB is homotopy equivalent to the space B and is thus contractible. So π1 (XB ) = 1. The space XA is homotopy equivalent to a wedge of n circles and thus π1 (XA ) is the free group on n generators x1 , . . . , xn . The Seifert–van Kampen theorem 1.6.6 yields the presentation π1 (R3 \ κ) ∼ = π1 (XA ) ∗π1 (XA ∩XB ) π1 (XB ) = x1 , . . . , xn | r1 , . . . , rn  . This is Wirtinger’s presentation for the knot group.

(1.18)

88 | Path Components and the Fundamental Group

xk

xk

xi

xi

xj

xj

Type I

Type II

Figure 1.54 The two types of knot crossing.

x2

x3

x1

Figure 1.55 Planar knot diagram for the trefoil of Figure 1.53.

To specify the relations we choose one of the two possible directions of travelling around the knot and choose the generators for π1 (R3 \ K) to be represented by loops that curve around the knot in a clockwise direction when seen from the knot on the approach to the loop. (This choice of generators is indicated by arrow heads in Figure 1.53.) With this choice of generators and orientation there are two types of crossing to consider, both illustrated in Figure 1.54. One can check that each crossing of type I contributes a relator of the form −1 x−1 i xk xi xj

(Type I)

to the presentation 1.18 and each relator of type II contributes a relator of the form −1 xi x−1 k xi xj .

(Type II)

In summary, Wirtinger’s method can be applied directly to the oriented knot diagram for the trefoil knot κ shown in Figure 1.55 and yields the group presentation for π1 (R3 \ κ) given in 1.19.

The Fundamental Group | 89 1

2

3

4

Figure 1.56 A 4-crossing knot diagram. −1 −1 −1 −1 −1 π1 (R3 \ κ) ∼ = x1 , x2 , x3 |x−1 2 x3 x1 x3 = 1, x1 x2 x3 x2 = 1, x3 x1 x2 x1 = 1 

(1.19)

One consequence of the Wirtinger presentation 1.18 is that the abelianized group π1 (R3 \ κ)ab is infinite cyclic for any knot κ. Example 1.6.8. The following GAP session constructs the Wirtinger presentation from

a 3-crossing knot diagram for the trefoil knot and returns it as a finitely presented group G. The session then uses GAP ’s Tietze transformation procedure to simplify the Wirtinger presentation to obtain the well-known one-relator presentation G∼ = x, y | yxy = xyx for the trefoil knot group. GAP session 1.6.9 gap> K:=PureCubicalKnot(3,1); prime knot 1 with 3 crossings gap> G:=WirtingerGroup(K);

gap> S:=SimplifiedFpGroup(G);

gap> RelatorsOfFpGroup(S); [ f2*f3*f2ˆ-1*f3ˆ-1*f2ˆ-1*f3 ]



The Wirtinger presentation can be calculated directly from any knot diagram, such as that in Figure 1.56. To perform the calculation on a computer we represent the diagram

90 | Path Components and the Fundamental Group

by a sequence of integers, known as a Gauss code, which is constructed as follows. The crossings in the knot diagram are first numbered in any fashion and the knot is oriented by assigning a direction to it. Then, starting at any point on the knot, we travel once around the knot listing the crossings that are met in the order that they are met. The integers in the list are given signs: a sign of +1 is used when a crossing is met as an over-crossing; a sign of −1 is used when a crossing is met as an under-crossing. A Gauss code for the knot diagram of Figure 1.56 is 1, −2, 3, −4, 2, −1, 4, −3. Gauss codes can be constructed for link diagrams: the code contains one sequence of integers for each path component in the link. From a Gauss code one can almost construct the Wirtinger presentation. However, the code does not contain enough information to decide if a relation is of Type I or Type II. To overcome this difficulty we supplement the Gauss code with a list of signs, one for each crossing. A +1 is used to record a crossing of Type I and a −1 is used for a crossing of Type II. The list of signs for the knot of Figure 1.56 is 1, 1, −1, −1. Example 1.6.9. The following GAP session first constructs a supplemented Gauss code for the first prime knot on 11 crossings. It then uses only this Gauss code to construct a Wirtinger presentation for the knot group, from which the Alexander polynomial of the knot is computed. Details on this polynomial are given in Section 2.6 of the next chapter.

GAP session 1.6.10 gap> K:=PureCubicalKnot(11,1);; gap> gc:=GaussCodeOfPureCubicalKnot(K); [ [ [ -4, 9, -7, -5, 3, -6, 8, 7, -9, 11, -10, -8, 6, -2, 1, 10, -11, 4, 5, -3, 2, -1 ] ], [ -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1 ] ] gap> W:=WirtingerGroup(gc);; gap> AlexanderPolynomial(W); x_1ˆ6-7*x_1ˆ5+18*x_1ˆ4-25*x_1ˆ3+18*x_1ˆ2-7*x_1+1



1.7 Computing with fp Groups Novikov [222] and Boone [29] showed that there exists a finitely presented group G for which it is impossible to find an algorithm for deciding equality between group elements given as products of generators. The difficulty is in proving that apparently distinct elements really are distinct. A further result of Adyan and Rabin [4, 235] implies that,

Computing with fp Groups | 91

in general, it is not even possible to decide algorithmically whether a finitely presented group is trivial or not. Nevertheless, there are algorithms for determining some basic isomorphism invariants of arbitrary finitely presented groups, implementations of which can be quite practical for groups G involving just a few generators and short relators. In particular, a practical algorithm exists for deciding when two finitely presented groups have isomorphic abelianizations. The problem of listing finite presentations of all finite index subgroups K ≤ G, up to a given index, can also be solved algorithmically. We give brief details of these particular two algorithms in this section, and briefly mention a related algorithm for computing with finite presentations of nilpotent groups. Let us fix a set x = {x1 , . . . , xn } of free generators for a free group F = F(x). Let us fix a set r = {r1 , . . . , rm } of elements ri ∈ F. We let R denote the normal closure of r in F and set G = F/R. The abelianization Gab = G/[G, G] is a finitely generated abelian group. Let ν : F → Zn denote the unique group homomorphism from F to the free abelian group of rank n defined on generators by νxi = ei where ei = (0, . . . , 0, 1, 0, . . . , 0) is the ith standard basis vector of Zn . We express elements in F as products of free generators, and elements in Zn as sums of free abelian generators. Let L = L(νr) denote the subgroup of Zn generated by the set νr = {νri : r ∈ r}. Then Gab ∼ = Zn /L. In order to find nice generators for L we consider the m × n matrix A = A(νr) whose rows are the vectors νri for ri ∈ r. We define di (A) to be the greatest common divisor of all i × i minors of A for 1 ≤ i ≤ min(m, n), allowing the possibility di (A) = ∞ when all i × i minors are zero. We define d0 (A) = 1 and di (A) = ∞ for i ≥ 1 + min(m, n). We then define αi = di (A)/di−1 (A) for 1 ≤ i ≤ n, interpreting αi = 0 whenever di (A) = ∞. Those numbers αi = 1 are called the abelian invariants of G. The classical Smith Normal Form theorem for matrices, details of which are recalled in Theorem 2.6.1 of Chapter 2, immediately implies the following. Proposition 1.7.1. The subgroup L ⊆ Zn is generated by the vectors αi ei for 1 ≤ i ≤ n.

Consequently

Gab ∼ = Z/α1 Z ⊕ Z/α2 Z ⊕ · · · ⊕ Z/αn Z.

Example 1.7.1. Consider the group G defined by the presentation

w, x, y, z | w8 = 1, wxw = xwx, y2 = 1, zx = xz, z−1 yzy = 1, (xyx)2 = 1. Then Gab ∼ = Z4 /L where L is generated by the rows of the following matrix ⎛ ⎞ 8 0 0 0 ⎜ 1 −1 0 0 ⎟ ⎜ ⎟ ⎜ 0 0 2 0 ⎟ ⎜ ⎟. A=⎜ 0 0 0 ⎟ ⎜ 0 ⎟ ⎝ 0 0 2 0 ⎠ 0 4 2 0 In this case we have d0 (A) = 1, d1 (A) = 1, d2 (A) = 2, d3 = 8, d4 = ∞ and α1 = 1, α2 = 2, α3 = 4, α4 = 0. Hence Gab ∼ = Z/2Z ⊕ Z/4Z ⊕ Z. In larger examples the inte-

92 | Path Components and the Fundamental Group

gers αi would be computed using row operations, as explained in Theorem 2.6.1, rather  than from a direct application of their definition. To compute a presentation for a finite index subgroup H of the finitely presented group G = F/R we recall some standard terminology. Let S ≤ F be the pre-image in F of the subgroup H under the quotient homomorphism F G. A (right) transversal of S in F is a set T ⊂ F such that each element w ∈ F can be uniquely expressed as a product w = st with s ∈ S and t ∈ T. We denote by w the unique element in the transversal T such that w = sw for some s ∈ S. The length  = (w) of an element w ∈ F = F(x) is the smallest integer  ≥ 0 such that w = xi11 xi22 ...xi with i = ±1, xij ∈ x. A transversal T is said to be a Schreier transversal if T contains the element −1 t  = xi11 xi22 ...xi−1 of length  − 1 whenever T contains an element t = xi11 xi22 ...xi of length (t) = . In particular, T contains the identity element of F. For t ∈ T and x ∈ x define γ (t, x) = tx(tx)−1 , γ (t, x−1 ) = tx−1 (tx−1 )−1 = γ (tx−1 , x)−1 . The following statement of a result of Reidemeister and Schreier is taken from [199]. A detailed algebraic proof is given in [199] and an outline of the standard geometric proof is recalled in Section 1.10 below. Proposition 1.7.2. Let T be a Schreier transversal for a subgroup H of finite index in the

finitely presented group G ∼ = x | r  where = x | r. The subgroup H has a presentation H ∼  x contains one generator (t, x) for each t ∈ T, x ∈ x satisfying γ (t, x) = 1. Let F  be the free group on x . Let τ : F → F  be the function that sends an element w = y1 · · · y , where yi ∈ x or y−1 i ∈ x, to the element τ (w) = (1, y1 ) · · · (y1 · · · yi−1 , yi ) · · · (y1 · · · y−1 , y ). Then r consists of all τ (trt −1 ) for t ∈ T and r ∈ r.

Recall that a subgroup N ≤ G is said to be characteristic if it is invariant under every automorphism of G. In other words, φ(g) ∈ N for every g ∈ N and any automorphism ∼ =

φ : G → G. Note that such a subgroup is normal in G. One simple strategy for computing isomorphism invariants of a finitely presented group G is to choose a finite index characteristic subgroup N ≤ G for which we can compute a Schreier transversal, and then to compute Nab using Propositions 1.7.1 and 1.7.2. If G/N is abelian then Proposition 1.7.1 could be used to compute a transversal T from the bijection T ∼ = G/N. A convenient choice is the subgroup N = [G, G]Gq generated by commutators [g, h] = ghg −1 h−1 and qth powers g q for g, h ∈ G. Example 1.7.2. The following GAP session computes

([G, G]G2 )ab ∼ = Z/3Z ⊕ Z/3Z ⊕ Z/3Z ⊕ Z/12Z ⊕ Z ⊕ Z ([G, G]G3 )ab ∼ = Z/2Z ⊕ Z/4Z ⊕ Z

Computing with fp Groups | 93

for G the group of Example 1.7.1. The GAP command AbelianInvariants(H) uses Propositions 1.7.1 and 1.7.2 to determine the abelian invariants of a finite index subgroup H of a finitely presented group G. GAP session 1.7.2 gap> F:=FreeGroup(4);;w:=F.1;;x:=F.2;;y:=F.3;;z:=F.4;; gap> rels:=[wˆ8, w*x*w*(x*w*x)ˆ-1, yˆ2, z*x*(x*z)ˆ-1, zˆ-1*y*z*y, (x*y*x)ˆ2];; gap> G:=F/rels;; gap> N2:=[];;N3:=[];; gap> for u in GeneratorsOfGroup(G) do > Add(N2,uˆ2); > Add(N3,uˆ3); > for v in GeneratorsOfGroup(G) do > Add(N2,Comm(u,v)); > Add(N3,Comm(u,v)); > od;;od;; gap> N2:=NormalClosure(G,Group(N2));; gap> N3:=NormalClosure(G,Group(N3));; gap> AbelianInvariants(N2); [ 0, 0, 3, 3, 3, 3, 4 ] gap> AbelianInvariants(N3); [ 0, 2, 4 ]



Instead of computing the abelianization of particular characteristic subgroups of G we could compute the abelianizations Hab of all finite index subgroups H ≤ G up to some given index. In principle, it is possible to algorithmically determine presentations for all subgroups H of given index because of the following. The action of G on the (right) cosets of H gives rise to a homomorphism φH : G → Sm into the symmetric group of degree m = |G : H| equal to the index of H in G. Conversely, from the homomorphism φH we can compute a transversal T for the subgroup H ≤ G that stabilizes 1, and then determine generators for H as in Proposition 1.7.2. So subgroups of index m are determined by the finitely many homomorphisms from G to Sm . A presentation for H can be obtained from Proposition 1.7.2. It is possible to refine these comments into a practical algorithm for listing small index subgroups of G. Such an algorithm, due to Charles Sims [264], is implemented in GAP and used in the next example. Example 1.7.3. The following GAP session shows that the group G = π1 (R3 \ κ) for

the 9-crossing prime knot κ of Figure 1.57 has 17 subgroups H of index at most 6, and lists the abelian invariants of H in each case.

94 | Path Components and the Fundamental Group

Figure 1.57 Knot number 1 on 9 crossings.

GAP session 1.7.3 gap> K:=PureCubicalKnot(9,1); knot 1 with 9 crossings gap> G:=KnotGroup(K);; gap> L:=List(LowIndexSubgroupsFpGroup(G,6), AbelianInvariants);; gap> SortedList(L); [ [ 0 ], [ 0 ], [ 0, 0 ], [ 0, 0, 0, 3 ], [ 0, 0, 0, 3 ], [ 0, 0, 0, 3 ], [ 0, 0, 2, 3 ], [ 0, 0, 2, 3 ], [ 0, 0, 2, 3 ], [ 0, 0, 3 ], [ 0, 2, 2 ], [ 0, 2, 2, 2, 3 ], [ 0, 2, 3 ], [ 0, 3, 9 ], [ 0, 3, 9, 9 ], [ 0, 9 ], [ 0, 9 ] ]



Motivated by Example 1.7.3 we formally define the following isomorphism invariant of a group G and ambient isotopy invariant of a knot κ. In fact, it takes the same value on equivalent knots. Definition 1.7.1. For a finitely generated subgroup H ≤ G of finite index m = |G : H| we

denote by AbInv(G, H) the vector (d1 , . . . , dk , m) where the di are the abelian invariants H/[H, H] ∼ = Zd1 ⊕ · · · Zdk with di dividing di+1 and Zdi infinite cyclic when di = 0. For n ≥ 0 we let AbInv[n] (G) denote the unordered multiset of vectors AbInv[n] (G) = {AbInv(G, H) : H ≤ G, |G : H| ≤ n}.

Computing with fp Groups | 95 c

3

4

5

6

7

8

9

10

11

12

13

14

Min(c)

2

2

3

3

3

3

5

5

6

6

7

7

Figure 1.58 Classifying index Min(c) for prime knots with ≤ c crossings.

For a knot κ : S1 → R3 we define AbInv[n] (κ) = AbInv[n] (π1 (R3 \ κ)). By repeating Example 1.7.3 for each unoriented prime knot with eleven or fewer crossings (excluding mirror images) the reader can verify the following proposition. Proposition 1.7.3. The knot invariant AbInv[6] (κ) distinguishes between any two distinct

equivalence classes of prime knots κ, κ  with eleven or fewer crossings.

A similar but more substantial computation in [35] shows that the invariant AbInv[7] (κ) distinguishes between all equivalence classes of prime knots on ≤ 14 crossings. The table in Figure 1.58 lists the minimum value n = Min(c) for which AbInv[n] (κ) distinguishes between all prime knots on ≤ c crossings. Whitten [292] has shown that prime knots with isomorphic groups have homeomorphic complements. It follows from the above-mentioned theorem of Gordon and Luecke [134] that two prime knots κ, κ  are equivalent if and only if there is an isomorphism π1 (R3 \ κ) ∼ = π1 (R3 \ κ  ). It would be interesting to know if distinct equivalence classes of primes knots can always be distinguished by the invariant 1.7.1 for a suitably large value of n. We should remark that any algorithmic approach to distinguishing between finitely presented groups is bound to fail in certain cases. For instance, our approach can not distinguish between the trivial group and the Higman group a, b, c, d | a−1 ba = b2 , b−1 ab = c2 , c−1 dc = d2 , d−1 ad = a2  since neither of these groups has a proper subgroup of finite index. The above methods for finding presentations and abelian invariants of subgroups of finitely presented groups can, in principle, be combined into a recursive procedure for computing with finite presentations of finite nilpotent groups. The procedure is based on the lower central series of a group G which is defined by setting γ1 G = G and γi+1 G = [γi G, G] for i ≥ 1. Thus each γi G is normal in G, the quotient G/γ2 G is the abelianization of G, and G/γi+1 G is the largest quotient of G in which the image of γi G is central. If there is an integer c for which γc G = 1, γc+1 G = 1 then the group G is said to be nilpotent with nilpotency class c. For simplicity let us first consider the case of a presentation x | r of a group G which we know to be finite and nilpotent of class 2. Let ρ : G → G/γ2 G denote the quotient homomorphism. By computing the abelian invariants of G from its presentation we can determine a canonical form for ρ(u) for each word u in the generators of G. We can also construct a set-theoretic lifting σ : G/γ2 G → G such that ρσ is the identity. Each element g ∈ G can be expressed as the product g = bg ag with ag = σρ(g) and

96 | Path Components and the Fundamental Group

bg = ga−1 g ∈ γ2 G. Consider the set of commutators [x, y] where x, y range over the finite generating set for G . This finite set generates γ2 G because of the commutator identities [u, vv ] = [u, v][v, [u, v ]][u, v ] [uu , v] = [u, [u , v]][u , v][u, v] for u, u , v, v ∈ G and the fact that [v, [u, v ]] = 1 and [u, [u , v]] = 1. Using Proposition 1.7.2 we can compute a finite presentation for the abelian group γ2 G from which we can compute the abelian invariants of γ2 G. These abelian invariants can be used to determine a canonical form for words in the generators of γ2 G. The expression g = bg ag thus provides a canonical form for each word in the generators of G. This canonical form can be used to test equality of words in G, to enumerate the elements of G and to compute other group-theoretic properties of G. A canonical form for elements of a finite nilpotent group G of class c can be constructed recursively from a canonical form for the quotient G/γc G and a finite presentation for γc G. A good account of the details needed to convert the basic idea into efficient software for computing with finite presentations of nilpotent groups is given by W. Nickel in [220]. Our hypothesis that the group G be finite is not really needed and the algorithm can be implemented without it. The following example illustrates Nickel’s implementation of the nilpotent quotient procedure which is available as part of the GAP system. Example 1.7.4. The following GAP session constructs an admissible discrete vector

field on the Quillen complex K = A3 (S10 ) of the symmetric group of degree 10 for the prime p = 3 (see Definition 1.5.3). The complex K is a 2-dimensional simplicial complex involving 429220 simplices. The vector field produces one critical 0-cell, 25253 critical 1-cells and 872 critical 2-cells. The function CocriticalCellsOfRegularCWComplex(Y,3) is used to generate the vector field since it guarantees a single critical 0-cell when applied to a connected complex. GAP session 1.7.4 gap> K:=QuillenComplex(SymmetricGroup(10),3); Simplicial complex of dimension 2. gap> Size(K); 429220 gap> Y:=RegularCWComplex(K); Regular CW-complex of dimension 2 gap> C:=CocriticalCellsOfRegularCWComplex(Y,3);; gap> n:=0;;Length(Filtered(C,c->c[1]=n)); 1

Computing with fp Groups | 97 gap> n:=1;;Length(Filtered(C,c->c[1]=n)); 25253 gap> n:=2;;Length(Filtered(C,c->c[1]=n)); 872

In order to determine how the 872 2-cells are attached to the 1-skeleton K 1 we continue the GAP session and compute the fundamental group π1 K. The string “no Tietze simplification” is used to ensure that the presentation for π1 K involves one generator for each critical 1-cell of K and one relator for each critical 2-cell. GAP session 1.7.4 G:=FundamentalGroup(Y,"no Tietze simplification");

The following technical computation shows that only 53 of the generators of π1 K are involved in the relators of π1 K. Thus π1 K = F25200 ∗ Q is a free product of the free group on 25200 generators with a group Q defined by 53 generators and 872 relators. The computation constructs Q as a finitely presented group. GAP session 1.7.4 gap> relgens:=List(RelatorsOfFpGroup(G), LetterRepAssocWord);; gap> relgens:=Flat(relgens); gap> Apply(relgens,AbsInt); gap> relgens:=SSortedList(relgens);; gap> FF:=FreeGroup(Length(relgens)); gap> B:=[];;j:=0;; gap> for i in [1..25253] do > if i in L then > j:=j+1;; Add(B,GeneratorsOfGroup(FF)[j]); > else Add(B,One(FF)); fi; > od; gap> F:=FreeGroupOfFpGroup(G); gap> hom:=GroupHomomorphismByImages(F,FF, GeneratorsOfGroup(F),B);; gap> S:=List(RelatorsOfFpGroup(G),u->Image(hom,u));; gap> Q:=FF/S;

98 | Path Components and the Fundamental Group

This computation establishes a homotopy equivalence 25200   A3 (S10 )  S1 ∨ KQ

(1.20)

n=1

between the Quillen complex and a wedge of circles with a 2-dimensional CW-complex KQ involving 53 1-cells and 872 2-cells. This homotopy equivalence is consistent with the partial description of the homotopy type of A3 (S10 ) given by R. Ksontini [184]. Further information can be obtained about KQ . The following computations show that the abelianized group π1 (KQ )ab is free abelian of rank 42 and that Q is generated by 42 elements. Thus any CW-space with the homotopy type of KQ requires at least 42 1-cells, and this homotopy type can be represented by a CW-space with precisely 42 1-cells. GAP session 1.7.4 gap> AbelianInvariants(Q); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] gap> SimplifiedFpGroup(Q);

The following final computation establishes that Q = π1 KQ is a non-abelian group by using GAP’s nilpotent quotient algorithm to solve the word problem in the infinite finitely presented group Q /γ2 Q . GAP session 1.7.4 gap> NQ:=NilpotentQuotient(Q,2);; gap> IsAbelian(NQ); false



As an illustration of how one might compute with homomorpisms of finitely presented groups we consider the following measure of the ‘entanglement’ of two knots. Definition 1.7.2. Let κ : S1 → R3 , κ  : S1 → R3 be two knots whose images do not

intersect. Let κ, κ  also denote their images. The inclusion κ  → R3 \ κ induces a

Computing with fp Groups | 99

homomorphism of abelianized fundamental groups f : π1 (κ  )ab → π1 (R3 \ κ)ab . The unoriented linking number L(κ, κ  ) of the two knots can be defined as the index of the image of f in the abelian group π1 (R3 \ κ)ab when this index is finite, and defined to be 0 when the index is infinite. Since abelianized knot groups are infinite cycle, L(κ, κ  ) represents the image f (1) ∈ Z∼ = π1 (κ  ). We have L(κ, κ  ) = 0 whenever = π1 (R3 \ κ)ab of the generator 1 ∈ Z ∼  1 3 the map κ : S → R \ κ is homotopic to the trivial map. It can be shown that L(κ, κ  ) = L(κ  , κ) and that, for smooth knots, L(κ, κ  ) is the absolute value of Gauss’s integer linking number m=−

1 4π

  κ κ

r − r · dr × dr . |r − r |3

Example 1.7.5. The following GAP session computes the unoriented linking number Lk(κ, κ  ) = 6 of the two knots shown in Figure 1.59. Each of these knots is defined by a sequence of Euclidean points available as [data175_1.csv] and [data175_2.csv].

GAP session 1.7.5 gap> K:=ReadCSVfileAsPureCubicalKnot( ["data175_1.csv","data175_2.csv"]); gap> K:=ThickenedPureComplex(K); gap> K1:=PathComponent(K,1);;

Figure 1.59 Two trefoil knots.

100 | Path Components and the Fundamental Group

Figure 1.60 Borromean rings (left) and three unlinked trivial knots (right).

gap> K2:=PathComponent(K,2);; gap> K2:=ContractedComplex(K2);; gap> C:=PureComplexComplement(K1);; gap> C:=ContractedComplex(C,K2);; gap> F:=RegularCWMap(C,K2);; gap> f:=FundamentalGroup(F);; gap> ab:=NqEpimorphismNilpotentQuotient(Target(f),1);; gap> Size(Image(ab)/Image(ab,Image(f))); 6



A link is a collection L = {κ1 , . . . , κn } of one or more knots whose images do not intersect pairwise. That is, κi ∩ κj = ∅ for i = j. The knots ki are the components of the link L. The fundamental group of the complement R3 \ L is an invariant of the equivalence class of L and can be used to investigate entanglement of its components. As for knots, two links are equivalent if there is a homeomorphism of R3 sending one link to the other. Example 1.7.6. For example, abelian invariants of subgroups of π1 (R3 \ L) of index 2

are sufficient to establish that the Borromean link L of Figure 1.60 (left) is not equivalent to the link L of Figure 1.60 (right) consisting of three unlinked trivial knots. The  Borromean link has the property that no two of its components are interlinked. Example 1.7.7. The following GAP session builds a pure cubical complex model K for

the Homo sapiens 1xd3 protein described in the Protein Database file [data1xd3.pdb], and illustrated in Figure 1.61. The session then constructs thickenings τ K, τ 2 K, . . . , τ 5 K and for each thickening computes the critical cells of a discrete vector field. The computations suggest that K  τ K  S1 and τ 2 K  τ 5 K = S1 ∨ S1 . These homotopy equiva-

Computing with fp Groups | 101

Figure 1.61 Homo Sapiens 1xd3 protein backbone.

lences can be proved by computing the induced group homomorphisms π1 : π1 (τ s K) → π1 (τ t K) and observing that they are isomorphisms for (s, t) = (0, 1) and (s, t) = (2, 5). GAP session 1.7.7 gap> K:=ReadPDBfileAsPureCubicalComplex("data1XD3.pdb",5);; gap> K:=ContractedComplex(K);; gap> for i in [0..5] do > Y:=RegularCWComplex(ContractedComplex(K));; > Print(CriticalCells(Y),"\n"); > K:=PureComplexThickened(K);; > od; [ [ 1, 686 ], [ 0, 6540 ] ] [ [ 1, 674 ], [ 0, 6087 ] ] [ [ 1, 572 ], [ 1, 613 ], [ 0, 6780 ] ] [ [ 1, 613 ], [ 1, 741 ], [ 0, 15051 ] ] [ [ 1, 412 ], [ 1, 495 ], [ 0, 9633 ] ] [ [ 1, 375 ], [ 1, 462 ], [ 0, 9529 ] ]

There are thus two atoms at non-consecutive positions along the protein backbone which are very close to one another. Since coordinates of atoms have been determined experimentally, this suggests that we should allow for the possibility that some undercrossing in the protein knot is actually an over-crossing. We can compute π1 (R3 \ K) ∼ = x, y | y−1 x2 y−1 x−1 yxy−1 x−1 y−1 xyx−1 

(1.21)

102 | Path Components and the Fundamental Group

Figure 1.62 Left: Second prime knot on five crossings. Right: A graph obtained by letting an under-crossing of the knot touch the corresponding over-crossing.

and

π1 (R3 \ τ 2 K) ∼ = x, y | .

(1.22)

The computations are consistent with K being ambient isotopic to the knot κ shown in Figure 1.62 (left) and to τ 2 K being ambient isotopy to a knotted graph, such as that shown in Figure 1.62 (right), obtained from κ by letting any one of its under-crossings touch the corresponding over-crossing. Note that the knot κ can be transformed to either the trivial  knot or the trefoil knot by changing one of its under-crossings to an over-crossing.

1.8 Computing with fp Quandles The fundamental group of a knot complement is not a complete knot invariant: there exist inequivalent knots whose complements have isomorphic fundamental groups. In this section we consider an algebraic structure which, thanks to Theorem 1.6.5, serves as a complete invariant and we describe how one can compute with finite presentations for this structure. For elements x, y in a group one can define the two binary operations x ∗ y = y−1 xy and y ∗ x = yxy−1 which satisfy (Q1) x ∗ x = x, (Q2) (x ∗ y) ∗ y = x = (x ∗ y) ∗ y, (Q3) (x ∗ y) ∗ z = (x ∗ z) ∗ (y ∗ z). Definition 1.8.1. [172] A quandle is a set Q equipped with two binary operations ∗ and

∗ such that axioms Q1, Q2, Q3 hold for all x, y, z ∈ Q .

The quandle axioms imply that the right multiplication mapping Ry : Q → Q , x  → x ∗ y is bijective for each element y in a quandle. In particular, for x, y, z ∈ Q the equations z = x ∗ y and x = z ∗ y

Computing with fp Quandles | 103

are equivalent. Thus a quandle can also be defined as a set Q with a single binary operation ∗ such that Q1 holds and such that the right multiplication mapping Ry : Q → Q , x  → x ∗ y is an automorphism (preserving the operation ∗) for all y ∈ Q . Example 1.8.1. For any group G and any integer n ≥ 1 there is a quandle operation

on G defined by x ∗ y = y−n xyn for x, y ∈ G. For n = 1 we refer to this as the conjugation  quandle on G. Example 1.8.2. Let G be any group with subgroup H < G and with element  ∈ G such

that −1 h = h for all h ∈ H. Let Q = G/H = {Hx : x ∈ G} denote the set of right cosets. There is a quandle operation on Q given by (Hx) ∗ (Hy) = H−1 xy−1 y. We  denote this quandle by Q = Q (G, H, ). Example 1.8.3. The following GAP session constructs the quandle Q = Q (G, H, )

for the finitely presented group G = a, b | aba = bab, finite index subgroup H =  a, b−1 a2 b−1 , b−1 a−2 b−1  and  = a. GAP session 1.8.3 gap> F:=FreeGroup("a","b");;a:=F.1;;b:=F.2;; gap> G:=F/[a*b*a*(b*a*b)ˆ-1];;a:=G.1;;b:=G.2;; gap> H:=Group([ a, bˆ-1*aˆ2*bˆ-1, bˆ-1*aˆ-2*bˆ-1 ]);; gap> Q:=CosetsQuandle(G,H,a);

gap> Display(MultiplicationTable(Q)); [ [ 1, 5, 4, 2, 3, 1 ], [ [ [

4, 5, 3,

2, 3, 1,

2, 3, 6,

6, 1, 4,

1, 6, 4,

5 ], 4 ], 2 ],

[ [

2, 6,

6, 4,

1, 5,

5, 3,

5, 2,

3 ], 6 ] ]

This quandle Q is generated by two elements. It has order 6 and the final command  displays its multiplication table. The notion of a quandle was introduced by Joyce in [172] as a convenient means of encoding the knot invariant π1 (ι) : π1 (∂(Cκ )) → π1 (Cκ ) of Theorem 1.6.5. For any knot κ let H = π1 (∂(Cκ )), G = π1 (Cκ ) and choose  to be a generator of H ∼ = Z⊕Z represented by a loop in the torus ∂(Cκ ) which does not link with the knot κ. Such an element  is called a longitudinal generator. Example 1.8.2 can be applied to this data to obtain a quandle Q (κ) = Q (G, H, ) which we refer to as the knot quandle of κ. Theorem 1.6.5 can be reformulated in terms of quandles as follows. Theorem 1.8.1. [172] Two knots κ, κ  are equivalent if and only if the knot quandles Q (κ),

Q (κ  ) are isomorphic.

104 | Path Components and the Fundamental Group

Thus quandles provide a complete invariant of the equivalence class of a knot, unlike the knot group which provides only a partial invariant. Knot quandles have infinite order and are best described by finite quandle presentations involving generators and relations. In [172] Joyce introduced a presentation for Q (κ) analogous to the Wirtinger presentation of the knot group G(κ) = π1 (R3 \ κ). Given a knot diagram for κ with n crossings, Joyce’s presentation for Q (κ) involves n generators and n relations. The n undercrossings divide the knot diagram into n connected arcs and these arcs correspond to the quandle generators xi (1 ≤ i ≤ n). To specify the relations we choose one of the two possible directions of travelling around the knot. Each crossing of type I (see Figure 1.54) contributes a quandle relation of the form xj = xk ∗ xi

(Type I)

to the presentation and each crossing of type II contributes a relation of the form xj = xk ∗ xi .

(Type II)

In the second relation we write z = x ∗ y as shorthand for x = z ∗ y. These relations can be derived from the Wirtinger presentation of the knot group G(κ). Joyce’s presentation for Q (κ) can of course often be simplified to one involving fewer generators. As with knot groups, it can be a challenge to decide if two finitely presented knot quandles Q (κ) and Q (κ  ) are isomorphic or not. A readily computed and easily compared invariant of a finitely presented knot quandle is the number ColQ (κ) = |Hom(Q (κ), Q )|

(1.23)

of quandle homomorphisms c : Q (κ) → Q to some fixed finite quandle Q . Such a homomorphism is said to be a colouring of the knot κ. To compute this invariant one needs examples of finite quandles Q . A systematic enumeration of all finite quandles up to a given order is not so practical due to the large number of finite quandles. Example 1.8.4. The commands

GAP session 1.8.4 gap> S:=Quandles(6);; gap> Length(S); 73

establish that there are 73 non-isomorphic quandles of order 6.



A more practical goal is to enumerate all finite quandles with certain properties. To this end we define some properties. The automorphism group Aut(Q ) of a quandle Q of order n is isomorphic to a subgroup of the symmetric group Sn . For small values of n one can compute Aut(Q ) directly

Computing with fp Quandles | 105

from this statement: simply check to see which elements of Sn induce an automorphism of Q . For each element y ∈ Q we refer to the automorphism Ry : Q → Q , x  → x ∗ y as a right multiplication. The subgroup Inn(Q ) of Aut(Q ) generated by all right multiplications is called the inner automorphism group. Note that a composite of right multiplications is not necessarily a right multiplication; we use the term inner automorphism to refer to a composite of right multiplications. A quandle Q is said to be homogeneous if the action of Aut(Q ) on Q has precisely one orbit. We say that Q is connected if the action of Inn(Q ) on Q has precisely one orbit. We say that Q is Latin if the multiplication table of Q is a Latin square. Clearly Latin ⇒ connected ⇒ homogeneous. Example 1.8.5. The following commands establish that there are precisely eight homogeneous quandles of order 6, two of which are connected.

GAP session 1.8.5 gap> S:=Quandles(6);; gap> Collected(List(S,IsHomogeneousQuandle)); [ [ true, 8 ], [ false, 65 ] ] gap> Collected(List(S,IsConnected)); [ [ true, 2 ], [ false, 71 ] ]



It can be shown that every knot quandle Q (κ) is connected. Thus any homomorphism c : Q (κ) → Q to a finite quandle Q has a connected image quandle im (c). This provides one reason for focusing attention on an enumeration of finite connected quandles. Another reason is that the theory implied by the connectivity condition helps with computations. An enumeration of connected quandles of order ≤ 35 was provided in [282]. The basic idea of [282] is to derive the enumeration of connected quandles of order n from the existing enumeration of transitive permutation groups of degree n. Some algebraic refinements to the method were described in [168] and used to enumerate all connected quandles of order ≤ 47. Before recalling the algebraic details underlying the enumeration of connected quandles we give an example. Example 1.8.6. The following commands construct the conjugation quandle (Q , ∗) on the set of permutations S5 with operation x ∗ y = y−1 xy and then construct the subquandles of Q arising as the components of Q . These components are the orbits under the action of the inner automorphism group Inn(Q ). Note that a component is a quandle but is not necessarily a connected quandle. There are seven components P1 , . . . , P7 , of which six are connected. The largest component P5 has order 30, and the final command identifies this as quandle number 17 arising in our enumeration of connected quandles of order 30. This final command involves enumerating the list of all connected quandles of order 30.

106 | Path Components and the Fundamental Group

GAP session 1.8.6 gap> Q:=ConjugationQuandle(SymmetricGroup(5),1);

gap> C:=ConnectedComponentsQuandle(Q);; gap> List(C,Size); [ 1, 10, 20, 15, 30, 20, 24 ] gap> List(C,IsConnected); [ true, true, true, true, true, true, false ] gap> P5:=C[5];

gap> IdConnectedQuandle(P5); [ 30, 17 ]



We recall from [168] the theory underlying the enumeration of connected quandles. Suppose that we start with a connected quandle Q of order n. The inner automorphism group G = Inn(Q ) acts transitively on the set Q . Choose some element e ∈ Q and let Ge denote the stabilizer of e in G. Since Q is connected, the isomorphism type of Ge does not depend on the choice of e. The right multiplication map Re : Q → Q , x  → x ∗ e lies in Ge . For x ∈ Q we write xRe rather than Re (x) = x ∗ e. For any g ∈ Ge and any x ∈ Q we have xgRe = xg ∗ e = xg ∗ eg = (x ∗ e)g = xRe g and hence Re lies in the centre Z(Ge ) of Ge . Since Q is connected it also follows that the element Re normally generates G. The quadruple (G, Q , e, Re ) is an example of the following notion. Definition 1.8.2. [168] A quandle envelope is a quadruple (G, Q , e, ρ) where G is a group

that acts transitively on a set Q with distinguished element e ∈ Q and where ρ is an element of the centre Z(Ge ) of the stabilizer group of e; the element ρ is required to normally generate G.

The construction of a quandle envelope from a connected quandle is explained above. Conversely, suppose that (G, Q , e, ρ) is a quandle envelope. Since G acts transitively on Q we can find, for each y ∈ Q , an element yˆ ∈ G such that eyˆ = y. For x, y ∈ Q we define yˆ

x ∗ y = xρ . One can check that under this operation ∗ the set Q becomes a quandle. This leads to the following result. Theorem 1.8.2. [168] The following data are equivalent:

1. A connected quandle Q with preferred element e ∈ Q . 2. A quandle envelope (G, Q , e, ρ).

Computing with fp Quandles | 107

It is shown in [168] that for any quandle envelope the derived subgroup G acts transitively on Q and the quotient G/G is cyclic. Thus, given an enumeration of transitive permutation groups of degree n, we can select those groups G for which G acts transitively on Q = {1, . . . , n} and for which the quotient G/G is cyclic. For each selected group we can construct all ρ ∈ Z(G1 ) for which (G, Q , 1, ρ) is a quandle envelope. We can then construct the corresponding connected quandles. In this way the enumeration of transitive groups of degree n can be used to provide a list of all connected quandles of order n; the list will contain pairs of isomorphic quandles. We can use a fairly straightforward and naive quandle isomorphism test to remove isomorphic copies (see [110] for details). The transitive permutation groups of degree up to 30 are distributed with GAP. Example 1.8.7. Let κ and λ denote the trefoil knot and its mirror image. The sum κ + λ is known as the square knot. The sum κ + κ is known as the granny knot. The granny and square knots are well-known to have isomorphic knot groups, π1 (R3 \ (κ + κ)) ∼ = π1 (R3 \ (κ + λ)). The following commands use the quandle invariant ColQ (κ) defined in 1.23 to establish that the granny knot is not equivalent to the square knot. We take Q to be the seventeenth quandle in our enumeration of connected quandles of order 24.

GAP session 1.8.7 gap> Q:=ConnectedQuandle(24,17,"import");; gap> K:=PureCubicalKnot(3,1);; gap> L:=ReflectedCubicalKnot(K);; gap> square:=KnotSum(K,L);; gap> granny:=KnotSum(K,K);; gap> gcsquare:=GaussCodeOfPureCubicalKnot(square);; gap> gcgranny:=GaussCodeOfPureCubicalKnot(granny);; gap> Qsquare:=PresentationKnotQuandle(gcsquare);; gap> Qgranny:=PresentationKnotQuandle(gcgranny);; gap> NumberOfHomomorphisms(Qsquare,Q); 408 gap> NumberOfHomomorphisms(Qgranny,Q); 24



The knot invariant ColQ (κ) can be strengthened by incorporating features from invariant 1.7.1. More specifically, given a finite connected quandle Q , a knot κ and a quandle homomorphism c : Q (κ) → Q one can construct a group homomorphism grp(c) : G(κ) → Inn(Q ) as follows. The generators x1 , . . . , xn for the Wirtinger presentation of the knot group G(κ) of an n-crossing knot can be mapped in the obvious way to the generators of Joyce’s presentation for the knot quandle Q (κ). Let Q (xi ) denote the quandle generator corresponding to the group generator xi . Let RQ (xi ) denote the right multipli-

108 | Path Components and the Fundamental Group

cation map Q (κ) → Q (κ), y  → y ∗ Q (xi ). Let RcQ (xi ) denote the right multiplication map Q → Q , y  → y ∗ c(Q (xi )). There is an action of the group G(κ) on the quandle Q (κ) in which the group generator xi acts on y ∈ Q (κ) by yxi = y ∗ Q (xi ) (see [172]). The group homomorphism grp(c) : G(κ) → Inn(Q ) is defined on Wirtinger generators by xi  → RcQ (xi ) . We assume that the elements of Q are named 1, 2, . . . n and thus regard Inn(Q ) as a subgroup of Sn . We set Hc = {g ∈ G(κ) : 1grp(c)(g) = 1}. The connectivity of the finite quandle Q ensures that Hc is well-defined up to conjugacy of subgroups in G(κ). Let (d1 , ..., dk ) be the list of abelian invariants of the abelian group Hc /[Hc , Hc ] ∼ = Zd1 ⊕ · · · Zdk and let m = |G(κ) : Hc | be the index of Hc in G(κ). As in 1.7.1 set AbInv(G(κ), Hc ) = (d1 , ..., dk , m). We define Colab Q (κ) = {AbInv(G(κ), Hc ) : c ∈ Hom(Q (κ), Q )}.

(1.24)

Example 1.8.8. The following commands compute Colab Q (κ) for the trefoil knot κ and

the connected quandle Q of order 3. GAP session 1.8.8 gap> K:=GaussCodeKnot(3,1);; gap> Q:=ConnectedQuandle(3,1);; gap> F:=AbelianInvariants;; gap> RefinedColouring(K,Q,F); [ [ 0 ], [ 0, 0 ] ]



Example 1.8.8 is readily adapted to yield a proof of the following result in which Qn,i denotes the ith connected quandle of order n in HAP. Proposition 1.8.3. The twenty-six knot invariants Colab Q n,i (κ) for (n, i) ∈ {(4, 1), (5, 1),

(5, 3),(7, 1), (7, 2),(7, 3), (7, 5), (8, 2), (9, 2),(9, 3), (9, 6),(11, 1), (11, 2),(11, 3), (11, 5), (11, 7), (12, 6), (12, 7), (13, 1), (13, 2), (13, 4), (13, 5), (17, 2), (17, 5), (19, 5), (24, 7)} together distinguish between any two inequivalent prime knots with eleven or fewer crossings.

1.9 Covering Spaces The following definition leads to a data type for the computer representation of spaces that admit a suitable action of a discrete group G. This allows for computations involving spaces with a large or infinite number of cells. Definition 1.9.1. A G-CW-space consists of a discrete group G and CW-space X together

with a homeomorphism X → X, x  → g(x) for each g ∈ G such that:

(i) g  (g(x)) = g  g(x) for each g, g  ∈ G and x ∈ X,

Covering Spaces | 109

(ii) 1G (x) = x for the group identity 1G ∈ G and x ∈ X, (iii) g(ek ) = {g(x) : x ∈ ek } is a k-dimensional cell in X for each g ∈ G and k-cell ek ⊂ X. A G-CW-space is said to be free if the homeomorphism X → X, x  → g(x) admits a fixed point only when g is the identity element of G. In this case G is said to act freely on X. A G-CW-space is said to be rigid if any cell ek which is fixed by a homeomorphism X → X, x  → g(x) (i.e. g(ek ) = ek ) is fixed pointwise (i.e. g(x) = x for all x ∈ ek ). Certain groups of invertible affine transformations φ : Rn → Rn , x  → Ax + b give rise to interesting examples of G-CW-spaces. Here φ is defined by a matrix A ∈ GLn (R) and vector b ∈ Rn . We say that the matrix Ln(φ) = A is the linear part of φ, and that φ is a pure translation if Ln(φ) is the identity matrix. Any two pure translations φ, φ  commute in the sense that φφ  (x) = φ  φ(x) for all x ∈ Rn . Let G be a group of invertible affine transformations of Rn . Its translation subgroup TG is the normal subgroup consisting of the pure translations in G, and its point group is the quotient G/TG . There is an isomorphism G/TG ∼ = PG = {Ln(φ) : φ ∈ G} where PG is the group of linear parts of transformations in G. The group G is said to be a crystallographic group of dimension n if PG is finite and TG is a free abelian group of rank n. On replacing a crystallographic group G by a suitable conjugate group we can assume that the translation subgroup TG has basis the translations x  → x + ei (1 ≤ i ≤ n) with ei the standard basis vectors of Rn . Such a conjugate crystallographic group is said to be in standard form. Given an n-dimensional crystallographic group G we define the Gram matrix M=

1  AAt |PG | A∈P

(1.25)

G

where At denotes the transpose. This is a symmetric matrix with respect to which we define an inner product, norm and metric v, wG = vt Mw ,  ||v||G = v, vG , dG (v, w) = ||v − w||G

(1.26) (1.27) (1.28)

for column vectors v, w ∈ Rn . For any vector v ∈ Rn we consider the Dirichlet–Voronoi region DG (v) = {x ∈ Rn : dG (x, v) ≤ dG (x, φ(v)) for all φ ∈ G}

(1.29)

consisting of those points x ∈ Rn that are as close to v as to any image φ(v) with φ ∈ G. Each inequality dG (x, v) ≤ dG (x, φ(v)) represents a half space Hφ(v) and the region DG (v) is thus an intersection of infinitely many half spaces. In fact, all but finitely many

110 | Path Components and the Fundamental Group

υ

Figure 1.63 A Dirichlet–Voronoi region DG (v) with large points representing pure translations of the vector v.

of the half spaces can be ignored, making DG (v) an intersection of just a finite number of the half spaces. To see this we assume that G is in standard form and first consider the Dirichlet–Voronoi region DT (v) for the translation subgroup T = TG . The region DT (v) is the n-dimensional cube [a1 − 1/2, a1 + 1/2] × [a2 − 1/2, a2 + 1/2] × · · · × [an − 1/2, an + 1/2] with ai the ith coordinate of the vector v, and is the intersection of the finitely many half spaces Hφ(v) for which dG (v, φ(v)) ≤ ||e1 + · · · + en ||G and φ ∈ T. Now DG (v) is contained in DT (v) and is therefore a bounded intersection of those half spaces Hφ(v) for which dG (v, φ(v)) ≤ ||e1 + · · · + en ||G and φ ∈ G. There are only finitely many such half spaces since G/T is finite. Example 1.9.1. Figure 1.63 shows the Dirichlet–Voronoi region DG (v) for the 2-dimensional crystallographic group G generated by the two transformations

1 0 1 φ1 : R2 → R2 , x  → (1.30) x+ , 0 −1 0

1 0 0 2 2 φ2 : R → R , x  → (1.31) x+ 0 1 1

and for the vector v = (1/3, 1/3)t . The images of v under pure translations are represented by large points in the figure, and the images of v under other transformations are represented by small points. In this example the Gram matrix M is the identity matrix and  the metric is the standard Euclidean metric. For an n-dimensional crystallographic group G and column vector v ∈ Rn the Dirichlet– Voronoi region DG (v) is a bounded region arising as an intersection of a finite number

Covering Spaces | 111

of half spaces. It is thus a convex polytope and as such has the structure of a regular CWspace. The space Rn acquires a regular CW-structure with the cells φ(ek ) for each cell ek ⊂ DG (v) and each transformation φ in G. The CW-structure on Rn is an example of a G-CW-space. We say that a subset U = {eλ }λ∈ of the cells of the finite CW-space DG (v) is a representative set of cells if any φ(e) in Rn can be expressed in the form φ(e) = φ  (eλ ) with eλ a unique cell in U and φ  a not necessarily unique transformation in G. Thus U is a collection of cells, precisely one from each G-orbit of cells. The following data type is used in HAP to store a G-CW-space with regular CWstructure. Data type 1.9.1. A G-CW-complex is a component object Y which models a G-

CW-space |Y| with regular CW-structure and which consists of the following components:

• Y!.group is a group G. (This can be stored in one of several possible formats including: finitely presented group; matrix group; power-commutator presented group; finite permutation group.) • Y!.elts is a list of some of the elements of G. • Y!.dimension(n) is a function that returns a non-negative integer equal to the number of distinct G-orbits of n-dimensional cells in the G-equivariant CW-space |Y| modelled by the data type. We let enk denote a fixed representative of the kth orbit of n-dimensional cells. • Y!.stabilizer(n,k) returns the subgroup of G consisting of those elements φ ∈ G that map enk homeomorphically to itself. • Y!.boundary(n,k) returns a list [[i1 , g1 ], . . . , [im , gm ]] where each term [i, g] is a pair of non-zero integers with g positive. A pair [i, g] records that φg (en−1 |i| ) lies in the boundary of enk , where φg is the gth term of the list Y!.elts. (The sign of i plays a role in Chapter 2 when we consider homology.) • Y!.properties is a list of properties of the space, each property stored as a pair such as [“dimension”, 4]. The associated function IsHAPEquivariantCWComplex(Y) returns the boolean true when Y is of this data type. Algorithm 1.9.1 is a straightforward and practical method for computing the G-CWstructure of Rn arising from the action of low-dimensional cystallographic groups. Algorithm 1.9.1 Equivariant CW-complex of a crystallographic group.

Input: A finite set of generators φi : Rn → Rn , x  → Ai x + bi (1 ≤ i ≤ d) for an n-dimensional crystallographic group G in standard form, and a column vector v ∈ [0, 1)n ⊂ Rn . The matrices Ai and vectors bi , v are assumed to have rational entries.

112 | Path Components and the Fundamental Group

Output: A regular G-CW-complex X that models the G-equivariant CWdecomposition of Rn arising from the Dirichlet–Voronoi region 1.29. 1: procedure 2: Use Algorithm 1.9.2 below to enumerate the finite set 0 = {φ(v) : φ ∈ G} ∩ [0, 1)n . 3: Construct the finite set  = {w0 + λ1 e1 + · · · + λn en : w0 ∈ 0 , λi ∈ {−1, 0, 1}}. Here ei are the standard basis vectors for Rn . Each vector w ∈  is of the form w = φ(v) for some φ ∈ G. 4: For each vector w ∈ , w = v, determine the inequality for the half space Hw of points nearer to v than to w. 5: Use Fourier–Motzkin elimination, or some other technique, to find redundancies among the inequalities for the half-spaces Hw , w ∈  and hence find a minimal subset  ⊂  such that  Hw . DG (v) = w∈

There is a one-one correspondence between vectors w ∈  and facets −Hw ∩ DG (v) of the polytope DG (v). 6: Use some standard vertex enumeration procedure to determine the vertices of DG (v) from the minimal half-space description of this polytope. 7: Use Algorithm 1.1.2 to compute all CW-cells eλ of DG (v). 8: Determine a maximal subset U = {eλ } of the cells of DG (v) with the property that no two cells of U have centres with common orbit under the action of G. 9: For each cell eλ in U use Algorithm 1.9.3 below to compute its stabilizer subgroup. 10: Return the cells in U and their stabilizer groups in the form of a G-CW-complex. 11: end procedure

Algorithm 1.9.2 Crystallographic group orbits.

Input: Same as Algorithm 1.9.1. Output: The finite set 0 = {φ(v) : φ ∈ G} ∩ [0, 1)n . 1: procedure 2: Set 0 := {v},  := {v},  := ∅. 3: while  is not empty do 4: for each generator φ of G do

Covering Spaces | 113

5: for each w ∈  do 6: Set x := φ(w) modulo 1. 7: if x ∈ / 0 then 8: Set  :=  ∪ {x}. 9: end if 10: end for 11: end for 12: Set 0 := 0 ∪  ,  :=  ,  := ∅. 13: end while 14: Return 0 . 15: end procedure For Algorithm 1.9.3 it is convenient to define a set theoretic function Ln−1 : PG → G such that the linear part of Ln−1 (A) is A. This is done by choosing, for each A ∈ PG , an expression A = Ln(φi1 )1 · · · Ln(φim )m for A as a product of the linear parts of generators of G and their inverses. One then sets Ln−1 (A) = φi11 · · · φimm . Algorithm 1.9.3 Crystallographic group stabilizers.

Input: Same as Algorithm 1.9.1. Output: The stabilizer subgroup StabG (v) = {φ ∈ G : φ(v) = v}. 1: procedure 2: Set StabG (v) := ∅. 3: for each A ∈ PG do 4: Set b := (A − I)v and define ψ(x) = Ax − b. (Note that ψ(v) = v but possibly ψ∈ / G.) 5: Set φ = Ln−1 (A) ∈ G. 6: if the translation ψφ −1 is represented by an integer matrix then 7: Set StabG (v) := StabG (v) ∪ {ψ}. 8: end if 9: end for 10: Return StabG (v). 11: end procedure GAP’s package Cryst [94] provides functions for calculating with crystallographic groups. A transformation Rn → Rn , x  → Ax + b is represented in ‘left action’ notation by a single (n + 1) × (n + 1) matrix

A 0

b 1

.

With this representation, composition of transformations corresponds to multiplication of (n + 1) × (n + 1) matrices.

114 | Path Components and the Fundamental Group

Example 1.9.1 (continued) The next GAP session loads the 2-dimensional crystallographic group G generated by the transformations 1.30 and 1.31 and converts it to standard form. GAP session 1.9.1 gap> psi1:= [[1,0,1], [0,-1,0], [0,0,1]];; gap> psi2:= [[1,0,0], [0,1,1], [0,0,1]];; gap> G:=AffineCrystGroupOnLeft([psi1,psi2]);; gap> G:=StandardAffineCrystGroup(G); Group([ [ [ 1, 0, 1/2 ], [ 0, -1, 0 ], [ 0, 0, 1 ] ], [ [ 1, 0, 0 ], [ 0, 1, 1 ], [ 0, 0, 1 ] ] ])

The following additional commands compute the G-equivariant CW-structure on R2 illustrated in Figure 1.63. The numbers of cell orbits in each dimension are printed, as well as the orders of the stabilizer groups of orbit representatives. Since each stabilizer group has order 1 we conclude that G acts freely on R2 . The final command shows that the boundary of the representative 2-cell involves six 1-cells. GAP session 1.9.1 gap> Y:=EquivariantEuclideanSpace(G,[1/3,1/3]); Equivariant CW-complex of dimension 2 gap> NumbersOfCellOrbits:=List([0..2],Y!.dimension); [ 2, 3, 1 ] gap> VertexStabilizerOrders:= List([1,2],i->Order(Y!.stabilizer(0,i))); [ 1, 1 ] gap> EdgeStabilizerOrders:= List([1,2,3],i->Order(Y!.stabilizer(1,i))); [ 1, 1, 1] gap> FaceStabilizerOrders:=Order(Y!.stabilizer(2,1)); 1 gap> Size(Y!.boundary(2,1)); 6



Covering Spaces | 115

Let X be a path-connected free G-CW-space. We can form the quotient space X/G in which two points x, x ∈ X are identified whenever x = g(x) for some g ∈ G. The quotient map p : X → X/G is an example of a covering map, a notion defined as follows. Definition 1.9.2. A map p : X → B is a covering map if X is connected and for each b ∈

B there exists an open set U ⊂ B, with b ∈ U, whose pre-image p−1 (U) is a disjoint union of open sets in X each of which is mapped homeomorphically by p onto U. The space X is called a covering space of B and the space B is called the base space.

The quotient space X/G admits a CW-structure with one cell p(eλ ) for each G-orbit of cells in X, eλ a cell in the orbit. Note that the CW-structure on X/G is not in general regular, even in cases where the CW-space X is regular. Definition 1.9.3. A covering map p : X → X/G is said to be universal if π1 (X) = 0.

In this case X is called a universal covering space of B = X/G.

The following proposition is a consequence of standard results on covering spaces and can be used in conjunction with Lemma 1.6.3 to compute presentations of certain groups G. Proposition 1.9.1. Let X be a path-connected free G-CW-space. If π1 (X) = 0 then there is

an isomorphism of groups

π1 (X/G) ∼ = G.

Proof. Let x0 ∈ X 0 be a preferred base-point. By a deck transformation of X we mean a homeomorphism φ : X → X for which the triangle φ

/X XC CC {{ CC { { C {{p p CC ! }{{ X/G

commutes. Since p is locally a homeomorphism any deck transformation is a strictly cellular map and is completely determined by the value of φ(x0 ) ∈ X. Also, any continuous map f : [0, 1] → X/G with f (0) = f (1) = p(x0 ) lifts to a unique continuous map f˜: [0, 1] → X with f˜(0) = x0 and pf˜(t) = f (t) for t ∈ [0, 1]. Let f  : [0, 1] → X/G be a second continuous map with f  (0) = f  (1) = p(x0 ). If it happens that f˜(1) = f˜ (1) then we can form a continuous map f˜ ∨ f˜−1 : [0, 1] → X/G sending t  → f˜(2t) for t ∈ [0, 1/2] and t  → f˜ (2 − 2t) for t ∈ [1/2, 1]. The map f˜ ∨ f˜−1 represents an element of π1 (X) and is thus homotopic to a constant map. It follows that f and f  represent the same element [ f ] = [ f  ] of π1 (X/G) whenever f˜(1) = f˜ (1). There is therefore a set-theoretic bijection π1 (X/G) → p−1 (p(x0 )), [f ]  → f˜(1). Each element g ∈ G yields a deck transformation X → X, x  → g(x) which is determined by the value g(x0 ). Since G acts freely on X we have gg −1 (x0 ) = x0 for each pair of distinct g, g  ∈ G. We thus have a bijection G → p−1 (p(x0 )), g  →

116 | Path Components and the Fundamental Group

g(x0 ). The proof is completed by checking that the set theoretic bijection ∼ =

∼ =

π1 (X/G) → p−1 (p(x0 )) ← G is in fact a group homomorphism. Full details can be  found in [150]. If the quotient space X/G in Proposition 1.9.1 happens to be a regular CW-space then Algorithm 1.6.1 could be used to compute a finite presentation of G. In general X/G is not regular. But as long as the 2-skeleton X 2 is a regular CW-space it is still practical to encode X 2 on a computer and then compute with the G-orbits of cells that constitute X/G. In particular, the regularity condition can be dropped from the hypothesis of Lemma 1.6.3 and the lemma can then be used to derive a presentation of π1 (X/G) ∼ = G. Example 1.9.1 (continued) The following continuation of the GAP session 1.9.1 uses this approach to derive the presentation x, y | yxy−1 x for the crystallographic group G generated by the transformations 1.30 and 1.31. For this group the quotient space X/G is the Klein bottle of Figure 1.8 (left) endowed with a non-regular CW-structure involving two 0-cells, three 1-cells and one 2-cell. GAP session 1.9.1 gap> F:=FundamentalGroupOfQuotient(Y);

gap> RelatorsOfFpGroup(F); [ f1ˆ-1*f2*f1ˆ-1*f2ˆ-1 ]

 This method of computing finite presentations can also be applied to certain finite groups. Example 1.9.2. Consider, for instance, the quaternion group Q of order 8 generated by the two 2 × 2 complex matrices



i 0 0 −1 (1.32) A= , B= . 0 −i 1 0

For any non-trivial column vector v ∈ C2 the orbit polytope X = P(Q , v) has trivial fundamental group, and the group Q acts on the CW-space X by permuting cells. By viewing the complex representation Q → GL2 (C) as a real representation Q → GL4 (R) the following GAP session computes P(Q , v) for v = 1 + 0i. The session verifies that Q acts freely on the 2-skeleton X 2 and then derives the classical presentation Q∼ = i, j, k | ij = k, jk = i, ki = j, ikj = 1.

Covering Spaces | 117

GAP session 1.9.2 gap> A:=[[0,-1,0,0,],[1,0,0,0,],[0,0,0,1],[0,0,-1,0]];; gap> B:=[[0,0,-1,0],[0,0,0,-1],[1,0,0,0],[0,1,0,0]];; gap> Q:=Group([A,B]);; gap> Y:=EquivariantOrbitPolytope(Q,[1,0,0,0]); Equivariant CW-complex of dimension 4 gap> for k in [0..2] do > for n in [1..Y!.dimension(k)] do > Print(Order(Y!.stabilizer(k,n))," > od;od; 1 1 1 1 1 1 1 1

");

gap> F:=FundamentalGroupOfQuotient(Y);

gap> RelatorsOfFpGroup(F); [ f1*f2ˆ-1*f3ˆ-1, f1*f3ˆ-1*f2, f1*f3*f2ˆ-1, f1*f2*f3 ]



For future reference we state the following. Theorem 1.9.2. Let Y be a path connected CW-space. For each subgroup H ≤ π1 Y there is

a covering map h : Y˜ H → Y such that:

1. 2. 3. 4.

Y˜ H is a CW-space, h maps each cell of Y˜ H homeomorphically to a cell of Y, the induced homomorphism π1 h : π1 Y˜ H  π1 Y is injective and has image equal to H, if h : Y˜ H → Y and h : Y˜ H → Y are two such covering maps then there is a homeomor∼ = phism ι : Y˜ H −→ Y˜ H such that the triangle Y˜ H ? ?? ?? ? h ?? 

ι

Y

/ Y˜  H      h 

commutes. In particular, taking H = 1 yields the existence of a universal covering space Y˜ 1 which is unique up to homeomorphism.

118 | Path Components and the Fundamental Group

A proof of Theorem 1.9.2 can be found in [150]. A construction of Y˜ H for connected 2-dimensional CW-spaces Y follows fairly directly from Proposition 1.7.2 and the fact that such a space Y corresponds to a group presentation modulo the choice of a maximal YH is implemented in HAP for finite regular tree in its 1-skeleton Y 1 . The covering space  CW-complexes Y and finite index subgroups Hπ1 Y.

1.9.1 A Remark on Flat Manifolds An n-dimensional crystallographic group is said to be Bieberbach if φ(x) = x for all nonidentity elements φ in the group and all x ∈ Rn . Let G be a subgroup of a Bieberbach group. The quotient manifold Rn /G = Rn /{x ∼ φ(x) : φ ∈ G} is said to be flat since it is locally isometric to Rn . The quotient manifold is compact if and only if G is a finite index subgroup. Suppose that L ⊂ Rn is an n-dimensional lattice for which the action of G on Rn restricts to an action of G on L. Let DL denote the Dirichlet–Voronoi region defined in 1.7. The space Rn acquires a regular CW-structure from the tessellation by the region DL . Moreover, the action of G gives this CW-space the structure of a G-CW-space (see Figure 1.64). Since G acts freely, the quotient manifold M = Rn /G inherits a CW-structure. If the CW-structure on M is regular we say that any finite n-dimensional pure CW-subspace X ⊂ M is an L-manifold or lattice manifold. Such a manifold X can be represented on a computer by augmenting the data type 1.2.2 of a lattice complex in the following way. Data type 1.9.2. A lattice complex X is augmented by adding an optional component:

• X!.action(v) inputs an arbitrary integer vector v ∈ L and returns a vector v lying in the finite range  ⊂ L of the L-complex. The range  ⊂ L should lie in a fundamental domain for some given free action of a group G and the vector v should be the unique representative in the range for the orbit of v under the action.

Figure 1.64 Example of a 2-dimensional cubical lattice manifold.

Cayley Graphs and Presentations | 119

Algorithms 1.2.1, 1.2.2, 1.4.3 and the operations of 1.2.10 need only trivial adaptions to be applied to lattice manifolds. This representation of lattice manifolds could be useful, for instance, when handling data points (x1 , . . . , xn ) consisting of n angular measurements. In this situation one could take L to be the lattice of all integer vectors, and take the range  to consist of all those integer vectors (λ1 , . . . , λn ) with 0 ≤ λi < 360. The component X!.action(v) would return (λ1 mod 360, . . . , λn mod 360) for any integer vector v = (λ1 , . . . , λn ). In this way one could represent the data points as a pure n-dimensional CW-subspace X ⊂ Tn = S1 × . . . × S1 of the product of n circles, where the product Tn is a pure n-dimensional CW-space involving 360n cubical ncells. If only n − p of the coordinates in (x1 , . . . , xn ) are angular measurements then one could adapt the example to represent the data as a pure cubical subspace of S1 × · · · × S1 × Rp . Gunnar Carlsson and others [53] have observed that certain 3 × 3 patches sampled from grey-scale digital images are parametrized by the Klein bottle M. (See Example 2.5.4.) Here M = R2 /G with G a 2-dimensional Bieberbach group admitting a cubical fundamental domain. A sample of such patches could thus be represented as an augmented 2-dimensional pure cubical complex. Up to isomorphism there are two Bieberbach groups of dimension n = 2, there are 10 Bieberbach groups of dimension n = 3, and there are 74 Bieberbach groups of dimension n = 4. Both of the 2-dimensional Bieberbach groups admit a cubical fundamental domain, and eight of the 3-dimensional Bieberbach groups admit a cubical fundamental domain. The corresponding flat manifolds are thus easily represented as augmented pure cubical complexes (of variable binary array size). The remaining two 3-dimensional Bieberbach groups admit permutahedral fundamental domains, and their corresponding flat manifolds can be represented as augmented permutahedral complexes (of variable binary array size).

1.10 Cayley Graphs and Presentations Let G be a group generated by a set x ⊂ G that does not contain the identity element of G. The Cayley graph  = G,x is the regular CW-space with one vertex e0g for each g ∈ G and one edge e1g,x for each g ∈ G and x ∈ x. The boundary of e1g,x consists of the vertices e0g and e0gx . There is an action (g  , e0g )  → e0g  g of G on the vertices. This action extends to an action of G on  in which g  (e1g,x ) = e1g  g,x . The Cayley graph is thus an example of a regular G-CW space.

Example 1.10.1. The following GAP session displays the Cayley graph in Figure 1.65 for the group H3 of order 120, generated by the set of three permutations x = (1, 2)(5, 6)(7, 8)(11, 12), y = (2, 3)(4, 5)(8, 9)(10, 11), z = (3, 4)(5, 7)(6, 8)(9, 10).

120 | Path Components and the Fundamental Group

Figure 1.65 Cayley graph for the group H3 .

GAP session 1.10.1 gap> x:=(1,2)(5,6)(7,8)(11,12);; y:=(2,3)(4,5)(8,9)(10,11);; gap> z:=(3,4)(5,7)(6,8)(9,10);; G:=Group(x,y,z);; gap> CayleyGraphOfGroupDisplay(G,[x,y,z]);

 The action of a group G on its Cayley graph  = G,x is a free action. It is always possible to attach 2-cells to  so as to form a free regular G-CW-space X of dimension 2 with 1skeleton X 1 =  and with π1 (X) the trivial group. The quotient X/G is a reduced CWspace which yields a free presentation x | r for G ∼ = π1 (X/G). Van Kampen’s theorem implies that we should include one generator in x for each 1-cell in X/G and one relator in r for each 2-cell in X/G; this relator can be read off from the boundary of a corresponding 2-cell in the cover X. For a finite group G, Algorithm 1.10.1 produces such a finite space X which, typically, has reasonably few G-orbits of 2-cells. This algorithm is essentially that described by John Cannon in [49], but couched in the language of discrete vector fields. Algorithm 1.10.1 Free presentation for a finite group.

Input: A finite set x of distinct, and non-identity, group elements that generates a finite group G. Output: A G-CW-complex X corresponding to a connected 2-dimensional free G-CW-space |X| with trivial fundamental group π1 (|X|) = 1. 1: procedure 2: Represent the Cayley graph  = G,x as a regular CW-complex Y.

Cayley Graphs and Presentations | 121

3: Use Algorithm 1.5.1 to compute a maximal discrete vector field on Y with unique critical 0-cell. 4: Let T ⊂ Y be the maximal tree consisting of the non-critical cells of Y plus the single critical 0-cell. 5: while there exists some critical 1-cell in Y do 6: Choose a critical 1-cell e1 . Let r(e1 ) denote the unique subgraph of T ∪ e1 in which each vertex is incident with two edges. 7: Attach a 2 cell e2 to Y so that its boundary ∂(e2 ) is r(e1 ). 8: Add the arrow e1 → e2 to the discrete vector field on Y. 9: for each 1 = g ∈ G do 10: Attach a 2-cell ge2 to Y with boundary ∂(ge2 ) equal to the image of r(e1 ) under the action of g. 11: end for 12: Use steps 6–10 of Algorithm 1.5.1 to extend the discrete vector field on Y as much as possible. 13: end while 14: Since |Y| has no critical 1-cells it is homotopy equivalent to some CW-space with no 1-cells. Hence we can be sure that π1 (|Y|) = 1. 15: Choose a representative for each G-orbit of cells in Y and return these representative cells in the form of a G-CW-complex X which models |Y|. 16: end procedure Example 1.10.2. The following continuation of GAP session 1.10.1 uses Algorithm 1.10.1 to compute the presentation

H3 = x, y, z | x2 = y2 = z2 = (xz)2 = (yx)5 = (zy)3 = 1.

GAP session 1.10.1 gap> Y:=EquivariantTwoComplex(G); Equivariant CW-complex of dimension 2 gap> F:=FundamentalGroupOfQuotient(Y);

gap> RelatorsOfFpGroup(F); [ f1ˆ2, f2ˆ2, f3ˆ2, f1*f3*f1ˆ-1*f3ˆ-1, f3*f2*f3*f2ˆ-1*f3ˆ-1*f2ˆ-1, (f2*f1)ˆ2*f2*(f1ˆ-1*f2ˆ-1)ˆ2*f1ˆ-1 ]



We end this section by outlining a proof of Proposition 1.7.2. The proposition provides a formula for computing a presentation of a finite index subgroup H ≤ G from

122 | Path Components and the Fundamental Group

a presentation G ∼ = x | r and Schreier transversal of H. The proof starts with the observation that such a presentation of G can be used to construct a free G-CW-space 1 = G,x is the Cayley graph of G with respect to the   | r) whose 1-skeleton K K = K(x K ) is trivial. (Here we are abusing generating set x ⊂ G and whose fundamental group π1 ( notation slightly by viewing x as both a subset of the free group F(x) and also a sub [multi] set of the group G.) The space  K has one 2-cell e2r,g for each r ∈ r and each g ∈ G, the 2-cell being attached to the 1-skeleton along the path spelled by the relator r. There are no cells of dimension k > 2.  Definition 1.10.1. For  K = K(x | r) we say that the quotient CW-space K =  K /G is the

2-complex of the presentation x | r. We denote the quotient K by K(x | r). (The space  K is the universal covering space of K).

For any subgroup H ≤ G the space  K can be viewed as a free H-CW-space simply by restricting the G-action to an H-action. We can thus use a version of Lemma 1.6.3 to read K /H under the assumption that off a finite presentation H ∼ = x | r  from the quotient  this quotient is a finite CW-space. The assumption is equivalent to H having finite index in G. One can check that this presentation for H is as described in Proposition 1.7.2. Example 1.10.3. The following continuation of GAP session 1.10.1 applies the

method of this proof to compute, from the Cayley graph of Figure 1.65, a rather inefficient presentation for the subgroup H of index 2 in G = H3 generated by the three permutations xy = (1, 3, 2)(4, 5, 6)(7, 9, 8)(10, 11, 12), xz = (1, 2)(3, 4)(5, 8)(6, 7)(9, 10)(11, 12) and yz = (2, 4, 7, 5, 3)(6, 8, 10, 11, 9). GAP session 1.10.1 gap> H:=Group(x*y,x*z,y*z);; gap> W:=RestrictedEquivariantCWComplex(Y,H); Equivariant CW-complex of dimension 2 gap> FH:=FundamentalGroupOfQuotient(W);

gap> RelatorsOfFpGroup(FH); [ f1, f1, f3*f2, f2*f3, f5*f4, f4*f5, f1*f4*f5ˆ-1, f5*f1ˆ-1*f4ˆ-1, f4*f3*f4*f2ˆ-1*f5ˆ-1*f2ˆ-1, f5*f2*f5*f3ˆ-1*f4ˆ-1*f3ˆ-1, (f2*f1)ˆ2*f2*f3ˆ-2, f3ˆ3*(f1ˆ-1*f2ˆ-1)ˆ2*f1ˆ-1 ]

The nicer presentation H = a, b | a5 = b2 = (ab)3 = 1

Exercises | 123

is obtained from the following GAP session. Note that any two of xy, xz and yz suffice to generate H. GAP session 1.10.2 gap> xz:=(1,2)(3,4)(5,8)(6,7)(9,10)(11,12);; gap> yz:=(2,4,7,5,3)(6,8,10,11,9);; gap> H:=Group(xz, yz);; gap> W:=EquivariantTwoComplex(H); Equivariant CW-complex of dimension 2 gap> FH:=FundamentalGroupOfQuotient(W);

gap> RelatorsOfFpGroup(FH); [ f2ˆ2, f1ˆ5, (f1*f2)ˆ2*f1*f2ˆ-1 ]



1.11 Exercises 1. (a) The box counting dimension δ(A) of a space A ⊂ R2 is defined in terms of the minimum number of squares of side  needed to cover A. However, in Example 1.2.5 this dimension was estimated by counting the minimum number of squares in the regular square mesh of side  needed to cover A. Show that these two notions of box counting dimension agree. (b) Show that the box counting dimension of a subspace A ⊂ R2 equals the box counting dimension of its closure A. (This is a serious disadvantage to this notion of dimension.) (c) One could replace ‘square of side ’ by ‘regular hexagon of side ’ in the definition of box counting dimension. Show that the hexagonal version produces the same value of the dimension. 2. The system of ordinary differential equations dx dt dy dt dz dt

= σ (y − x) = x(ρ − z) − y = xy − βx

124 | Path Components and the Fundamental Group

was studied by Edward Lorenz. When ρ = 28, σ = 10, β = 8/3 the system has chaotic solutions. Not all solutions are chaotic, but almost all initial points will tend to a strange attractor A ⊂ R3 . Write a GAP function that inputs the initial point (x(0), y(0), z(0)) = (−10, −7, 35) and step-size h and then uses Euler integration x(t + h) = x(t) + hρ(y − x) y(t + h) = y(t) + h(x(ρ − z) − y) z(t + h) = z(t) + h(xy − βx) to produce a 3-dimensional pure cubical complex approximation to A. Estimate the box counting dimension δ(A) of the attractor. 3. The following 2-dimensional pure cubical complexes Ki < R2 each have β0 (Ki ) = 3 and χ(Ki ) = 0.

K1 =

K4 =

K2 =

K3 =

K5 =

Let us define Ki to be equivalent to Kj if there is a homeomorphism φ : R2 → R2 with φ(Ki ) = Kj . Which pairs of complexes can be shown to be inequivalent using only the topological invariants β0 (X) and χ(X) for X either a union of path components, or complement of path components, of Ki ? 4. Construct a random sample S of points from the image of the function φ : R3 −→ R7 (x, y, z)  → (cos x, sin x, cos y, − sin y, cos z, sin z, cos(x) sin(y + z)). Then forget how the sample S was constructed and try to use Mapper clustering to detect some of the topology underlying the sample. For instance, try using the Euclidean metric on Rn , and a projection filter function f : R7 → Z = [−1, 1] × [−1, 1], and P = {(x, y) : x, y ∈ {−1, − 12 , 0, 12 , 1}} to construct a meaningful Mapper graph. Then, for each node in the graph, apply Mapper again to just those data points associated with the node. Then repeat this process once more. Do your findings reflect the topology of the space (homotopy equivalent to S1 × S1 × S1 ) from which the points have been sampled? 5. Compute the homotopy types of the Quillen complexes A3 (Sn ) for 2 ≤ n ≤ 11, n = 10. (See [184] for a theoretical calculation of their homotopy types.) 6. Quillen conjectured in [234] that Ap (G) is contractible if and only if G has a nontrivial normal p-subgroup. Try to verify this conjecture for some specific groups. 7. Download the Protein Database file for the Homo sapiens 2ETL protein available at https://files.rcsb.org/download/2ETL.pdb. Then determine if there is a knot in the protein, and if so, identify the knot.

Exercises | 125

8. Let κ denote the trefoil knot and let λ denote its mirror image. Prove that κ + κ + κ + λ is not ambient isotopic to κ + κ + λ + λ. (There is a ‘unique prime decomposition’ for knots due to Schubert [257] so one could deduce this from κ + κ = κ + λ, but the exercise can also be tackled directly by computing quandle invariants.) 9. Let us say that a bounded closed interval I = [a, b] ⊂ R has length b − a and for δ ≥ 0 define τδ (I) = {r ∈ R : |r − s| ≤ δ for some s ∈ I}. For the purposes of this exercise define a barcode to be a finite multiset of bounded closed intervals in R. For two such barcodes C, D define a matching to be a bijection C ⊇ S ↔ T ⊆ D between subsets S, T of C, D respectively. Let Cδ denote the multiset of those intervals in C of length at least δ. Define a δ-matching between barcodes C and D to be a bijection C2δ ↔ D2δ such that: the bijection associates each interval in I ∈ C2δ with an interval in σ (I) ∈ D2δ ; if σ (I) = J then J ⊂ τδ (I) and I ⊂ τδ (J). Now define the botleneck distance between two barcodes C, D to be dB (C, D) = inf{δ : there is a δ-matching between C and D}.

(1.33)

Prove that (1.33) defines a metric on the collection of all barcodes. 10. Let (X, dX ) and (Y, dY ) be finite metric spaces. By a correspondence between them we mean a set C ⊂ X × Y such that both projections C → X and C → Y are surjective. Let (X, Y) denote the set of all correspondences between X and Y. Define the Gromov–Hausdorff distance between X and Y to be dGH (X, Y) =

1 sup |dX (x, x ) − dY (y, y )|. inf 2 C∈(X,Y) (x,y),(x ,y )∈C

(1.34)

As in Example 1.3.1 let G(X, t) denote the 1-dimensional simplicial space with vertex set X and one edge {x, x } for each pair x, x ∈ X satisfying dX (x, x ) ≤ t. There are only finitely many graphs realized in this way, corresponding to values t = t0 , t1 , . . . , tn say. Let β0∗∗ (X) denote the resulting β0 barcode.

Figure 1.66 Chicken red blood cells magnified 1000 times.

126 | Path Components and the Fundamental Group b

a

a

b

Figure 1.67 A 2-fold cover of S1 ∨ S1 .

Prove the following inequality: dB (β0∗∗ (X), β0∗∗ (Y)) ≤ dGH (X, Y).

(1.35)

Inequality 1.35 is a stability theorem which says that if a data set X is perturbed just a little then the resulting barcode is perturbed just a little. See [226] for an in-depth discussion of stability. 11. Write a GAP programme that inputs the digital image [113] of Figure 1.66 as a pure cubical or permutahedral complex and returns an estimate of the number of blood cells in the image. 12. Consider the wedge of two circles X = S1 ∨ S1 . Any n-fold covering map p:  XH → X can be represented as a graph with n vertices and 2n edges, each edge suitably oriented and labelled by a or b. The label a corresponds to one of the circles in X, and b corresponds to the other circle. Figure 1.67 illustrates one such 2-fold covering map. The fundamental group π1 X is isomorphic to the free abelian group F on two generators. Letting a and b denote the free generators of F, the covering in Figure 1.67 corresponds to the subgroup H < F generated by the words a2 , b2 , bab−1 . Use the GAP command LowIndexSubgroupsFpGroup(F,n) to list all graphs on four vertices representing 4-fold coverings of S1 ∨ S1 . 13. Given a regular CW-space Y, its universal cover  Y can be given the structure of a regular G-CW-space with G = π1 Y. (a) Describe in detail a procedure that inputs a finite regular CW-complex Y and returns its universal cover as a G-CW-complex U =  Y with G a finitely presented group isomorphic to the fundamental group π1 Y. (Such a procedure is implemented in HAP as the function U:=UniversalCover(Y).) (b) Describe in detail a procedure that inputs the universal cover U =  Y of a finite regular CW-complex Y as a G-CW-complex, together with a finite index YH as a finite regular subgroup H < π1 Y, and returns the finite covering space  YH ) = H as in CW complex, where the covering map p :  YH → Y has p(π1 Theorem 1.9.2. (Such a procedure is implemented in HAP as the function EquivariantCWComplexToRegularCWComplex(U,H).)

2

Cellular Homology

The invariants π0 (X) and π1 (X) capture 0- and 1-dimensional information about a space. Their definitions π0 (X) = [S0 , X] and π1 (X) = [S1 , X] extend to higher homotopy groups πn (X) = [Sn , X] which capture higher dimensional information about X. As the name suggests, these have a group structure for n ≥ 1; this structure turns out to be abelian for n ≥ 2, but admits no easy general algebraic description suitable for computer implementation. A computational formula for πn X, valid for certain rather special spaces X and n = 2, 3, is implemented in Chapter 4, and a more general algebraic description of π2 X is considered in Chapter 5. In the present chapter we focus on related abelian groups, the homology groups Hn (X, Z), which are significantly easier to compute but which still capture a certain amount of higher dimensional information. The homology group H0 (X, Z) is free abelian of rank equal to the cardinality of π0 (X). For a pathconnected CW-space, H1 (X, Z) is the abelianization π1 (X)ab of the fundamental group. Homology groups are functors. As an indication of the kind of information they contain it is worth noting a result of Whitehead: for simply connected CW-spaces X and Y, a map f : X → Y is a homotopy equivalence if it induces isomorphisms Hn (X, Z) → Hn (Y, Z) for all n ≥ 1. In Section 1 we introduce cellular chain complexes C∗ X for simplicial, cubical, permutahedral and regular CW-spaces X (the last generalizing each of the other three cases). These chain complexes are used to define the homology groups H∗ (X, Z), and for small examples could be used to directly compute homology groups. An example is given in which the chain complex of a cubical space arising from a digital image is used to enumerate the objects in the image via the calculation of an Euler integral. The example is based on the paper [14] in which Euler integrals are used to enumerate targets from local counts in sensor networks. Section 2 is a quick foray into geometric group theory in which a numerical invariant of homology – the Euler characteristic – is used in a computer procedure for establishing that the 2-dimensional CW-space associated to certain group presentations is aspherical and that the presented group is thus torsion free. Further implementations related to this topic are discussed in Chapter 6. An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

128 | Cellular Homology

Section 3 returns to the main theme of the chapter and describes the chain complex of a non-regular CW-space X represented in terms of a regular CW-space Y and homotopy equivalence X  Y. Chain maps and chain homotopies are introduced to achieve the required description. Section 4 recalls some basics of linear algebra needed to compute the homology of a chain complex over a field. These basics are recalled in a way that leads to the definition and implementation of the persistent homology barcode associated to a filtered chain complex. The implementation is first illustrated on some non-filtered chain complexes arising from the random simplicial complexes studied in Example 1.6.6 of Chapter 1. It is then illustrated on the persistent homology of various point cloud data sets. Section 5 is a speculative foray into topological data analysis and investigates how persistent homology and the fundamental group could be used to construct topological spaces for parametrizing point-cloud data sets. An example is given which is based on the persistent homology analysis of the space of natural images performed in [54]. Section 6 returns to the main theme of the chapter with a description of the Smith Normal Form of a matrix needed for the computation of homology of chain complexes over principal ideal domains. Two computational examples of Smith Normal Form are given. The first calculates the integral homology of a manifold arising as a quotient of R3 by a torsion free crystallographic group. The second calculates the Alexander polynomial of a knot and illustrates Smith Normal Form over the ring Q(t) of Laurent polynomials. Section 7 considers excision in homology as a tool for speeding up machine computations, while the final Section 8 introduces cohomology groups and the cup product. Several approaches to approximating the diagonal map are considered. An example is covered in which the cup product is computed on a space constructed from a point cloud of 3527 data points in R3 . A second example describes the integral cohomology ring of a certain 3-manifold. A subsection describes how van Kampen diagrams can be used to compute the particular cup product ∪ : H1 (X, Z) × H1 (X, Z) → H2 (X, Z).

2.1 Chain Complexes and Euler Integrals Let K be a ring, assumed always to be associative with multiplicative identity 1  = 0. We are mainly interested in the integers K = Z, the field of p elements K = Z/pZ and, later on, the group ring K = ZG and group algebra K = FG. Throughout the book we use the term K-module to mean a left K-module M, that is, one where k ∈ K acts on m ∈ M to produce an element km ∈ M. The distinction between left and right modules will only be important for us when we work over group rings and algebras. We use the term chain complex in the following slightly restricted sense. Definition 2.1.1. A chain complex over K is a sequence ∂k+1

∂k

∂k−1

∂2

∂1

∂0

. . . −→ Ck −→ Ck−1 −→ . . . −→ C1 −→ C0 −→ 0 of K-modules and K-linear homomorphisms that satisfy ∂k ∂k+1 = 0 for k ≥ 0. We say that the chain complex is of length n if Ck = 0 for k > n and Cn  = 0. We refer to the homomorphisms ∂k as boundary homomorphisms. The module Ck is said to be of degree k.

Chain Complexes and Euler Integrals | 129

We are mainly concerned with chain complexes of free K-modules which we refer to as free chain complexes. For K a field all K-modules are free. The default data type for chain complexes in HAP only applies to free chain complexes. In the following three examples the verification of ∂k ∂k+1 = 0, k ≥ 1, is left as an exercise for the reader. Example 2.1.1. Let K be a simplicial complex with vertex set V, as described in Definition 1.2.3. Any total ordering of the vertices gives rise to a chain complex C∗ (K) over Z in which Ck (K) is the free abelian group with one free generator ekσ for each k-simplex σ ∈ K; the boundary homomorphisms ∂k : Ck (K) → Ck−1 (K) are defined on generators by  ∂k (ekσ ) = (−1)pos(σ ,i) ek−1 (2.1) σ \{i} i∈σ

where pos(σ , i) is the position of i in the ordered k-simplex σ = {i0 < i1 < · · · < ik }. For  example, pos(σ , 4) = 1 for the 3-simplex σ = {2, 4, 6, 8}. Example 2.1.2. Let A = (aλ1 λ2 ...λn ) be the binary array of an n-dimensional pure cubical complex M, as described in Definition 1.2.7. Let A = (a μ1 μ2 ...μn ) be the n-dimensional binary array obtained from A by applying Algorithm 1.2.2. Recall that the degree of an entry a μ1 μ2 ...μn is the number of even integers in the vector μ = (μ1 , μ2 , . . . , μn ). The pure cubical complex M yields a chain complex C∗ (M) in which Ck (M) is the free abelian group with one free generator ekμ for each non-zero entry a μ of degree k; the boundary homomorphism ∂k : Ck (M) → Ck−1 (M) is defined on generators by  k−1 ∂k (ekμ ) = ek−1 (2.2) μ+ei − eμ−ei 1≤i≤n

where the subscript ei denotes the ith standard basis vector of Rn . The chain complex  C∗ (M) is of length n. Example 2.1.3. Let M be an n-dimensional pure permutahedral complex as described

in Definition 1.2.7. Let N = Nerve(M) be the nerve of M produced from Algorithm 1.2.1. The lexicographic order on index vectors μ ∈ Zn induces an order on the vertices of the simplicial complex N . With respect to this vertex order, let C∗ (N ) be the chain complex of Example 2.1.1. Let ekσ denote the generator of the free abelian group Ck (N ) corresponding to the k-simplex σ ∈ N . Now define Ck (M) = HomZ (Cn−k (N ), Z) to be the group of all Z-linear homomorphisms Cn−k (N ) −→ Z. The homomorphisms → 1, en−k eˆkσ : Cn−k (N ) → Z, en−k σ σ → 0 defined for (n − k)-simplices σ  = σ ∈ N are free abelian generators for Ck (M). The pure permutahedral complex M yields a chain complex C∗ (M) in which the boundary homomorphisms ∂k : Ck (M) −→ Ck−1 (M) are given on generators by

130 | Cellular Homology

∂k (ˆekσ ) =



(−1)pos(τ ,t) eˆk−1 . τ

(2.3)

σ τ =σ ∪{t}∈N

 Definition 2.1.2. The k-dimensional homology of a chain complex C∗ over K is the

K-module

Hk (C∗ ) = ker ∂k /im ∂k+1 .

When K is a field we define the k-dimensional Betti number to be βk (C∗ ) = dimK Hk (C∗ ). This definition of Betti number also holds for K = Z, with the dimension of an abelian group being interpreted as the largest rank of a free summand. Definition 2.1.3. Let C∗ be a chain complex of finite length n for which the Betti

numbers βk (C∗ ) are defined and finite for all k ≥ 0. The Euler characteristic of C∗ is the number  (−1)k βk (C∗ ). χ(C∗ ) = 0≤k≤n

Lemma 2.1.1. Let C∗ = (Ck , ∂k )k≥0 be a chain complex of finite length n over the integers

or a field K. If each module Ck has finite dimension then χ(C∗ ) is equal to  χ(C∗ ) = (−1)k dimK Ck . k≥0

Proof. We have χ(C∗ ) = β0 (C∗ ) − β1 (C∗ ) + β2 (C∗ ) · · · = + (dimK (ker ∂0 ) − dimK (im ∂1 )) − (dimK (ker ∂1 ) − dimK (im ∂2 )) + (dimK (ker ∂2 ) − dimK (im ∂3 )) − ··· = + (dimK C0 − dimK (im ∂1 )) − (dimK C1 − dimK (im ∂1 ) − dimK (im ∂2 )) + (dimK C2 − dimK (im ∂2 ) − dimK (im ∂3 )) − ··· = + dimK C0 − dimK C1 + dimK C2 − · · · . 

The following data type for chain complexes is used in HAP. By the rank of a free module we just mean its dimension, i.e. the cardinality of a basis. Data type 2.1.1. A chain complex C∗ of finitely generated free modules over a ring K is

represented as a component object C with the following components:

Chain Complexes and Euler Integrals | 131

• C!.dimension(k) is a function which returns the rank of the module Ck . • C!.boundary(k,j) is a function which returns the image in Ck−1 of the jth free generator of Ck . Elements in Ck−1 are represented as vectors (i.e. lists) over K of length equal to the rank of Ck−1 . • C!.properties is a list of properties of the complex, each property stored as a pair such as [“length", 4]. The associated function IsHAPChainComplex(C) returns the boolean true when C is of this data type. HAP also uses a slight variant of data type 2.1.1 for which the function IsHapChainComplex(C) returns false and IsHapSparseChainComplex(C) returns true. In this variant the function C!.boundary(k,j) returns the image ∂(ekj ) in sparse format as  a list of pairs [[m1 , a1 ], [m2 , a2 ], . . . ,[mt , at ]] where ai ∈ K and ∂(ekj ) = ai ek−1 mi . The order of the list of pairs is unimportant. Example 2.1.4. The following GAP session reads the grey-scale image of Figure 2.1

(left) as the pure cubical complex M illustrated in 2.1 (right), constructs the chain complex C∗ (M) and then uses Lemma 2.1.1 to compute the Euler characteristic χ(C∗ (M)). The image is available as [image2.1.1.eps]. GAP session 2.1.4 gap> M:=ReadImageAsPureCubicalComplex("image2.1.1.eps",600); Pure cubical complex of dimension 2. gap> C:=ChainComplex(M); Chain complex of length 2 in characteristic 0 . gap> EulerCharacteristic(C); 7



Figure 2.1 Images of a collection of letters.

132 | Cellular Homology

In keeping with Lemma 2.1.1 and the above examples of chain complexes we make the following definition. Definition 2.1.4. The Euler characteristic of a finite CW-space X is

χ(X) =



(−1)k αk

k≥0

where αk denotes the number of k-dimensional cells in X. Note that if X and Y are finite CW-subspaces of some ambient CW-space then the union X ∪ Y and intersection X ∩ Y are also finite CW-spaces. The following is an immediate consequence of Definition 2.1.4. Proposition 2.1.2. If X and Y are finite CW-subspaces of some ambient CW-space then

χ(X ∪ Y) = χ(X) + χ(Y) − χ(X ∩ Y). If X and Y are finite CW-spaces then the product space X × Y is also a finite CW-space q q p p whose k-cells are the products eλ × eμ of the p-cells eλ in X and q-cells eμ in Y with p + q = k. The following is a second easy consequence of Definition 2.1.4. Proposition 2.1.3. Finite CW-spaces X and Y satisfy

χ(X × Y) = χ(X)χ(Y). Propositions 2.1.2 and 2.1.3 suggest that χ(X) is, in some vague sense, an integer valued ‘measure’ on CW-spaces. This observation has motivated the study of an integration theory based on the Euler characteristic [283]. The ‘Euler integral’ is particularly easy to define for integer valued functions w : X → Z on a finite CW-space X that are constant on each open cell ekλ of X. We call such a function a weight function and think of it as assigning an integer weight w(ekλ ) to each cell. Definition 2.1.5. For a weight function w : X → Z on a finite CW-space X one defines

the Euler integral

 w dχ = X



  (−1)k w ekλ

ekλ ⊂X

where ekλ ranges over all cells in X. For any CW-subspace U ⊂ X let 1U : X → Z be defined by 1U (x) = 1 for x ∈ U and 1U (x) = 0 for x ∈ / U. Then clearly  1U dχ = χ(U). (2.4) X

Furthermore, the integral satisfies    v + w dχ = v dχ + w dχ X

X

X

(2.5)

Chain Complexes and Euler Integrals | 133

for weight functions v, w on X, and     w dχ = w dχ + w dχ − X∪Y

X

Y

w dχ

(2.6)

X∩Y

for X, Y CW-subspaces of some ambient space on which w is defined. Example 2.1.5. Figure 2.1 (right) shows a pure cubical complex M. A weight function

w : M → Z is partially represented in Figure 2.1 (left). The left-hand image involves three shades of grey: light grey for w(x) = 1; grey for w(x) = 2; dark grey for w(x) = 3. For each 2-cell e2λ in M and each x ∈ e2λ the value of w(x) corresponds to the shade of grey in the left-hand image. For k-cells ekλ with k < 2 and x ∈ ekλ we define w(x) to be equal to the maximum value of the weight function attained on 2-cells containing ekλ in their boundary. The following GAP session reads in this weight function w and computes the Euler integral over M. The image of Figure 2.1 (left) is available as [image2.1.2.eps]. GAP session 2.1.5 gap> x:=ReadImageAsWeightFunction("image2.1.2.eps",3);; gap> M:=x[1]; Regular CW-complex of dimension 2 gap> w:=x[2]; function( k, i ) ... end gap> EulerIntegral(M,w); 32

 It is not altogether chance that the integral M w dχ = 32 equals the number of distinct letters in Figure 2.1. The equality is explained by the following result and the fact that no two letters in Figure 2.1 (left) have boundaries that are tangential to each other at  any point. Proposition 2.1.4. [14] Let U1 , . . . , Ut ⊂ X be CW-subspaces of a finite CW-space X with

X = U1 ∪ . . . ∪ Ut and χ(U1 ) = χ(U2 ) = . . . = χ(Ut ) = C  = 0. Let w : X → Z be the weight function defined by w(x) = |{i : x ∈ Ui }|. Then  1 w dχ. t= C X

Proof.

 w dχ = X

  X 1≤i≤t

1Ui dχ =

 1≤i≤t X

1Ui dχ =



χ(Ui ) = tC.

1≤i≤t



134 | Cellular Homology

In preparation for the definition of the chain complex C∗ (X) of an arbitrary regular CWspace X we introduce the notion of barycentric subdivision. Definition 2.1.6. For any regular CW-space X we define sd(X) to be the simplicial

complex with one vertex for each cell in X, and with one k-simplex for each sequence e0 , e1 , · · · , ek of cells of X with ei of dimension i for 0 ≤ i ≤ k and with ei−1 in the boundary of ei for 1 ≤ i ≤ k. The geometric realization |sd(X)| is called the barycentric subdivision of X. Figure 2.2 (right) illustrates the barycentric subdivision |sd(X)| of the surface X of a 3-dimensional cube with standard CW-structure. Barycentric subdivision is a functor |sd(−)| : (regular CW − spaces) → (simplicial spaces) in the sense that a strictly cellular map of regular CW-spaces f : X → Y induces a strictly cellular map of simplicial spaces |sd( f )| : |sd(X)| → |sd(Y)|. For any k-cell ek in X the closure ek is a CW-subspace of X that is homeomorphic to the subspace |sd(ek )| ⊆ |sd(X)|. By patching together these homeomorphisms for all cells ek in X one obtains the following classical result. For more details see for instance [183]. Proposition 2.1.5. Any regular CW-space X is homeomorphic to the geometric realization

of its barycentric subdivision |sd(X)|.

Any ordering on the cells of a regular CW-space X can be viewed as an ordering on the vertices of the simplicial complex sd(X) and used to construct the chain complex C∗ (sd(X)). The inclusion of skeleta X k−1 → X k induces an inclusion of simplicial complexes sd(X k−1 ) → sd(X k ) and an inclusion of chain complexes C∗ (sd(X k−1 )) → C∗ (sd(X k )). The boundary homomorphism Ck (sd(X k )) → Ck−1 (sd(X k )) induces a homomorphism

Figure 2.2 Standard hollow 3-cube and its barycentric subdivision.

Chain Complexes and Euler Integrals | 135

δk : Ck (sd(X k )) → Ck−1 (sd(X k )) / Ck−1 (sd(X k−1 )). We define Hk (X k , X k−1 ) = ker(δk ) for k ≥ 1 and H0 (X 0 , X −1 ) = C0 (sd(X 0 )). Note that each Hk (X k , X k−1 ) is free abelian since, by definition, it is a subgroup of a free abelian group. The boundary homomorphisms Ck (sd(X k )) → Ck−1 (sd(X k )) induce a sequence of homomorphisms ∂k

∂k−1

· · · −→ Hk (X k , X k−1 ) −→ Hk−1 (X k−1 , X k−2 ) −→ · · · .

(2.7)

One can check that 2.7 is a chain complex. A variant of the following result (involving singular homology) is proved in standard texts such as [150, Lemma 2.34]. Proposition 2.1.6. For any regular CW-space X the group Hk (X k , X k−1 ) is free abelian with

free basis consisting of one generator for each k-cell of X. Definition 2.1.7. For any regular CW-space X with some ordering on its cells we set

Ck = Hk (X k , X k−1 ) and denote by C∗ (X) the chain complex 2.7. We call C∗ (X) the cellular chain complex of X.

Proposition 2.1.7 below can be used to check that Definition 2.1.7 is consistent with Examples 2.1.1, 2.1.2 and 2.1.3. The usefulness of the definition stems from Theorem 2.3.8 below. A careful proof of Proposition 2.1.6 would establish that the boundary homomorphism ∂k : Ck (X) → Ck−1 (X)

(2.8)

has the form     ekλ , ek−1 ek−1 ∂k ekλ = μ μ ek−1 μ ⊂X

where ek−1 μ ranges over all (k − 1)-cells of X and 

ekλ , ek−1 μ



=

k ±1 if ek−1 μ lies in the boundary of eλ ,

0

otherwise.

(See for instance [203] for more details.) The integers ekλ , ek−1 are called incidence μ numbers. Their sign could be computed directly from their definition. However, it is more efficient to compute signs inductively up to plus-minus equivalence (see Definition 2.1.8) using Proposition 2.1.7.

136 | Cellular Homology Definition 2.1.8. Let us say that two chain complexes of free abelian groups (C∗ , ∂∗ ) and

(C∗ , ∂∗ ) are plus-minus equivalent if the free abelian groups Ck = Ck are equal for each k ≥ 0 and admit bases B ⊂ Ck such that ∂k (b) = ±∂k (b) for all b ∈ B, k ≥ 1.

It is an easy exercise to establish that plus-minus equivalent chain complexes C∗ and C∗ have isomorphic homology Hk (C∗ ) ∼ = Hk (C∗ ) for k ≥ 0. Proposition 2.1.7. Let X be a regular CW-space and let Ck be the free abelian group formally

generated by the k-cells of X. Let ∂k : Ck → Ck−1 be any sequence of homomorphisms satisfying = 0 for k ≥ 1; (i) ∂k ∂k+1  k k k−1 eμ where ek−1 (ii) ∂k (eλ ) = ek−1 ⊂X λ,μ μ ranges over all (k − 1)-cells of X and μ

k λ,μ =

k ±1 if ek−1 μ lies in the boundary of eλ , 0

otherwise;

1 1 1 0 0 (iii) λ,μ λ,μ = −1 whenever two vertices eμ , eμ are incident with a common 1-cell eλ .

Then the chain complex (C∗ , ∂∗ ) is plus-minus equivalent to the chain complex (C∗ (X), ∂) defined in 2.1.7. Proof. One can check that incidence numbers satisfy [e1λ , e0μ ][e1λ , e0μ ] = −1 whenever two distinct vertices e0μ , e0μ are incident with a common 1-cell e1λ . Hence, by modifying ∂1 up to plus-minus equivalence if necessary, we can assume ∂1 = ∂1 . Suppose that, after suitable modifications up to plus-minus equivalence, we have ∂i = ∂i for i ≤ k − 1. For each k-cell ekλ , k ≥ 2, we can choose some preferred (k − 1)-cell ek−1 μ in k k k−1 its boundary. Working up to plus-minus equivalence we can assume λ,μ = [eλ , eμ ]. k−1 For any (k − 2)-cell ek−2 ν in the boundary of eμ there is exactly one other (k − 1)-cell k k−2 in its boundary. Since ek−1 μ which lies in the boundary of eλ and which contains eν k k k k−1 k k−1 ∂ = ∂ ∂k−1 k−1 ∂k = 0 we must have λ,μ = − λ,μ = −[eλ , eμ ] = [eλ , eμ ]. This k

k−1 k k k−1 in the argument extends to show that λ,μ = [eλ , eμ ] for all (k − 1)-cells eμ

boundary of ekλ . Thus ∂k = ∂k . The proposition then follows by induction.



The inductive proof of Proposition 2.1.7 can be used to compute incidence numbers for a regular CW-space. HAP uses the following data type to store the output of the computation. Data type 2.1.2. A choice of incidence numbers for a regular CW-space can be repre-

sented by a regular CW-complex X with the following additional component. • X!.orientation[k][i] is a list of the incidence numbers of the cells in the boundary of the ith cell of dimension k. So X!.orientation[k][i][j] is the incidence number (+1 or −1) of the jth cell in the boundary of the ith cell of dimension k.

Euler Characteristics and Group Presentations | 137 Example 2.1.6. The following GAP session first constructs a CW-structure on the

unit square Y = [0, 1] × [0, 1] involving four 0-cells, four 1-cells and one 2-cell. It then computes and displays incidence numbers for the CW-structure. GAP session 2.1.6 gap> B:=[ [ [ 1, 0 ], [ 1, 0 ], [ 1, 0 ], [ 1, 0 ] ], > >

[ [ 2, 2, 1 ], [ 2, 3, 1 ], [ 2, 4, 2 ], [ 2, 4, 3 ] ], [ [ 4, 4, 2, 1, 3 ] ], [ ] ];;

gap> Y:=RegularCWComplex(B); Regular CW-complex of dimension 2 gap> OrientRegularCWComplex(Y); gap> Y!.orientation; [ [ [ 1 ], [ 1 ], [ 1 ], [ 1 ] ], [ [ 1, -1 ], [ 1, -1 ], [ 1, -1 ], [ 1, -1 ] ], [ [ 1, 1, -1, -1 ] ], [ ] ]

The following commands use these incidence numbers to construct the chain complex C∗ (Y). The ranks of the free abelian groups Ck (Y) are listed, and the final command ∂2

∂1

verifies that the composite homomorphism C2 (Y) → C1 (Y) → C0 (Y) is indeed zero. GAP session 2.1.6 gap> C:=ChainComplexOfRegularCWComplex(Y); Chain complex of length 2 in characteristic 0. gap> List([0..3],n->C!.dimension(n)); [ 4, 4, 1, 0 ] gap> BoundaryMatrix(C,1)*BoundaryMatrix(C,2); [ [ 0 ], [ 0 ], [ 0 ], [ 0 ] ]



2.2 Euler Characteristics and Group Presentations Euler characteristics can be used to derive certain properties of finitely presented groups. Consider such a group G with finite presentation G ∼ = x | r. Each relator r ∈ r is an element in the free group F = F(x) and as such has a unique expression as a word

138 | Cellular Homology x

y

y

y

z

x

y

z x

y

x

y

x *

z

*

*

z

z

Figure 2.3 Disks for G ∼ = x, y, z | xyxy −1 x−1 y −1 , yzyz−1 y −1 z−1 , xyx−1 y −1 .

r = x i11 x i22 · · · xikk , i = ±1,

(2.9)

of minimal length k in the generators xi ∈ x. We say that the relator is cyclically reduced if no conjugate of r can be expressed as a word in the generators of shorter length, and we say that a presentation is cyclically reduced if all its relators are. In this section we assume j j+1 that the presentation x | r is cyclically reduced. We say that strings of the form xij xij+1 or xikk x i11 arising from the expression 2.9 are corners of the relator r. The relator r can be visualized as the boundary of a polygonal disk D(r) in the plane, each edge oriented by an arrow and labelled by a generator such that the boundary spells the word r when reading in the clockwise direction from a preferred corner marked by an ∗. We call D(r) the relator disk of r. Example relator disks are shown in Figure 2.3. To the presentation x | r one can associate an undirected graph S = S(x | r) called its star graph (also known as the Whitehead graph). This has one vertex for each generator in x and one vertex for the inverse of each generator. There is a single undirected edge between vertices u and v−1 if the word uv corresponds to precisely one corner of a relator. There are two undirected edges between vertices u and v−1 if the word uv occurs as a corner more than once. See Figure 2.4 for an illustration. Definition 2.2.1. We define a combinatorial angle function for the cyclically reduced

presentation x | r to be an assignment of some positive number θ(A) to each edge A in the star graph S(x | r) such that:

i) θ(A) = θ(A ) whenever two edges A and A connect the same pair of vertices; ii) for each relator r ∈ r of length k the corners of the relator disk D(r) corresponding to (not necessarily distinct) edges A1 , A2 , . . . Ak in the star graph are assigned numbers satisfying θ(A1 ) + θ(A2 ) + . . . + θ(Ak ) = (k − 2)π .  | r) be the free G-equivariant CW-space whose quotient K = X/G is the Let X = K(x 2-complex of the presentation described in Definition 1.10.1. Suppose that M ⊂ X is a finite CW-subspace of X and that M is a closed surface. That is, suppose that M is locally homeomorphic to R2 (which implies that M has no boundary points). For each 0-cell v ∈ M we draw a small circle (or simple closed curve) γv on M centred at v. Travelling once around this curve γv we pass through a sequence of corners of relator disks; this sequence of corners specifies a closed circuit v in the star graph. The circuit v includes

Euler Characteristics and Group Presentations | 139 z

y

x

x–1

y–1

z–1

Figure 2.4 Star graph for presentation of Figure 2.3.

one edge of the star graph for each corner in the sequence, and edges may occur more than once in v . With respect to a given combinatorial angle function we define the combinatorial curvature at each 0-cell v in M to be  C (v) = 2π − θ(A) (2.10) A∈v

where A ranges over all edges in the circuit v including repeated edges. We define the combinatorial curvature of M to be  C (M) = C (v) (2.11) v∈M0

where v ranges over all 0-cells in M. Example 2.2.1. For the finitely presented group

G∼ = x, y, z | xyxy−1 x−1 y−1 , yzyz−1 y−1 z−1 , xyx−1 y−1  we have a combinatorial angle function θ that assigns the value 2π/3 to each edge of the star graph representing the corner of a hexagonal relator disk, and the value π/2 to each edge representing the corner of a rectangular relator disk. Consider the surface M illustrated in Figure 2.5. With respect to our choice of θ the combinatorial curvature at each 0-cell of M is 2π − π/2 − 2π/3 − 2π/3 = π/6. The CW-space M has 24 0-cells  and combinatorial curvature C(M) = 24π/6 = 4π.

140 | Cellular Homology x

z

z

x

y

y y

y x z y

z

y

x

x

x

x y

z

z y z

z

x

x z

z

x

y y

y x

z z

x

y

Figure 2.5 A surface M for the presentation of Figure 2.3.

Proposition 2.2.1. Let x | r be a presentation endowed with a combinatorial angle

 function θ . Let M be a closed surface arising as a finite CW-subspace of X = K(x | r). The Euler characteristic of M and the curvature of M (with respect to θ ) are related by the formula C (M) = 2πχ(M).

Proof. Let v ∈ M0 , e ⊂ M1 and f ⊂ M2 denote the 0-cells, 1-cells and 2-cells in M. For each 2-cell f we write A ∈ f to denote the sequence of (possibly repeated) edges A in the star graph corresponding to the corners of f . As usual, we let αn denote the number of n-dimensional cells in M. Then  C (M) = v∈M0 C (v) 

  = v∈M0 2π − A∈v θ(A)   = 2π α0 − v∈M0 A∈v θ(A)   = 2π α0 − f ⊂M2 A∈f θ(A)  = 2π α0 − f ⊂M2 (|{e : e ⊂ ∂f }| − 2)π = 2π α0 − (2α1 − 2α2 ) π = 2πχ(M). 

Definitions 2.10 and 2.11 and Proposition 2.2.1 have easy and useful extensions to closed  | r) but for which there surfaces M which are not necessarily subspaces of X = K(x exists a suitable local homeomorphism φ : M → X. More precisely, suppose that M is a compact surface. Suppose that φ(M) is a CW-subspace of X and that each point m ∈ M is contained in an open set Ux ⊆ M such that the image φ(Ux ) is open in X and the

Euler Characteristics and Group Presentations | 141

restriction φ|Ux : Ux → φ(Ux ) is a homeomorphism. Under these hypotheses the CWstructure on φ(M) induces a CW-structure on M in which the 2-cells can be viewed as relator disks D(r). Definitions 2.10, 2.11 can be applied to M, as can the proof of Proposition 2.2.1. For brevity we refer to such a surface M as being an x | r-tessellated closed surface. Figure 2.6 illustrates an x | r-tessellated 2-sphere for the presentation x, y | x2 , y2 xy−1 x−1  of the symmetric group S3 ; the 2-sphere is not a subspace of 2 , y2 xy−1 x−1 ) since the sphere has more vertices than there are elements X = K(x, y | x in S3 . Proposition 2.2.1 can be restated in the following more general form. Proposition 2.2.2. Any x | r-tessellated closed surface M satisfies

C (M) = 2πχ(M).

Proposition 2.2.2 is a combinatorial analogue of the Gauss–Bonnet theorem. The proposition appears, for instance, in [129] and implicitly in [200] and is the basis for the small cancellation theory of finitely presented groups. An interesting application in this context arises when a combinatorial angle function θ can be chosen such that the inequality  θ(A) ≥ 2π (2.12) A∈v

holds for each closed circuit v in the star graph S(x | r). In such cases the combinatorial curvature satisfies C (M) ≤ 0 for any x | r-tessellated surface M. In particular, in these cases there can be no x | r-tessellated 2-sphere S2 since χ(S2 ) = 2. (See [114] for twenty elementary proofs of the formula χ(S2 ) = 2. One standard proof considers the x x y y x

y

x

y

x

y

y

x x

x

y

y

y x

x

x x

Figure 2.6 Relator disks and tessellated 2-sphere for the presentation x, y | x2 , y 2 xy −1 x−1 .

142 | Cellular Homology

Figure 2.7 Spanning tree on a sphere.

graph  arising as the 1-skeleton of any regular CW-decomposition of S2 . Such a graph  is illustrated in Figure 2.7 (left) for the permutahedral decomposition of S2 . The dual graph  ∗ has one dual vertex for each 2-cell of the CW-composition, with two dual vertices connected by a dual edge when the corresponding 2-cells of S2 have a boundary edge in common. Choose any spanning tree T in . Such a T is represented by the thicker edges in Figure 2.7 (left). The collection of dual edges corresponding to edges in the complement  \ T form a spanning tree T ∗ for  ∗ . The tree T ∗ is shown with curved edges in Figure 2.7 (right). The two trees T, T ∗ together have α1 = (α0 − 1) + (α2 − 1) edges.) Definition 2.2.2. A cyclically reduced presentation x | r is said to be aspherical if there

exists no x | r-tessellated 2-sphere.

Groups that admit an aspherical presentation have some interesting properties. A flavour of these is illustrated by the following result. Lemma 2.2.3. If a group G admits an aspherical presentation then the group is torsion free.

Proof. Suppose that G has presentation x | r and that some non-trivial element g ∈ G satisfies g n = 1, n ≥ 2. Let w ∈ F(x) be a word representing g. Then the word wn corresponds to a loop w (i.e. a sequence of possibly repeated edges beginning and  ending at the vertex 1) in the 1-skeleton of X = K(x | r). The loop w can be realized as the image of a local homeomorphism γw : S1 → X 1 , and this map can be extended to a local homeomorphism γw : D2 → X since π1 (X) = 0. The CW-structure on X induces a CW-structure on D2 in which each 2-cell is naturally labelled by a relator and each 1-cell is naturally labelled by a generator. This structure on D2 is an example of a van Kampen diagram, a more formal definition of which is given in 2.8.10 below. Now g acts on X as a homeomorphism g : X → X. The composite map gγw : D2 → X also induces a labelled CW-structure on D2 . The two labelled CW-structures on D2

Euler Characteristics and Group Presentations | 143

agree on S1 and so their union yields an x | r-tessellated 2-sphere. The fact that g is non-trivial ensures the local homeomorphism requirement of such a tessellation.  A more satisfying proof of Lemma 2.2.3 will follow from: the discussion in Section 6.2 which establishes that a presentation x | r is aspherical precisely when the associated  2-complex X = K(x | r) is contractible; the observation in Section 3.1 that C∗ X is a free ZG-resolution of Z when X is contractible; the observation that a free ZG-resolution is also a free ZH-resolution for any subgroup H < G; and Proposition 3.2.1(i) which states that no non-trivial finite group H admits a free ZH-resolution of Z of finite length. One can attempt to prove asphericity of a given presentation by systematically solving a set of inequalities. To this end, for each edge A in the star graph we introduce a variable xA . Let 1 , 2 , …, t be the list of all those connected subgraphs of the star graph with the property that each vertex in i is incident with precisely two edges in i . Thus each i is a ‘simple closed loop’. For each subgraph i we introduce the inequality 

xA ≥ 2π.

(2.13)

A∈i

Additionally, for each relator r ∈ r, the sequence of (possibly repeated) corners A1 , . . . , Ak of the relator disk D(r) gives rise to the equality (expressed as two inequalities) xA1 + . . . + xAk −xA1 − . . . − xAk

≥ (k − 2)π . ≥ (2 − k)π

(2.14)

The above discussion of star graphs and combinatorial curvature yields the following result. Lemma 2.2.4. A presentation x | r is aspherical if inequalities 2.13 and 2.14 can be solved

simultaneously for all connected subgraphs i of the star graph in which each vertex has degree 2 and for all relator disks D(r), r ∈ r. Example 2.2.2. Consider the presentation P = x, y, z | xyx = yxy, yzy = zyz, xzx =

zxz. The following GAP session attempts to use Lemma 2.2.4 to prove that this presentation is aspherical. The session calls Polymake software to check if the inequalities 2.13 and 2.14 have a solution. GAP session 2.2.2 gap> F:=FreeGroup(3);;x:=F.1;;y:=F.2;;z:=F.3;; gap> rels:=[x*y*x*(y*x*y)ˆ-1, y*z*y*(z*y*z)ˆ-1, z*x*z*(x*z*x)ˆ-1];; gap> IsAspherical(F,rels); Test inconclusive. fail

144 | Cellular Homology

The session fails to prove asphericity of the presentation. However, by introducing three extra generators a, b, c and relations a = xy, b = yz, c = zx we obtain an alternative presentation P = x, y, z, a, b, c | a = xy, b = yz, c = zx, ax = ya, by = zb, cz = xc of the same group. The GAP session 2.2.2b establishes that P is aspherical. GAP session 2.2.2b gap> F:=FreeGroup(6);; gap> x:=F.1;;y:=F.2;;z:=F.3;;a:=F.4;;b:=F.5;;c:=F.6;; gap> rels:=[aˆ-1*x*y, bˆ-1*y*z, cˆ-1*z*x, a*x*(y*a)ˆ-1, b*y*(z*b)ˆ-1, c*z*(x*c)ˆ-1];; gap> IsAspherical(F,rels); Presentation is aspherical. true

Since any P -tessellated 2-sphere would give rise to a P -tessellated 2-sphere it follows that P is also aspherical. Hence, by Lemma 2.2.3 the group presented by P is torsion free. 

2.3 Chain Maps and Homotopies Let (C∗ , ∂∗ ) and (C∗ , ∂∗ ) be two chain complexes of modules over a ring K. Definition 2.3.1. A chain map φ∗ : C∗ → C∗ consists of a collection of K-linear homo-

morphisms φk : Ck → Ck , k ≥ 0, satisfying ∂k φk = φk−1 ∂k for k ≥ 1.

Two chain maps φ∗ : C∗ → C∗ and ψ∗ : C∗ → C∗ can be composed to form a chain map (ψφ)∗ : C∗ → C∗ with (ψφ)k = ψk φk . We write ψ∗ φ∗ = (ψφ)∗ . This composition yields the category ChainK whose objects are chain complexes of modules over K and whose arrows are the chain maps. We denote by ModK the category of all K-modules and K-homomorphisms. The following proposition is readily verified. Proposition 2.3.1. A chain map φ∗ : C∗ → C∗ induces a K-linear homomorphism Hk (φ∗ ) : Hk (C∗ ) → Hk (C∗ ), z + im ∂k+1 → φk (z) + im ∂k+1

for z ∈ ker ∂k and for each k ≥ 0. This construction yields a functor Hk : ChainK −→ ModK from the category of chain complexes over K to the category of K-modules for k ≥ 0. Definition 2.3.2. Two chain maps φ∗ : C∗ → C∗ , ψ∗ : C∗ → C∗ are chain homotopic

, k ≥ 0, if there exists a collection of K-linear homomorphisms hk : Ck → Ck+1 satisfying

Chain Maps and Homotopies | 145 ∂k+1 hk + hk−1 ∂k = φk − ψk

for k ≥ 0 with h−1 = 0. We write φ∗  ψ∗ to denote chain homotopic chain maps and call the collection of homomorphisms {hk } a chain homotopy. The following proposition is readily verified. Proposition 2.3.2. If two chain maps φ∗ : C∗ → C∗ , ψ∗ : C∗ → C∗ are chain homotopic

then Hk (φ∗ ) = Hk (ψ∗ ) for k ≥ 0.

Definition 2.3.3. A chain map φ∗ : C∗ → C∗ is a homotopy equivalence if there exists a

chain map ρ∗ : C∗ → C∗ such that ρ∗ φ∗  1C∗ and φ∗ ρ∗  1C∗ where 1C∗ , 1C∗ are the identity chain maps.

Definition 2.3.4. A chain map φ∗ : C∗ → C∗ is a weak homotopy equivalence if the

homomorphisms Hk (φ∗ ) are isomorphisms for k ≥ 0.

The following proposition is readily verified using our standing assumption that chain complexes are zero in negative degrees. Proposition 2.3.3. A chain map φ∗ : C∗ → C∗ between free chain complexes is a homotopy

equivalence if and only if it is a weak homotopy equivalence.

A pair of composable chain maps φ∗

ψ∗

C∗  C∗  C is said to be a short exact sequence of chain complexes if φk is injective, ψk is surjective and im φk = ker ψk for all k ≥ 0. A composable sequence of K-module homomorphisms αk+2

αk+1

αk−1

αk

· · · → Ak+1 → Ak → Ak−1 → · · · is said to be a long exact sequence of modules if ker αk = im αk+1 for all k. The following proposition is readily verified. Proposition 2.3.4. A short exact sequence of chain complexes φ∗

ψ∗

C∗  C∗  C gives rise to a (functorial) long exact sequence of homology modules Hk+1 (φ∗ )

Hk+1 (ψ∗ )

· · · −→ Hk+1 (C∗ ) −→ Hk+1 (C∗ ) −→ Hk+1 (C∗ ) k+1

Hk (φ∗ )

Hk (ψ∗ )

−→ Hk (C∗ ) −→ Hk (C∗ ) −→ · · · for k ≥ 0. The homomorphisms k+1 are called connecting homomorphisms. It is convenient to have a purely algebraic version of Theorem 1.5.1 in which regular CWspaces are replaced by chain complexes. To this end we provide algebraic analogues of Definitions 1.5.1 and 1.4.1 and give the routine translation of results from Section 1.5 on discrete vector fields into the purely algebraic setting.

146 | Cellular Homology Definition 2.3.5. A discrete vector field on a chain complex (C∗ , ∂∗ ) of free K-modules

consists of a choice of basis bk for each K-module Ck , k ≥ 0, together with a collection of formal arrows s → t where 1. s ∈ bk , t ∈ bk+1 for some k ≥ 0 and ∂k+1 t = λs s +



λe e

e∈bk \{s}

with λs , λe ∈ K and with λs invertible. We say that s and t are involved in the arrow, that s is the source of the arrow and that t is the target of the arrow. 2. any basis element e ∈ bk , k ≥ 0, is involved in at most one arrow. A discrete vector field is said to be finite if it contains only finitely many arrows. For w ∈ Ck and e ∈ bk we define we ∈ K by the expression w = e∈b we e and say that we is the k coefficient of e in w. A chain in a discrete vector field is a sequence of arrows . . . , s 1 → t1 , s2 → t2 , s3 → t3 , . . . where si+1 has an invertible coefficient in the boundary of ti for each i. A chain is said to be a circuit if it is of finite length with source s1 of the initial arrow s1 → t1 having an invertible coefficient in the boundary of the target tn of the final arrow sn → tn . A discrete vector field is said to be admissible if it contains no circuits and no chains that extend infinitely to the right. We say that an admissible discrete vector field is maximal if it is not possible to add an arrow while retaining admissibility. A basis element e ∈ bk is said to be critical if it is not involved in any arrow. Any discrete vector field on a regular CW-complex X induces, in the obvious way, a discrete vector field on the chain complex C∗ (X). The papers [15, 268] were among the first to consider discrete vector fields on chain complexes not arising directly from cellular spaces. Definition 2.3.6. We say that a chain complex D∗ is obtained from a free chain complex

C∗ by an elementary collapse, and write C∗  D∗ , if

1. D∗ is a subcomplex of C∗ (i.e. Dk is a submodule of Ck for k ≥ 0 and the inclusions Dk ⊆ Ck constitute a chain map D∗ → C∗ ), 2. there exists an n ≥ 0 such that Dk = Ck for k  = n, n − 1 and Cn ∼ = Dn ⊕ K, Cn−1 ∼ = Dn−1 ⊕ K. 3. the boundary homomorphism ∂n : Dn ⊕ K → Dn−1 ⊕ K maps (0, 1) → (w, λ) with λ an invertible element in K. In this case we also write D∗  C∗ and say that C∗ is obtained from D∗ by an elementary expansion. We write C∗ ↔ D∗ to denote that D∗ is obtained from C∗ by either an elementary expansion or an elementary collapse. Two free chain complexes C∗ , C∗ are said to be simply homotopic, and to be of the same simple homotopy type, if there exists a sequence of elementary homotopy collapses and/or expansions C∗ ↔ D∗ ↔ D ∗ ↔

Chain Maps and Homotopies | 147 D ∗ ↔ . . . ↔ D ∗ ↔ C∗ . We denote the existence of such a sequence by C∗  C∗ . We write C∗  C∗ to denote the existence of some sequence of elementary collapses starting with C∗ and ending with C∗ .

We now give algebraic analogues of Proposition 1.4.3 and Theorem 1.5.1. Proposition 2.3.5. If a chain complex D∗ is obtained from a free chain complex C∗ by an

elementary collapse then the inclusion chain map D∗ → C∗ is a homotopy equivalence. Proof. The quotient chain complex C∗ /D∗ is such that  Z, k = n, n − 1, Ck /Dk ∼ = 0, k  = n, n − 1, for some n ≥ 1; the induced boundary homomorphism ∂k : Ck /Dk → Ck−1 /Dk−1 is an isomorphism for k = n by virtue of 2.3.6(3) and thus Hk (C∗ /D∗ ) = 0 for k ≥ 0. Applying Proposition 2.3.4 to the short exact sequence D∗ → C∗ → C∗ /D∗ establishes that the inclusion D∗ → C∗ is a weak homotopy equivalence. The result  then follows from Proposition 2.3.3. When an inclusion chain map D∗ → C∗ is a homotopy equivalence we say that D∗ is a weak deformation retract of C∗ . Theorem 2.3.6. Let C∗ be a free chain complex endowed with an admissible discrete vector

field. There exists a homotopy equivalence C∗  D∗ with D∗ a chain complex in which Dk is the free module generated by the critical elements of the basis bk ⊂ Ck , k ≥ 0. Proof. Let C∗n denote the chain subcomplex of C∗ generated by bk for 0 ≤ k ≤ n. Let T∗n denote the subcomplex of C∗ generated by bk for 0 ≤ k ≤ n together with all those elements in the basis bn+1 that occur as the target of some arrow in the vector field. Denote by V∗n+1 the subcomplex of C∗ generated by bk for 0 ≤ k ≤ n together with all those elements in the basis bn+1 that are either targets of arrows or critical. We take V∗0 to be the subcomplex generated by the critical basis elements in b0 . There are inclusion chain maps V∗n ⊆ C∗n ⊆ T∗n ⊆ V∗n+1 . We construct the chain complex D∗ recursively by defining subcomplexes Dn∗ ⊆ D∗ with Dnk = Dk for 0 ≤ k ≤ n, Dnk = 0 for k ≥ n + 1. We begin by defining D0∗ = V∗0 . Suppose now that, for some n ≥ 0, we have constructed a homotopy equivalence ν∗ : V∗n → Dn∗ where Dnk is the free K-module generated by the critical elements in bk for k ≤ n. Using Proposition 2.3.5 we can establish that the chain inclusion V∗n ⊆ T∗n is a homotopy equivalence. Assume that V∗n  = T∗n so that there is something to establish. Let us first consider the easier case where the vector field is finite. Then, since the discrete vector field is admissible, there must be some element en ∈ bk ⊂ T∗n that

148 | Cellular Homology

is the source of the initial arrow en → en+1 of some maximal chain of arrows in n ⊂ T n denote the subcomplex of T∗n generated by the vector field on T∗n . Let T1,∗ all free generators of T n except for en and en+1 . We have an elementary collapse n n and thus T1,∗ is a weak deformation retract of T∗n by Proposition 2.3.5. T∗n  T1,∗ n n we obtain a weak deformation retract T2,∗

→ Applying the same procedure to T1,∗ n n n T1,∗ with V∗ ⊆ T2,∗ . Repeating the procedure we obtain a finite sequence of weak deformation retracts n n n  Tk−1,∗  · · ·  T1,∗  T∗n . V∗n  Tk,∗

Therefore there exists a chain map τ∗ : T∗n → V∗n which is a homotopy equivalence. When the vector field contains infinitely many arrows then a maximal chain of arrows may be an infinite sequence of arrows and contain no initial arrow. This technical difficulty can be overcome by choosing an increasing filtration F0 ⊂ F1 ⊂ F2 ⊂ · · · where each Fi is a set consisting of finitely many arrows in the vector field such that ∪∞ i=0 Fi is the set of all arrows in the vector field. The homotopy equivalence τ∗ : T∗n → V∗n is obtained as the limit of the homotopy equivalences arising from the finite vector fields Fi . We have a composite homomorphism τn

∂n+1

νn

κn : Cn+1 −→ Cn → Tnn −→ Vnn −→ Dnn . We take Dn+1 n+1 to be the submodule of Cn+1 generated by the critical basis elements n n+1 to be the and we define ∂n+1 : Dn+1 n+1 → Dn to be the restriction of κn . We take D∗ chain complex ∂n+1

n n n · · · → 0 → Dn+1 n+1 −→ Dn → Dn−1 → · · · → D0 .

The construction of Dn+1 is such that the homotopy equivalence ν∗ : V∗n → Dn∗ ∗ extends to a homotopy equivalence ν∗ : V∗n+1 → Dn+1 ∗ . Since this homotopy equiva lence holds for all n  = 0 it establishes C∗  D∗ . An analysis of the preceding proof yields the following restatement of Theorem 2.3.6 which is more suitable for computer implementation. The recursive construction of ρk (e) in this restatement terminates after finitely many steps due to the admissibility of the vector field. Theorem 2.3.7. Let (C∗ , ∂∗ ) be a chain complex endowed with an admissible discrete vector

field. For k ≥ 0 let Dk be the submodule of Ck freely generated by the critical elements of the basis bk ⊂ Ck . For k ≥ 0 let ρk : Ck → Ck be the K-linear homomorphism recursively defined on basis elements e ∈ bk by ⎧ e if e is critical, ⎪ ⎪ ⎪ ⎪ if e is the target of an arrow, ⎨0 ρk (e) = ρk (e − w−1 e w) for w = t ∂k+1 (t) if e is the source of an arrow ⎪ ⎪ e → t with t ∈ bk+1 and e ⎪ ⎪ ⎩ occurring with sign t in ∂k+1 t.

Chain Maps and Homotopies | 149

Then the image of ρk lies in Dk and the composite homomorphisms ρk ∂k restrict to homomorphisms δk : Dk → Dk−1 that satisfy δk δk+1 = 0 for k ≥ 1. The chain complex (D∗ , δ∗ ) is homotopy equivalent to (C∗ , ∂∗ ). Example 2.3.1. The following GAP session creates the direct product Y = K × K of two copies of the Klein bottle and represents it as a regular CW-complex. It then creates the cellular chain complex C∗ = C∗ Y. Next it uses a discrete vector field on Y to create the homotopy equivalent chain complex D∗ of Theorem 2.3.7. The session compares the ranks of the terms of the two chain complexes. For instance, C4 is a free abelian group of rank 324 and D4 has rank 1. The final command computes H2 (C∗ Y) ∼ = H2 (D∗ ) = (Z2 )3 ⊕ Z.

GAP session 2.3.1 gap> 2simplices:= > [[1,2,5], [2,5,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], > [4,5,8], [4,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7], > [1,4,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> K:=SimplicialComplex(2simplices);; gap> K:=RegularCWComplex(K);; gap> Y:=DirectProduct(K,K); Regular CW-complex of dimension 4 gap> C:=ChainComplexOfRegularCWComplex(Y); Chain complex of length 4 in characteristic 0 . gap> D:=ChainComplex(Y); Chain complex of length 4 in characteristic 0 . gap> List([0..4],C!.dimension); [ 81, 486, 1053, 972, 324 ] gap> List([0..4],D!.dimension); [ 1, 4, 6, 4, 1 ] gap> Homology(D,2); [ 2, 2, 2, 0 ]

When the function ChainComplex(X) is applied to a simplicial complex X or a pure cubical/permutahedral complex X it returns the cellular chain complex of X. However, when applied to a regular CW-complex X it returns the chain complex D∗ of Theorem 2.3.7 constructed from some discrete vector field on X. To obtain the cellular chain complex C∗ X of Definition 2.1.7 the function ChainComplexOfRegularCW Complex(X) needs to be used.

150 | Cellular Homology

Many of our computational homology examples will implicitly use a particular easy case of the following general result. Theorem 2.3.8 (Fundamental theorem of homology). Let X and Y be homotopy equiva-

lent spaces. Suppose that each space is endowed with some regular CW-structure with respect to which the chain complexes C∗ (X) and C∗ (Y) are defined. Then there exists a chain homotopy equivalence C∗ (X) → C∗ (Y). Consequently there is a homology isomorphism Hk (C∗ (X)) → Hk (C∗ (Y)) for k ≥ 0. A proof of Theorem 2.3.8 can be found in standard topology texts such as [150, 203, 273]. The particular case of the result underlying many of our computational examples is the following corollary to Propositions 2.3.5 and 2.3.3. Corollary 2.3.9. If a regular CW-space X is obtained by an elementary homotopy expan-

sion from a regular CW-space Y then the inclusion Y → X induces an isomorphism Hk (C∗ Y) ∼ = Hk (C∗ X) for k ≥ 0. Proof. The elementary expansion of regular CW-spaces Y  X induces an elementary expansion of chain complexes C∗ (Y)  C∗ (X). Propositions 2.3.3 and 2.3.5 imply that the induced homology homomorphism Hk (C∗ Y) → Hk (C∗ X) is an isomor phism for k ≥ 0. If Algorithm 1.4.1 is used to construct a deformation retract of CW-complexes Y ⊂ X then Corollary 2.3.9 implies an isomorphism Hk (C∗ Y) ∼ = Hk (C∗ X) for k ≥ 0. The deformation retract produced by Algorithm 1.4.3 also boils down to being a sequence of elementary expansions. Thus any deformation retract Y ⊂ X of lattice complexes produced from Algorithm 1.4.3 again induces an isomorphism Hk (C∗ Y) ∼ = Hk (C∗ X) for k ≥ 0. We have defined the chain complex C∗ (X) of a regular CW-space X but have avoided the subtleties needed to define this chain complex for arbitrary CW-spaces. For X a regular CW-space endowed with an admissible discrete vector field, and for Y the homotopy equivalent CW-space asserted by Theorem 1.5.1 (cf. Example 1.5.1) we write C∗ (Y) to denote the chain complex over Z obtained by applying Theorem 2.3.6 to the discrete vector field induced on C∗ (X). This usage is consistent with the definition of the cellular chain complex C∗ (Y) of an arbitrary CW-space Y found in topology texts. Definition 2.3.7. We define the integral homology of a CW-space Y to be the abelian

group Hk (Y, Z) = Hk (C∗ Y) for k ≥ 0. We often write Hk (Y) as an abbreviation for Hk (Y, Z).

2.4 Homology over Fields Throughout this section we take K to be a field unless otherwise stated, and consider chain complexes (C∗ , ∂∗ ) over K. The homology Hn (C∗ ) = ker ∂n /im ∂n+1 is thus a vector space of dimension βn (C∗ ) = dimK (Cn ) − dimK (im ∂n ) − dimK (im ∂n+1 ). The Betti number βn = βn (C∗ ) can be computed from a matrix representation of the homomorphisms ∂n and ∂n+1 using the Gaussian elimination procedure from elementary linear algebra. We begin by recalling details of this basic procedure.

Homology over Fields | 151

Let A be an m × n matrix with entries in K. We write A[i] to denote the ith row of A, and A[i][j] to denote the entry in the ith row and jth column. We say that A[i][j] is a leading entry if A[i][j]  = 0 and A[i][j ] = 0 for 1 ≤ j ≤ j − 1. A zero row has no leading entry. For any subset I ⊆ {1, . . . , m} let A[I] be the submatrix obtained by deleting each row A[i] where i ∈ / I. Recall that the matrix A is said to be in echelon form if: (i) every leading entry is equal to 1 and, (ii) all entries directly below any leading entry are zero. The matrix A is in semiechelon form if it can be transformed to echelon form simply by permuting rows. Three elementary row operations on a matrix A are: Row Operation I. A[i] ← A[i] + λA[j] where λ ∈ K, j  = i. (Add a multiple of the jth row to the ith row with j  = i.) Row Operation II. A[i] ← λA[i] where 0  = λ ∈ K. (Replace the ith row by a non-zero multiple of itself.) Row Operation III. A[i] ↔ A[j]. (Interchange the ith and jth rows.) Two matrices A, B are said to be row-equivalent if B can be obtained from A by applying a sequence of row operations of type I, II and III. The matrices are said to be column equivalent if their transposes are row-equivalent. Recall that the rank of a matrix A can be defined as the number rankK (A) of non-zero rows in any semi-echelon matrix E that is row-equivalent to A. Recall also that if A represents the linear map ∂n then rankK (A) = dimK (im ∂n ). The homology, or Betti numbers, of a chain complex C∗ over the field K can thus be computed using the row reduction Algorithm 2.4.1. Algorithm 2.4.1 Semi-echelon matrix.

Input: An m × n matrix A over a field K and a (typically empty) set I ⊂ {1, . . . , m} for which the submatrix A[I] is semi-echelon. Output: An m × n semi-echelon matrix E which is row-equivalent to A and which satisfies E[I] = A[I]. 1: procedure 2: Initialize E := A. 3: Initialize heads := [0, ..., 0] a list of n zeros. 4: while some column E[∗][j] contains more than one leading entry do 5: Choose some leading entry E[i][j] in the column, choosing i ∈ I when possible.

152 | Cellular Homology

6: Apply E[i] ← λE[i] with λ = E[i][j]−1 . 7: for each row E[i ] with a leading entry E[i ][j ] such that i  = i, j ≤ j and heads[j ] = 0 do 8: Apply E[i ] ← E[i ] − λE[i] where λ = E[i ][j]. 9: end for 10: Set heads[j] := 1. 11: end while 12: Return E. 13: end procedure We don’t consider roundoff errors since all algorithms need to be implemented using exact arithmetic. When implementing Algorithm 2.4.1 for large sparse matrices, performance on some examples is improved by always choosing the leading entry E[i][j] in line 5 such that the row E[i] contains as few non-zero entries as possible. The Betti numbers of a finite regular CW-space X are defined to be βk (X) = βk (C∗ (X)) where C∗ (X) is the cellular chain complex of X over Z. These Betti numbers can also be computed from a chain complex over Q. To this end we associate to each finitely generated free abelian group C = Zd the vector space C ⊗Z K = Kd over the field K, and to any homomorphism of free abelian groups f : C → D the canonically induced homomorphism f ⊗Z K : C ⊗Z K → D ⊗Z K (cf. Definition 2.6.2). Applying this construction to the free Z-modules and boundary homomorphisms in C∗ (X) yields a chain complex C∗ (X) ⊗Z K over the field K. One readily deduces from Definition 2.1.2 that βk (C∗ (X)) = βk (C∗ (X) ⊗Z Q).

(2.15)

We can thus use Algorithm 2.4.1 and the right-hand side of 2.15 to compute the Betti numbers βk (X). The following definition yields examples of simplicial complexes on which one can test implementations of Algorithm 2.4.1 in Betti number computations. Definition 2.4.1. Let G be a graph with vertex set V and edge set E ⊆ {{v0 , v1 } : v0  =

v1 , v0 , v1 ∈ V}. The clique complex of the graph, denoted by K = Clique(G), is the simplicial complex with vertex set V and with one k-simplex σ ∈ K for each subset of vertices σ = {v0 , . . . , vk } ⊆ V in which every pair of vertices forms an edge {vi , vi } ∈ E. This simplicial complex K is also referred to as the Vietoris–Rips complex of G.

Example 2.4.1. Let G = G(n, p) be the Erdõs–Rényi random graph described in Exam-

ple 1.6.6. Set K(n, p) = Clique(G(n, p)). A plot of β0 (K(n, p)) against p is illustrated

Homology over Fields | 153

in Figure 1.48. The following GAP session uses Algorithm 2.4.1 to produce plots of βk (K(n, p)) against p for k = 1, 2. The plots are shown in Figure 2.8. GAP session 2.4.1 gap> n:=100;; Betti1:=[];; Betti2:=[];; gap> for p in [0..90]*(1/200) do > G:=RandomSimplicialGraph(n,p);; > K:=CliqueComplex(G,3);; > Add(Betti1,[p,BettiNumber(K,1)]); > Add(Betti2,[p,BettiNumber(K,2)]); > od; gap> ScatterPlot(Betti1); gap> ScatterPlot(Betti2);

It is shown in [175] that the Betti numbers βk (K(n, p)) are normally distributed for large  n. This theoretical result is reflected in Figure 2.8. The following analogue of Definition 2.4.1 for 2-complexes provides further interesting examples of simplicial complexes. Definition 2.4.2. Let Y be a 2-dimensional simplicial complex. The clique complex K =

Clique(Y) is the simplicial complex with the same vertices, edges and 2-simplices as Y. For k ≥ 3 the simplicial complex K has one k-simplex σ ∈ K for each subset of vertices

256

0

624

0

9/20

0

0

Figure 2.8 Plots of βk (K(100, p)) versus p for k = 1 (left) and k = 2 (right).

9/20

154 | Cellular Homology

σ = {v0 , . . . , vk } ⊆ Y 0 in which each triple of vertices forms a 2-simplex {vi , vi , vi } in Y 2 . Example 2.4.2. Let Y = Y(n, p) be the Linial–Meshulam random 2-complex described

in Example 1.6.6. Set L = L(n, p) = Clique(Y). The following GAP session uses Algorithm 2.4.1 to compute the Betti numbers βk (L(n, p)) for k = 2, 3 and n = 60. In contrast to Example 2.4.1 the simplicial complex L is first converted to a CW-space W. A discrete vector field is then constructed on W (using Algorithm 1.5.1) and used to produce a small chain complex homotopy equivalent to C∗ (W)  C∗ (L) (using Theorem 2.3.7) from which the Betti numbers can be more efficiently computed. A plot of βk (L(n, p)) against p is illustrated in Figure 2.9. GAP session 2.4.2 gap> n:=50;; Betti2:=[];; Betti3:=[];; gap> for p in [0..133]*(1/200) do > Y:=RandomSimplicialTwoComplex(n,p);; > K:=CliqueComplex(Y,4);; > W:=RegularCWComplex(K);; > W:=ContractedComplex(W);; > b2:=BettiNumber(W,2);; > Add(Betti2,[p,b2]);; > b3:=BettiNumber(W,3);; > Add(Betti3,[p,b3]);; > od; gap> ScatterPlot(Betti2); gap> ScatterPlot(Betti3);

 2925

0

7242

0

133/200

0

0

Figure 2.9 Plots of βk (L(50, p)) versus p for k = 2 (left) and k = 3 (right).

133/200

Homology over Fields | 155 Example 2.4.3. It can be mathematically insightful, and computationally easier, to compute the Betti numbers

βk (X, K) = rankK (Hk (C∗ (X) ⊗Z K))

(2.16)

for a space X over fields K  = Q. Any chain homotopy equivalence C∗ (X)  C∗ (Y) induces a homotopy equivalence C∗ (X) ⊗Z K  C∗ (Y) ⊗Z K and thus, by Proposition 2.3.3, an equality βk (X, K) = βk (Y, K). Consider for example the circle S1 and the Klein bottle K described in Figure 1.8. In characteristic 0 the Betti numbers β1 (S1 ) = β1 (K) = 1, β2 (S1 ) = β2 (K) = 0 are the same for both spaces. Over the field of two elements K = Z2 the Betti numbers are β1 (S1 , Z2 ) = 1, β2 (S1 , Z2 ) = 0, β1 (K, Z2 ) = 2, β2 (K, Z2 ) = 1 and thus distinguish between the spaces. These Betti numbers for K are computed in the following GAP session. GAP session 2.4.3 gap> 2simplices:= > [[1,2,5], [2,5,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], > [4,5,8], [4,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7], > [1,4,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> K:=SimplicialComplex(2simplices);; gap> C:=ChainComplex(K); Chain complex of length 2 in characteristic 0 . gap> BettiNumber(C,1); 1 gap> BettiNumber(C,2); 0 gap> D:=TensorWithIntegersModP(C,2); Chain complex of length 2 in characteristic 2 . gap> BettiNumber(D,1); 2 gap> BettiNumber(D,2); 1



The following definition presents basic notions from homological algebra that are of interest in a wide range of theoretical and applied settings.

156 | Cellular Homology Definition 2.4.3. A finite sequence of chain map inclusions

C0,∗ ⊆ C1,∗ ⊆ C2,∗ ⊆ · · · ⊆ CT,∗ of chain complexes Ct,∗ over a ring K is said to be a filtered chain complex of filtration length T. For each pair of indices s ≤ t the chain inclusion Cs,∗ ⊆ Ct,∗ induces a homology homomorphism ιs,t k : Hk (Cs,∗ ) → Hk (Ct,∗ ) in each degree k ≥ 0. When K is a field the rank βks,t (C∗,∗ ) = rankK (ιs,t k ) is called the degree k persistent Betti number of the filtered chain complex C∗,∗ . It is convenient to define βks,t (C∗,∗ ) = 0 for s > t. A collection of bases bt,k ⊂ Ct,k for the modules Ct,k is said to be a filtered basis for C∗,∗ if bs,k ⊆ bt,k for all s ≤ t, k ≥ 0. The following data type is used to store filtered chain complexes in HAP. Data type 2.4.1. A filtered chain complex of finitely generated free modules over a ring

K is represented as a component object C which, in addition to the components described in data type 2.1.1, has the following component. • C!.filteredDimension(t,k) is a function which returns the rank of the module Ct,k . The boundary homomorphisms are represented with respect to some choice of filtered basis. The associated function IsHAPFilterdChainComplex(C) (respectively IsHAPFilterdSparseChainComplex(C)) returns the boolean true when C is of this data type.

The boundary homomorphism ∂k : CT,k → CT,k−1 of a filtered chain complex is represented, with respect to a filtered basis b∗,∗ , by a block triangular matrix k = ⎛

a1,1 ⎜ .. ⎜ . ⎜ ⎜ am0 ,1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝

···

a1,n0 .. .

· · · am0 ,n0

a1,1+n0 .. . .. . am1 ,1+n0

···

a1,n1 .. .

a1,1+n1 .. .

.. .

· · · am1 ,n1

···



a1,n2 .. .

.. .

.. .

.. .

.. .

.. .

.. .

.. .

am2 ,1+n1

k k−1 where bt,k = {ek1 , . . . , eknt }, bt,k−1 = {ek−1 1 , . . . , emt } and ∂k (ej ) =

· · · am2 ,n2

.. . 

ai,j ek−1 . i

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

Homology over Fields | 157

Algorithm 2.4.2 is a method for producing a matrix E that is column equivalent to k and from which one can read off persistent Betti numbers. To state the algorithm it is convenient to introduce some definitions. For an m × n matrix A we define the column reversed matrix B = ColRev(A) to be the m × n matrix with B[i][j] = A[i][n + 1 − j]. The column reversed transpose of A is then defined as the n × m matrix ColRevTrans(A) = ColRev(Transpose(A)) obtained by first taking the transpose of A and then reversing columns. Analogously, we define TransColRev(A) = Transpose (ColRev(A)). Finally, we define A[m ][n ] to be the m × n submatrix of A consisting of the first m rows restricted to the first n columns. Algorithm 2.4.2 Filtered semi-echelon matrix.

Input: The boundary matrix k of a boundary homomorphism ∂k : CT,k → CT,k−1 of a filtered chain complex over a field K with respect to a filtered basis b∗,∗ . Output: A matrix E that is column equivalent to k and such that: (i) ColRevTrans(E) is in semi-echelon form and (ii) the submatrix E[mt ][nt ] is [m ][n ] column equivalent to k t t for each mt = |bt,k−1 |, nt = |bt,k |, 0 ≤ t ≤ T. 1: procedure 2: Set It = {1, . . . , nt } for each 0 ≤ t ≤ T and set I−1 = ∅. 3: Initialize E := ColRevTrans(k ). 4: for t = 0, . . . , T do 5: Apply Algorithm 2.4.1 to A = E[nt ][mt ] with I = It−1 to obtain an nt × mt semiechelon matrix E . Perform this algorithm destructively on E so that E is updated with E[nt ][mt ] = E . The entries E[i][j] are unchanged for i > nt , j > mt . 6: end for 7: Set E := TransColRev(E). 8: Return E. 9: end procedure Example 2.4.4. Typical input for Algorithm 2.4.2 would be a matrix

⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ k = ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝

∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

158 | Cellular Homology

where ∗ denotes an arbitrary element from the field K and the absence of a ∗ denotes 0 ∈ K. We can read off from this matrix that the corresponding filtered chain complex would have T = 3, dimK C3,k = 12, dimK C3,k−1 = 14, dimK C2,k = 9, dimK C2,k−1 = 12 and so forth. Typical output from the algorithm would be a column equivalent matrix such as ⎞ ⎛ 1 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ⎟ ⎜ ∗ ∗ 1 ∗ ∗ ∗ ∗ ∗ ∗ ⎟ ⎜ ⎟ ⎜ ∗ ∗ ∗ ∗ 1 ∗ ∗ ⎟ ⎜ ⎟ ⎜ ∗ ∗ ∗ ∗ ∗ ∗ ⎟ ⎜ ⎟ ⎜ ∗ ∗ ∗ ∗ ∗ 1 ⎟ ⎜ ⎟ ⎜ ∗ ∗ ∗ ∗ ∗ ⎟ ⎜ ⎟ ⎜ 1 ∗ ∗ ∗ ∗ ⎟ ⎜ E=⎜ ⎟ 1 ∗ ∗ ∗ ⎟ ⎜ ⎟ ⎜ 1 ∗ ∗ ⎟ ⎜ ⎟ ⎜ ∗ ∗ ⎟ ⎜ ⎟ ⎜ ∗ ∗ ⎟ ⎜ ⎟ ⎜ 1 ∗ ⎟ ⎜ ⎠ ⎝ ∗ 1 From this output E we would read off information such as dimK (ker ∂3,k ) = 12 − 9 = 3, dimK (ker ∂2,k ) = 9 − 7 = 2 and dimK (im ∂3,k ∩ C1,k−1 ) = 7, dimK (im ∂2,k ∩  C1,k−1 ) = 6. From Definition 2.4.3 one readily deduces that βkst (C∗,∗ ) = dimK (ker ∂s,k / im ∂t,k+1 ∩ Cs,k ) = dimK (ker ∂s,k ) − dimK (im ∂t,k+1 ∩ Cs,k ).

(2.17)

Persistent Betti numbers can thus be computed using Algorithm 2.4.2 and the formula 2.17. We give four example computations, each of which involves a filtered chain complex C∗ (X0 ) ⊗Z Q ⊆ C∗ (X1 ) ⊗Z Q ⊆ C∗ (X2 ) ⊗Z Q ⊆ · · ·

(2.18)

induced by a sequence X0 ⊆ X1 ⊆ X2 ⊆ · · · of regular CW-spaces with each Xi a sub CW-space of Xi+1 . We denote such a filtered chain complex by C∗ (X∗ , Q). The four examples are toy illustrations of how persistent Betti numbers provide a tool for investigating the following. General problem. What can one infer about the topology of a manifold M based on a finite sample of points S ⊂ M? Example 2.4.5. A set S of 400 data points was sampled from a subspace M ⊂ R2 . Each

of the data points has integer coordinates in the range 1 to 350. A plot of the points is shown as the first image in Figure 2.10 and the data set is available as [data245.txt]. The

Homology over Fields | 159

Figure 2.10 A data cloud Y0 ⊂ M ⊂ R2 and its first seven thickenings.

collection of data points can be viewed as a 2-dimensional pure cubical complex Y0 with one 2-cell centred at each data point. We can then use Definition 1.2.10 to construct fourfold thickened pure cubical complexes Y1 = τ 4 (Y0 ), Yi+1 = τ 4 (Yi ). The pure cubical complexes Yi are shown in Figure 2.10 for 0 ≤ i ≤ 7. Under reasonable assumptions on the manifold M and sample S one could expect the persistent Betti numbers βks,t of the filtered chain complex C∗ (Y∗ , Q) to reflect the topology of the unknown space M when t − s > 0 is large. The following GAP session computes these persistent Betti numbers for k = 1 and displays them as a barcode (see Figure 2.11). The use of barcodes for representing βks,t was explained in Section 1.3 for k = 0 and the same representation works also for k > 0. GAP session 2.4.5 gap> Read("data245.txt");; gap> A:=NullMat(350,350);; gap> for x in S do A[x[1]][x[2]]:=1; od; gap> Y:=PureCubicalComplex(A);; gap> F:=ThickeningFiltration(Y,100,4); Filtered pure cubical complex of dimension 2. gap> P:=PersistentBettiNumbers(F,1);; gap> BarCodeCompactDisplay(P);

The single long line in the barcode of Figure 2.11 means that β1s,t = 1 for a large range of  t − s > 0. This is consistent with the unknown space M having β1 (M) = 1.

160 | Cellular Homology 26 12 1

Figure 2.11 β1∗,∗ barcode for C∗ (Y∗ , Q).

Example 2.4.6. A set S of 400 points was sampled from a metric space M and the distance d(x, y) between each pair of points x, y was recorded. No other information about M is given. The 400 × 400 matrix A of pairwise distances is available as [data246.txt]. In this situation we can choose a sequence of thresholds 0 ≤ 0 < 1 < 2 < . . . < T and form the sequence of graph inclusions

G0 ⊆ G1 ⊆ G2 ⊆ · · · ⊆ GT where each undirected graph Gt has vertex set S, and has a single edge joining vertices x and y if and only if d(x, y) ≤ t . On taking clique complexes Kt = Clique(Gt ) we obtain a sequence of inclusions of simplicial complexes K0 ⊆ K1 ⊆ K2 ⊆ · · · ⊆ KT . The persistent Betti numbers βks,t of C∗ (K∗ , Q) should reflect something of the topology of M. The following GAP session computes the persistent Betti numbers β1s,t for T = 10 and equally spaced thresholds in the range 0 = 0 to T = 50. GAP session 2.4.6 gap> Read("data246.txt"); gap> G:=SymmetricMatrixToFilteredGraph(A,10,60);; gap> K:=CliqueComplex(G,2);; gap> P1:=PersistentBettiNumbers(K,1);; gap> BarCodeCompactDisplay(P1);

The result is given as the barcode of Figure 2.12. The barcode contains just one long line suggesting that β1 (M) = 1. The set S in this example is in fact the same as that in Example 2.4.5, the Euclidean distances between points having been recorded in the matrix A. The barcodes in Figures 2.11 and 2.12 are consistent. The single long line is a little less prominent in 2.12 which possibly reflects that less information on the data points  was used in its construction. Algorithm 2.4.2 can be applied directly to the filtered chain complex C∗ (X∗ , Q) arising from a sequence of inclusions of regular CW-spaces X1 ⊂ X2 ⊂ X3 ⊂ · · · . The GAP sessions in Examples 2.4.5 and 2.4.6, however, first construct a sequence of cellular spaces X1 ⊂ X2 ⊂ X3 ⊂ · · · with Xi a deformation retract of the space Xi and then compute

Homology over Fields | 161 3 171 1 19 1 1 1 1

Figure 2.12 β1∗,∗ barcode for C∗ (K∗ , Q).

the persistent Betti numbers of C∗ (X∗ , Q). The command PersistentBettiNumbers() computes the retract Xi ⊆ Xi using minor variants of Algorithms 1.4.3 and 1.4.1 which . This pre-processing of ensure that Xi contains the previously constructed retract Xi−1 filtered spaces allows for larger spaces to be handled, such as in the following example. Example 2.4.7. A set of 3527 data points with integer coordinates was sampled from

some subspace M ⊂ R3 . A plot of the points is shown in Figure 2.13 and the data set is available as [data247raw.txt]. The data is also available as [data247.txt] in the form of a 3-dimensional pure cubical complex T with one cubical 3-cell centred on each data point. The following GAP session produces the β1∗,∗ and β2∗,∗ barcodes shown in Figure 2.14.

Figure 2.13 A cloud of 3527 points sampled from some M ⊂ R3

162 | Cellular Homology 1 1 11 92 259 β1*, *

17

1 β2*, *

1

Figure 2.14 β1∗,∗ and β2∗,∗ barcodes for C∗ (T∗ , Q).

GAP session 2.4.7 gap> Read("data247.txt"); gap> F:=ThickeningFiltration(T,20); gap> P1:=PersistentBettiNumbers(F,1);; gap> BarCodeCompactDisplay(P1); gap> P2:=PersistentBettiNumbers(F,1);; gap> BarCodeCompactDisplay(P2);

These barcodes suggest that the unknown space M has β1 (M) = 2 and β2 (M) = 1. An additional computation of the β0∗,∗ barcode suggests that β0 (M) = 1. The computations are thus consistent with M being of the homotopy type of a torus S1 × S1 . They are also consistent with M being of the homotopy type of a wedge S1 ∨ S1 ∨ S2 of two circles and a 2-sphere. The following additional GAP commands suggest that π1 (M) = Z ⊕ Z and thus lends support to M being a torus. GAP session 2.4.7 gap> Y:=FiltrationTerm(F,12); Pure cubical complex of dimension 3. gap> Bettinumbers(Y,0); 1

Homology over Fields | 163 gap> Bettinumbers(Y,1); 2 gap> Bettinumbers(Y,2); 1 gap> W:=ContractedComplex(Y);; gap> G:=FundamentalGroup(W);

gap> RelatorsOfFpGroup(G); [ f2ˆ-1*f1*f2*f1ˆ-1 ]

 Example 2.4.8. The following GAP session begins by constructing the pure cubical complex K of Figure 2.15. This complex reflects the geometry of the Thermus Thermophilus protein 1v2x (unlike the permutahedral complex of Figure 1.39 [right] which loses the geometry due to a zig-zag homotopy deformation). The session then constructs a filtered pure cubical complex K ⊂ τ K ⊂ τ 2 K ⊂ · · · ⊂ τ 20 K by repeatedly thickening K. The final command displays the β1∗,∗ barcode of the filtration shown in Figure 2.16.

Figure 2.15 Cubical complex representing the geometry of the 1v2x protein.

164 | Cellular Homology

1 2 1 1 1 2 21 1 2 1 42 1 4 65 2 1 7 1 2 1 1 2 4 1 2 3 1 9 4 1

Figure 2.16 β1∗,∗ barcode of the 1v2x protein.

Homotopical Data Fitting | 165

GAP session 2.4.8 gap> K:=ReadPDBfileAsPureCubicalComplex("data1V2X.pdb",4);; gap> F:=ThickeningFiltration(K,20);; gap> P:=PersistentBettiNumbers(F,1);; gap> BarCodeCompactDisplay(P);

The barcode gives information on the geometry of the protein. For instance, the first four terms of the filtration seem to have the homotopy type of a circle, but at the fifth term a wedge of circles seems to form; two of the new circles persist through the filtration for as long as the original circle. This suggests that the protein might have two pairs of sites, each pair consisting of two sites that are close with respect to Euclidean distance in R3 but far  apart with respect to arc length along the protein backbone. It is often much faster to compute persistent Betti numbers over the finite field K = Zp of p elements rather than over Q. That is, one replaces the filtered complex C∗ (X∗ , Q) of 2.18 by the filtered chain complex C∗ (X0 ) ⊗Z K ⊆ C∗ (X1 ) ⊗Z K ⊆ C∗ (X2 ) ⊗Z K ⊆ · · · .

(2.19)

The HAP command PersistentBettiNumbers(X,n,p) can be used to compute the persistent Betti numbers of 2.19 for prime p and K = Zp .

2.5 Homotopical Data Fitting Persistent homology can be used as a tool for inferring information (i.e. making educated guesses) about a topological space M given only a finite representative sample of points S ⊂ M. In some cases the techniques for computing persistent homology can be applied to the more difficult problem of explicitly constructing a topological space M that, in some sense, is a “good fit” to the given data set S. Suppose that from the finite data set S one first constructs, in some fashion, a filtered cellular space S = X0 ⊂ X1 ⊂ X2 ⊂ . . . and that the persistent Betti numbers βks,t = βks,t (C∗ (X∗ , K)) in low degrees k are consistent with the hypothesis that the unknown space M is a deformation retract of Xs for some particular filtration degree s. Let us say that a deformation retract M of Xs is cellular if it is a CW-subspace of Xs . In this situation can define an optimal homotopical fit to be a cellular deformation retract M ⊂ Xs that minimizes the following cost function C(M). Definition 2.5.1. For a cellular deformation retract M ⊂ Xs define the filtration degree

of a cell ek ⊂ M to be deg(ek ) = 0 if ek ⊂ X0 and to be deg(ek ) = t if ek ⊂ Xt and ek  ⊂ Xt−1 . Define the cost of M to be

166 | Cellular Homology

Figure 2.17 Left: 100 data points in R3 . Middle: vertices of a CW-space K ⊂ R3 fitted to the data points. Right: abstract representation of the 1-skeleton of a deformation retract M ⊂ K.

C(M) =



deg(ek ).

ek ⊂M

It can be computationally expensive to find a deformation retract M ⊂ Xs that minimizes C(M). However, a retract with a smallish value of C(M) can sometimes be achieved using the following recursion. The final step of the recursion incorporates the possibility that there is some subset S0 ⊂ S that needs to be contained in M. In many cases one would let S0 = ∅. 1. Initialize M = Xs . 2. For i := 1, 2, . . . , s choose M to be a cellular deformation retract of M containing Xs−i and set M := M . Ideally M should be as small as possible. 3. Choose M to be a cellular deformation retract of M containing S0 and set M := M . Again, M should be chosen as small as possible.

(2.20)

The following example illustrates this recursion. Example 2.5.1. Consider the set S of 100 points in R3 shown in Figure 2.17 (left). The

data is available in [data251.txt] as a set S of Euclidean points and also as a 3-dimensional pure cubical complex Y with one unit 3-cube centred on each data point. The following GAP session constructs a filtered pure cubical complex F of filtration length 20, with first term F1 = Y. The persistent Betti numbers of F, given in Figure 2.18, are consistent with S having been sampled from a deformation retract of F19 . The session uses recursion 2.20 with S0 = ∅ to construct a deformation retract R ⊂ F19 with R a 3-dimensional pure cubical complex. The nerve K = Nerve(R) is then constructed. The vertices of K are shown in Figure 2.17 (middle); each vertex of K is identified with the centre of a 3-cell of R. Precisely 39 points of S belong to the vertex set of K. The simplicial complex K is 2-dimensional but admits a 1-dimensional retract M ⊂ K with the same vertices as K and with the homotopy type of a wedge of two circles M  S1 ∨ S1 . The final command produces the abstract representation of the graph M shown in Figure 2.17 (right). For simplicity, in the abstract representation, the edges of the graph M have been assigned equal length.

Homotopical Data Fitting | 167 1 1 13 17 28 28 10 1 5 2 2

Figure 2.18 β0 barcode (top) and β1 barcode (bottom) for the filtered space F of Example 2.5.1. We have β2 (Fi ) = 0 for each term Fi in the filtration.

GAP session 2.5.1 gap> Read("data251.txt"); gap> F:=ThickeningFiltration(Y,20);; gap> R:=FiltrationTerm(F,19);; gap> for i in Reversed([1..18]) do > S:=FiltrationTerm(F,i); > R:=ContractedComplex(R,S); > od; gap> K:=RegularCWComplex(Nerve(R));; gap> M:=ContractedComplex(K); Regular CW-complex of dimension 1 gap> Display(Graph(M));



Example 2.5.1 can be viewed as an example of dimensionality reduction in which we have represented a set S of 3-dimensional vectors as points on a 1-dimensional topological space M. A more typical example of dimensionality reduction would involve a data set S ⊂ Rn in some high-dimensional space. In such a situation we could choose a metric d(x, y) on x, y ∈ Rn , such as the Euclidean metric, and regard S as a finite metric space represented by a symmetric matrix of distances D = (d(x, y)). Following the construction in Example 2.4.6 we can use D to produce a filtered simplicial complex S0 = K0 ⊂ K1 ⊂ K2 ⊂ · · · ⊂ KT in which each Kt is a clique complex of a graph. In principle one could apply the recursion 2.20 to the filtered space K∗ . However, clique complexes can be of extremely

168 | Cellular Homology 1 1

1

1 1 1 1

1

1

Figure 2.19 β1 -barcode from the finite metric space S of Example 2.5.2.

high dimension and one would likely encounter computational difficulties. If persistent Betti numbers βk (F∗ ) in degrees 0 ≤ k ≤ n are consistent with the hypothesis that S was sampled from a deformation retract of some term Ks then one can define an n-homological fit to be a simplicial subspace M ⊂ Ks for which the inclusion induces homology isomor∼ =

phisms Hk (M, Z) → Hk (Xs , Z) for all 0 ≤ k ≤ n. An n-homological fit is optimal if the cost C(M) is a minimum. The following example illustrates how one might construct a good (rather than optimal) n-homological fit M ⊂ Ks . Example 2.5.2. A 100 × 100 symmetric matrix D of distances between points in a finite

metric space S of 100 points is available as [data252.txt]. The following GAP session constructs a filtered simplicial complex K∗ of filtration length 50 with first term K1 = S. The barcode for β1 (K∗ ) is displayed in Figure 2.19. This barcode, and also the β0 (K∗ ) barcode, are consistent with the points in S having been sampled from a deformation retract of, for example, the term K15 . The term K15 is in fact the first term to include both of the persistent lines in the β1 barcode and no non-persistent lines. It thus has lower cost than other such terms Ks with s > 15. To construct a good 1-homological fit M ⊂ K15 we simply need to find a path-connected simplicial subspace M for which the induced homomorphism H1 (M, Z) → H1 (K15 , Z) is an isomorphism. Such a space M can be found by computing a discrete vector field on K15 . Since H1 (K15 , Z) = Z ⊕ Z we construct the 1 obtained by discarding any 1-cell that is the source of subspace M of the 1-skeleton K15 an arrow. We then construct M as a deformation retract of M . (A better construction of M would incorporate information on the filtration degrees of cells in Ki , i < 15.) GAP session 2.5.2 gap> Read("data252.txt"); gap> G:=SymmetricMatrixToFilteredGraph(D,50,50);; gap> K:=FilteredRegularCWComplex(CliqueComplex(G,2)); Filtered regular CW-complex of dimension 2 gap> BarCodeCompactDisplay(PersistentBettiNumbers(K,1));;

Homotopical Data Fitting | 169

gap> Y:=FiltrationTerm(K,15); Regular CW-complex of dimension 2 gap> M:=ContractedComplex(HomotopyGraph(Y)); Graph on 41 vertices. gap> Display(M);

The graph of M is displayed in Figure 2.20. It is similar to the graph of Figure 2.17 (right) since the distance matrix D was obtained from the 100 data points in Example 2.5.1 by  taking Euclidean distances. Example 2.5.3. Figure 2.21 shows 72 images of the letters “A” and “B”. The collection

of images is available as a tar file [data253.tar.gz]. Each image is an array of 752 × 728 pixels. The colour of a pixel is determined by an integer and so we can regard the images as vectors v1 , . . . , v72 ∈ R752×728 . Using the Euclidean distance d(vi , vj ) we can construct a 72 × 72 matrix of distances. This distance matrix can be approximated by a matrix D = (d(vi , vj )) of rational numbers which is available as [data253.txt]. The following GAP session fits the 1-dimensional regular CW-space of Figure 2.22 to the 72 vectors.

Figure 2.20 Graph fitted to the distance matrix D of Example 2.5.2.

Figure 2.21 Images of the letters “A” and “B”.

170 | Cellular Homology

Figure 2.22 Graph fitted to the images of Figure 2.21.

The CW-space has 72 vertices, one for each image, and parametrizes the images in terms of two path components and a periodic real parameter (an “angle”). GAP session 2.5.3 gap> Read("data253.txt"); gap> G:=SymmetricMatrixToFilteredGraph(D,30);; gap> K:=FilteredRegularCWComplex(CliqueComplex(G,2));; gap> Y:=FiltrationTerm(K,21);; #n=21 found from barcodes gap> Display(HomotopyGraph(Y));

 Example 2.5.4. Figure 2.23 shows a sample of 3 × 3 grey-scale patches. Each patch can be represented as a vector v ∈ R9 . A collection of 256 such vectors v1 , . . . , v256 ∈ R9 is available as [data2.5.4.txt]. (An image of the 256 patches is available as [image2.5.4.eps].) The 256 vectors, considered with respect to the standard Euclidean metric, give rise to the barcodes of Figure 2.24. The following GAP session fits a 2-dimensional regular CWspace Y to the 256 vectors. The space Y is shown to have fundamental group

π1 (Y) = x, y | xyxy−1 = 1 . Furthermore, the space Y is simplicial (i.e. its 2-cells are triangular) and has 56 vertices. Each vertex corresponds to a 3 × 3 grey-scale patch and so we can regard Y as a parametrization of the 3 × 3 patches. Further commands can be used to show that Y is homotopy equivalent to the Klein bottle.

Homotopical Data Fitting | 171

Figure 2.23 A few 3 × 3 grey-scale patches taken from a collection of 256 such patches [image2.5.4.eps]. 1 8 58 14 44 1

69

2

5

30

4

86

34

130 40

2 2 4

Figure 2.24 β0 barcode (left) and β1 barcode (right) for the filtered space K of Example 2.5.4.

GAP session 2.5.4 gap> Read("data254.txt");; gap> S:=VectorsToSymmetricMatrix(A, EuclideanApproximatedMetric);;

172 | Cellular Homology gap> M:=Maximum(Flat(S));; gap> G:=SymmetricMatrixToFilteredGraph(S,10,M/4);; gap> K:=FilteredRegularCWComplex(CliqueComplex(G,3));; gap> Y:=ContractedComplex(FiltrationTerm(K,9));; gap> Y:=HomotopyTruncation(Y,2); Regular CW-complex of dimension 2 gap> F:=FundamentalGroup(Y);

gap> RelatorsOfFpGroup(F); [ f1*f2ˆ-1*f1ˆ-1*f2ˆ-1 ] gap> Y!.nrCells(0); 56

This example is inspired by the work [54] on 3 × 3 grey-scale patches occurring in natural  images.

2.6 Homology over Principal Ideal Domains The workhorse for homology computations over a principal ideal domain K is the following classical result of H.J.S. Smith [269]. Theorem 2.6.1 (Smith Normal Form). Let A be a non-zero m × n matrix over a principal

ideal domain K. There exists an invertible m × m matrix S and an invertible n × n matrix T over K such that ⎛ ⎞ α1 0 0 ··· 0 0 ··· 0 0 ⎜0 ··· 0 0 ··· 0 0 ⎟ α2 0 ⎜ ⎟ ⎜0 0 ··· 0 0 ⎟ 0 α 3 ··· 0 ⎜ ⎟ ⎜ .. .. ⎟ .. ⎜. . . ⎟ ⎟ SAT = ⎜ ⎜0 0 0 · · · αr 0 · · · 0 0 ⎟ ⎜ ⎟ ⎜0 0 0 ··· 0 0 ··· 0 0 ⎟ ⎜ ⎟ ⎜. .. ⎟ ⎝ .. . ⎠ 0 0 0 ··· 0 0 ··· 0 0

is an m × n matrix with diagonal entry αi a divisor of αi+1 for 1 ≤ i ≤ r, and with all other entries equal to zero. The non-zero diagonal entries are unique up to multiplication by a unit and are given by the formula

Homology over Principal Ideal Domains | 173

αi =

deti (A) deti−1 (A)

with deti (A) the greatest common divisor of all i × i minors of A. Proof. The first goal is to establish that there exist invertible matrices S , T such that all off-diagonal entries of S AT are zero. Suppose that for some q ≥ 1 we have found invertible matrices Sq , Tq such that ⎛ ⎞ a1 0 · · · 0 0 ··· 0 ⎜ 0 a2 · · · 0 0 ··· 0 ⎟ ⎜ ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ⎟ ⎟. 0 0 · · · a 0 · · · 0 (2.21) Sq ATq = ⎜ q−1 ⎜ ⎟ ⎜ 0 0 ··· 0 ⎟ b · · · b qq qn ⎟ ⎜ ⎜ . ⎟ ⎝ .. ⎠ 0 0 ··· 0 bmq · · · bmn If all entries bij are zero then we have achieved our first goal. If some bij is non-zero then by permuting rows and permuting columns, and by modifying Sq , Tq accordingly, we can assume that bqq  = 0. For q + 1 ≤ k ≤ m we consider the entry bkq . If bkq = 0 then we do nothing. Otherwise, since K is a principal ideal domain, we can find λ, μ ∈ K such that λbqq + μbkq = β with β a greatest common divisor of bqq and bkq . Set b qq = bqq /β and b kq = bkq /β. Then λb qq + μb kq = 1 and the matrix 

λ −b kq

μ b qq



is invertible. Let P denote the m × m matrix defined so that premultiplication by P corresponds to performing the row operations Rq ← λRq + μRk Rk ← −b kq Rq + b qq Rk on the qth row Rq and kth row Rk of a matrix. The matrix P is again invertible. By applying these two row operations to the matrix 2.21 the entry bqq acquires the new value β and the entry bkq acquires the new value 0. In short, we can use row operations on 2.21 to achieve bkq = 0 for k = q + 1, . . . , m and to achieve a new value bqq = β1 with β1 a divisor of all original entries of the qth column. By next applying analogous column operations on 2.21 we can achieve bq, = 0 for  = q + 1, . . . , n and a new value bqq = β2 . These column operations may have caused entries in the qth column to become non-zero again. Row operations can again be applied to achieve a new value bqq = β3 and bkq = 0 for k = q + 1, . . . , m. Continuing in this way we construct a sequence of values β1 ≥ β2 ≥ β3 ≥ · · · for the entry bqq with each βi divisible by βi+1 . At some point this sequence of βi must

174 | Cellular Homology

stabilize βi = βi+1 since we are working over a principal ideal domain (which is a unique factorization domain and thus Noetherian). This stabilized value of βi will divide all entries in the qth row and qth column. We can then use row and column operations to eliminate all but the diagonal entry in the qth row and qth column. In other words, there exist invertible matrices Sq+1 , Tq+1 such that the first q + 1 rows and columns of Sq+1 ATq+1 form a diagonal matrix. By induction there exist invertible matrices S , T such that all off-diagonal entries of S AT are zero. It may be that in S AT the diagonal entry ai does not divide the diagonal entry ai+1 . To rectify this we find the greatest common divisor d = gcd(ai , ai+1 ) and express d = λai + μai+1 with λ, μ ∈ K. We then perform a sequence of invertible row and column operations on S AT . Restricting to the ith and i + 1st rows and columns, the required sequence of operations is         0 0 ai ai ai 0 ai 0 −→ −→ = 0 ai+1 λai ai+1 λai + μai+1 ai+1 d ai+1       0 −ai+1 di 0 −ai+1 di d 0 −→ −→ −→ d ai+1 d 0 0 −ai+1 di where di ∈ K is such that ai = ddi . Such row and column operations establish the existence of the invertible matrices S and T asserted in the theorem. To obtain the formulae for αi it suffices to check that deti (A) is invariant, up to  multiplication by a unit, under the row and column operations on A. The steps in the proof of Theorem 2.6.1 provide an algorithm for converting a matrix into Smith normal form. An example application of this algorithm has already been given in Example 1.7.1 of Chapter 1. Given a chain complex (C∗ , ∂∗ ) of finitely generated free modules over the principal ideal domain K we can compute the homology Hk (C∗ ) by first noting that ker ∂k is a submodule of a free K-module and hence free (since K is a principal ideal domain). Using row operations we can compute t = rankK (ker ∂k ). The matrix of the boundary homomorphism ∂k+1 : Ck+1 → Ck can then be transformed into Smith normal form by applying the proof of Theorem 2.6.1. The resulting invertible matrices S and T just correspond to a change of bases for Ck+1 and Ck and thus Hk (C∗ ) ∼ = (K/α1 K) ⊕ · · · ⊕ (K/αr K) ⊕ Kt−r .

(2.22)

We give two examples of homology computation in this section, both of which require the following notions. Definition 2.6.1. The group algebra of a discrete group G is the algebra QG whose under-

lying vector space has basis G over the field Q and whose associative and distributive multiplication extends the multiplication of G. Thus the elements of QG are the finite formal sums n1 g1 + · · · nk gk with ni ∈ Q, k ≥ 0 and gi ∈ G. Group multiplication gi gj (for gi , gj ∈ G) extends in a unique way to give an associative multiplication satisfying

Homology over Principal Ideal Domains | 175

the distributive laws u(v + w) = uv + uw and (v + w)u = vu + wu (for u, v, w ∈ QG). The group ring ZG is the subring consisting of those formal sums with integer coefficients ni ∈ Z. We work with modules M over the group ring ZG. A module M is said to be trivial if g.m = m for all g ∈ G, m ∈ M. A module M is said to be free if it contains a subset B ⊂ M such that any function f : B → N to a ZG-module N extends  to a unique ZG-module homomorphism f : M → N. A free module has the form M = B ZG. Our definitions of chain complex 2.1.1 and homology 2.1.2 apply in the case K = ZG. To avoid ambiguity we often refer to a chain complex over K = ZG as a ZG-chain complex. We mainly work with chain complexes of free modules over ZG. But sometimes we need to work with complexes whose terms are not necessarily free; we refer to such a complex as a non-free ZG-chain complex. Example 2.6.1. Let G = φ1 , φ2 , φ3  be the group generated by the affine transforma-

tions

⎛ −1 φ1 : R3 → R3 , x → ⎝ 0 0 ⎛ 0 φ2 : R3 → R3 , x → ⎝1 0 ⎛ 1 φ3 : R3 → R3 , x → ⎝0 0

⎞ ⎛ ⎞ 0 0 0 −1 0⎠ x + ⎝0 ⎠, 0 1 1/2 ⎞ ⎛ ⎞ −1 0 0 −1 0⎠ x + ⎝0 ⎠, 0 1 1/3 ⎞ ⎛ ⎞ 0 0 1 1 0⎠ x + ⎝ 0 ⎠. 0 1 0

By adapting the GAP session 1.8.1 of Chapter 1 we can verify that G acts fixedpoint freely on R3 and construct a fundamental domain for the action. Two (of many possible) choices of fundamental domain for the action are shown in Figure 2.25. The following GAP session computes the G-equivariant tessellation of Y = R3 corresponding to the fundamental domain DG = {x ∈ R3 | ||x|| ≤ ||x − φ(0, 0, 0)|| for

Figure 2.25 Two Dirichlet–Voronoi fundamental domains for the action of G corresponding to the orbit of v = (0, 0, 0) and v = (1/2, 1/5, 1/11) respectively.

176 | Cellular Homology

φ ∈ G} of Figure 2.25 (left). The quotient B = Y/G by the action of G is a 3-dimensional manifold which inherits a non-regular CW-structure involving two 0-cells, five 1-cells, four 2-cells and one 3-cell. GAP session 2.6.1 gap> gens:= [ [ [-1,0,0,0], [0,-1,0,0], [0,0,1,1/2], [0,0,0,1] ], [ [0,-1,0,0], [1,-1,0,0], [0,0,1,1/3], [0,0,0,1] ], [ [1,0,0,1], [0,1,0,0], [0,0,1,0], [0,0,0,1] ] ];; gap> G:=AffineCrystGroupOnLeft(gens);; gap> G:=StandardAffineCrystGroup(G);; gap> Y:=EquivariantEuclideanSpace(G,[0,0,0]); Equivariant CW-complex of dimension 3 gap> Y!.dimension(0); 2 gap> Y!.dimension(1); 5 gap> Y!.dimension(2); 4 gap> Y!.dimension(3); 1

The action of G on Y induces an action of G on the chain complex C∗ (Y) which permutes the generators of the free abelian group Ck (Y) for each k ≥ 0. Since G acts freely on Y the abelian group Ck (Y) inherits the structure of a finitely generated free ZG-module. The boundary homomorphisms ∂k : Ck (Y) → Ck−1 (Y) are ZG-equivariant and so C∗ (Y) is a ZG-chain complex. We can thus define the chain complex C∗ (B) to be the chain complex of free Z-modules Ck (B) = Ck (Y)/{w − g.w : g ∈ G, w ∈ Ck (Y)} obtained from C∗ (Y) by factoring out the action of G. (This definition of C∗ (B) is consistent with the standard definition of the cellular chain complex of an arbitrary CWspace B found in other topology texts.) The following continuation of the above GAP session uses the Smith normal form to compute Hk (C∗ (B)) ∼ = Z, for k = 0, 1, 2, 3 and Hk (C∗ (B)) ∼ = 0 for k ≥ 3.

Homology over Principal Ideal Domains | 177

GAP session 2.6.1 gap> C:=ChainComplexOfQuotient(Y); Chain complex of length 3 in characteristic 0 . gap> Homology(C,0); [ 0 ] gap> Homology(C,1); [ 0 ] gap> Homology(C,2); [ 0 ] gap> Homology(C,3); [ 0 ]

The value of Hk (C∗ (B)) depends only on the isomorphism type of the group G and not on the choice of fundamental domain for its free action on R3 . An explanation of this  invariance is given in Chapter 3. Our second application of Theorem 2.6.1 to homology computation requires three preliminary results on group rings. Proposition 2.6.2. Let M be a free ZG-module with basis B ⊂ M. Let H ≤ G be a sub-

group of G. Let T ⊂ G be a set of representatives for the right cosets G/H. Then M is a free ZH-module with basis the set TB = {t.b : b ∈ B, t ∈ T}.

Proof. Each element g ∈ G has a unique expression as g = hg tg with hg ∈ H, tg ∈ T. One can check that any function f : TB → N into a ZH-module N extends uniquely to a ZH-module homomorphism   (ni gi ).bi → (ni hgi )f (tgi .bi ). f : M → N, bi ∈B

bi ∈B

 Proposition 2.6.3. The group algebra QC∞ of the infinite cyclic group C∞ = t is a

principal ideal domain which can be identified with the ring Q(t) of those (Laurent) polynomials  ai t i −∞≤i≤∞

with only finitely many non-zero coefficients ai ∈ Q. Proof. The identification  of QC∞ with Q(t) is clear. One can define the degree of a polynomial p = −∞≤i≤∞ ai t i ∈ Q(t) to be deg(p) = max(i : ai  = 0) −

178 | Cellular Homology

min(i : ai  = 0). The Euclidean algorithm for polynomials over a field establishes that Q(t) is a Euclidean domain with respect to this notion of degree. All Euclidean domains are principal ideal domains. (We remark that the units in the Euclidean domain Q(t) are the monomials ai t i with 0  = ai ∈ Q and that greatest common  divisors are only unique up to multiplication by a unit.)  For any free ZG-module M = B ZG with basis B we write M ⊗ZG Z =



Z

B

to denote the free abelian group on B. Applying this construction to each term of a free ZG-chain complex M∗ yields a chain complex M∗ ⊗ZG Z over Z with boundary homomorphisms Mk ⊗ZG Z → Mk−1 ⊗ZG Z induced by the boundaries of M∗ . Similarly we write  M ⊗ZG Q = Q B

for the vector space over the rationals with basis B, and construct the chain complex M∗ ⊗ZG Q over Q. The correct general setting for such constructions is provided by the following Definition 2.6.2. For this we need to distinguish between right K-modules M where λ ∈ K acts on m ∈ M to produce an element mλ ∈ M, and left K-modules where we have left scalar multiples λm ∈ M. A module M which is both a left K-module and a right K-module is said to be a K-bimodule if the compatibility condition (λM)λ = λ(mλ ) holds for all m ∈ M, λ, λ ∈ K. Definition 2.6.2. Let M be a right K-module and let N be a left K-module over an

arbitrary ring K. Their tensor product

M ⊗K N is the abelian group generated by formal symbols m ⊗ n for m ∈ M, n ∈ N subject to the relations (m + m ) ⊗ n = (m ⊗ n) + (m ⊗ n), m ⊗ (n + n ) = (m ⊗ n) + (m ⊗ n ), m·λ⊗n = m⊗λ·n for all m, m ∈ M, n, n ∈ M, λ ∈ K. If M is a K-bimodule then the tensor product is a left K-module with scalar multiplication given by λ(m ⊗ n) = (λm) ⊗ n for λ ∈ K.

Homology over Principal Ideal Domains | 179

We prefer to work only with left modules. If K is commutative then any left module M is automatically a right module (in fact a bimodule) where we define right scalar multiplication to be mλ = λm. So for commutative rings K there is no need for us to have introduced the notion of a right module. The only non-commutative rings that we will encounter are groups rings K = ZG and algebras K = FG where F is a field. We regard any left ZG-module M as a right ZG-module by defining mg = g −1 m for g ∈ G, m ∈ M. The same trick works for FG-modules. The tensor product of two left ZGmodules M and N is thus the quotient of M ⊗Z N by the relation g −1 m ⊗ n = m ⊗ gn for g ∈ G, m ∈ M, n ∈ N. On replacing m by gm this relation becomes m ⊗ n = gm ⊗ gn. With these conventions we continue with the assumption that all K-modules are left modules which can, if necessary, be viewed as right modules in the above fashion. It is a routine exercise to establish that if M and N are free K-modules with bases A ⊂ M, B ⊂ N respectively, then M ⊗K N is a free K-module with basis {a ⊗ b : a ∈ A, b ∈ B}. The first isomorphism of the following proposition is derived in 4.30 of Chapter 4 using the definition of group homology given in 3.1.2 of Chapter 3. The second isomorphism follows from the first using 2.15. The verification of the final assertion of the proposition is left to the reader. Proposition 2.6.4. Let M2 → M1 → M0 be a chain complex of free ZG-modules for which

H1 (M∗ ) = 0 and H0 (M∗ ) is isomorphic to the trivial ZG-module Z. For any normal subgroup G ≤ G there are isomorphisms of abelian groups H1 (M∗ ⊗ZG Z) ∼ = G ab ,

(2.23)

H1 (M∗ ⊗ZG Q) ∼ = G ab ⊗ Q.

(2.24)

Moreover, conjugation x → gxg −1 induces actions of G/G that make 2.23 and 2.24 isomorphisms of Z(G/G )-modules. Example 2.6.2. In this example we recall the definition of the Alexander polynomial of

a knot, explain why it is an ambient isotopy invariant, describe a method for computing it, and compute the polynomial for the knot κ : S1 → R3 shown in Figure 2.26. This piecewise linear knot κ was produced from a csv file [data262.csv] containing a sequence of 121 data points in R3 , consecutive points being joined by a straight line. The following GAP session first produces the image of Figure 2.26, then constructs a pure cubical complex K whose geometric realization contains the image of the knot κ as a deformation retract, and finally constructs a presentation for the fundamental group π1 (R3 \ κ). GAP session 2.6.2 gap> DisplayCSVknotFile("data262.csv"); gap> K:=ReadCSVfileAsPureCubicalKnot("data262.csv");; gap> K:=ThickenedPureComplex(K);;

180 | Cellular Homology

Figure 2.26 Piecewise linear knot.

gap> C:=PureComplexComplement(K);; gap> C:=ContractedComplex(C);; gap> Y:=RegularCWComplex(C);; gap> G:=FundamentalGroup(Y);

gap> RelatorsOfFpGroup(G); [f1*f3ˆ-2*f2*f3ˆ-1*f2ˆ-1*f3*f1*f3*f1ˆ-1*f3ˆ-1*f2*f3*f2ˆ-2*f3, f3*f1ˆ-1*f3ˆ-1*f2*f3*f2ˆ-1*f3*f1*f3ˆ-2*f2ˆ-1*f3ˆ2*f1ˆ-1* f3ˆ-1*f2ˆ-1*f3*f1*f3ˆ-2*f2*f3 ]

From the presentation   x, y, z, | xz−2 yz−1 y−1 zxzx−1 z−1 yzy−2 z, G= zx−1 z−1 yzy−1 zxz−2 y−1 z2 y−1 z−1 y−1 zxz−2 yz

(2.25)

for the fundamental group G ∼ = π1 (R3 \ κ) we can construct the 2-dimensional regular  G-equivariant CW-space X = K(x | r) of Definition 1.10.1. The group G acts freely on X and the quotient CW-space X/G has fundamental group G. The chain complex C∗ (X) is a chain complex of free ZG-modules with H0 (C∗ (X)) ∼ = Z and H1 (C∗ (X)) = 0. Let G = [G, G] denote the commutator subgroup of G. From the presentation 2.25 we readily find that the quotient G/G ∼ = C∞ is the infinite cyclic group. From Proposition 2.6.2 we can view C∗ (X) as a chain complex of free ZG -modules. Now the chain complex C∗ (X) ⊗ZG Q is a complex of rational vector spaces of the form    Q −→ Q −→ Q (2.26) (t,r)∈T×r

(t,x)∈T×x

t∈T

for x | r our presentation of the fundamental group G and T a set of representatives for G/G .

Homology over Principal Ideal Domains | 181

Using the bijections T ∼ = G/G ∼ = C∞ and Proposition 2.6.3 one can also view the chain complex C∗ (X) ⊗ZG Q as a complex of free Q(t)-modules  ∂2  Q(t) −→ Q(t) −→ Q(t). (2.27) r∈r

x∈x

Since the ring of Laurent polynomials Q(t) is a principal ideal domain we could use Theorem 2.6.1 to compute the first homology H1 (C∗ (X) ⊗ZG Q) of the chain complex 2.27. From Proposition 2.6.4 we see that this homology is an invariant of the isomorphism type of G and hence an invariant of the isomorphism type of G. Let A denote an m × n matrix over Q(t) representing the boundary homomorphism ∂2 in 2.27. Here m is the number of generators in our presentation for G and n is the number of relators in the presentation. Definition 2.6.3. The (n − 1)th abelian invariant

pκ (t) = detn−1 (A)/detn−2 (A) of the matrix A (as defined in Theorem 2.6.1) is known as the Alexander polynomial of the knot κ. This polynomial is an invariant of κ because it is an invariant of the homology H1 (C∗ (X) ⊗ZG Q) which, in turn, is an invariant of the fundamental group π1 (R3 \ κ). The following continuation of our GAP session uses a direct application of the definition of deti (A) as a greatest common divisor of all i × i minors of A to compute the Alexander polynomial pκ (t) = t 4 − 3t 3 + 3t 2 − 3t + 1 for the knot κ of Figure 2.26. GAP session 2.6.2 gap> AlexanderPolynomial(G); x_1ˆ4-3*x_1ˆ3+3*x_1ˆ2-3*x_1+1



We remark that Definition 2.6.3 applies to an arbitrary knot since π1 (R3 \ κ) is infinite cyclic for any knot κ. We also remark that pκ (t) is uniquely defined only up to multiplication by a unit in Q(t). Furthermore, since equivalent knots have isomorphic fundamental groups, any two equivalent knots have the same Alexander polynomial. The method of Example 2.6.2 can be applied to HAP’s pure cubical complex representations of the prime knots in the online Knot Atlas [181] in order to establish the following known result (cf. Proposition 1.7.3). Proposition 2.6.5. There are 802 prime knots with 11 or fewer crossings up to knot equiva-

lence. The Alexander polynomial attains 551 distinct values on these 802 knots.

182 | Cellular Homology

2.7 Excision Suppose that we are given a large 3-dimensional pure permutahedral space X, represented as a 3-dimensional binary array, and that we wish to compute its homology. Suppose that deformation retract algorithms have already been applied to X and that we are unable to find a smaller homotopy equivalent representation of it as a pure permutahedral space. For sufficiently large X it will not be practical to construct the chain complex C∗ (X) on a computer since we would first have to represent X as a regular CW-space: each 3-cell of X will have a boundary consisting of fourteen 2-cells, thirty-six 1-cells and twenty-four 0-cells. Each vertex is incident with up to four 3-cells, each edge is incident with up to three 3-cells, and each 2-face is incident with up to two 3-cells. If there are m entries in the binary array representation of X then, as a very rough estimate, we can expect at least (24/4 + 36/3 + 14/2)m = 25m cells in the regular CW-structure on X. The boundary of each of these k-dimensional cells needs to be represented as a list of indices of (k − 1)dimensional cells. Example 2.7.1. The following GAP session illustrates the numbers on the modestly sized space X obtained from a 10 × 10 × 10 array of permutahedra by removing a single central permutahedron. This space X is homotopy equivalent to a 2-sphere and is represented by a binary array with m = 999 non-zero entries. The GAP session shows that HAP’s CW-complex representation of X requires a listing of over 125 000 integer entries to describe the cellular structure of X.

GAP session 2.7.1 gap> A:=List([1..10],i->1);; gap> A:=List([1..10],i->StructuralCopy(A));; gap> A:=List([1..10],i->StructuralCopy(A));; gap> A[5][5][5]:=0;; gap> M:=PurePermutahedralComplex(A);; gap> Size(M); 999 gap> Y:=RegularCWComplex(M);; gap> Size(Flat(Y!.boundaries)); 125360



For a large 3-dimensional permutahedral space X there may be insufficient computer memory to create a regular CW-complex representation of it. This problem can sometimes be tackled by looking for a suitable permutahedral subspace A ⊂ X and considering the ‘relative chain complex’ C∗ (X/A).

Excision | 183

We provide details in the more general setting of an arbitrary regular CW-space X containing a CW-subspace A ⊂ X. The relative chain complex C∗ (X/A) is defined by setting Ck (X/A) = Ck (X)/Ck (A)

(2.28)

and noting that the boundary homomorphism ∂k : Ck (X) → Ck−1 (X) induces a homomorphism Ck (X/A) → Ck−1 (X/A), v + Ck (A) → ∂k v + Ck−1 (A).

(2.29)

Definition 2.7.1. For a regular CW-space X with CW-subspace A ⊂ X the relative inte-

gral homology is

Hk (X, A; Z) = Hk (C∗ (X/A), Z)

for k ≥ 0. Proposition 2.3.4 yields the exact homology sequence −→ Hk (A, Z) −→ Hk (X, Z) −→ Hk (X, A; Z) −→ Hk−1 (A, Z) −→

(2.30)

for k ≥ 1 which can be used to deduce information about Hk (X) from computations of H∗ (A, Z) and H∗ (X, A; Z). In particular, if A is contractible then Hk (X, Z) ∼ = Hk (X, A; Z) for k ≥ 1. The chain group Ck (X/A) can be viewed as the free abelian group freely generated by those k-cells of X that are not cells of A. In order to list these free generators directly we would need to determine all k-cells of X; this may not be feasible due to computer memory limitations. Suppose however that we have to hand some CW-subspace U ⊂ A (see Figure 2.27). The set-theoretic difference X − U is a topological space obtained from X by excising U. X A

U

Figure 2.27 Spaces U ⊂ A ⊂ X.

184 | Cellular Homology

In general X − U is not a CW-subspace of X. However, its closure X − U is a CWsubspace. Similarly, A − U is a CW-subspace of A. Let us suppose that our CW-subspace U satisfies the equality: X − A = X − U − A − U.

(2.31)

The relative chain group Ck (X − U/A − U) is freely generated by those k-cells in X − U that are not contained in A − U. Assuming the equality 2.31, these generators correspond to those k-cells of X not contained in A. We therefore have abelian group isomorphisms Ck (X − U/A − U) ∼ = Ck (X/A) for k ≥ 0. These isomorphisms constitute a chain isomorphism ∼ =

C∗ (X − U/A − U) → C∗ (X/A) which yields the following result. Theorem 2.7.1 (Excision). Let U ⊂ A ⊂ X be inclusions of regular CW-spaces satisfying

equation 2.31. Then there is an isomorphism of relative homology groups Hk (X, A) ∼ = Hk (X − U, A − U) for k ≥ 0. Theorem 2.7.1 offers a strategy for dealing with large permutahedral, cubical and other lattice complexes X. The strategy involves an easy variant of Algorithm 1.4.3 which inputs a lattice complex X with given lattice subcomplex W ⊂ X and returns a lattice complex A ⊂ X such that W is a deformation retract of A. One can apply this algorithm in the case where W consists of a single facet (i.e. the closure of a top dimensional cell) of X. Then A is a contractible subcomplex of X and there is an isomorphism Hk (X, Z) ∼ = Hk (X, A; Z) for k ≥ 1 and H0 (X, Z) ∼ = H0 (X, A; Z) ⊕ Z. In order to find a lattice subcomplex U ⊂ A satisfying equation 2.31 one can first compute the thickening T = τ (X \ A) of the difference lattice complex X \ A, and then compute the difference lattice complex U = A \ T as defined in Definition 1.2.10. One can then work with the difference lattice complexes X = X \ U and A = A \ U since Theorem 2.7.1 implies isomorphisms Hk (X, Z) ∼ = Hk (X , A ; Z)

(2.32)

H0 (X, Z) ∼ = H0 (X , A ; Z) ⊕ Z

(2.33)

for k ≥ 1. In many cases the lattice complexes X and A will be small even when X is very large. Example 2.7.2. Consider a wedge X =

25 2 i=1 S

of twenty-five 2-spheres. A homotopy equivalent 3-dimensional pure cubical space M  X can be constructed as a family

Excision | 185

Figure 2.28 Cross section of the 3-dimensional pure cubical complex X.

of concentrically arranged 3-dimensional hollow cubes of increasing side, joined by a line that intersects each cube once. Such an M is available in the GAP readable file [25spheres.txt], and Figure 2.28 shows a 2-dimensional cross section of this M. The following GAP session establishes that M contains 4, 99, 874 3-cells, and constructs a contractible pure cubical subspace A ⊂ M with 499849 3-cells. It then constructs a pure cubical subspace U ⊂ A such that the pure cubical differences M \ U and A \ U have just 353 and 328 3-cells respectively. The session ends by constructing the chain complex C∗ (X \ U, A \ U) and computing H1 (M) = 0, H2 (M) = Z25 . GAP session 2.7.2 gap> Read("25spheres.txt"); gap> M; Pure cubical complex of dimension 3. gap> Size(M); 499874 gap> A:=ContractibleSubcomplex(M); Pure cubical complex of dimension 3. gap> Size(A); 499849 gap> P:=ExcisedPair(M,A);; gap> Size(P[1]); 353

186 | Cellular Homology gap> Size(P[2]); 328 gap> C:=ChainComplexOfPair(P[1],P[2]); Chain complex of length 3 in characteristic 0 . gap> Homology(C,1); [ ] gap> Homology(C,2); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

In this example the pure cubical space M is small enough to be converted to a regular CW-space Y. There are 5999166 cells in the CW-structure on Y, and the component  Y!.boundaries contains listings of over 22 × 106 integer entries. We define a cubical space K to be any CW-subspace of any pure cubical space M. The dimension of M is said to be the ambient dimension of K, and K is said to be finite if it has only finitely many cells. We remark that the full CW-structure of a finite cubical space K can be represented in HAP using the following data type. The data type is based on Algorithm 1.2.2 and uses less computer memory than the regular CW-complex representation of K in certain cases. It thus provides an alternative to the above excision strategy for handling large cubical complexes. Data type 2.7.1. A finite cubical space of ambient dimension n can be represented as a

component object K with the following components. • K!.binaryArray is an array with binary entries aλ1 ···λn ∈ {0, 1} for λj ∈ {1, . . . , 2dj + 1}. • K!.properties is a list of pairs such as [“dimension, n]” and [“arraySize,” [2d1 + 1, . . . , 2dn + 1]]. The associated function IsHAPCubicalComplex(K) returns the boolean true when K is of this data type. Example 2.7.3. The following GAP session converts the pure cubical complex M of Example 2.7.2 to a cubical complex whose binary array has 5999166 non-zero entries. A version of Algorithm 1.5.1 is then applied to produce a chain complex D∗ which is chain homotopic to C∗ (M). The chain complex D∗ has just one free generator in dimension 0 and 25 free generators in dimension 2. From this we can again compute the homology of M.

Cohomology Rings | 187

GAP session 2.7.3 gap> Read("25spheres.txt"); gap> K:=PureCubicalComplexToCubicalComplex(M); Cubical complex of dimension 3. gap> Size(K); 5999166 gap> L:=DVFReducedCubicalComplex(K); DVFR cubical complex of dimension 3. gap> D:=ChainComplex(L); Chain complex of length 3 in characteristic 0 . gap> List([0..3],D!.dimension); [ 1, 0, 25, 0 ]



2.8 Cohomology Rings For any two K-modules A, B over a ring K we let HomK (A, B) denote the set of all K-linear homomorphisms f : A → B. The set inherits an abelian group structure from pointwise addition in B. If K is commutative, or if λλ b = λ λb for b ∈ B and all scalars λ, λ ∈ K, then scalar multiplication in B endows the set with the structure of a K-module. In the current section we are interested mainly in the case when K is the ring of integers, or some field, and so for simplicity we assume throughout the section that K is commutative. (However, in subsequent chapters we will be interested in the case when K is a group ring ZG. In cases where B is a trivial ZG-module all statements in the current section still apply. But when K = ZG and B is a non-trivial ZG-module, references to a K-module structure on HomK (A, B) need to be replaced by reference to just an abelian group structure.) Any homomorphism of K-modules φ : A → A induces a homomorphism HomK (φ, B) : HomK (A, B) → HomK (A , B), f → φf . This defines a contravariant functor HomK ( _ , B) : ModK −→ ModK on the category of K-modules. To simplify notation we set A# = HomK (A, K) and φ # = HomK (φ, K). For a finitely generated free K-module A there is an isomorphism A# ∼ = A.

188 | Cellular Homology

Any chain complex of K-modules ∂3

∂2

∂1

0

C∗ : · · · −→ C2 −→ C1 −→ C0 −→ 0

(2.34)

induces a sequence of homomorphisms ∂3#

∂2#

∂1#

0

HomK (C∗ , K) : · · · ←− C2# ←− C1# ←− C0# ←− 0#

(2.35)

# ∂ # = 0 for k ≥ 0. If C is free then each map ∂ # can be represented by a matrix with ∂k+1 ∗ k k equal to the transpose of a matrix representation of ∂k . The sequence 2.35 generalizes to a sequence HomK (C∗ , B) for an arbitrary K-module B. Our Definition 2.1.1 of a chain complex could be extended to one that allows non-zero chain groups in negative degrees and thus one that includes 2.35 as an example. Instead of making this extension to the definition we follow convention and recall the following dual version of Definition 2.1.1.

Definition 2.8.1. A cochain complex over a ring K is a sequence ∂k

∂k−1

∂k−2

∂1

∂0

∂−1

. . . ←− Ck ←− Ck−1 ←− . . . ←− C1 ←− C0 ←− 0 of K-modules and K-linear homomorphisms that satisfy ∂k+1 ∂k = 0 for k ≥ 0. We say that the cochain complex is of length n if Ck = 0 for k > n and Cn  = 0. We refer to the homomorphisms ∂k as coboundary homomorphisms. The module Ck is said to have degree k. The data type 2.1.1 for a chain complex of free modules admits an obvious dual for representing cochain complexes. Definitions 2.1.2, 2.3.1 and 2.3.2 are dualized as follows. Definition 2.8.2. The k-dimensional cohomology of a cochain complex C∗ over K is

defined to be the K-module

Hk (C∗ ) = ker ∂k /im ∂k−1 for k ≥ 0. Definition 2.8.3. A cochain map φ∗ : C∗ → C∗ consists of a collection of K-linear

homomorphisms φk : Ck → Ck , k ≥ 0, satisfying ∂k φk = φk+1 ∂k for k ≥ 0.

Proposition 2.3.1 dualizes to show that cohomology is a contravariant functor Hk : CochainK −→ ModK from the category of cochain complexes and cochain maps over K to the category of Kmodules for k ≥ 0. The following data type is used in HAP to represent cochain maps in HAP .

Cohomology Rings | 189 Data type 2.8.1. A cochain map C∗ → D∗ of cochain complexes of finitely generated

free modules over a ring K is represented as a component object F with the following components: • F!.source is the cochain complex C∗ . • F!.target is the cochain complex D∗ . • F!.mapping(v,k) is a function which returns the image in Dk , under the cochain map, of a vector v ∈ Ck = Knk . • F!.properties is a list of pairs such as [“type”, “cochainMap”]. The associated function IsHAPCochainMap(F) returns the boolean true when F is of this data type.

A similar data type, with associated function IsHAPChainMap(F), is used to represent chain maps. Definition 2.8.4. Two cochain maps φ∗ : C∗ → C∗ , ψ∗ : C∗ → C∗ are cochain homo-

, k ≥ 1, topic if there exists a collection of K-linear homomorphisms hk : Ck → Ck−1 satisfying hk + hk+1 ∂k = φk − ψk ∂k−1

for k ≥ 0, h0 = 0. We write φ∗  ψ∗ and call the collection of homomorphisms {hk } a cochain homotopy. A chain homotopy equivalence between two chain complexes of free abelian groups, C∗ → C∗ , induces a cochain homotopy equivalence HomZ (C∗ , Z) → HomZ (C∗ , Z). Dual versions of Propositions 2.3.1, 2.3.2, 2.3.3, 2.3.4 are readily stated and proved. From the dual of Proposition 2.3.3 we see that a chain homotopy equivalence of chain complexes C∗ → C∗ implies that the kth cohomology of HomZ (C∗ , Z) is isomorphic to the kth cohomology of HomZ (C∗ , Z) for k ≥ 0. With this in mind, we give the following definition. Definition 2.8.5. The integral cohomology of a regular CW-space X is defined to be

Hk (X, Z) = Hk (HomZ (C∗ (X), Z)) for k ≥ 0. Example 2.8.1. The following GAP session computes the integral cohomology of the simplicial Klein bottle K of Figure 1.8. The computation recovers the well-known results Hk (K, Z) = Z for k = 0, 1, H2 (K, Z) = Z2 and Hk (K, Z) = 0 for k ≥ 3.

GAP session 2.8.1 gap> 2simplices:= [[1,2,5], [2,5,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], [4,5,8], [4,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7],

190 | Cellular Homology [1,4,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> K:=SimplicialComplex(2simplices);; Simplicial complex of dimension 2. gap> C:=CochainComplex(K); Cochain complex of length 2 in characteristic 0 . gap> Cohomology(C,0); [ 0 ] gap> Cohomology(C,1); [ 0 ] gap> Cohomology(C,2); [ 2 ]



We mention that the additive structure of the cohomology groups of a regular CW-space X is determined by the homology of X. This is implied by the following definition and result from homological algebra. Definition 2.8.6. For abelian groups A, B we define

Ext(A, B) = HomZ (R, B)/ι(HomZ (F, B)) where R  F  A is any short exact sequence with F and R free abelian groups, and where ι : HomZ (F, B) → HomZ (R, B) is induced by the inclusion R  F. It is an easy exercise to establish that Ext(A, B) is independent of the choice of F and R. Theorem 2.8.1 (Universal Coefficient Theorem). Let C∗ be a chain complex of free

abelian groups and let B be an abelian group. Then the homology of C∗ is related to the cohomology of the cochain complex HomZ (C∗ , B) by a family of (non-functorial) isomorphisms Hk (HomZ (C∗ , B)) ∼ = Ext(Hk−1 (C∗ ), B) ⊕ HomZ (Hk (C∗ ), B) (k ≥ 1). For the proof of Theorem 2.8.1 note that any homomorphism f : Ck → B restricts to a homomorphism f : ker(∂k : Ck → Ck−1 ) −→ B. If f lies in the kernel of ∂k# : HomZ (Ck , B) → HomZ (Ck+1 , B) then f induces a well-defined homomorphism f : Hk (C∗ ) = ker(∂k )/im (∂k+1 ) → B. # : Hom (C Furthermore, if f lies in the image of ∂k−1 Z k−1 , B) → HomZ (Ck , B) then f = 0. We thus have a homomorphism

ψk : Hk (HomZ (C∗ , B))  HomK (Hk (C∗ ), B)

Cohomology Rings | 191

for k ≥ 0. The homomorphism ψk is surjective since any homomorphism g : ker(∂k ) → B extends to a homomorphism g : Ck ∼ = ker(∂k ) ⊕ im (∂k ) → B in such a way that if g(im ∂k+1 ) = 0 then g represents a cohomology class in Hk (HomZ (C∗ , B)). The construction g → g induces a homomorphism σk : HomK (Hk (C∗ ), B) → Hk (HomZ (C∗ , B)) with ψk σk = 1. Thus Hk (HomZ (C∗ , B)) ∼ = ker ψk ⊕ Hk (HomZ (C∗ , B)).

(2.36)

This direct sum decomposition is not canonical (i.e. it requires choice). To complete the proof of Theorem 2.8.1 we need to establish an isomorphism ker ψk ∼ = Ext(Hk−1 (C∗ ), B). Details of this are left to the reader. A complete proof of Theorem 2.8.1 can be found in standard topology texts such as [150, 273] as can the fairly straightforward verifications of the computational formulae in the following lemma. Lemma 2.8.2. Let A, A , B, B be abelian groups.

1. If A is free abelian then Ext(A, B) = 0. 2. If for each b ∈ B and each integer n > 0 there exists an element b ∈ B with nb = b then Ext(A, B) = 0. An abelian group B satisfying this hypothesis is said to be divisible. 3. Ext(Z/mZ, B) ∼ = B/mB. 4. Ext(A ⊕ A , B) ∼ = Ext(A, B) ⊕ Ext(A , B). ∼ Ext(A, B) ⊕ Ext(A, B ). 5. Ext(A, B ⊕ B ) = Despite the isomorphisms Hk (X, Z) ∼ = Ext(Hk−1 (X), Z) ∼ = HomZ (Hk (X), Z) of Theorem 2.8.1 there are some definite benefits to working with the cohomology of a space X rather than with its homology. One advantage is that the abelian group H∗ (X, Z) =



Hk (X, Z)

k≥0

admits a canonical ring structure which depends only on the homotopy type of X. We describe this ring structure and emphasize its algorithmic nature. For practical computations we use discrete vector fields and lazy evaluation. The ring structure is derived from the diagonal map  : X → X × X, x → (x, x) and induced diagonal homomorphism Hk (, Z) : Hk (X × X, Z) → Hk (X, Z)

(2.37)

192 | Cellular Homology

together with a bilinear cross product function Hm (X, Z) × Hn (X, Z) → Hm+n (X × X, Z)

(2.38)

for k, m, n ≥ 0. Details on the maps 2.37 and 2.38 are recalled below. The ring multiplication H∗ (X, Z) × H∗ (X, Z) → H∗ (X, Z)

(2.39)

is obtained by composing 2.37 with 2.38 for k = m + n and extending bilinearly over H∗ (X, Z). A main computational challenge is the diagonal homomorphism 2.37. Let X and Y be two regular CW-spaces. Their direct product X × Y inherits a regular m n CW-structure whose cells of dimension k are the direct products em λ × eμ with eλ an n m-cell in X, eμ an n-cell in Y and k = m + n. The cellular chain complex C∗ (X × Y) is isomorphic to the tensor product C∗ (X) ⊗Z C∗ (Y) of the following definition. Definition 2.8.7. Let (C∗ , ∂∗ ) and (D∗ , δ∗ ) be two chain complexes of free K-modules.

Let

(C∗ ⊗K D∗ )k =



Cm ⊗K D n

m,n≥0,m+n=k

where the tensor product Cm ⊗K Dn is the module of Definition 2.6.2. One can verify n n that (C∗ ⊗K D∗ )k is the free K-module with basis em λ ⊗ eμ where eλ ranges over a basis n for Cm and eμ ranges over a basis for Dn , m, n ≥ 0, m + n = k. Let dk : (C∗ ⊗K D∗ )k −→ (C∗ ⊗K D∗ )k−1 be the homomorphism defined on free generators by n m n m m n dk (em λ ⊗ eμ ) = ∂m eλ ⊗ eμ + (−1) eλ ⊗ δn eμ .

One can check that these homomorphisms dk form a chain complex. This chain complex is denoted by C∗ ⊗K D∗ and referred to as the tensor product of the two chain complexes C∗ , D∗ . The direct product X × Y of two finite regular CW-spaces is easily implemented on a computer. The number of cells in the direct product is given by Size(X × Y) = Size(X) × Size(Y) and so any implementation of the direct product of large spaces needs to incorporate an element of lazy evaluation. Our data type 1.1.1 requires a regular CW-space to be specified by a list of boundaries and a list of coboundaries. A list L can be implemented in any fashion that permits a limited number of operations such as: the determination of its length Length(L); access to its ith element L[i]; determination of the position Position(L,t) of some term t. The default implementation in GAP allocates memory for each term in the list and stores the term in that memory. An alternative implementation, called a lazy list in HAP, specifies each element of a list via a function. For instance, a lazy list consisting of the square integers could be created and operated on as follows.

Cohomology Rings | 193

GAP session gap> fn:=function(i) return iˆ2; end;; gap> L:=LazyList(fn);; gap> L[4]; 16 gap> Length(L); infinity gap> Position(L,36); 6

For regular CW-spaces with a large number of cells the boundaries and coboundaries for X × Y need to be implemented as lazy lists in order to reduce memory requirements. An implementation of the diagonal map  : X → X × X, x → (x, x) is slightly problematic. The traditional approach of using relative singular homology (cf. Section 5.4) to define the cellular chain complex for arbitrary CW-spaces establishes the existence of a functorially induced cohomology homomorphism Hk (, Z) : Hk (X × X, Z) → Hk (X, Z). But in our account of the cellular cohomology of regular CW-spaces we have only allowed for the implementation of strictly cellular maps (as defined in 1.4.2). The map  is not strictly cellular and so there is a difficulty. One way to circumvent the non-cellularity of the diagonal map is to devise a strictly cellular inclusion  : X → X × X such that the first projection X × X X restricts to a strictly cellular homotopy 

equivalence p : X  X for which the triangle / X×X X _? < _ ?? yy ?? y y y ? p ?? yy  - yy X 

(2.40)

induces a commutative triangle of integral cohomology groups Hk (,Z)

o Hk (X × X, Z) Hk (X, Z) KKK ppp KKK∼ = ppp KKK p p Hk (p,Z) K% xpx pp Hk (,Z) k H (X, Z)

(2.41)

for k ≥ 0. The homomorphism Hk (p, Z) of abelian groups is an isomorphism and we can compute its inverse. The problematic diagonal homomorphism 2.37 can then be computed as the composite homomorphism

194 | Cellular Homology

Hk (, Z) = Hk (p, Z)−1 ◦ Hk (, Z).

(2.42)

The formula 2.42 relies on having to hand a map X → X × X with appropriate properties. The following definition provides a candidate for the space X which, in some cases, does have the appropriate properties. Definition 2.8.8. Define the diagonal closure X  of a regular CW-space X to be the CW-

subspace of X × X that contains the subset D = {(x, x) ∈ X × X} and is contained in any other CW-subspace of X × X containing D.

In some (but certainly not all) cases the diagonal closure X  is homotopy equivalent to X. This is illustrated by the following lemma and Example 2.8.2. In those cases where the homotopy equivalence holds, we try to construct a smaller cellular deformation retract Y ⊂ X  and work with Y in place of X  . For instance, in Example 2.8.2 it is a space Y that is constructed and not the space X  . Lemma 2.8.3. Let X ⊂ Rn be a pure cubical space. Then the projection X × X X, (x, y) →

x induces a homotopy equivalence X  X.

Proof. Suppose that X ⊂ Rn is a pure cubical space whose cubical n-cells are centred on the points in some subset  ⊂ Zn . The space X  ⊂ R2n is then a pure cubical space of dimension 2n with top-dimensional cells centred on the points   = {(γ , γ ) : γ ∈ } ⊂ Z2n . Set D = {(γ , γ ) : γ ∈ Zn } and let B(n) denote the n-dimensional unit cubical ball BL described in Definition 1.2.6 and Lemma 1.2.4. One can check that (2.43) B(2n) ∩ D = {(γ , γ ) : γ ∈ B(n)}. From 2.43 it follows that the simplicial complex Nerve(X) arising as the nerve of the pure cubical complex X is isomorphic to Nerve(X  ). It follows from Theorem 1.2.1 that X is homotopy equivalent to X  . Furthermore, the projection X × X → X ∼ =

induces the isomorphism Nerve(X  ) → Nerve(X), and thus induces a homotopy  equivalence X  → X.  Three technical points need to be incorporated into a practical implementation of formula 2.42. The first point is that, in general, it is difficult to decide if a given strictly cellular map p : X → X is a homotopy equivalence. However, in order to pass from triangle 2.40 to triangle 2.41 we first need to pass through an intermediate commutative triangle ∗ / C∗ (X × X) C∗ (X)dH 9 d HH ss HH ss HH s s p∗ HH + sss ∗ C∗ (X)

(2.44)

Cohomology Rings | 195

of chain complexes and chain maps. For the computation of formula 2.42 it suffices for the chain map p∗ : C∗ (X) → C∗ (X) to be a chain homotopy equivalence; for this it is sufficient but not necessary that p : X → X be a homotopy equivalence. By Proposition 2.3.3 the chain map p∗ is a chain homotopy equivalence if and only if the induced homology maps Hk (p∗ , Z) : Hk (C∗ (X), Z) → Hk (C∗ (X), Z) are isomorphisms for all k ≥ 0. It is routine to test if these maps of abelian groups are isomorphisms. The second technical point is that the regular CW-spaces X, X and X × X can involve a large number of cells and should be replaced by smaller, homotopy equivalent, nonregular CW-spaces Y  X, Y  X and W  X × X. The triangle 2.44 induces a triangle / C∗ (W) C∗ (Y)dH d HH u: u HH uu HH u uu p∗ HH uu ∗ C∗ (Y) ∗

(2.45)

involving typically smaller chain complexes. The chain complexes in 2.45 can be constructed by using Algorithm 1.5.1 to compute discrete vector fields on each of the spaces X, X , X × X and then applying Theorem 2.3.7 to each of the three spaces. The chain maps in 2.45 can be computed using the following result whose proof is a long but routine verification. Theorem 2.8.4. Let C∗ be a chain complex of free modules over a ring K, endowed with

an admissible discrete vector field. Let D∗ be the chain complex obtained from C∗ using the construction of Theorem 2.3.7. Let the basis bk ⊂ Ck and K-linear homomorphism ρk : Ck → Ck be as in Theorem 2.3.7. Let σk−1 : Ck−1 → Ck be the K-linear homomorphism defined recursively on basis elements e ∈ bk−1 by ⎧ if e is a critical or the target of an arrow, ⎨0 σk−1 (e) = t − t σk−1 (∂k t) if there is an arrow e → t where e occurs ⎩ with sign t in ∂k t. Then there exist chain homotopy equivalences φ∗ : C∗ → D∗ , ψ∗ : D∗ → C∗

(2.46)

which are defined on basis elements as follows. For each e ∈ bk we have φ(e) = ρk (e). For each critical basis element e ∈ bk we have ψ(e) = e + σk−1 (∂k e). Theorem 2.8.4 is implemented in HAP as a function ChainComplexEquivalence(X) which inputs a regular CW-complex X and returns a pair of chain maps φ∗ : C∗ (X) → D∗ (X) and ψ∗ : D∗ (X) → C∗ (X) with C∗ (X) the standard cellular chain complex of X, D∗ (X) a typically smaller chain complex, and φ∗ , ψ∗ chain homotopy equivalences.

196 | Cellular Homology

The chain maps p∗ and ∗ of triangle 2.45 can be computed, using Theorem 2.8.4, as the following composite chain maps. C∗ (Y) O

C∗ (Y) 

 C∗ (X)

 p∗

/ C∗ (X)

C∗ (Y)

C∗ (W) O



 C∗ (X)

(2.47)

 ∗

/ C∗ (X × X)

The third technical point is that the following result can be used in place of Algorithm 1.5.1 to construct a discrete vector field on X × X. Proposition 2.8.5. Let X be a regular CW-space endowed with an admissible discrete vector

field. Let E denote the set of critical cells of X. Then there is an admissible discrete vector field on X × X whose critical cells are those cells e × e for e, e ∈ E. The arrows in the vector field on X × X are all those of the form s × f → t × f and e × s → e × t for f an arbitrary cell of X, e a critical cell and s → t an arbitrary arrow in the vector field on X. Proof. Any circuit or infinite path in the discrete vector field on X × X would project (under at least one of the two projections) to a circuit or infinite path in the discrete  vector field on X. Thus the field on X × X is admissible. The formulae in Proposition 2.8.5 can be used to construct a lazy implementation of a discrete vector field on X × X. Example 2.8.2. The following GAP session constructs a simplicial torus T as a regular

CW-space. It then computes a projection p : DT where D is a deformation retract of the diagonal closure T  of Definition 2.8.8. The induced integral homology homomorphisms Hn (D, Z) ∼ = Hn (T  , Z) → Hn (T, Z) are shown to be isomorphisms for all n ≥ 0. GAP session 2.8.2 gap> 2simplices:= [[1,2,4], [2,4,8], [2,3,8], [3,8,9], [1,3,9], [1,4,9], [4,5,8], [5,6,8], [6,8,9], [6,7,9], [4,7,9], [4,5,7], [1,5,6], [1,2,6], [2,6,7], [2,3,7], [3,5,7], [1,3,5]];; gap> T:=RegularCWComplex(SimplicialComplex(2simplices)); Regular CW-complex of dimension 2 gap> D:=DiagonalApproximation(T);; gap> p:=D.projection; Map of regular CW-complexes

Cohomology Rings | 197 gap> P:=ChainMap(p); Chain Map between complexes of length 2 . gap> IsIsomorphismOfAbelianFpGroups(Homology(P,0)); true gap> IsIsomorphismOfAbelianFpGroups(Homology(P,1)); true gap> IsIsomorphismOfAbelianFpGroups(Homology(P,2)); true gap> Size(Source(p)); 180 gap> Size(Source(P)); 4 gap> Size(Target(p)); 54 gap> Size(Target(P)); 4 gap> del:=D.inclusion;; gap> Del:=ChainMap(del); Chain Map between complexes of length 4 . gap> Size(Target(Del)); 16

The final commands in the session show that the regular CW-spaces T, T  have 54 and 180 cells respectively, and that the induced map p∗ : C∗ (T  ) → C∗ (T) of cellular chain complexes has been replaced in the computation by a map C∗ (Y) → C∗ (Y) between smaller chain complexes. Each of C∗ (Y) and C∗ (Y) involves just 4 free generators. Also, the chain map C∗ (T  ) → C∗ (T × T) has been replaced by a chain map C∗ (Y) →  C∗ (W) where C∗ (W) involves just 16 free generators. The following definition facilitates an explanation of the cross product 2.38. Definition 2.8.9. Let α : M → A and β : N → B be two homomorphisms of

K-modules over a ring K. Their tensor product is the K-module homomorphism α ⊗ β : M ⊗K N → A ⊗K B defined on generators by α ⊗ β : m ⊗ n → α(m) ⊗ β(n).

198 | Cellular Homology

Let X be a regular CW-space with cochain complex HomZ (C∗ (X), Z). Any element in the kernel ker (HomZ (Cn (X), Z) → HomZ (Cn+1 (X), Z)) is said to be an n-cocycle. The tensor product of a p-cocycle α ∈ HomZ (Cp (X), Z) and q-cocycle β ∈ HomZ (Cq (X), Z) is a homomorphism α ⊗ β : Cp (X) ⊗ Cq (X) → Z ⊗ Z (where ⊗ denotes ×Z ) which can be viewed as a homomorphism α ⊗ β : Cp+q (X × X) → Z

(2.48)

where: ∼ =

1. we use the isomorphism Z ⊗ Z −→ Z, m ⊗ n → mn ; 2. we use the isomorphism Cp+q (X × X) =



Cp (X) ⊗Z Cq (X)

p ,q ≥0,p +q =p+q

and define α ⊗ β to be zero on each summand Cp ⊗ Cq for (p , q )  = (p, q). One can verify that the homomorphism α ⊗ β : Cp+q (X × X) → Z is a (p + q)-cocycle for any p-cocycle α and q-cocycle β. Any n-cocycle α represents an element of the cohomology group Hn (X, Z). We let [α] denote the element of the cohomology group represented by α and often refer to [α] as a cohomology class. The following result is routinely verified. See any of [150, 203, 273] for details and a thorough discussion of cohomology products. Proposition 2.8.6. Any two cohomology classes [α] ∈ H p (X, Z) and [β] ∈ Hq (X, Z)

determine a cohomology class [α ⊗ β] ∈ Hp+q (X × X, Z). The resulting function × : Hp (X, Z) × Hq (X, Z) → Hp+q (X × X, Z), ([α], [β]) → [α ⊗ β] is bilinear ([α] + [α ]) × [β] = [α] × [β] + [α ] × [β], [α] × ([β] + [β ]) = [α] × [β] + [α] × [β ], anti-symmetric and associative

[α] × [β] = (−1)pq [β] × [α] ([α] × [β]) × [γ ] = [α] × ([β] × [γ ])

[α], [α ] ∈ Hp (X, Z),

for [β], [β ] ∈ Hq (X, Z), [γ ] ∈ Hr (X, Z). This function × is known as the cross product.

Cohomology Rings | 199

The bilinearity, anti-symmetry and associativity of the cross product transfers to the cup product, making the cohomology ring H∗ (X, Z) an associative ring. The ring is graded, with elements in Hp (X, Z) being of degree p. Because of the anti-symmetry [α] ∪ [β] = (−1)pq [β] ∪ [α] for cohomology classes [α], [β] of degrees p, q one says that the ring is graded commutative. Example 2.8.3. The following GAP session constructs the direct product of four

circles T = S1 × S1 × S1 × S1 and computes the cohomology groups H1 (T, Z) = Z4 , H3 (T, Z) = Z4 , H4 (T, Z) = Z. It then constructs the cup product as a function cup(p,q,P,Q) which inputs integers p, q ≥ 0 and two cohomology classes P ∈ Hp (T, Z), Q ∈ Hq (T, Z), and which returns a cohomology class P ∪ Q ∈ Hp+q (T, Z). An element (or cohomology class) of a finitely generated abelian group Zn1 ⊕ · · · ⊕ Znk , ni |ni+1 , is represented in the obvious way as a vector of length k. Finally, the cup product P ∪ Q is computed, and seen to be non-trivial, for one particular choice of P ∈ H3 (T, Z) and Q ∈ H1 (T, Z). GAP session 2.8.3 gap> S:=SimplicialComplex([[1,2],[2,3],[3,1]]);; gap> S:=RegularCWComplex(S);; gap> T:=DirectProduct(S,S,S,S); Regular CW-complex of dimension 4 gap> Cohomology(T,1); [ 0, 0, 0, 0 ] gap> Cohomology(T,3); [ 0, 0, 0, 0 ] gap> Cohomology(T,4); [ 0 ] gap> cup:=CupProduct(T); function( p, q, P, Q ) ... end gap> cup(3,1,[0,0,1,0],[0,0,1,0]); [ 1 ]



There are other ways of computing cup products. One approach is to restrict attention to some particular class of regular CW-spaces and then derive a theoretical formula for a chain map ∗ : C∗ (X) → C∗ (X) ⊗ C∗ (X) that models the diagonal map X → X × X, x → (x, x) for any space X in the class. This obviates the need for the diagonal closure X  . For simplicial spaces a formula for ∗ can be found in topology texts under the name of Alexander–Whitney diagonal approximation. An analogue of the Alexander–Whitney

200 | Cellular Homology

approximation for cubical spaces is due to Serre and is described in Massey’s textbook [203] which takes a cubical approach to (co)homology rather than the more standard simplicial approach. Details on the efficient computation of cup products for cubical subspaces X ⊂ Rn , using the cubical analogue of the Alexander–Whitney approximation, are described in [133], [174] and [231]. Another approach to computing in the cohomology ring H∗ (X, Z) is to find a continuous map ρ : X → B into an ‘easier’ space B and to use the fact that cup products are natural in the sense that the induced homomorphism H∗ (ρ, Z) : H∗ (B, Z) → H∗ (X, Z) is a ring homomorphism. This approach ties in nicely with material in subsequent chapters when we take B = BG = EG /G to be the quotient of a contractible CW-space EG on which the fundamental group G = π1 (X) acts freely. Such a space BG is said to be a classifying space for the group G. For a path-connected CW-complex X with G = π1 X it can be proved that there exists a map X → BG inducing an isomorphism ∼ =

H1 (BG , Z) → H1 (X, Z)

(2.49)

H2 (BG , Z) → H2 (X, Z) .

(2.50)

and inclusion

The following examples illustrate easy instances of this approach and provide some motivation for the material on classifying spaces and their (co)homology presented in subsequent chapters. Example 2.8.4. The following GAP session reads in the 3527 data points of Figure

2.13 as a 3-dimensional pure cubical complex T with one 3-cell centred on each data point. By repeated thickening the space T is then embedded in a 3-dimensional pure cubical complex, T ⊂ Y, where Y has homology consistent with the persistent homology classes indicated by the barcodes of 2.14. Namely, H0 (Y, Z2 ) = Z2 , H1 (Y, Z2 ) = Z2 ⊕ Z2 and H2 (Y, Z2 ) = Z2 , Hn (Y, Z2 ) = 0 for n ≥ 3. The pure cubical space Y has just over a million 3-cells. Based on these homology groups, there are at least two obvious candidates for the homotopy type of Y. We could have Y  S1 × S1 or we could have Y  S2 ∨ S1 ∨ S1 since both the torus and wedge of spheres have the same homology (and cohomology) groups as Y. GAP session 2.8.4 gap> Read("data247.txt"); gap> F:=ThickeningFiltration(T,20);; gap> Y:=FiltrationTerm(F,12);; gap> Size(Y); 1008893 gap> Y:=ZigZagContractedComplex(Y,2);; gap> Y:=ContractedComplex(RegularCWComplex(Y));;

Cohomology Rings | 201 gap> Cohomology(Y,0); [ 0 ] gap> Cohomology(Y,1); [ 0, 0 ] gap> Cohomology(Y,2); [ 0 ]

As an alternative method for computing the cup product ∪Y : H1 (Y, Z) × H1 (Y, Z) → H2 (Y, Z) we proceed by first computing the fundamental group G = π1 (Y) and cup product ∪B : H1 (BG , Z) × H1 (BG , Z) → H2 (BG , Z) with BG = EG /G a classifying space for G. GAP session 2.8.4 gap> G:=FundamentalGroup(Y);; gap> IsAbelian(G); true gap> G:=NilpotentQuotient(G,1);; gap> E_G:=Resolution(G,3);; gap> CupProduct(E_G,1,1,[1,0],[0,1]); [ -1 ]

The computations establish that the image of the cup product ∪B is non-trivial. The isomorphism 2.49 and inclusion 2.50 enable us to conclude that the cup product ∪Y must also have non-trivial image. A quick GAP calculation shows that the image of ∪Y would be zero in the case Y  S2 ∨ S1 ∨ S1 . We conclude that Y   S2 ∨ S1 ∨ S1 . The computations are consistent with the 3527 data points having been sampled from a space  of the homotopy type of a torus Y  S1 × S1 . Example 2.8.5. Let G = φ1 , φ2 , φ3  be the affine group of Example 2.6.1. It is established in 2.6.1 that G acts freely on R3 and thus the quotient BG = R3 /G is a flat manifold. The following GAP session shows that H1 (BG , Z) ∼ = Z, H2 (BG , Z) ∼ = Z, H3 (BG , Z) ∼ = n ∼ Z. And H (BG , Z) = 0 for n ≥ 4 since BG is 3-dimensional.

GAP session 2.8.5 gap> gens:= [ [ [-1,0,0,0], [0,-1,0,0], [0,0,1,1/2], [0,0,0,1] ], [ [0,-1,0,0], [1,-1,0,0], [0,0,1,1/3], [0,0,0,1] ], [ [1,0,0,1], [0,1,0,0], [0,0,1,0], [0,0,0,1] ] ];;

202 | Cellular Homology gap> G:=AffineCrystGroupOnLeft(gens);; gap> G:=StandardAffineCrystGroup(G);; gap> G:=Image(IsomorphismPcpGroup(G));; gap> E_G:=Resolution(G,4);; gap> C:=HomToIntegers(E_G); Cochain complex of length 4 in characteristic 0 . gap> Cohomology(C,1); [ 0 ] gap> Cohomology(C,2); [ 0 ] gap> Cohomology(C,3); [ 0 ] gap> CupProduct(E_G,1,2,[1],[1]); [ -1 ]

The final command in the session is sufficient to establish an isomorphism H∗ (BG , Z) ∼ =

Z[x, y] x2 = 0, y2 = 0, xy = −yx

(2.51)

of graded-commutative rings. Here Z[x, y] denotes the ring of polynomials in two noncommuting variables x, y. The variable x is understood to lie in degree 1 and y is understood to lie in degree 2. The relation x2 = 0 follows from anti-commutativity xx = −xx.  The relation y2 = 0 is because H4 (BG , Z) = 0. The precise nature and construction of EG in the computer examples 2.8.4 and 2.8.5 is explained in Chapter 3, as is the computation of cup products in this context.

2.8.1 van Kampen Diagrams and Cup Products The isomorphism 2.49 and inclusion 2.50 imply that the fundamental group contains sufficient information to construct the cup product [α] ∪ [β] of two cohomology classes of degree 1. Instead of describing an explicit proof of 2.49 and 2.50 we describe a simple procedure that inputs an arbitrary finite regular CW-space Y and uses the presentation for G = π1 (Y) afforded by Algorithm 1.6.1 to return a speedily evaluated version of the function ∪ : H1 (Y, Z) × H1 (Y, Z) → H2 (Y, Z). The procedure is easy to implement and is, in fact, just a direct implementation of the definition of the cup product given above that makes use of the correspondence between group presentations P and 2-dimensional reduced CW-spaces K(P ), where a reduced CW-space means one with just a single 0-cell. One direction of this correspondence is described by Definition 1.10.1. Since the CWstructure of an arbitrary reduced 2-dimensional CW-space is captured (up to homotopy of attaching maps) by the combinatorial notion of group presentation, we can work with

Cohomology Rings | 203

such spaces on a computer and avoid the extra costs incurred by computing with regular CW-spaces. We describe the computation of ∪ : H1 (Y, Z) × H1 (Y, Z) → H2 (Y, Z) as two steps. The first step inputs an arbitrary group presentation P for a group G and computes the cup product on the associated reduced 2-complex K(P ). The second step relates the cup product on K(P ) to that on Y. The following notion, due to van Kampen and illustrated in Figure 2.29, is an aid to visualizing the cup product. Recall that a word in a free group is cyclically reduced if no conjugate of it is a shorter word, and that a presentation is cyclically reduced if all of its relators are. In this section we assume that presentations are cyclically reduced. Definition 2.8.10. A van Kampen diagram over a cyclically reduced group presentation

P = x | r is a finite, planar, connected and simply connected CW-space D ⊂ R2 with each 1-cell labelled by an arrow and a generator in x in such a way that: for each 2-cell e2 in D, the sequence of oriented and labelled 1-cells in the boundary ∂e2 , for some choice of initial vertex and some choice of orientation, spells a relator word in r ⊂ F(x).

It is not difficult to see that for any initial vertex in the boundary of a van Kampen diagram D over P = x | r, and for either orientation on the boundary of the diagram, the labelled 1-cells of the boundary spell a word in R = rF(x) where R is the normal closure in F(x) of the subgroup generated by r. The converse is also true: any non-trivial word in R is the boundary of a van Kampen diagram over P . We are interested in a very easy and very particular case of this converse statement. Given a presentation P = x | r of a group G, let x = {x : x ∈ x} be an isomorphic copy of the set x. Let F(x ∪ x ) be the free group on the disjoint union x ∪ x and let ι1 , ι2 : F(x) → F(x ∪ x ) be the inclusion homomorphisms defined by ι1 (x) = x and ι2 (x) = x for x ∈ x. We define the presentation x

x'

y'

y'

y

y

x

x'

y

y

x

y'

y'

x x'

x'

y x'

y' x' y

x

x y'

Figure 2.29 van Kampen diagram over the presentation x, y, x , y, | xyx = yxy, x y x = y x y , xx = x x, yy = y y, xy = y x, yx = x y.

204 | Cellular Homology

P × P = x ∪ x | ι1 (r), ι2 (r), ι1 (x)ι2 (y) = ι2 (y)ι1 (x) (x, y ∈ x, r ∈ r)

(2.52)

for the direct product G × G. In this context we define the diagonal group homomorphism  : F(x) → F(x ∪ x ) by (x) = ι1 (x)ι2 (x) for x ∈ x. The following lemma is an easy exercise. In its statement we use the notation x < y to mean x < y if = +1 and x ≤ y if = −1. Also, we use the term spells to mean for a suitable initial vertex and orientation, spells.





Lemma 2.8.7. For any presentation P = x | r and any reduced word w = x11 x22 . . . xnn ∈

R = rF(x) , where i = ±1 and xi ∈ x, there is a van Kampen diagram D over P × P whose boundary spells the word (w) for some choice of initial vertex and orientation. The diagram D consists of precisely one 2-cell e2w with boundary word ι1 (w), one 2-cell e2w with boundary word ι2 (w) and, for each 1 ≤ i < i j ≤ n, one 2-cell e2ij whose boundary spells the relator ι1 (xi )ι2 (xj )ι1 (xi )−1 ι2 (xj )−1 .

The van Kampen diagram D of Lemma 2.8.7 is typically non-reduced in the sense that there may be two CW-subspaces D1 , D2 ⊂ D containing no common 2-cell whose union D1 ∪ D2 is connected, simply connected and has boundary that spells a word representing the trivial element in the free group of the presentation P . A van Kampen diagram is said to be reduced if it contains no such subspaces D1 , D2 . It is possible to transform any van Kampen diagram D into a reduced diagram D such that the boundary words of D and D represent the same element in the free group of P . The details of this transformation are not required for our cup product algorithm. Example 2.8.6. Consider the presentation P = x, y | xyxy−1 x−1 y−1  and word

w = xyxy−1 x−1 y−1 ∈ F({x, y, z}). A reduced van Kampen diagram over P × P with  boundary word (w) is shown in Figure 2.29.

Given an arbitrary finite presentation P = x | r for a group G we use Definition 1.10.1  P) to construct a connected and simply connected 2-dimensional CW-space X = K( on which G acts freely. The space X involves infinitely many cells when G is infinite. However, the quotient CW-space K = K(P ) = X/G is a finite reduced CW-space with π1 (K) ∼ = G. The action of G on X induces an action of G on the cellular chain groups Cn (X) which gives the cellular chain complex C∗ (X) the structure of a chain complex of free ZG-modules and ZG-module homomorphisms. When regarded in this way, the modules in C∗ (X) have the form ⎧ ZG, ⎪ ⎪ ⎨ ZG, Cn (X) = x∈x ZG, ⎪ ⎪ ⎩ r∈r 0,

n = 0, n = 1, n = 2, n ≥ 3.

We let e0 , e1x (x ∈ x), e2r (r ∈ r) denote free generators of the ZG-modules C0 (X), C1 (X) and C0 (X). The ZG-equivariant boundary homomorphism ∂1 : C1 (X) → C0 (X) is given on generators by

Cohomology Rings | 205

∂1 (e1x ) = (1 − φ(x)) e0

(2.53)

for x ∈ x, where φ : F = F(x)G is the canonical quotient group homomorphism. To describe the homomorphism ∂2 : C2 (X) → C1 (X) we recall details on the Fox derivative ∂/∂x. Let W be any ZG–module, and let an element f ∈ F act on an element w ∈ W by f · w = φ(f )w. A function χ : F → W is said to be a derivative if it satisfies the rule χ(ff ) = χ f + f · χf . A consequence of this rule is that χ(f −1 ) = −f −1 (χf ). It is readily seen that for each generator x ∈ x there is a unique derivative ∂ : F → ZG ∂x

(2.54)

∂ ∂ that satisfies ∂x (x) = 1 and ∂x (y) = 0 for x  = y ∈ x. The homomorphism ∂2 : ⊕r ZG → ⊕x ZG is defined on generators by

∂2 (e2r ) =

  ∂r  φ e1x . ∂x x∈x

(2.55)

More details on this description of C∗ (X) can be found, for instance, in [75]. The cellular chain complex C∗ (K(P )) is obtained from C∗ (X) simply by killing the G-action. C∗ (K(P )) : 0 −→



∂2

Z −→

r∈r



0

Z −→ Z

(2.56)

x∈x

Example 2.8.7. For the presentation P = x, y | xyxy−1 x−1 y−1  we have ∂2 ∂1  C∗ (K( P )) : 0 −→ ZG −→ ZG ⊕ ZG −→ ZG

where ∂2 is defined on the single free generator in degree 2 by ∂2 (e2r ) = e1x + x · e1y + xy · e1x − e1y − y · e1x − yx · e1y . We also have

∂2

0

C∗ (K(P )) : 0 −→ Z −→ Z ⊕ Z −→ Z with ∂2 (1) = (1, −1).



We now come to a description of Algorithm 2.8.1 for computing ∪ : H1 (K, Z) × H1 (K, Z) → H2 (K, Z) with K = K(P ). The algorithm is a direct implementation of the definition of the cup product and uses the observation that Lemma 2.8.7 describes a cellular diagonal approximation  : K → K × K which, in turn, induces a diagonal chain approximation ∗ : C∗ (K(P )) → C∗ (K(P × P )) ∼ = C∗ (K(P )) ⊗ C∗ (K(P )).

(2.57)

206 | Cellular Homology

Using e0 , e1x , e2r (x ∈ x, r ∈ r) to denote free abelian chain group generators, the chain map 2.57 is given in degrees 0, 1 by

 0 e0 = e0 ,

 1 e1x = e1x + e1x .

(2.58) (2.59)

In degree 2 it is defined for each r = x 11 x 22 . . . x nn ∈ r by

 2 e2r = e2r + e2r +



σij e2ij

(2.60)

1≤i< i j≤n

where σij = ±1 is determined by the orientation of e2ij implicit in the statement of Lemma 2.8.7. Algorithm 2.8.1 Cup product for 2-complexes.

Input: A finite presentation P = x | r for a group G. Output: A function cup([α], [β]) that inputs two vectors [α], [β] representing cohomology classes in H1 (K(P ), Z) and returns a vector [α] ∪ [β] representing the cup product cohomology class in H2 (K(P ), Z). 1: procedure 2: Use description 2.56 to compute the chain complex C∗ (K) for K = K(P ). 3: Compute the cochain complex d1

0

C∗ : 0 ← HomZ (C2 (K), Z) ← HomZ (C1 (K), Z) ← HomZ (C0 (K), Z) . 4: Use elementary linear algebra to implement a function lift : H1 (C∗ ) → C1 that converts a cohomology class of degree 1 to a representative 1-cocycle. 5: Use elementary linear algebra to implement a function quotient : C2 → H2 (C∗ ) that converts a 2-cocycle to the corresponding cohomology class. 6: The function cup([α], [β]) inputs two vectors representing 1-cohomology classes. The function lift is used to convert this input to two 1-cocycles α, β : C1 (K) → Z. The chain map 2.60 and the cross product 2.48 are then used to produce a vector α ∪ β representing a 2-cocycle. The function quotient is used to convert α ∪ β to a cohomology class [α ∪ β] and this class is returned by cup. 7: end procedure Example 2.8.8. Consider the standard presentation P = x, y | xyx−1 y−1  for the free

abelian group on two generators. Let K = K(P ). On applying Lemma 2.8.7 to the word w = xyx−1 y−1 we obtain a non-reduced van Kampen diagram for (w). For a nice visual representation we transform this diagram to the reduced diagram shown in

Cohomology Rings | 207 x y'

x' y'

y'

x y

x' y

x

y

x'

Figure 2.30 van Kampen diagram over the presentation P × P for P = x, y | xy = yx.

Figure 2.30. The transformation amounts to cancelling pairs of neighbouring cells whose boundaries spell a common word with opposite orientations and thus has no impact on the evaluation of cup products. A 1-cocycle α : C1 (K) → Z is determined by its values α(e1x ), α(e1y ) ∈ Z on generators. There are no restrictions on the homomorphism α since the boundary homomorphism ∂2 : C2 (K) → C1 (K) is trivial. From Figure 2.30 2 we see  that  two 1-cocycles    α, β determine the 2-cocycle α ∪ β : C2 (K) → Z, er → α e1x β e1y − α e1y β e1x . The top left and bottom right cells of the van Kampen dia        gram contribute the terms α e1x β e1y and −α e1y β e1x respectively to α ∪ β. 

In order to compute the cup product ∪ : H1 (Y, Z) × H1 (Y, Z) → H2 (Y, Z) for an arbitrary regular connected CW-space Y we can first compute a discrete vector field on Y and then use Algorithm 1.6.1 to produce a presentation P for the fundamental group π1 (Y). Theorem 2.8.4 refers to a chain equivalence C∗ (Y) → D∗ (Y) from the cellular chain complex of Y to a chain complex D∗ having just one generator for each critical cell in Y. In low dimensions the chain complex D∗ (Y) has the form D∗ (Y) :−→ D4 (Y) −→ D3 (Y) −→ C2 (K(P )) −→ C1 (K(P )) −→ C0 (K(P )) (2.61)

with C∗ (K(P )) precisely the chain complex 2.56. The cup product [α] ∪ [β] ∈ H2 (K(P ), Z) can thus be viewed as an element [α] ∪ [β] ∈ H2 (Y, Z) ⊂ H2 (K(P ), Z). Example 2.8.9. The following GAP session computes a 3-dimensional pure cubical complex Y corresponding to the complement of the two knots of Figure 1.59. The space Y involves just over 250 000 3-cells and has H1 (Y, Z) = Z ⊕ Z , H2 (Y, Z) = Z ⊕ Z. A presentation P for the fundamental group π1 (Y) is computed. One of the four critical cells in Y spells the trivial relator (i.e. the identity word in the free group) and is omitted from P . One can compute H2 (K(P ), Z) = Z ⊂ H2 (Y, Z) (but this is omitted from the session). The final command computes the cup product [α] ∪ [β] of two generating 1-cohomology classes.

208 | Cellular Homology

GAP session 2.8.9 gap> K:=ReadCSVfileAsPureCubicalKnot( ["data175_1.csv", "data175_2.csv"]);; gap> K:=ThickenedPureComplex(K);; gap> Y:=PureComplexComplement(K); Pure cubical complex of dimension 3. gap> W:=ZigZagContractedComplex(Y,2);; gap> W:=RegularCWComplex(W);; gap> W:=ContractedComplex(W);; gap> G:=FundamentalGroup(W);; gap> cup:=CupProduct(G); function( a, b ) ... end gap> cup([1,0],[0,1]); [ 6 ]

It is not a coincidence that the cup product [α] ∪ [β] = 6 ∈ Z is equal to the unoriented linking number of the two knots (computed in Example 1.7.5). The linking number of  any pair of tame knots can be expressed in terms of the cup product.

2.9 Exercises 1. For group elements x, y let (xy)n denote the word xyxy . . . of length n. For instance (xy)5 = xyxyx. Use Lemma 2.2.3 to prove that the group G,m,n = x, y, z : (xy) = (yx) , (yz)m = (zy)m , (xz)m = (zx)m  is torsion free whenever  ≥ 3, m ≥ 3 and n ≥ 3. 2. Let V be a set of n points chosen from the unit interval [0, 1]. Let G(n, ) denote the graph with vertex set V and with an edge joining vertices v0 , v1 ∈ V whenever 0 < |v0 − v1 | ≤ . Let K(n, ) = Clique(G(n, )) denote the clique complex of the graph. Prove that β1 (K(n, )) = 0 for any ∈ R. 3. Let V be a set of n points chosen randomly from the uniform distribution on the unit square [0, 1] × [0, 1]. Let G(n, x) denote the graph with vertex set V and with an edge joining vertices v0 , v1 ∈ V whenever the Euclidean distance satisfies d(v0 − v1 ) ≤ x. Let K(n, x) = Clique(G(n, x)) denote the clique complex of the graph and consider the integer valued random variable fn (x) = β1 (K(n, x)). Produce experimental data to support the claim that, for fixed large n, the function fn (x) has something like a normal distribution with mean μn and small variance. Furthermore, estimate a possible relation between μn and μ2n for large values of n.

Exercises | 209

4. Let (X, dX ) and (Y, dY ) be finite metric spaces. The Gromov–Hausdorff distance dGH (X, Y) was defined in Exercise 10 of Chapter 1. As in Example 1.3.1 let G(X, t) denote the 1-dimensional simplicial space with vertex set X and one edge {x, x } for each pair x, x ∈ X satisfying dX (x, x ) ≤ t. There are only finitely many graphs realized in this way, corresponding to values t = t0 , t1 , . . . , tn say. Let Nt denote the clique complex of G(X, t) and let βi∗∗ (X) denote the βi barcode resulting from the filtered simplicial complex N∗ . Prove the following inequality: dB (βi∗∗ (X), βi∗∗ (Y)) ≤ dGH (X, Y).

(2.62)

Inequality 2.62 is a stability theorem which says that if a data set X is perturbed just a little then the resulting i-dimensional barcode is perturbed just a little. (A proof of 2.62 can be found in [58].) 5. Download the E. Coli y1rl protein from the Protein Data Base and use β1 barcodes to investigate its shape. (You could also use techniques from Chapter 1 to investigate knotting in its backbone, and to identify any knot that is present). 6. Construct a random sample S of say 500 points from the image of the function φ : R3 −→ R7 (x, y, z) → (cos x, sin x, cos y, − sin y, cos z, sin z, cos(x) sin(y + z)). Then compute the βn barcodes, n = 0, 1, for a filtered simplicial complex K∗ constructed from S using the Euclidean metric. Choose a term Y = Kt where β0 (Y) = 1, β1 (Y) = 3 is ‘consistent with’ the barcodes. Construct the fundamental group π1 (Y) and then establish that there are three linearly independent generators a1 , a2 , a3 ∈ H1 (Y, Z) for which ai ∪ aj  = 0 when i  = j. 7. Let X = R3 \ κ be the complement of the link shown in Figure 2.31. Determine Hn (X, Z) for n ≥ 0 and compute the cup product ∪ : H1 (X, Z) × H1 (X, Z) → H2 (X, Z). Give an interpretation for this computed cup product. 8. As motivation for this and subsequent exercises we recall a result of F. Takens from [279]. Let M be a compact C2 differentiable manifold of dimension m. Let φ : M → M by a C2 diffeomorphism and let f : M → R be a C2 map. Takens’ theorem states that it is a generic property that the mapping φ,f : M → R2m+1 , x → (f (x), f φ(x), f φ 2 (x), . . . , f φ 2m (x)) is an embedding. Here generic means ‘open and dense’. (a) Consider the manifold M = S1 = {z ∈ C : |z| = 1}, the diffeomorphism φ : S1 → S1 , z → ei z, and the function f : S1 → R, eθ i → cos(θ) + sin(θ). For z = 1 construct the first 1000 or so terms of the ‘time series’ x0 = f (z), x1 = f φ(z), x2 = f (φ 2 (z)), x3 = f (φ 3 (z)), · · · . Plot the points

210 | Cellular Homology

Figure 2.31 Link with three components.

(xk−1 , xk ) in the plane and observe that they appear to be dense in a subspace with the topology of the original manifold M = S1 . In other words, we can apparently reconstruct the topology of the manifold M from the time series. (b) For fixed ω ∈ R consider the linear recurrence xk+2 = 2 cos(ω)xk+1 − xk and show that, for fixed A, φ ∈ R, the sequence defined√ by xk = A cos(ωk + φ) satisfies this recurrence. Choose A = 1, φ = 0, ω = 2 say, and consider the set S consisting of the first 1000 or so points (xk+1 , xk ) ∈ R2 , k ≥ 0. Consider a filtered simplicial complex K∗ constructed from S using the Euclidean metric. Predict the structure of the βn barcodes constructed from K, and then verify your prediction with an actual computation for n = 0, 1, 2. (c) A sequence x0 , x1 , x2 , . . . of real numbers is said to be linear recurring of order m if there exist constants a0 , . . . , am−1 ∈ R such that xk = am−1 xk−1 + am−2 xk−2 + · · · + a0 xk−m

(2.63)

for all k ≥ m. In other words, the sequence is linear recurring of order m if and only if all vectors (xk , xk−1 , . . . , xk−m ) ∈ Rm+1 lie in an mdimensional subspace L ⊂ Rm+1 . The linear recurring sequence is said to have characteristic polynomial f (x) = xm − am−1 xm−1 − am−2 xm−2 − · · · − a1 x − a0 .

(2.64)

Given two linear recurring sequences with characteristic polynomials f (x) and g(x), verify that the sequence defined by xk = wk + zk is linear recurring with characteristic polynomial f (x)g(x). Consider the set S consisting of the first 1000 or so points (xk+3 , xk+2 , xk+1 , xk ) ∈ R4 , k ≥ 0, where x0 , x1 , . . . is some linear recurring sequence of order 4 with characteristic polynomial fω (x)fν (x) in which fτ (x) = x2 −

Exercises | 211

2 cos(τ )x + 1. Consider a filtered simplicial complex K∗ constructed from S using the Euclidean metric. Predict how the structure of the βn barcodes constructed from K∗ will depend on the parameters ω, ν, x0 , x1 , x2 , x3 ∈ R. 9. The water level in Galway Port is measured every six minutes. The resulting time series of water levels x0 , x1 , x2 , . . . from 2006 to present is available from the website of the Irish National Tide Gauge Network. From the first 2050 terms in this series construct the points (xn−49 , xn−48 , ..., xn ) ∈ R50 , 50 ≤ n ≤ 2050. Then perform a persistent homology analysis of the 50-dimensional point cloud and attempt to interpret the results. (The 1-skeleton of a particular term in the associated filtered simplicial clique complex is pictured in Figure 2.32. The classical model of sea level H(t) at time t at a fixed position, developed by Laplace, Kelvin, Darwin, Doodson and others, is H(t) = A0 + A1 cos(v1 t − φ1 ) + A2 cos(v2 t − φ2 ) + · · · + Ak cos(vk t − φk ) where the speeds vi are small integral linear combinations of certain astronomical frequencies and the constants Ai , φi are obtained from sea level readings over a period of about one year. For practical predictions around k = 25 − 37 summands of the model are used.) 10. In this exercise we consider ideas introduced in [262] for investigating the mathematical structure of music. A simple tune, i.e. melody, can be regarded a sequence of pitch fluctuations endowed with a rhythm, where the pitch of a note

Figure 2.32 1-skeleton of a term in the filtered simplicial complex arising from Galway Port tidal data.

212 | Cellular Homology

is measured by its frequency. The C-major scale consists of eight notes beginning at C with frequency 261.6Hz and ending at C with frequency 523.2Hz. The frequencies of some notes in this range are given in the following table.

Hz

C 261.6

C 277.2

D 293.7

Hz

D 311.1 A 440.0

E 329.6 A 466.2

F 349.2 B 493.9

F# 370.0

G 392.0

G 415.3

C 523.2

From a musical perspective it is natural to identify notes which lie precisely an octave apart. We thus define the distance between notes with frequencies f and g to be d(f , g) = min(s, 1 − s) with s = | log2 (f /g)| mod 1.

(2.65)

If we identify a note of frequency f with the point log2 (f ) ∈ S1 = R/Z then (2.65) defines a metric on notes. We may wish to incorporate the duration of a note, as well as its frequency, into our representation. To this end we denote the duration of a semibreve  by T, the duration of a minim  by T/2, the duration of a crotchet ♩ by T/4 and so on. The durations of notes thus lie in the closed interval [0, T] which we view as a metric space with metric d(s, t) = |s − t|. The pitch and duration of a note is represented as a point in the 1 product space S = S1 × [0, T] which we endow with the L1 -product metric d((f , s), (g, t)) = d(f , g) + d(s, t). A tune can now be regarded as a time series 1 x1 = (f1 , t1 ), x2 = (f2 , t2 ), . . . , xn = (fn , tn ) of points in S . One approach to the analysis of such a time series involves its d-dimensional time-delay embedding 1 1 1 consisting of all d-tuples (xi , xi+1 , . . . , xi+d ) in T d = S × S × · · · × S . We give T d the structure of a metric space using the L1 -product metric. For various tunes and various values of d and T construct the βn barcodes arising from the tune’s time-delay embedding in T d . Then construct the βn 1 barcodes arising from various random times series with values in S . Are there any noticeable differences between the barcodes?

3

Cohomology of Groups

From this point on we focus on computations related to the (co)homology of groups. The definition of group (co)homology, in terms of free resolutions, is recalled in the first section of this chapter. Computational techniques from the previous chapters are applied directly to the definition to furnish some calculations of the homology of various torsionfree crystallographic groups. Section 2 considers torsion in the form of small finite groups. It starts by considering groups acting freely on spheres and uses a convex hull algorithm to produce a periodic resolution for the quaternion group of order 8 from which the group’s cohomology can be extracted. It then considers a naive integral linear algebra approach to group cohomology computation which discards all geometric considerations. This approach only succeeds on extremely small groups, though it does succeed in constructing a periodic resolution for S3 similar to the one offered by Swan in [277]. The symmetric group S3 is interesting in that it has periodic cohomology and yet does not act freely on a sphere. Finally a geometric algorithm involving discrete vector fields is introduced and used to produce the first few terms of free resolutions for some groups of modest size. Section 3 addresses the problem of constructing initial terms of free resolutions for larger finite groups, for large or infinite nilpotent groups and for certain infinite groups with torsion. The basic idea is to build a resolution for a group G out of resolutions for subgroups, the subgroups arising as stabilizer groups of certain actions. This idea is realized using homological perturbation techniques, and in particular a perturbation technique of Wall [287]. Computational examples include the integral homology of the modular group G = SL2 (Z) and of the free nilpotent group G = F4 /γ3 F4 of class 3 on four generators. This second example recovers a calculation from [187]. Other examples compute the low-dimensional homology of: a crystallographic group G with torion; the group G of 5 × 5 signed permutation matrices; the group G = ker(SL2 (Z125 ) → SL2 (Z5 )). The last example recovers a particular case of a result from [38] on exponents in group homology. The perturbation technique of Wall involves a perturbation of the differential in a resolution. One can also fix the differential and perturb the group action. Subsection 3.1 uses perturbed actions to determine the homology, in all degrees, of certain crystallographic groups with torsion. An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

214 | Cohomology of Groups

Larger finite groups are the focus of Section 4 which introduces the transfer homomorphism and the double coset formula of Cartan and Eilenberg. These tools show that the (co)homology of a finite group can be computed from the homology of its Sylow p-subgroups and the tools are used in a computational example that recovers calculations from [209] on the low-dimensional homology of the Mathieu group M23 . The calculations show that Hn (M23 , Z) = 0 for 1 ≤ n ≤ 4 and thus recover an answer to a question of J.-L. Loday about the existence of a non-trivial finite group with trivial integral homology in degrees 1 ≤ n ≤ 3. Section 5 turns to the problem of computing the homology of a finite p-group G in all degrees. The problem is simplified by working over the field F = Fp rather than over Z. An elementary linear algebra procedure is introduced and used to compute the first terms of a minimal FG-resolution from which the dimensions an of the vector spaces Hn (G, F) can be extracted. A finiteinitial portion of the resolution is used to approximate n the Poincaré polynomial p(x) = ∞ n=0 an x . It is known by a result of Venkov and Evens that one only needs to consider a sufficiently long initial portion of a resolution for this approximation to be an equality. The question of how long is sufficient is addressed in Section 9. Section 5 also describes and illustrates a result that allows for the Poincaré polynomials of a certain infinite family of finite p-groups to be determined from a finite computation. Subsection 5.1 digresses to discuss the modular isomorphism problem: can nonisomorphic finite p-groups have isomorphic group algebras over Fp ? This digression provides an opportunity for an experimental investigation into how much information is retained when passing from a group to its homology. The digression is continued into Section 6 which introduces Lie algebra homology and investigates experimentally how much group-theoretic information is contained in the Lie algebra homology of the lower central series of the group algebra. Section 6 also includes a computational example that suggests that the strong connection established in [186] between the integral group homology of free nilpotent groups of class two and the integral Lie algebra homology of the quotients of the lower central series of the group may extend, at least to some extent, to class three. The main theme of the chapter – the computation of group (co)homology – is regained in Section 7. For a correct understanding of Poincaré polynomials attention is turned to cohomology. The cup product is implemented (as a composition product) and used to compute the low degrees H≤N (G, F) of the cohomology ring as a finite dimensional algebra. Singular software is used, in black box fashion, to obtain a presentation for this finite dimensional algebra in the case p = 2. Section 8 is a crash course in spectral sequences, and uses persistent homology barcodes to present information on spectral sequences. Section 9 uses Len Evens’s spectral sequence proof of the finite generation of cohomology rings of finite p-groups to describe a method for finding a (non-optimal) upper bound on the length of a resolution needed to obtain a precise Poincaré polynomial and presentation for the mod-p cohomology ring of a finite p-group. The method is implemented, using calls to Singular, for p = 2 and illustrated on the dihedral group of order 128.

Basic Definitions and Examples | 215

Section 10 is devoted to Steenrod operations on mod-2 cohomology and their computation. Subsection 10.1 gives a computational example which computes information on the Stiefel–Whitney classes of the fibre bundle associated to a real representation of a finite group. Bredon homology is introduced in Section 11 and a procedure for its computation is described and applied to some arithmetic groups and crystallographic groups. The final Section 12 is devoted to the computation of homology and Bredon homology of Coxeter groups.

3.1 Basic Definitions and Examples The homology and cohomology of a group can be introduced using either the topological language of classifying spaces, or the slightly more general algebraic language of free resolutions. We opt for the algebraic approach but emphasize how free resolutions arise from topological constructions of classifying spaces. Let G denote an arbitrary discrete group. Let Z denote the additive group of integers considered as a ZG-module in which the group G acts trivially: gn = n for g ∈ G, n ∈ Z. Definition 3.1.1. A ZG-resolution of Z consists of a chain complex

R∗G :

∂k+1

∂k

∂k−1

∂k−3

∂2

∂2

G G · · · −→ RkG −→ Rk−1 −→ Rk−2 −→ · · · −→ R1G −→ R0G

of ZG-modules RkG and ZG-module homomorphisms ∂k such that  0, for k ≥ 1, (exactness condition) Hk (R∗G ) ∼ = Z, for k = 0, with G acting trivially on H0 (R∗G ). The resolution is said to be free if each RkG is a free ZG-module. The resolution is said to be finitely generated if each RkG is finitely generated as a ZG-module. A finitely generated resolution is said to be finite if there is an N ≥ 1 such that RkG = 0 for k > N. In such a case the resolution is said be of length N G if RN = 0. In a finitely generated free resolution we typically denote the free generators G of Rk by ek1 , ek2 , . . . , ekn with n = rank ZG (RkG ) the ZG-rank of the module. Given a free ZG-resolution R∗G of Z and any ZG-module A we can use the tensor product of Definition 2.6.2 to construct an induced chain complex R∗G ⊗ZG A of ZG-modules: G ⊗ZG A −→ · · · −→ R1G ⊗ZG A −→ R0G ⊗ZG A. · · · −→ RkG ⊗ZG A −→ Rk−1

(3.1)

We can also construct an induced cochain complex HomZG (R∗G , A) of ZG-modules: · · · ←− HomZG (RkG , A) ←− · · · ←− HomZG (R1G , A) ←− HomZG (R0G , A).

(3.2)

The complexes 3.1 and 3.2 lead to the following definition. Definition 3.1.2. The homology and cohomology of a group G with coefficients in a

ZG-module A are defined to be the ZG-modules

216 | Cohomology of Groups

Hk (G, A) = Hk (R∗G ⊗ZG A), Hk (G, A) = Hk (HomZG (R∗G , A)), where R∗G is any free ZG-resolution of Z. We usually regard these modules just as abelian groups. The usefulness of 3.1.2 as a definition is derived from the following fundamental theorem of homological group theory. Theorem 3.1.1. Let G be a group, A a ZG-module, and R∗G , SG ∗ two free ZG-resolutions of

Z. Then there are isomorphisms of ZG-modules

Hk (R∗G ⊗ZG A) ∼ = Hk (SG ∗ ⊗ZG A), Hk (HomZG (R∗G , A)) ∼ = Hk (HomZG (SG ∗ A)) for k ≥ 0. The proof of Theorem 3.1.1 uses the following definition and lemma. Definition 3.1.3. (i) Let φ : G → G be a group homomorphism, let A be a ZG-module

and let B be a ZG -module. A function φ# : A → B is a φ-equivariant homomorphism if φ# (a1 + a2 ) = φ# (a1 ) + φ# (a2 ) and φ# (g · a) = φ(g) · φ# (a) for all a, a1 , a2 ∈ A, g ∈ G. (ii) Let R∗G be a ZG-resolution and let SG ∗ be a ZG -resolution. A φ-equivariant chain map f∗ : R∗G → SG ∗ consists of a sequence of φ-equivariant homomorphisms G G fk : Rk → Sk , k ≥ 0, satisfying the usual chain map condition fk−1 ∂k = ∂k fk for k ≥ 1.

Note that if A is a free ZG-module with basis EA and if B is any ZG -module then a φ-equivariant homomorphism φ# : A → B is uniquely determined by its values φ# (a) for a ∈ EA . Moreover, any choice of values φ# (a) for a ∈ EA uniquely extends to a φ-equivariant homomorphism φ# . Lemma 3.1.2. Let φ : G → G be a group homomorphism, let R∗G be a free ZG-resolution

of Z and let SG ∗ be a (not necessarily free) ZG -resolution of Z. Then

(i) There exists a φ-equivariant chain map f∗ : R∗G → SG ∗ that induces the identity map = ). H0 (R∗G ) ∼ = Z −→ Z ∼ = H0 (SG ∗

(ii) If two φ-equivariant chain maps f∗ , g∗ : R∗G → SG ∗ induce the identity map = G G ∼ ∼ H0 (R∗ ) = Z −→ Z = H0 (S∗ ) then there exists a family of φ-equivariant homomorphisms hk : RkG → SG k+1 , k ≥ 0, satisfying the chain homotopy condition ∂k+1 hk + hk−1 ∂k = fk − gk

for k ≥ 0 with h−1 = 0.

Basic Definitions and Examples | 217

The proof of Lemma 3.1.2 is an easy exercise. The freeness of R∗G is needed in order to inductively define φ-equivariant homomorphisms fk and hk by specifying their values just on free generators. The exactness of SG ∗ is needed to ensure that for any element G G x ∈ ker(∂k : Sk → Sk−1 ) there exists an element x˜ ∈ SG ˜ = x. The k+1 such that ∂k+1 (x) exactness of R∗G is not needed at all and the lemma could also be stated for R∗G any chain complex of free ZG-modules with H0 (R∗G ) ∼ = Z. To prove Theorem 3.1.1 we use 3.1.2(i) to construct chain maps f∗ : R∗G → SG ∗ and G . Let φ : G → G be the identity group homomorphism. We use 3.1.2(ii) to → R f∗ : SG ∗ ∗ construct φ-equivariant chain homotopies f∗ f∗ 1R∗ and f∗ f∗ 1S∗ =

=

G with 1R∗ : R∗G → R∗G and 1S∗ : SG ∗ → S∗ the identity chain maps. On applying the functor − ⊗ZG A these two φ-equivariant chain homotopies induce chain homotopies

(f∗ ⊗ZG A)(f∗ ⊗ZG A) 1R∗ ⊗ZG A and (f∗ ⊗ZG A)(f∗ ⊗ZG A) 1S∗ ⊗ZG A.

(3.3)

It follows from Proposition 2.3.2 that ∼ =

H∗ (f∗ ⊗ZG A) : H∗ (R∗G ⊗ZG A) −→ H∗ (SG ∗ ⊗ZG A) is an isomorphism of homology. A similar argument for cohomology completes the proof of Theorem 3.1.1. Definition 3.1.2 and Theorem 3.1.1 provide a purely algebraic definition of the homology and cohomology of a group. But it is worth bearing in mind a quote from Sir Michael Atiyah in [12]: Fundamentally the purpose of algebra always was to produce a formula which one could put into a machine, turn a handle and get an answer. You took something that had a meaning; you converted it into a formula, and you got the answer. In this process you do not need to think any more about what the different stages in the algebra correspond to in the geometry. You lose the insights, and this can be important at different stages. You must not give up the insight altogether! You might want to come back to it later on.

Example 3.1.1. Consider the finitely presented group G ∼ = x, y | xyx = y. Example

1.9.1 established that G acts freely on the plane R2 with hexagonal Dirichlet–Voronoi fundamental domain D(v) corresponding to v = (1/3, 1/3)t . An alternative, rectangular, fundamental domain D(w) is obtained from w = (0, 0)t . The domain D(w) gives rise to a rectangular tessellation of R2 and a G-equivariant CW-structure on X = R2 with one orbit of rectangular 2-cells, two orbits of 1-cells and one orbit of 0-cells. The fixed-point free action of G on X induces an action of G on the cellular chain complex C∗ (X) making it a chain complex of free ZG-modules: C∗ (X) : 0 → ZG → ZG ⊕ ZG → ZG .

218 | Cohomology of Groups

Since X is contractible we have Hk (C∗ (X)) ∼ = 0 for k ≥ 1 and H0 (C∗ (X)) ∼ = Z. Therefore C∗ (X) is an example of a free ZG-resolution of Z. The space X is in fact the space  P ) of Definition 1.10.1 for P = x, y | xyx = y. A description of the boundary X = K( homomorphisms is furnished by formulae 2.53 and 2.55: ∂1 (e1x ) = (1 − x)e0 , ∂1 (e1y ) = (1 − y)e0 , ∂2 (e2r ) = (1 + xy)e1x + (−1 + x)e1y . From this resolution we readily compute the homology of G with coefficients in the trivial  ZG-module Z: H0 (G, Z) = Z, H1 (G, Z) = Z ⊕ Z2 , Hk (G, Z) = 0 for k ≥ 2. By forgetting the group G one can view any free ZG-resolution R∗G of Z as a chain complex of free abelian groups with trivial homology in degrees ≥ 1. One can view Z as a chain complex · · · 0 → 0 → 0 → Z of length 0. By ‘taking homology’ we obtain a quotient chain map ρ∗ : R∗G Z which is a weak equivalence of chain complexes of free abelian groups. By Proposition 2.3.3 there exists a weak equivalence ι∗ : Z → R∗G and a chain homotopy ι∗ ρ∗ 1 between ι∗ ρ∗ and the identity chain map on R∗G . This chain homotopy is called a contracting homotopy and plays a crucial role in the algorithmic treatment of group cohomology. For future reference we give a more explicit definition of this notion. Definition 3.1.4. Let R∗G be a free ZG-resolution of Z. A contracting homotopy on R∗G

G consists of a sequence of abelian group homomorphisms hk : RkG → Rk+1 , k ≥ 0, satisfying hk−1 ∂k + ∂k+1 hk = 1

for k ≥ 0 with h−1 = 0. The homomorphisms hk do not need to preserve the action of G. Free resolutions are stored in HAP using the following data type. Data type 3.1.1. The first n terms of a finitely generated free ZG-resolution R∗G of Z

can be stored as a component object R with the following components.

• R!.dimension(k) is a function that returns the integer rankZG (RkG ) for k ≥ 0. • R!.elts is a partial listing of elements in G. For small finite groups the list could consist of all elements of G, but typically it contains only those elements needed for computations with the resolution. The list may contain duplicate entries as this is useful when handling a finitely presented group G for which we do not wish to test equality of elements. G of the jth free • R!.boundary(k,j) is a function that returns the image in Rk−1 G generator of the ZG-module Rk . In order to represent a word k−1 k−1 G w = 1 g1 ek−1 i1 + 2 g2 ei2 + · · · +  g ei ∈ Rk−1 ,

(gi ∈ G, i = ±1)

Basic Definitions and Examples | 219

we use a list of integer pairs w = [[1 i1 , i 1 ], [2 i2 , i 2 ], . . . , [ i , i  ]] with R!.elts[i m ] = gm for m = 1, 2, . . . , . G , under a con• R!.homotopy(k,[i,g]) is a function that returns the image in Rk+1 G G k G tracting homotopy hk : Rk → Rk+1 , of the element gei ∈ Rk for g =P!.elts[g]∈ G, 1 ≤ i ≤ rankZG (RkG ). (The elements geki freely generate RkG as an abelian group.) For some resolutions a contracting homotopy is not constructed, in which case R!.homotopy is set equal to fail. • R!.group is the GAP representation of the group G. This could be a finitely presented group, a matrix group, a permutation group, a power-commutator group, a polycyclic group and so on. • R!.properties is a list of properties of the resolution, each property stored as a pair such as: [“length”, n] which records that there are n terms in the resolution; [“characteristic”, p] which records the characteristic of the ground ring Z (or Zp ); [“reduced”, true] which records that rankZG (R0G ) = 1; and so on. The associated function IsHAPResolution(R) returns the boolean true when R is of this data type. Example 3.1.2. The following GAP session computes a finite free resolution for the 4-dimensional crystallographic group G arising as group number 1886 in the Carat [225] crystallographic algorithms library and tables. The computation first uses Algorithm 1.9.3 to check that G acts freely on R4 and then computes the cellular chain complex R∗G = C∗ (X) of a regular CW-space X = R4 arising from a tessellation of R4 by a Dirichlet–Voronoi fundamental domain. The fundamental domain is computed using Polymake software [127] and its 1-skeleton is shown in Figure 3.1. The resolution is used to calculate

Figure 3.1 Edge graph of a fundamental domain for space group 1886 of dimension 4.

220 | Cohomology of Groups

⎧ Z, ⎪ ⎪ ⎨ Z2 ⊕ Z, Hk (G, Z) = Z ⎪ 2, ⎪ ⎩ 0,

k = 0, 3, 4, k = 1, k = 2, k ≥ 5.

GAP session 3.1.2 gap> G:=SpaceGroup(4,1886);; gap> R:=ResolutionBieberbachGroup(G); Resolution of length 4 in characteristic 0 for SpaceGroupOnRightBBNWZ( 4, 13, 4, 4, 11 ) . No contracting homotopy available. gap> C:=TensorWithIntegers(R); Chain complex of length 5 in characteristic 0 . gap> Homology(C,0); [ 0 ] gap> Homology(C,1); [ 2, 0 ] gap> Homology(C,2); [ 2 ] gap> Homology(C,3); [ 0 ] gap> Homology(C,4); [ 0 ]

No contracting homotopy has been computed on this resolution R∗G . The function ResolutionBieberbachGroup was implemented by Marc Röder [244].  In general there seems to be no obvious easy method for computing a contracting homotopy on the cellular chain complex C∗ (X) of the CW-space X = Rn arising from a tessellation by a fundamental domain. However, for cubical fundamental domains there is indeed an obvious contracting homotopy. To see this, consider the CW-decomposition of the real line R with 0-cells the singletons {n} and 1-cells the open intervals (n, n + 1) for n ∈ Z. A discrete vector field on this CW-space, involving just one critical 0-cell and no critical 1-cells, is shown in Figure 3.2. By a repeated use of Proposition 2.8.5 the vector field on R extends to a discrete vector field on the cubical space X = Rn = R × Rn−1

Figure 3.2 Discrete vector field on R.

Basic Definitions and Examples | 221

involving just one critical 0-cell and no other critical cells. The vector field on the CWspace X = Rn induces a discrete vector field on the chain complex C∗ (X). By Theorem 2.3.6 this algebraic vector field determines a contracting homotopy C∗ (X) Z which we refer to as the standard contracting homotopy. Algorithm 3.1.1 describes a procedure that inputs an n-dimensional Bieberbach group G and attempts to return a free ZG-resolution arising from a G-CW-structure on Rn with just one orbit of n-dimensional cells and for which a representative n-cell has the CW-structure of the n-cube In . To be precise, here I = [0, 1] is understood to have the CW-structure involving two 0-cells and one 1-cell, and the n-cube In has the product CW-structure. We call such a space a cubical G-CW-space. The procedure has been implemented by Bui Anh Tuan [280] and is available in HAP. In some cases where the procedure fails one can prove that no cubical G-CW-space exists. Algorithm 3.1.1 Free cubical resolution for Bieberbach groups

Input: A set of (n + 1) × (n + 1) matrices that generate an n-dimensional Bieberbach group G in standard form. Output: Either fail or a free ZG-resolution R∗ of Z that arises as the chain complex R∗ = C∗ (Rn ) of a G-CW-structure on Rn with just one orbit of n-dimensional cells and with representative n-cell having the CW-structure of the n-cube In . The complex R∗ is endowed with the standard contracting homotopy of Rn described above. 1: procedure 2: Construct a cubical T-CW-structure on Rn for the translation subgroup T ≤ G. Since T is generated by translations of unit length along each of the standard axes the cubical T-CW-structure corresponds to the usual tessellation of Rn by rectangular n-cubes of unit side. 3: Compute the order m = |G/T| of the finite point group. 4: Try to subdivide a representative cubical n-cell for T into |G/T| smaller and equally sized rectangular n-cells such that the smaller n-cells form a G-CWstructure on Rn . 5: if the attempt at the subdivision is successful then 6: Return the resulting chain complex R∗ = C∗ (Rn ) as a free ZG-resolution endowed with the standard contracting homotopy. 7: else 8: Return fail. 9: end if 10: end procedure Example 3.1.3. Algorithm 1.9.3 can be used to check that the 4-dimensional crystallographic group G with number 122 in the Carat library acts freely on R4 . The following GAP session uses Algorithm 3.1.1 to establish that G admits a cubical fundamental domain and to construct the free resolution R∗G = C∗ (X) for the tessellation of X = R4

222 | Cohomology of Groups

by this cubical domain. The resolution is endowed with the standard contracting homotopy. The resolution is used to compute: ⎧ Z, k = 0, ⎪ ⎪ ⎪ ⎪ 0, k = 1, ⎪ ⎪ ⎨ ⊕ Z ⊕ Z ⊕ Z, k = 2, Z 2 4 4 Hk (G, Z) ∼ = Z ⊕ Z, k = 3, ⎪ ⎪ ⎪ ⎪ , k = 4, Z ⎪ 2 ⎪ ⎩ 0, k ≥ 5. GAP session 3.1.3 gap> G:=SpaceGroup(4,122);; gap> R:=ResolutionCubicalCrystGroup(G,5); Resolution of length 4 in characteristic 0 for . gap> C:=HomToIntegers(R); Cochain complex of length 6 in characteristic 0 . gap> Cohomology(C,0); [ 0 ] gap> Cohomology(C,1); [ ] gap> Cohomology(C,2); [ 2, 4, 4, 0 ] gap> Cohomology(C,3); [ 0, 0 ] gap> Cohomology(C,4); [ 2 ]

The function ResolutionCubicalCrystGroup was implemented by Bui Anh Tuan  [280]. A version of Algorithm 3.1.1 can be applied to an arbitrary crystallographic group G in an attempt to construct a G-CW-structure on Rn with just one orbit of n-dimensional cells and for which a representative n-cell has the CW-structure of the n-cube In . This more general version of the algorithm is implemented in the function Resolution CubicalCrystGroup and, if successful on a non-Bieberbach crystallographic group, returns a non-free resolution (see Data Type 3.3.1 below). The implementation succeeds on 12 of the 17 2-dimensional crystallographic groups; it succeeds on 114 of the 219 3-dimensional crystallographic groups; it succeeds on 1996 of the 4783 4-dimensional crystallographic groups.

Basic Definitions and Examples | 223

Proofs of various statements in homological algebra require the following element of choice. Given a resolution R∗ and an element x ∈ ker(∂k : Rk → Rk−1 ) choose an element x˜ ∈ ˜ = x. Rk+1 such that ∂k+1 (x) (3.4) The proofs of Lemma 3.1.2 (i) and (ii) both require such choices. In order to translate these proofs into constructive proofs that can be implemented on a computer one needs a method of performing 3.4 algorithmically. It is sometimes possible to choose x˜ by solving a system of equations using elementary linear algebra or by using more sophisticated techniques from Gröbner basis theory. If the resolution R∗ is endowed with a contracting homotopy hk : Rk → Rk+1 then one can very quickly solve 3.4. Given a resolution R∗ and an element x ∈ ker(∂k : Rk → Rk−1 ) then the equation ˜ = x is satisfied by setting x˜ := hk (x) ∈ Rk+1 . ∂k+1 (x) (3.5) The next example illustrates an application of method 3.5. Example 3.1.4. The following GAP session creates the translation subgroup T ≤ G of crystallographic group number 122 of dimension 4, and creates free resolutions R∗T , R∗G using the cubical fundamental domain algorithm 3.1.1. The proof of Lemma 3.1.2 (i), together with the contracting homotopy on R∗G , is used to construct an f -equivariant chain f map R∗ : R∗T → R∗G for the inclusion group homomorphism f : T → G. The chain map f R∗ induces a chain map F∗ : R∗T ⊗ZG Z → R∗G ⊗ZG Z which, in turn, induces a homology map hn : Hk (T, Z) → Hk (G, Z) for k ≥ 0. The homomorphism h2 is evaluated and used to compute: ker(H2 (T, Z) → H2 (G, Z)) ∼ = Z5 ,

im (H2 (T, Z) → H2 (G, Z)) ∼ = Z. GAP session 3.1.4 gap> G:=SpaceGroup(4,122);; gap> gens:=GeneratorsOfGroup(G);; gap> T:=AffineCrystGroupOnRight(gens{[3,4,5,6]});; gap> f:=GroupHomomorphismByFunction(T,G,x->x);; gap> RG:=ResolutionCubicalCrystGroup(G,5);; gap> RT:=ResolutionCubicalCrystGroup(T,5);; gap> Rf:=EquivariantChainMap(RT,RG,f); Equivariant Chain Map between resolutions of length 5 . gap> F:=TensorWithIntegers(Rf); Chain Map between complexes of length 5 .

224 | Cohomology of Groups gap> h:=Homology(F,2);; gap> AbelianInvariants(Kernel(h)); [ 0, 0, 0, 0, 0 ] gap> AbelianInvariants(Image(h)); [ 0 ]



Example 3.1.4 illustrates how an arbitrary group homomorphism φ∗ : homomorphism

G → G induces a

Hk (φ, Z) : Hn (G, Z) → Hk (G , Z) of homology groups for k ≥ 0. Proposition 2.3.2 and Lemma 3.1.2 imply that this defines a functor Hn (−, Z) : Groups −→ Abelian Groups for each k ≥ 0. More generally, for any abelian group A we can consider the category GroupsA whose objects are group homomorphisms ρG : G → Aut(A) to the automorphism group of A and whose arrows are commutative triangles of group homomorphisms: φ

/ G GE EE xx EE x E xx xx ρG ρG EEE x " |x Aut(A)

The objects of GroupsA should be viewed as ZG-modules with underlying abelian group A. Using Proposition 2.3.2 and Lemma 3.1.2 we obtain a covariant functor Hk (−, A) : GroupsA −→ Abelian Groups

(3.6)

and contravariant functor Hk (−, A) : GroupsA −→ Abelian Groups

(3.7)

for each k ≥ 0.

3.2 Small Finite Groups Consider the cyclic group Zn = x | xn = 1 of finite order n ≥ 2. This group acts fixedpoint freely on the circle S1 with x a rotation through 2π/n radians. A tessellation of S1 by a fundamental domain for the action yields a CW-structure on S1 involving n cells

Small Finite Groups | 225

of dimension 1 separated by n equally spaced vertices. The cellular chain complex is of length 1 and has the form ∂1

C∗ (S1 ) : · · · −→ 0 −→ 0 −→ ZZn −→ ZZn .

(3.8)

Now coker(∂1 ) ∼ = H0 (S1 , Z) ∼ = Z and ker(∂1 ) ∼ = H1 (S1 , Z) ∼ = Z. Moreover, the rotation action of Zn induces a trivial action on these homology groups. So by splicing together copies of 3.8 we obtain the free ZZn -resolution of Z ∂2

∂1

∂2

∂1

∂2

∂1

R∗Zn : · · · −→ ZZn −→ ZZn −→ ZZn −→ ZZn −→ ZZn −→ ZZn

(3.9)

of infinite length. The boundary homomorphisms are defined by ∂1 (ek ) = (1 − x) ek−1 and ∂2 (ek ) = (1 + x + · · · + xn−1 ) ek−1 where ek is the single free generator in degree k. The resolution is said to be periodic since its boundary homomorphisms repeat with a fixed periodicity, the periodicity being 2. From the resolution we compute  Zn , ∼ Hk (Zn , Z) = 0,

odd k ≥ 1, even k ≥ 2.

(3.10)

This simple calculation leads to the first part of the following proposition. For the second part of the proposition we let Ok (R) denote the group of orthogonal k × k real matrices. Proposition 3.2.1. (i) No non-trivial finite group G admits a finite free ZG-resolution of Z.

(ii) If a finite group G ≤ Ok (R) acts fixed-point freely on the unit sphere Sk−1 with trivial induced action on Hk−1 (Sk−1 , Z) ∼ = Z, then there exists a periodic, finitely generated, free ZG-resolution of Z of periodicity k.

Proof. To prove (i) let R∗G be a finitely generated free ZG-resolution of Z for G a nontrivial finite group. There exsists a non-trivial cyclic subgroup H ≤ G. By Proposition 2.6.2, and by restricting the action of G to an action of H, the resolution R∗G is also a finitely generated free ZH-resolution of Z. The calculation 3.10 implies that the resolution R∗G must have infinite length. To prove (ii) suppose that G acts freely on Sk−1 . By tessellating the sphere with a fundamental domain for the action we obtain a CW-decomposition of Sk−1 . The cellular chain complex C∗ (Sk−1 ) is a complex of finitely generated free ZG-modules with Hi (C∗ (Sk−1 )) ∼ = 0, i = 0, k − 1, and H0 (C∗ (Sk−1 )) = Z, Hk−1 (C∗ (Sk−1 )) = Z. The induced action on H0 (C∗ (Sk−1 )) is trivial. If the induced action on Hk−1 (C∗ (Sk−1 )) is also trivial then we can splice  together copies of C∗ (Sk−1 ) to form a free ZG-resolution of period k. Example 3.2.1. To illustrate Proposition 3.2.1 we consider the quaternion group Q of

order 8. Example 1.9.2 describes Q as a group of 2 × 2 complex matrices generated by the two matrices of 1.32. It is shown in that example that Q acts fixed-point freely on the k-skeleton of the orbit polytope P = P(Q , v) for v = (1, 0) ∈ C2 and k = 0, 1, 2. The action happens to be free also for k = 3. The 3-skeleton P3 is homeomorphic to the sphere S3 . One can show (using for instance an easy case of the Lefschetz fixed-point theorem

226 | Cohomology of Groups

described below) that any group acting freely on an odd-dimensional sphere acts trivially on the top dimensional integral homology of the sphere. Hence, by Proposition 3.2.1, there exists a periodic free ZQ -resolution of Z of period four. The following GAP session uses Lemma 1.1.3 and 1.1.4 and Polymake software to compute the initial four terms of such a resolution Q

R∗ : · · · −→ ZG −→ (ZG)2 −→ (ZG)4 −→ (ZG)3 −→ ZG. GAP session 3.2.1 gap> A:=[[0,-1,0,0,],[1,0,0,0,],[0,0,0,1],[0,0,-1,0]];; gap> B:=[[0,0,-1,0],[0,0,0,-1],[1,0,0,0],[0,1,0,0]];; gap> Q:=Group([A,B]);; gap> R:=PolytopalComplex(Q,[1,0,0,0]);; gap> List([0..4],i->R!.dimension(i)); [ 1, 3, 4, 2, 1]

An alternative period four ZQ -resolution of Z, with different numbers of free generators, can be found in the classic text [56] by Cartan and Eilenberg. To illustrate a cohomology computation with twisted coefficients we consider the canonical homomorphism α : Q → GL4 (Z) that represents each element of Q as a 4 × 4 integer matrix. The data in α determines a ZQ -module A with underlying abelian group Z4 and with x ∈ Q acting on a row vector a ∈ A by x · a = α(x)at . We continue the GAP session to calculate H4k+3 (Q , A) ∼ = Z2 . (k ≥ 0) GAP session 3.2.1 gap> A:=GroupHomomorphismByFunction(Q,Q,x->x);; gap> C:=HomToIntegralModule(R,A);; gap> Cohomology(C,3); [ 2 ]



Example 3.2.1 makes reference to the following definition and proposition. Definition 3.2.1. The Lefschetz number of a chain map f∗ : C∗ → C∗ on a finite length

chain complex of finitely generated free abelian groups is the alternating sum of the traces of the component homomorphisms  (−1)k Tr( fk ). λ( f∗ ) = k≥0

Small Finite Groups | 227

Here Tr(fk ) is the trace of a matrix representation of fk with respect to some basis of Ck . Proposition 3.2.2 (Easy case of Lefschetz fixed-point theorem). Let f∗ : C∗ → C∗ be a

chain map on a finite length chain complex of finitely generated free abelian groups. Then: (i)  (−1)k Tr( Hk ( f∗ ⊗Z Q)) λ( f∗ ) = k≥0

where f∗ ⊗Z Q : C∗ ⊗Z Q → C∗ ⊗Z Q. (ii) If a strictly cellular map f : X → X on a finite regular CW-space X is fixed-point free then the induced chain map f∗ : C∗ (X) → C∗ (X) has Lefschetz number λ( f∗ ) = 0. Proof. The proof of (i) is analogous to the proof of Lemma 2.1.1. In fact, that lemma can be viewed as the special case of (i) in which f∗ = 1∗ since λ(1∗ ) = χ(C∗ ) is the identity chain map. Statement (ii) is just the observation that any fixed-point free  strictly cellular map induces a chain map with Tr(fk ) = 0 for k ≥ 0. Example 3.2.1 illustrates the computation of cohomology Hk (G, A) with coefficients in a ZG-module A whose underlying abelian group is free abelian. It uses the function HomToIntegralModule(R,A) which inputs a free ZG-resolution R and a group homomorphism G → GLn (Z) corresponding to the ZG-module A = Zn . One technique for handling modules A with torsion in the underlying abelian group is to construct a short exact sequence of ZG-modules B → MA

(3.11)

where M has no torsion. Partial information on Hk (G, A) can be extracted from the following result. Proposition 3.2.3. The short exact sequence of ZG-modules 3.11 gives rise to long exact

sequences · · · → Hk (G, B) → Hk (G, M) → Hk (G, A) → Hk−1 (G, B) → · · · · · · → Hk (G, B) → Hk (G, M) → Hk (G, A) → Hk+1 (G, B) → · · · for k ≥ 0 with H−1 (G, B) = 0 for any module B. Proof. Let R∗G be a free ZG-resolution of Z. The first long exact sequence follows from the short exact sequence of chain complexes R∗G ⊗ZG B  R∗G ⊗ZG M  R∗G ⊗ZG A, and Proposition 2.3.4. The second long exact sequence follows from the short exact sequence of cochain complexes HomZG (R∗G , B)  HomZG (R∗G , M)  HomZG (R∗G , A) 

228 | Cohomology of Groups

If, for instance, M is a free ZG-module then Hk (G, M) = 0 for k ≥ 1, the module B has no torsion, and Proposition 3.2.3 yields an isomorphism Hk (G, A) ∼ = Hk−1 (G, B) for k ≥ 2. For the special case of the trivial ZG-module A = Zp with p prime the HAP functions TensorWithIntegersModP(R,p) and HomToIntegersModP(R,p) can be used to compute the chain complex R∗G ⊗ZG Zp and cochain complex HomZG (R∗G , Zp ). Coefficient modules A with torsion can also be handled using the data type 4.2.1 of a G-outer group which is introduced in Sections 4.2 and 4.3. We now turn to the question of how to compute finitely many terms of a free ZGresolution for an arbitrary finite group G. We begin with a naive linear algebraic method which suffices for very small groups G. We then give a method, involving the explicit construction of a CW-space, that suffices for slightly larger groups G. In Section 3.3.1 (and see also Section 3.4) we give a divide-and-conquer strategy that suffices for groups such as the Mathieu group M24 of order just over 244 million. The naive algebraic approach to constructing a free ZG-resolution views an element w ∈ ZG as an integer vector in the underlying free abelian group Z|G| . Given a free ZGmodule M of ZG-rank d, we can view a word w ∈ M as an integer vector in the underlying free abelian group Zd|G| . We can then use elementary row operations to construct a free resolution. The details are recorded in Algorithm 3.2.1. Algorithm 3.2.1 Free ZG-resolution of Z using linear algebra.

Input: An integer n ≥ 1 and a finite group G. A method for listing the elements of G, and multiplying elements in the list, is required. Output: The initial n + 1 terms of a free ZG-resolution R∗G of Z. 1: procedure   2: Set R0G = ZG and define the homomorphism ∂0 : R0G → Z, ng  → n. Also define the constant homomorphism h−1 : 0 → R0G . 3: for 0 ≤ k ≤ n do 4: Use the Smith Normal Form algorithm to determine a basis Bk for ker ∂k over Z. 5: Use the Smith Normal Form algorithm to determine a minimal subset Ak = {v1 , . . . , vdk } ⊂ Bk whose ZG-span is equal to ker ∂k . (The Smith Normal Form algorithm is used to test if Ak \ {vi } has ZG-span equal to ker ∂k ; if the ZG-spans are equal then vi is removed from A. The process is repeated until no proper subset of Ak has ZG-span equal to ker ∂k .) G = 1≤i≤dk ZG. 6: Set Rk+1 G 7: Define the homomorphism ∂k+1 : Rk+1 → RkG by sending the ith free generator G to vi ∈ Ak ⊂ RkG . Rk+1 G , x  → x˜ can be constructed 8: If required, a contracting homotopy hk : RkG → Rk+1 by solving the equation ∂k+1 x˜ = x − hk−1 ∂k x for each generator x ∈ Bk−1 . 9: end for 10: Return the first n + 1 terms of the resolution R∗G . 11: end procedure

Small Finite Groups | 229

In Step 5 of Algorithm 3.2.1 the computational efficiency seems to be improved by constructing the set Ak so that its vectors vi have small Euclidean norm. One method for doing this is to apply the LLL algorithm to the set Bk . A description of the LLL algorithm can be found in [62]. Example 3.2.2. The following GAP session uses Algorithm 3.2.1 to construct the first

eight terms of a free ZG-resolution of Z for the finitely presented group G ∼ = x, y | x2 = 1, −1 −2 xyx y = 1. The group G is isomorphic to the symmetric group S3 of degree 3. The session establishes that R4G ∼ = R8G ∼ = ZG and that ∂4 = ∂8 . There thus exists a periodic ZG-resolution of Z of periodicity 4. GAP session 3.2.2 gap> F:=FreeGroup(2);; x:=F.1;; y:=F.2;; gap> G:=F/[ xˆ2, x*y*xˆ-1*yˆ-2 ];; gap> R:=ResolutionSmallGroup(G,8);; gap> R!.dimension(4); 1 gap> R!.dimension(8); 1 gap> R!.boundary(4,1)=R!.boundary(8,1); true

Further commands establish that the resolution is of the form R∗S3 :

· · · −→ ZG ⊕ ZG −→ ZG −→ ZG ⊕ ZG −→ ZG ⊕ ZG −→ ZG.

∼ H3 (S3 , Z) and so the periodicity could not be less than 4. This Furthermore, H1 (S3 , Z) = periodic ZS3 -resolution was first described by Swan in [277] and is of interest because of Proposition 3.2.4 below. The function ResolutionSmallGroup was implemented by Irina Kholodna [180]. The implementation can be applied to any small group G for which there is a method for multiplying and listing elements. When applied to a finitely presented group the implementation constructs the first three terms of the resolution R2G → R1G → R0G directly from the presentation P using the formulae 2.53 and 2.55. These three terms are thus the ˜ P ). In the case of the given presentation cellular chain complex of the 2-complex X = K( ˜ P ) to form a 3-dimensional CWfor S3 one can attach a single orbit of 3-cells to X = K( space X 3 whose cellular chain complex C∗ (X 3 ) coincides with the first four terms of the ˜ P ) is shown in Figure 2.6.  resolution. A picture of the attaching map S2 → K( Proposition 3.2.4. No orthogonal representation ρ : S3 → On+1 (R) restricts to a free

action of S3 on an n-sphere Sn ⊂ Rn+1 .

Proof. Suppose that the action of S3 on Sn were free. Consider the convex hull P = P(S3 , v) of the orbit of some vector v ∈ Sn . Since no facet of P can contain the origin, S3 acts freely on the polytope’s boundary S of dimension dim(S) ≤ n. By an easy modification of Proposition 3.2.1(ii) that allows for non orientation preserving actions, the homology of S3 must have period n + 1 or 2(n + 1). Since the homology

230 | Cohomology of Groups

of S3 has period 4 it follows that n and dim(S) must be odd. The polytope P has six vertices by Lemma 1.1.3. The freeness of the action implies that the 1-skeleton of P is a Cayley graph for S3 with respect to some generating set. As S3 is not cyclic we must have 1 = dim(S) ≤ n. But if 3 ≤ dim(S) then the Cayley graph must correspond to a generating set with at least four generators. At least one of these generators must have order 2. But then the action will stabilize an edge of the Cayley graph and so the action  can’t be free. Algorithm 3.2.1 is sufficient for computing the first few terms of resolutions for very small groups. For instance, the implementation in HAP is well able to compute ten terms of a free ZG-resolution R∗G of Z for G equal to the dihedral group of order 64, obtaining rankZG (RkG ) = k + 1 for 0 ≤ k ≤ 10. These ranks are the smallest possible for this particular group. However, for larger groups, for higher dimensions or for groups whose resolutions involve larger ranks the naive linear algebra approach to computing ZG-resolutions seems to be less practical. The initial bottleneck in Algorithm 3.2.1 is the time required in Step 5 for a repeated use of the Smith Normal Form algorithm to reduce the highly redundant set Bk of generators for the ZG-module ker ∂k to a minimal set of generators Ak . A second approach to the computation of resolutions R∗G for finite groups is described in Algorithm 3.2.2. It uses discrete vector fields to compute a contractible CW-space X with free G-action and then sets R∗G = C∗ (X). The method is a straightforward extension of Algorithm 1.10.1 to higher dimensions. Algorithm 3.2.2 Free ZG-resolution of Z using discrete vector fields.

Input: An integer n ≥ 1 and finite set x of distinct, and non-identity, group elements that generates a finite group G. Output: The first n + 1 terms of a free ZG-resolution of Z arising as the cellular chain complex R∗G = C∗ (X) of a regular CW-complex X on which G acts freely. 1: procedure 2: Represent the Cayley graph  = G,x as a regular CW-complex X. 3: Use Algorithm 1.5.1 to compute a maximal discrete vector field on X for which there is a single critical 0-cell. 4: for 1 ≤ k ≤ n do 5: Let T ⊂ X be the CW-subspace consisting of the non-critical cells of X plus the single critical 0-cell. 6: while there exists some critical k-cell in X do 7: Choose a critical k-cell ek . Let r(ek ) denote the unique CW-subcomplex of T ∪ ek in which each (k − 1)-cell is incident with precisely two k-cells. Thus r(ek ) is homeomorphic to the sphere Sk . 8: Attach a (k + 1)-cell ek+1 to X so that its boundary ∂ek+1 is r(ek ). 9: Add the arrow ek → ek+1 to the discrete vector field on X. 10: for each 1 = g ∈ G do

Operations on Resolutions | 231

11: Attach a (k + 1)-cell gek+1 to X with boundary ∂(gek+1 ) equal to the image of r(ek ) under the action of g. 12: end for 13: Use steps 6–10 of Algorithm 1.5.1 to extend the discrete vector field on X as much as possible. 14: end while 15: Since X has no critical cells of dimension ≤ k, except for the unique critical 0-cell, it is homotopy equivalent to some CW-space whose only cell of dimension ≤ k is a single 0-cell. Hence we can be sure that H0 (X, Z) = Z and Hi (X, Z) = 0 for 1 ≤ i ≤ k. 16: end for 17: Return the cellular chain complex R∗G = C∗ (X) as a free resolution. 18: end procedure Example 3.2.3. The following GAP session uses Algorithm 3.2.2 to compute seven terms of a free ZG-resolution of Z for the symmetric group G = S6 of degree 6, and to compute H6 (S6 , Z) ∼ = Z2 ⊕ Z 2 ⊕ Z 2 ⊕ Z 2 ⊕ Z 2 .

GAP session 3.2.3 gap> R:=ResolutionFiniteGroup(SymmetricGroup(6),7);; gap> Homology(TensorWithIntegers(R),6); [ 2, 2, 2, 2, 2 ]



The initial bottleneck in Algorithm 3.2.2 is the time needed in Step 13 for the repeated extension of the discrete vector field that leads to the small set of generators for the ZG-module ker ∂k . This is similar in nature to the bottleneck occurring in Step 5 of Algorithm 3.2.1.

3.3 Operations on Resolutions By an operation on resolutions we mean any construction (R∗G1 , . . . , R∗Gn )  → R∗G that inputs n free ZGi -resolutions and outputs a free ZG-resolution of Z. A general aim is to produce an implementable formula for the resolution R∗G in terms of a collection of resolutions R∗Gi . Our first example of an operation inputs a single resolution R∗G , attempts to reduce the number of free generators in the resolution, and outputs a potentially smaller resolution SG ∗ . It is implemented in HAP as the function SimplifiedComplex(R) and is based on

232 | Cohomology of Groups

a version of Proposition 2.3.5. Let us denote by eki the free ZG-generators of RkG . Let us define a pair (eki , ek−1 ) to be redundant if j ∂k (eki ) = ±gek−1 + j

 j =j

λj ek−1 j

(3.12)

with g ∈ G, λj ∈ ZG. A redundant pair gives rise to a ZG-chain subcomplex eki , ∂k eki  of R∗G with trivial homology. This subcomplex is generated by the element eki ∈ RkG G and the element ∂k eki ∈ Rk−1 . Proposition 2.3.4 implies that the quotient chain map k k G G R∗ R∗ /ei , ∂k ei  induces an isomorphism on homology. Moreover, the quotient R∗G /eki , ∂k eki  is a ZG-free chain complex and thus a free ZG-resolution of Z. This leads to Algorithm 3.3.1. Algorithm 3.3.1 Simplification of a free ZG-resolution.

Input: A chain complex R∗G of free ZG-modules. Output: A chain homotopy equivalent chain complex SG ∗ of free ZG-modules involving potentially fewer free generators. 1: procedure 2: Set k = 1 and S(1) = R∗G ; 3: while S(k) contains a redundant pair (eki , ek−1 ) do j k k (k+1) (k) 4: Set S = S /ei , ∂k ei ; 5: Set k = k + 1; 6: end while 7: return S(k) ; 8: end procedure The numbers rk = rankZG (RkG ), for k ≥ 0, are one measure of the size of a free resolution R∗G . Another measure incorporates the lengths of the boundaries ∂k eki of the free G ∼ generators. To define length we view ∂k eki ∈ Rk−1 = (ZG)rk−1 ∼ = Zrk−1 ×|G| as an integer vector of length rk−1 × |G| and define ||∂k eki || to be the sum of the absolute values of the entries in this integer vector. Definition 3.3.1. We define the size sequence of a chain complex R∗G of free ZG-modules

to be

Size(R∗G ) = ( r0 ,



1≤i≤r1

||∂1 (e1i )||,



||∂2 (e2i )||, . . . )

1≤i≤r2

where rk = rankZG (RkG ). Example 3.3.1. The following GAP session uses Algorithm 3.2.2 to compute the first nine terms of a free ZG-resolution R∗G of Z for G = S5 the symmetric group of

Operations on Resolutions | 233

degree 5. It then uses Algorithm 3.3.1 to produce a simplified resolution SG ∗ . We see ) = 21. Note that the simplification algorithm that rankZG (R8G ) = 120 and rankZG (SG 8 G G in order to complete its simplification of RkG . Since R10 has not requires the module Rk+1 G been constructed the procedure only partially simplifies R9 . GAP session 3.3.1 gap> R:=ResolutionFiniteGroup(SymmetricGroup(5),9);; gap> S:=SimplifiedComplex(R);; gap> List([0..9],R!.dimension); [ 1, 4, 10, 20, 35, 56, 76, 94, 120, 174 ] gap> List([0..9],S!.dimension); [ 1, 4, 7, 8, 9, 11, 13, 15, 21, 119 ] gap> Size(R); [ 8, 38, 100, 204, 340, 446, 648, 1054, 5498 ] gap> Size(S); [ 8, 32, 62, 79, 68, 75, 100, 238, 7574 ]

The final commands compute the size sequences for R∗G and SG ∗.



A second example of an operation inputs a free ZG-resolution R∗G together with a set of generators for a finite index subgroup H ≤ G. By restricting actions to H any finitely generated free ZG-module is also a finitely generated free ZH-module. Thus R∗G can be viewed as a ZH-resolution. The HAP function ResolutionSubgroup(R,H) uses an implementation of Proposition 2.6.2 to return R∗G in the form of a ZH-resolution. Example 3.3.2. The following GAP session constructs a free ZH-resolution SH ∗ for the

alternating group H = A7 of degree 7 and then uses it to compute H5 (A7 , Z) ∼ = Z2 ⊕ Z14 .

The resolution SH ∗ is obtained from a free resolution for the symmetric group S7 by restricting the action. GAP session 3.3.2 gap> G:=SymmetricGroup(7);; gap> H:=AlternatingGroup(7);; gap> R:=ResolutionFiniteGroup(G,6);;

234 | Cohomology of Groups gap> S:=ResolutionSubgroup(R,H);; gap> Homology(TensorWithIntegers(S),5); [ 2, 14 ]



Let A be a ZG-module and let B be a ZG -module for groups G, G . By regarding both A and B as abelian groups we can form their tensor product A ⊗Z B as defined in 2.6.2. There is an action of the direct product of groups G × G on the tensor product A ⊗Z B given by (g, g ) · (a ⊗ b) = (ga) ⊗ (g b)

(3.13)

for (g, g ) ∈ G × G and for generators a ⊗ b ∈ A ⊗Z B. If A is a free ZG-module and if B is a free ZG -module then A ⊗Z B is a free Z(G × G )-module under this action. Let R∗G be a chain complex of ZG-modules and let SG ∗ be a chain complex of ZG modules. By regarding these chain complexes as complexes of abelian groups we can form their tensor product R∗G ⊗Z SG ∗ as defined in 2.8.7. Under the action 3.13 the chain complex R∗G ⊗Z SG ∗ is a chain complex of Z(G × G )-modules. Moreover, the following is easily verified. Proposition 3.3.1. Let R∗G be a free ZG-resolution of Z with contracting homotopy

G hk : RkG → Rk+1 . Let SG ∗ be a free ZG -resolution of Z with contracting homo G G G topy h k : SG k → Sk+1 . Then the tensor product R∗ ⊗Z S∗ is a free Z(G × G )-resolution of Z with contracting homotopy hk given by

h p+q (a ⊗ b) = (hp a) ⊗ b + (−1)p a ⊗ (h q b)

for a ∈ RpG , b ∈ SG q , p, q ≥ 0.



G G The freeness of R∗G ⊗Z SG ∗ follows from the freeness of each Rp ⊗Z Sq . The exactness of the tensor product follows from the verification of the contracting homotopy formulae. The next example illustrates this tensor product operation on resolutions, which is implemented in HAP as a function TensorProduct(R,S) that inputs two (or more) G G free resolutions R∗G , SG ∗ and returns the free Z(G × G )-resolution R∗ ⊗Z S∗ .

Example 3.3.3. The following GAP session constructs a free ZD-resolution of Z for the

direct product D = G × G × G of three copies of the 4-dimensional Bieberbach group G occurring as group number 122 in the Carat library [225]. The group D is a 12dimensional Bieberbach group. The resolution is used to compute H4 (G × G × G, Z) ∼ = (Z2 )83 ⊕ (Z4 )52 ⊕ Z3 .

Operations on Resolutions | 235

GAP session 3.3.3 gap> G:=SpaceGroup(4,122);; gap> R:=ResolutionBieberbachGroup(G);; gap> T:=TensorProduct(R,R,R);; gap> Homology(TensorWithIntegers(T),4); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0 ]

If one is only interested in the homology of the direct product G × G × G then an alternative approach is to compute a resolution R∗G for G, form the chain complex C∗ = R∗G ⊗ZG Z and then apply the function TensorProduct(C,C,C) to construct C∗ ⊗Z C∗ ⊗Z C∗ . This tensor product of chain complexes is chain isomorphic to (R∗G ⊗Z R∗G ⊗Z R∗G )  ⊗ZG Z. The tensor product of resolutions can, in principle, be used to compute the ring structure on H∗ (G, Z) arising from the cup product. However, in practice it seems to be more efficient to use the composition product which will be discussed in Section 3.7. In principle, if we have constructed a free ZG-resolution R∗G of Z endowed with a contracting homotopy then we can use the diagonal group homomorphism  : G → G × G, g  → (g, g) to induce a -equivariant chain map ∗ : R∗G → R∗G ⊗Z R∗G . The map ∗ in turn induces a cohomology homomorphism Hk (∗ , Z) : Hk (G × G, Z) → Hk (G, Z). The cross product Hp (G, Z) × Hq (G, Z) → Hp+q (G × G, Z) can be constructed using definition 2.38 and combined with Hp+q (∗ , Z) to yield the cohomology ring structure. Before attempting to compute a resolution R∗G it can be helpful to have an idea of the number of free generators needed in each degree of the resolution. The following notion is useful in this regard since rankZG (RkG ) ≥ rankZp ( Hk (G, Zp ) ). Definition 3.3.2. The p-homological growth rate of a group G is the smallest integer r ≥ 0

such that lim

k→∞

rankZp ( Hk (G, Zp ) ) kr

= 0.

We denote this growth rate by growthp (G) = r. The definition is valid for primes p ≥ 2. It is also valid for p = 0 if we interpret rankZ0 (A) to mean the minimum number of generators of an abelian group A. It is not difficult to calculate the growth rate for elementary abelian p-groups G = Zp × Zp

· · · × Zp = (Zp )d . For d = 1 the ZZp -resolution R∗ given in Section 3.2 yields the chain complex

236 | Cohomology of Groups (p)

×0

Zp

×0

×0

×0

×0

C∗ = R∗ ⊗ZZp Zp : · · · −→ Zp −→ Zp −→ Zp −→ Zp −→ Zp

(3.14)

and Hk (Zp , Z) ∼ = Zp for k ≥ 0. Thus growthp (Zp ) = 1. From Hk ((Zp )2 , Z2 ) ∼ = (p)

(p)

Hk (C∗ ⊗Zp C∗ ) one can deduce that growthp ((Zp )2 ) = 2. By recursion one can deduce growthp ((Zp )d ) = d. Lemma 3.3.2. Let R∗G be a finitely generated free ZG-resolution of Z. Suppose that G

contains an elementary abelian p-group of rank d as a finite index subgroup. Then rankZG (RkG ) kd−1

−→ 0 as k → ∞.

Proof. Suppose that A is an elementary abelian subgroup of rank d and finite index |G : A| in G. Then rankZG (RkG ) = rankZA (RkG )/|G : A| by Proposition 2.6.2. Thus rankZG (RkG ) kd−1

=

rankZA (RkG ) kd−1 |G : A|



rankZp ( Hk (A, Zp ) ) kd−1 |G : A|

as k → ∞ since growthp (A) = d.

−→ 0 

Lemma 3.3.2 and Proposition 3.2.1 imply the following Lemma 3.3.3. Proposition 3.2.4 shows that the converse of the lemma does not hold. Lemma 3.3.3. An orthogonal representation of a finite group G yields a free action of G on a

sphere Sn only if every abelian subgroup of G is cyclic.

Lemma 3.3.2 warrants some terminology. The p-rank of a finite group G is the rank of a largest elementary abelian p-subgroup of G. The growth of a free ZG-resolution RkG is the least integer r = growth(RkG ) ≥ 0 such that rankZG (RkG )/kr −→ 0 as k → ∞. Example 3.3.4. The following GAP session first prints the 2-rank of the dihedral group G = D32 of order 64. Since this 2-rank is 2 the group G does not admit a periodic resolution of Z. The session computes the first 13 terms of a free ZG-resolution R∗G of Z, using Algorithm 3.2.2, and prints the ranks of RkG (which appear to grow linearly). The session then prints the differences rankZG (RkG ) − rank Z2 ( Hk (G, Z2 ) ). As these differences must be non-negative for any free ZG-resolution of Z we see that in lower degrees the computed resolution has the minimal possible number of free generators.

GAP session 3.3.4 gap> G:=DihedralGroup(64);; gap> Prank(G); 2 gap> R:=ResolutionFiniteGroup(G,13);;

Operations on Resolutions | 237 gap> L:=List([0..12],R!.dimension); [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15 ] gap> C:=TensorWithIntegersModP(R,2);; gap> M:=List([0..12],i->Homology(C,i));; gap> L-M; [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 ]



The remaining operations that we consider each involve some instance of a ZG-resolution P∗G of Z for which the modules PpG , p ≥ 0, are not necessarily free but which are of the form PpG ∼ =



ZG ⊗ZGp Zαi

(3.15)

i

1≤i≤dp p

where each Gi is a (possibly trivial) subgroup of G and each Zαi denotes the integers p

p

p

G

with a (possibly trivial) action of Gi . Any free ZGi -module Rq i can be extended to a free ZG-module p

G

Ap,q = Rq i ⊗ZGp ZG.

(3.16)

i

p

p

G

The operations input P∗G together with free ZGi -resolutions R∗ i of Z for each p ≥ 0, 1 ≤ i ≤ dp , and return a free ZG-resolution of Z. C.T.C. Wall [287] studied the important special case of this general setup arising from a normal subgroup N  G. Let Q = G/N and suppose that we have some free Q ZQ -resolution P∗ of Z. Since the group G acts on any ZQ -module via the quotient Q homomorphism GQ we can consider P∗ to be a ZG-resolution of non-free ZGQ modules. We have ZQ ∼ = ZG ⊗ZN Z. Thus for p ≥ 0, 1 ≤ i ≤ rankZQ (Pp ), we set p Gi = N to realize a special case of the general setup. Q Wall [287] proved that for any free ZQ -resolution P∗ of Z and any free ZN-resolution N R∗ of Z it is possible to perturb the boundary homomorphism on the tensor product Q R∗N ⊗Z P∗ so that the perturbed tensor product becomes a free ZG-resolution of Z. The crux of Wall’s method is contained in Proposition 3.3.4 which we state in a form that applies to our general situation. We use the proposition only for the ring R = ZG. We say that a chain complex A∗ of R-modules is acyclic to mean that Hk (A∗ ) = 0 for k ≥ 1. Proposition 3.3.4. [287] Let Apq (p, q ≥ 0) be a bigraded family of free R-modules for some

ring R. Suppose that there are R-homomorphisms d0 : Ap,q → Ap,q−1 such that (Ap,∗ , d0 ) is an acyclic chain complex for each p. Set Pp = H0 (Ap,∗ , d0 ) and suppose further that there

238 | Cohomology of Groups

are R-homomorphisms δ : Pp → Pp−1 for which (P∗ , δ) is an acyclic chain complex. Then there exist R-homomorphisms dk : Ap,q → Ap−k,q+k−1 (k ≥ 1, p > k) such that (i) d1 induces δ; k (ii) i=0 di dk−i = 0 for each k (where dk is interpreted as zero if q = k = 0 or if p < k). Hence d = d0 + d1 + · · · : ⊕p+q=n Apq → ⊕p+q=n−1 Apq is a differential (i.e. d2 = 0). For a computer implementation a slightly more constructive statement of Proposition 3.3.4 is required. This is supplied in Proposition 3.3.5 which we take from [103]. A proof of Proposition 3.3.5 is a straightforward but tedious algebraic verification. Possibly more enlightening than the proof is Example 3.3.5 of how the proposition can be applied to cohomology computations. Proposition 3.3.5. [103, 287] Let the family of modules A∗∗ and module homomorphisms

d0 : Ap,q → Ap,q−1 and δ : Pp → Pp−1 be as in Proposition 3.3.4. Suppose that there exist abelian group homomorphisms h0 : Ap,q → Ap,q+1 such that d0 h0 d0 (x) = d0 (x) for all x ∈ Ap,q+1 . Then we can construct the module homomorphisms dk : Ap,q → Ap−k,q+k−1 and differential d of Proposition 3.3.4 by first lifting δ to d1 : Ap,0 → Ap−1,0 and then  recursively defining dk = −h0 ( ki=1 di dk−i ) on free generators of the module Ap,q . Furthermore, if H0 (P∗ ) ∼ = Z and each Pp is free abelian, we can construct abelian group homomorphisms h : ⊕p+q=n Apq → ⊕p+q=n+1 Apq satisfying dhd(x) = d(x) by setting h(apq ) = h0 (apq ) − hd+ h0 (apq ) + ε(apq ) for free generators apq of the abelian group p Apq . Here d+ = i=1 di and, for q ≥ 1, ε = 0. For q = 0 we define ε = h1 − h0 d+ h1 + hd+ h0 d+ h1 where h1 : Ap,0 → Ap+1,0 is an abelian group homomorphism induced by a contracting homotopy on P∗ .

Example 3.3.5. Consider the two matrices



S=

0 −1 1 1 ,T= . 1 0 0 1

These two matrices generate the special linear group G = SL2 (Z) and satisfy the equations S4 = (ST)6 = 1. We let M denote the group with presentation s, u | s2 = u3 = 1. Following [66] we construct the cubic tree T by taking the left cosets of U = u in M as vertices, and joining cosets xU and yU by an edge if, and only if, x−1 y ∈ UsU. Thus the vertex U is joined to sU, usU and u2 sU. The vertices of this tree are in one-to-one correspondence with all reduced words in s, u and u2 that, apart from the identity, end in s. We say that a sequence of vertices x0 U, x1 U, …, xn U is a rooted path if x0 = 1 and there is an edge between xi U and xi+1 U for 0 ≤ i ≤ n − 1. A rooted path is described by a reduced word in s, u and u2 ending in s. The group M is isomorphic to the modular group of transformations z  → (mz + n)/ (pz + q), m, n, p, q integers with mq − np = 1, of the upper half complex plane H2 = {x + iy ∈ C : y > 0} which is generated by the two transformations s(z) = −1/z and t(z) = z + 1. The cubic tree can be embedded in H2 . Figure 3.3 illustrates this embedding by showing a portion of the cubic tree in bold against the tessellation of H2 by triangular

Operations on Resolutions | 239

Figure 3.3 Portion of the cubic tree indicated in bold.

regions. The triangular regions are permuted by the action of the modular group, and any of the trinagular regions is a fundamental domain for the action of the modular group. The surjection SL2 (Z) → M, S  → s, T  → s−1 u and left multiplication in M yields an action of SL2 (Z) on the cubic tree T . This agrees with the action given by modular transformations on the embedded tree. Under the action there is one orbit of vertices in T and one orbit of edges in T . The stabilizer group of any cubic tree vertex is conjugate to Z6 = ST. The stabilizer group of any cubic tree edge is conjugate to Z4 = S. The cellular chain complex C∗ (T ) thus has the form δ

C∗ (T ) : ZG ⊗ZZ4 Zα −→ ZG ⊗ZZ6 Z where Z6 acts trivially on Z and where Zα denotes the integers with non-trivial action of Z4 . The boundary homomorphism δ is induced by the equivariant homomorphism of free modules ZG −→ ZG, 1  → T − 1. Let R∗Zm denote the periodic free ZZm -resolution of Z with one free generator in each degree. We define the free ZG-modules A0,q = RqZ6 ⊗ZZ6 ZG,

A1,q = (RqZ4 ⊗Z Zα ) ⊗ZZ4 ZG

for q ≥ 0. In this example the first assertion of Proposition 3.3.5 is simply that δ induces a chain map

240 | Cohomology of Groups



 



 

A1,2

d2

  / A0,2

d2



A1,1 

d1

d1

A1,0

d0

d1



/ A0,1 

d0

/ A0,0

and that there is a chain complex d4

d3

d2

d1

· · · −→ A1,2 ⊕ A0,3 −→ A1,1 ⊕ A0,2 −→ A1,0 ⊕ A0,1 −→ A0,0

(3.17)

of ZG-modules. Any contracting homotopy on the resolution RZ6 extends to a contracting homotopy on the complex · · · → A0,2 → A0,1 → A0,0 . Similarly any contracting homotopy on RZ4 extends to one on · · · → A1,2 → A1,1 → A1,0 . Furthermore, the chain complex C∗ (T ) is acyclic and thus admits a contracting homotopy. The second assertion of Proposition 3.3.5 is a formula for a contracting homotopy on the chain complex 3.17. The existence of this latter contracting homotopy implies that 3.17 is exact and thus a free ZG-resolution of Z. In order to implement the contracting homotopy on 3.17 we need to provide a contracting homotopy on C∗ (T ). We do this by specifying a discrete vector field on the cubic tree T with just one critical vertex and no critical edge. Above, we have identified the vertices of T with the left cosets of U ≤ M. But since we are constructing a ZG-resolution for G = SL2 (Z) it is more practical to identify the vertices of T with the left cosets of the group ST in G. Each left coset consists of six matrices. We use the following two rules to construct a discrete vector field on T . Suppose that a vertex AST of T is represented by a matrix a b A= . c d 1. If A ∈ ST then the vertex AST is critical. 2. Otherwise, the vector field has an arrow from vertex AST to the edge containing this vertex and the vertex BST with matrix B defined by ⎧ if |a| < |c| or a = c, ⎨SA B = T −1 A if Sign(a) = Sign(c) and |a| > |c|, ⎩ TA if Sign(a) = −Sign(c) and |a| ≥ |c|. Rules 1 and 2 are adapted from [68] and provide a recursive algorithm for expressing an arbitrary matrix A ∈ G as a product of S, T, T −1 and −I where I is the identity matrix. For instance, the matrix

Operations on Resolutions | 241





3 2 A= −2 −1 satisfies

1 0 1 1 2 1 −1 , TA = , STA = , T STA = 1 1 −2 −1 1 1 −1 −1 0 −1 , TST −1 STA = , ST −1 STA = 1 0 1 0 −1 0 , −STST −1 STA = I STST −1 STA = 0 −1

and A = −T −1 S−1 TS−1 T −1 S−1 . The following GAP session uses an implementation of the above to compute a free periodic ZG-resolution and  Z12 , odd k ≥ 1, Hk (SL2 (Z), Z) = 0, even k ≥ 2. GAP session 3.3.5 gap> R:=ResolutionSL2Z(1,7); Resolution of length 7 in characteristic 0 for SL(2,Integers) gap> List([1..6],i->Homology(TensorWithIntegers(R),i)); [ [ 12 ], [ ], [ 12 ], [ ], [ 12 ], [ ] ] gap> R!.dimension(2);R!.dimension(6); 2 2 gap> R!.boundary(2,1);R!.boundary(6,1); [[ 1, 2 ], [ 1, 5 ], [ 1, 8 ], [ 1, 1 ], [ 1, 4 ], [ 1, 7 ]] [[ 1, 2 ], [ 1, 5 ], [ 1, 8 ], [ 1, 1 ], [ 1, 4 ], [ 1, 7 ]] gap> R!.boundary(2,2);R!.boundary(6,2); [[ 1, 1 ], [ 1, 2 ], [ -2, 6 ], [ -2, 7 ], [ -1, 10 ]] [[ 1, 1 ], [ 1, 2 ], [ -2, 6 ], [ -2, 7 ], [ -1, 10 ]]

This example is based on [11].



Example 3.3.6. The following GAP session constructs the first twenty terms of a free ZG-resolution of Z for the 4-dimensional space group G with number 2000 in the Carat library. The resolution is constructed using the method of Example 3.3.5. A cubical fundamental domain for the action of G on R4 is constructed using Algorithm 3.1.1. Algorithm 3.2.2 is used to compute resolutions for the subgroups of G that stabilize

242 | Cohomology of Groups

cells in the cubical tessellation of R4 arising from the fundamental domain. The session computes H19 (G, Z) ∼ = (Z2 )90 ⊕ (Z4 )2 . GAP session 3.3.6 gap> G:=SpaceGroup(4,2000);; gap> R:=ResolutionCubicalCrystGroup(G,20);; gap> Homology(TensorWithIntegers(R),19); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4 ]



Proposition 3.3.5 is implemented in HAP as a function FreeGResolution(P) which inputs a resolution P∗G of possibly non-free ZG-modules of the form 3.15. The function p p tries to construct free ZGi -resolutions of Z for the stabilizer groups Gi and, if successful, returns a free ZG-resolution of Z. The following data type is used to store P∗G . Data type 3.3.1. The first n terms of a finitely generated non-free ZG-resolution P∗G of

Z can be stored as a component object P with the following components.

• P!.dimension(k) is a function that returns the integer number rk of ZG-generators for PkG . That is, rk is the number of free summands in the module 3.15. We denote the generators by eki for 1 ≤ i ≤ rk . • P!.elts is a partial listing of elements in G. G of the jth generator • P!.boundary(k,j) is a function that returns the image in Pk−1 G G of the ZG-module Pk . The representation of an element of Pk−1 is the same as for free resolutions except that it is not unique since the module is not free. G , under a con• P!.homotopy(k,[i,g]) is a function that returns the image in Pk+1 G G k G tracting homotopy hk : Pk → Pk+1 , of the element gei ∈ Pk for g =P!.elts[g]∈ G, 1 ≤ i ≤ rk . (The elements geki freely generate PkG as an abelian group.) • P!.stabilizer(k,j) returns the subgroup of G consisting of those elements that fix, up to sign, the ith generator of PkG . • P!.action(k,j,g) is a function that returns ±1 according to how the group element P!.elts[g] acts on the orientation of the jth generator in dimension k. • P!.group is the GAP representation of the group G. • P!.properties is a list of properties of the resolution. The associated function IsHAPNonFreeResolution(P) returns the boolean true when P is of this data type.

Operations on Resolutions | 243

Example 3.3.7. Let G be the group of order 3840 consisting of the 5 × 5 signed permutation matrices. Such a matrix has one non-zero entry in each row and column, the entry being ±1. The following GAP session creates a non-free ZG-resolution P∗G of Z by constructing the convex hull P(G, v) of the orbit of v = (1, 2, 3, 4, 5) ∈ R5 under the action of G on R5 . The resolution P∗G is the cellular chain complex of the polytope P(G, v). The function FreeGResolution(P) is then used to compute five terms of a free ZGresolution and H4 (G, Z) ∼ = (Z2 )12 . GAP session 3.3.7 gap> G:=SignedPermutationGroup(5);; gap> P:=PolytopalComplex(G,[1,2,3,4,5]); Non-free resolution in characteristic 0 for . No contracting homotopy available. gap> R:=FreeGResolution(P,5);; gap> Homology(TensorWithIntegers(R),4); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ]

The 5-dimensional polytope P(G, v) is computed using Polymake software. (The corresponding 3-dimensional polytope for the group of 3 × 3 permutation matrices is shown in Figure 3.4.) Polymake is used with Lemmas 1.1.3 and 1.1.4 to compute the

Figure 3.4 Orbit polytope P(G, v) for the group of 3 × 3 signed permutation matrices and v = (1, 2, 3).

244 | Cohomology of Groups

vertices and edges of P(G, v); a GAP routine then uses the action of G to construct the faces of the polytope. This approach is less practical for larger finite groups or for higherdimensional representations. However, the group of signed permutations is an example of a Coxeter group and orbit polytopes can be efficiently constructed for such groups using theoretical techniques described in Section 3.12. For instance, these techniques are used in [89] to compute five terms of a free resolution for the Mathieu group M24 – a subgroup  of the Coxeter group S24 . Wall’s original application of these techniques to group extensions N  G  Q is a particularly useful computational tool. As mentioned above, Proposition 3.3.5 can be Q used to construct a free ZG-resolution R∗G from a free ZQ -resolution P∗ and free ZNresolution R∗N . This special case is implemented separately in HAP as a function ResolutionExtension(f,RN,PQ) which inputs the quotient homomorphism f : G → Q Q together with n terms of the resolutions R∗N , P∗ and outputs n terms of the free resolution R∗G . Two recursive calls to this function are implemented. The first recursive call inputs a list L = {G = N1 ≥ N2 ≥ · · · ≥ Nc = 1} of normal subgroups Ni  G. It recursively uses the extension Ni /Ni+1  G/Ni+1  G/Ni G/N

N/N

and a free Z(G/Ni )-resolution R∗ i and free Z(Ni /Ni+1 )-resolution R∗ i+1 to comG/N pute a free Z(G/Ni+1 )-resolution R∗ i+1 . The recursive call is implemented as a function ResolutionNormalSeries(L,n). The special case where G is a nilpotent group of class c and L = {G = γ1 G ≥ γ2 G ≥ · · · ≥ γc+1 G = 1} is its lower central series γi+1 G = [G, γi G] is implemented as a function ResolutionNilpotentGroup(G,n). Example 3.3.8. The following GAP session constructs 11 terms of a free ZG-resolution R∗G of Z for G = F4 /γ3 F4 the free nilpotent group of class 3 with F4 the free group on four G = 0, and is used to compute H4 (F4 /γ3 F4 , Z). An generators. The resolution is finite, R11 extension of the session computes the entire integral homology: ⎧ 4 (k = 1), Z56 (k = 7), Z ⎪ ⎪ ⎪ 20 ⎪ (k = 2), Z20 (k = 8), Z ⎪ ⎪ ⎨ 56 Z (k = 3), Z4 (k = 9), Hk (F4 /γ3 F4 , Z) ∼ = 84 4 Z (k = 10), Z ⊕ (Z3 ) (k = 4), ⎪ ⎪ ⎪ 90 4 (k = 5), ⎪ ⊕ (Z ) 0 (k ≥ 11). Z ⎪ 3 ⎪ ⎩ 84 (k = 6), Z

The homology of F4 /γ3 F4 was first calculated by Larry Lambe in [187]. GAP session 3.3.8 gap> F:=FreeGroup(4);; gap> G:=NilpotentQuotient(F,2);;

Operations on Resolutions | 245

gap> R:=ResolutionNilpotentGroup(G,11);; gap> C:=TensorWithIntegers(R);; gap> Homology(C,4); [ 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

Note that in degrees 4 and 5 the homology has 3-torsion. By contrast, similar commands show H4 (F3 /γ4 F3 , Z) ∼ = Z171 ⊕ (Z2 )3 . 

A second recursive call to ResolutionExtension inputs a subnormal series L = {G = N1  N2  · · ·  Nc = 1} of subgroups of G; the Ni are not necessarily normal in G. It recursively uses the extension Ni+1  Ni  Ni /Ni+1 N

N/N

and a free Z(Ni+1 )-resolution R∗ i+1 and free Z(Ni /Ni+1 )-resolution R∗ i+1 to compute a free Z(Ni )-resolution R∗Ni . The recursive call is implemented as a function ResolutionSubnormalSeries(L,n). Any group G of prime power order pn admits a subnormal series G = N1  N2  · · ·  Nn+1 = 1 for which each quotient Ni+1 /Ni is the cyclic group Zp . Such a series is called a composition series. The function ResolutionSubnormalSeries(L,n) can be applied to such a composition series in order to create a free ZG-resolution by perturbing Zp Zp the boundary homomorphism on the tensor product R∗ ⊗Z · · · ⊗Z R∗ of n copies of a resolution for the cyclic group Zp . Example 3.3.9. The following GAP session constructs a composition series for the group G arising as the kernel

G = ker( SL2 (Z125 ) −→ SL2 (Z5 ) ) of the canonical surjective homomorphisms of special linear groups. The group G has order 56 = 15625 and, for brevity, is realized as a maximal subgroup of the Sylow subgroup Syl5 (SL2 (Z125 )). The session uses the composition series to construct the first four terms of a free ZG-resolution R∗G by perturbing boundary homomorphisms on the tensor product R∗Z5 ⊗Z R∗Z5 ⊗Z R∗Z5 ⊗Z R∗Z5 ⊗Z R∗Z5 ⊗Z R∗Z5 .

246 | Cohomology of Groups

The resolution R∗G is then used to compute H3 ( ker(SL2 (Z125 ) −→ SL2 (Z5 )), Z) ∼ = (Z5 )6 ⊕ Z125 . GAP session 3.3.9 gap> S:=SylowSubgroup(SL(2,Integers mod 5ˆ3),5);; gap> M:=MaximalSubgroups(S);; gap> G:=Image(IsomorphismPcGroup(M[1]));; gap> L:=CompositionSeries(G);; gap> R:=ResolutionSubnormalSeries(L,4);; gap> Homology(TensorWithIntegers(R),3); [ 5, 5, 5, 5, 5, 5, 125 ]

The exponent of a group H is the least positive integer e = exp(H) such that xe = 1 for all x ∈ H. Note that the third homology group has exponent 53 . We shall see in Example 3.4.1 that for this particular group G and for any degree k ≥ 1 the exponent exp(Hk (G, Z)) must divide 53 . Hence, for the abelian group H∗ (G, Z) = ⊕k≥1 Hk (G, Z) we have exp(H∗ (G, Z)) = 53 . This recovers a special case of a calculation by Browder and Pakianathan [38] who showed that exp(H∗ (p , Z)) = p3 for p = ker(SL2 (Zp3 ) → SL2 (Zp )). A related paper of Pakianathan [227] shows that exp(Hk (p , Z)) ≤ p2 for all  but finitely many degrees k.

3.3.1 Perturbed Actions Wall’s method for constructing a free ZG-resolution R∗G for a group extension N  G  Q can be viewed as one of perturbing boundaries on a Z(N × Q )N×Q Q = R∗N ⊗Z R∗ . An alternative approach is to keep the structure of resolution R∗ N×Q fixed, when viewed as an acyclic chain complex of free abelian groups, but to R∗ change the group action into one that yields a free ZG-equivariant chain complex. A simple geometric example of this alternative approach involves the fundamental group G = x, y | xyx−1 = y−1  of the Klein bottle and the free abelian group Z∞ × Z∞ on two generators. The free abelian group acts freely on the plane R2 , as translations, with cubical fundamental domain that yields a free Z(Z∞ × Z∞ )-resolution R∗Z∞ ×Z∞ = R∗Z∞ ⊗Z R∗Z∞ ∼ =Z C∗ (R2 ). The fundamental group G also acts freely on the plane with cubical fundamental domain that yields a free ZG-resolution R∗G ∼ =Z C∗ (R2 ). Lemmas 3.3.6 and 3.3.7 below are two generalizations of this example. The first of the lemmas concerns a crystallographic group G of isometries of Rn . We say that a ZG-resolution R∗ involving boundary homomorphisms ∂∗ is periodic of period d in degrees greater than m if there is equality of modules Ri = Ri+d and boundary homomorphisms ∂i+1 = ∂i+1+d for all i ≥ m. When m = 0 such a resolution is periodic.

Operations on Resolutions | 247 Lemma 3.3.6. Let G be an n-dimensional crystallographic group with a torsion free normal

subgroup S  G of finite index whose quotient Q = G/S admits a periodic free ZQ resolution of Z of period d. Then G admits a free ZG-resolution of Z which is periodic of period d in degrees greater than n.

Proof. Choose a vector v ∈ Rn and let vG denote the orbit of v under the action of G. Let vg denote the image of v under the action of g ∈ G. The Dirichlet–Voronoi region defined in 1.29 as DG (v) = {x ∈ Rn : ||x − v|| ≤ ||x − vg || for all g ∈ G} is a convex polytope with finitely many faces. The images of DG (v) under the action of G tessellate Rn and thus give rise to a CW-structure on Rn . Let X denote this n-dimensional CW-space. The cellular chain complex C∗ X is a ZG-resolution of Z. We have Ci X = 0 for i > n. In general this resolution is not free. For 0 ≤ i ≤ n the ZG-module Ci X is finitely generated with each generator e ∈ Ci X having a (possibly trivial) finite stabilizer subgroup Ge ≤ G. Note that Ci X is also a finitely generated free ZS-module for any torsion free subgroup S ≤ G of finite index. Q Let R∗ be a free ZQ -resolution of Z where Q = G/S is the finite quotient. Then Q R∗ is also a non-free ZG-resolution where G acts via the quotient homomorphism Q φ : G  Q . Let C∗ X ⊗Z R∗ denote the tensor product of chain complexes. There is a diagonal action of G on this tensor product defined by g · (e ⊗ f ) = ge ⊗ φ(g)f Q

for g ∈ G, e ∈ Ci X, f ∈ Rj , and e ⊗ f an element of degree i + j in the tensor product. Q

Since S acts freely on C∗ X and Q = G/S acts freely on R∗ it follows that G acts freely Q on the tensor product. Hence C∗ X ⊗Z R∗ is a free ZG-resolution of Z. Q Q If R∗ is periodic of period d then, by construction, C∗ X ⊗Z R∗ is periodic of period  d in degrees greater than n. This proves Lemma 3.3.6. Lemma 3.3.6 could be deduced from the proof of a more general result due to K.S. Brown [39]. A group G is said to have finite virtual cohomological dimension if it possesses a finite index subgroup T for which there is a finite length free ZT-resolution of Z. Theorem 6.7 in Chapter X of [39] states that such a group G has periodic cohomology in sufficiently high degrees if, and only if, all finite subgroups of G have periodic cohomology. Lemma 3.3.6 can be used to calculate the integral cohomology of certain crystallographic groups in all degrees by performing a computer computation of the integral cohomology in just the first few degrees. Example 3.3.10. Consider the group G = SpaceGroup(2, 10) arising as the tenth group

of dimension 2 in the Cryst [94] library of crystallographic groups available as part of the GAP system for computational algebra. This group is generated by the four isometries

248 | Cohomology of Groups

x 0 1 x x −1 0 x → , → , y −1 0 y y 0 −1 y x x+1 x x → , → . y y y y+1

(3.18)

The point group in this case is cyclic of order 4 and admits a periodic resolution of period 2. Using GAP to compute the integral homology of G in degrees up to and including 4 one obtains from Lemma 3.3.6, with S equal to the translation subgroup, that ⎧ i=1 Z2 ⊕ Z4 , ⎪ ⎪ ⎨ Z , i=2 Hi (G, Z) ∼ = ⊕ Z ⊕ Z , odd i≥3 Z ⎪ 2 4 4 ⎪ ⎩ 0, even i ≥ 4. In order to compute, say, H3 (G, Z) one can use the following GAP commands. GAP session 3.3.10 gap> G:=SpaceGroup(2,10);; gap> GroupHomology(G,3); [ 2, 4, 4 ]

As a second illustration of Lemma 3.3.6 we note that the crystallographic group G = SpaceGroup(2, 8) has point group G/T ∼ = C2 × C2 which does not have periodic homology. Nevertheless, GAP commands can be used to find a torsion free normal subgroup S  G with G/C ∼ = C2 and hence G has periodic cohomology of period d = 2 in degrees  greater than n = 2. For the second lemma concerning perturbed actions let us suppose that R∗N is a free ZNresolution and that there is an action Q × N → N, (q, n)  → q n of some group Q on N. Furthermore, suppose there is a group action Q × RkN → RkN , (q, a)  → q a for k ≥ 0 and that 1. ∂k (q a) = q ∂k (a) 2. q (n · a) = q n ·q a for a ∈ RkN , n ∈ N, q ∈ Q and k ≥ 1. We capture this situation by saying that Q acts on R∗N . Let N  Q denote the semi-direct product consisting of the elements (n, q) for n ∈ N, q ∈ Q with group multiplication given by (n, q)(n , q ) = (nq n , qq ). The following lemma from [32] is readily verified (cf. Proposition 3.5.5). Lemma 3.3.7. Suppose that a group Q acts on a free ZN-resolution R∗N . Let G = N  Q . Q

Q

Then for any free ZQ -resolution R∗ the tensor product R∗N ⊗Z R∗ inherits the structure of Q a free ZG-resolution in which (n, q) ∈ G acts on a ⊗ b ∈ RkN ⊗ Rk by (n, q) · (a ⊗ b) = n · q a ⊗ q · b.

The Transfer Map | 249

Since contracting homotopies are not required to be equivariant, the standard contracting homotopy on the tensor product of resolutions (derived from Proposition 2.8.5) can be applied to the resolution of Lemma 3.3.7. In general it is not so easy to obtain an action of a group Q on a resolution for N. One example where an action is easily described is for N = y | yn = 1, Q = x | x2 = 1 and action of Q on N given by x y = y−1 . In this case G = x, y |x2 = yn = 1, xyx−1 = y−1  is the dihedral group G = D2n . Let R∗N be the standard resolution for the cyclic group N with a single generator ek in each degree. Then Q acts on RkN by ⎧ ek , k = 1 mod 4, ⎪ ⎪ ⎨ −1 k −y e , k = 2 mod 4, x k e = −ek , k = 3 mod 4, ⎪ ⎪ ⎩ −1 k y e , k = 4 mod 4, This action and Lemma 3.3.7 is used in [32] to construct a free ZD2n -resolution of Z. Of course, Wall’s method could also be used to obtain a free resolution for any semidirect product Zn  Zm . In [287] Wall uses Proposition 3.3.4 to calculate the homology Hk (Zn  Zm , Z) for all k ≥ 0.

3.4 The Transfer Map Let G be a group and H ≤ G a subgroup of finite index |G : H|. For a ZG-module M we define ∼ M ⊗ZG Z, MG = M/m − g · m |m ∈ M, g ∈ G = MH = M/m − g · m |m ∈ M, g ∈ H ∼ = M ⊗ZH Z. Following the notation of [39] we let m ∈ MG and m ∈ MH denote the images of m ∈ M. We let H \ G denote a set of representatives for the cosets Hg, g ∈ G. (This notation is intended to emphasize that it is Hg rather than gH.) There is a well-defined group homomorphism tr : MG → MH , m  →



t m.

(3.19)

t∈H\G

Let R∗G be a free ZG-resolution of Z. The homomorphism 3.19 extends to a chain map tr∗ : R∗G ⊗ZG Z → R∗G ⊗ZH Z

(3.20)

which induces homology homomorphisms Hk (tr∗ ) : Hk (G, Z) → Hk (H, Z) for k ≥ 0.

(3.21)

250 | Cohomology of Groups Definition 3.4.1. The homomorphism Hk (tr∗ ) is called the transfer map and often G denoted by trG H : Hk (G, Z) → Hk (H, Z). We let incH : Hk (H, Z) → Hk (G, Z) denote the homomorphism induced by inclusion H → G.

The following three properties of the transfer are routinely verified (cf. [39]). Proposition 3.4.1. (i) If K ≤ H ≤ G with K a finite index subgroup of G then H G trG K = trK ◦ trH : Hk (G, Z) → Hk (K, Z).

(ii) The composite

G incG H ◦ trH : Hk (G, Z) → Hk (G, Z)

is just multiplication by the index |G : H|. (iii) If H, K ≤ G with K a finite index subgroup of G then  gHg −1 G incKK∩gHg −1 ◦ trK∩gHg −1 (gz) trG K ◦ incH (z) = g∈D

for z ∈ Hk (H, Z) and D a set of representatives for the double cosets KgH = {xgy : x ∈ K, y ∈ H}. Here gz is the image of z under the homomorphism Hk (H, Z) → Hk (gHg −1 , Z) induced by conjugation. Corollary 3.4.2. Let G be a finite group with subgroup H. Then Hk (G, Z) is a finite abelian

group with exponent exp(Hk (G, Z)) dividing |G : H| × exp(Hk (H, Z)) for all k ≥ 1. In particular, exp(Hk (G, Z)) divides |G|.

Proof. Since G is finite, Algorithm 3.2.2 establishes the existence of a finitely generated free ZG-resolution R∗G of Z. So rankZG (RkG ) is finite and Hk (G, Z) is finitely generated for k ≥ 0. Let H be some subgroup of G. The homomorphism trG H

incG H

× |G : H| : Hk (G, Z) −→ Hk (H, Z) −→ Hk (G, Z)

(3.22)

is multiplication by |G : H| due to Proposition 3.4.1 (ii). The image of the map ×|G : H| is a subgroup of Hk (G, Z) of exponent dividing exp(Hk (H, Z)) since this subgroup lies in the image of incG H . Therefore exp(Hk (G, Z)) divides |G : H| × exp(Hk (H, Z)). 

Example 3.4.1. Consider the group G = ker(SL2 (Z125 ) −→ SL2 (Z5 )) of order 56

studied in Example 3.3.9. The following GAP session recreates the group G and shows that it contains a subgroup of order 55 of the form H = Z5 × (Z25  Z25 ). Using Proposition 3.3.1 we readily see that exp(Hk (H, Z)) = exp(Hk (Z25  Z25 , Z)). GAP session 3.4.1 gap> S:=SylowSubgroup(SL(2,Integers mod 5ˆ3),5);; gap> M:=MaximalSubgroups(S);; gap> G:=Image(IsomorphismPcGroup(M[1]));;

The Transfer Map | 251 gap> L:=MaximalSubgroups(G);; gap> H:=L[1];; gap> StructureDescription(H); "C5 x (C25 : C25)"

Corollary 3.4.2 implies exp(Hk (G, Z)) divides 5 × exp(Hk (Z25  Z25 , Z)). For even k ≥ 2 we have Hk (Z25 , Z) = 0 and Corollary 3.4.2 (ii) establishes exp(Hk (Z25  Z25 , Z)) ≤ 25.

(3.23)

To establish 3.23 for odd k one can use Wall’s resolution for an extension to explicitly compute the homology of Z25  Z25 . (Wall uses this resolution to compute the homology of Zn  Zm in [287].) In conclusion, this establishes that exp(Hk (G, Z)) divides 53 for all k ≥ 1. So, in conjunction with Example 3.3.9, we obtain exp(⊕k≥1 Hk (G, Z)) = 53 .  For a finite group G and prime p we let Hk (G, Z)(p) denote the Sylow p-subgroup of Hk (G, Z). By Corollary 3.4.2 there is a decomposition Hk (G, Z) =



Hk (G, Z)(p)

(3.24)

p | |G|

in which p ranges over all prime divisors of |G|. For a Sylow subgroup P = Sylp (G) ∼ =

G Proposition 3.4.1 implies that incG P ◦ trP restricts to an isomorphism Hk (G, Z)(p) → Hk (G, Z)(p) for k ≥ 1. There is thus a surjective homomorphism

incG Syl

p (G)

: Hk (Sylp (G), Z)  Hk (G, Z)(p) .

(3.25)

The surjection 3.25 allows one to compute the homology of G from the homology of its Sylow subgroups. To do this we need the following description of the kernel of 3.25 due to Cartan and Eilenberg [56] which can be extracted from Proposition 3.4.1 (iii). Theorem 3.4.3. Let P = Sylp (G) denote a Sylow p-subgroup of G and let D ⊂ G denote

a set of representatives for the double cosets PgP, g ∈ G. The kernel of the homomorphism 3.25 is generated by the elements hS (a) − hxS (a)

where: S = P ∩ xPx−1 ; the element x ranges over D; the homomorphisms hS , hxS : Hk (S, Z) → Hk (P, Z)

252 | Cohomology of Groups

are induced by the inclusion S → P, y  → y and conjugated inclusion S → P, y  → x−1 yx respectively; and a ranges over the generators of the group Hk (P, Z). Theorem 3.4.3 is incorporated into the HAP function GroupHomology(G,k) which returns the kth homology of a finite group G. (This function can also be applied to certain infinite groups for which it uses a range of other methods.) Example 3.4.2. The following GAP session computes the low-dimensional integral homology of the Mathieu group M23 of order 10200960 and establishes  0, 1 ≤ k ≤ 4, Hk (M23 , Z) = Z7 , k = 5.

GAP session 3.4.2 gap> GroupHomology(MathieuGroup(23),1); [ ] gap> GroupHomology(MathieuGroup(23),2); [ ] gap> GroupHomology(MathieuGroup(23),3); [ ] gap> GroupHomology(MathieuGroup(23),4); [ ] gap> GroupHomology(MathieuGroup(23),5); [ 7 ]

The low-dimensional integral homology of M23 was originally calculated by R. Milgram [209] and is the first known example of a non-trivial finite group with trivial homology in low degrees. According to [209], in the mid 1970s Jean-Louis Loday had asked if there  exists any non-trivial finite group G with Hk (G, Z) = 0 for k = 1, 2, 3. For simplicity Proposition 3.4.1, Corollary 3.4.2 and Theorem 3.4.3 have been stated for integer coefficients. Their statements and proofs, however, extend to homology Hk (G, A) with coefficients in a ZG-module A. Furthermore, they admit dual versions for Hk (G, A). A more general homology version of Theorem 3.4.3 is implemented in HAP as a function PrimePartDerivedFunctor(G,R,A,k) which inputs: a group G; an integer k and the first k + 1 terms of a free ZP-resolution of Z for P a Sylow p-subgroup of G; and a functor A such as − ⊗ZG Z or − ⊗ZG Zp that applies to free resolutions. The function returns the abelian invariants of Hk (G, A)(p) . Example 3.4.3. Let G = M24 be the Mathieu group M24 of order 244823040 The following GAP session computes the 2-primary part of the third integral homology

H3 (M24 , Z)(2) = Z4 .

Finite p-groups | 253

GAP session 3.4.3 gap> G:=MathieuGroup(24);; gap> P:=SylowSubgroup(G,2);; gap> R:=ResolutionNilpotentGroup(P,4);; gap> A:=TensorWithIntegers;; gap> PrimePartDerivedFunctor(G,R,A,3); [ 4 ]

Further similar commands can be used to compute  0, k = 1, 2, 4, Hk (M24 , Z) = Z12 , k = 3. The last command of the GAP session can be replaced by the following alternative and quicker commands GAP session 3.4.3 gap> L:=AscendingChain(G,P);; gap> PrimePartDerivedFunctorViaSubgroupChain(L,R,A,3); [ 4 ]

which first construct a chain of subgroups Syl2 (G) = P1 < P2 < . . . < Pk = G and then inductively use the 2-part of the homology of Pi to compute the 2-part of the homology of Pi+1 using an adaptation of Theorem 3.4.3. More precisely, the group P2 = N(P1 ) is taken to be the normalizer in G of a Sylow 2-subgroup P1 = Syl2 (G), and in Theorem 3.4.3 the set D is taken to be a union D = ∪k−1 i=1 Di with Di a set of representatives for the double cosets Pi gPi , g ∈ Pi+1 . This method can be applied for all primes p, not just p = 2, and was applied in [160] to the computation of the second cohomology of a group. 

3.5 Finite p-groups Throughout this section G denotes a group of finite prime-power order |G| = pn unless otherwise stated. We let F = Zp denote the field of p elements and sometimes write Fp in place of F in order to emphasize the prime. The naive linear algebraic approach of Algorithm 3.2.1 can be quite effective for computing the mod-p homology Hk (G, F) and cohomology Hk (G, F). The practicality of linear algebra in this context stems from Lemmas 3.5.1 and 3.5.2 about modules over the group algebra FG. The definition of FG is adapted from 2.6.1 simply by replacing the infinite field Q with the finite field F.

254 | Cohomology of Groups

The notion of a resolution of free ZG-modules is correspondingly adapted to that of a resolution of free FG-modules (cf. Definition 3.5.3). The field F can be viewed as an FGmodule whose structure involves the additive group of F and trivial action of G. Lemma 3.5.1. Let R∗G be any free FG-resolution of F for G a finite p-group. Then

Hk (G, F) ∼ = Hk (R∗G ⊗FG F), Hk (G, F) ∼ = Hk (HomFG (R∗G , F)) for k ≥ 0. Proof. The lemma follows from the observations (⊕di=1 ZG) ⊗ZG F ∼ = (⊕di=1 FG) ⊗FG F, HomZG ((⊕di=1 ZG), F) ∼ = HomFG ((⊕di=1 FG), F) for any free ZG-module ⊕di=1 ZG.



Let R be an arbitrary ring with multiplicative identity. Recall that the intersection of all its maximal left ideals is equal to the intersection of all its maximal right ideals and that this interaction is called the Jacobson radical. We denote this intersection by rad(R). For an R-module M one defines the submodule rad(M) = rad(R)M which we refer to as the Jacobson radical of M. Nakayama’s Lemma implies that a subset S ⊂ M generates M as an R-module if and only if the image of S generates M/rad(M) as an R/rad(R)-module. Lemma 3.5.2. Let G be a finite p-group, F the field of p elements, and M a finite FG-module.

The Jacobson radical rad(M) is equal to the vector subspace J(M) = spanF {g · m − m | g ∈ G, m ∈ M} spanned by the vectors g · m − m for g ∈ G, m ∈ M. A subset S ⊂ M generates M as an FG-module if and only if the image of S generates M/J(M) ∼ = Fd as a vector space. Proof. In light of Nakayama’s lemma it suffices to show that JG = spanF {g − h | g, h ∈ G} ⊆ FG is the unique maximal ideal in FG. (A ring with a unique maximal ideal is said to be local.) First one that JG is equal to the kernel of the module  checks homomorphism  : FGF, ai gi  → ai where gi ranges over G and ai ∈ F. Therefore JG is a left and right ideal. To see that it is maximal suppose that w ∈ FG, w ∈ JG. Then (w) = 0. One can check that w must be of the form w = a1G + λ with 0 = a ∈ F, 1G the identity of G and λ ∈ JG. The binomial formula then shows that (a−1 w)n = (1G + a−1 λ)n = 1G for n a sufficiently high power of p. Therefore w is a unit and JG is maximal. The maximal ideal JG is unique since any ideal containing an  element w ∈ JG contains a unit and thus equals FG. Lemma 3.5.2 provides a simple approach to computing a minimal generating set for any finite FG-module M: first use Algorithm 2.4.1 to find a basis for the vector space rad(M) over F; then extend this to a basis for the vector space M ∼ = rad(M) ⊕ Fd . Those basis elements of M that do not lie in rad(M) form a minimal set of FG-module generators for M. The method allows one to adapt Algorithm 3.2.1 to a practical method for finding

Finite p-groups | 255

the initial terms of a (unique minimal) free FG-resolution R∗G of F for small prime-power groups G. The method is implemented in HAP using the following data type for handling FG-modules. Data type 3.5.1. For a finite group G and field F = Fp of p elements a submodule

M ⊆ (FG)n of a free FG-module can be represented as a component object M with the following components.

• M!.group is the finite group G. • M!.characteristic is the prime p. • M!.matrix is a semi-echelon matrix whose rows form a basis for the underlying vector space of M. The rows have length n|G|. • M!.action(g,A) is a function that inputs an element g ∈ G and a matrix A whose rows are vectors in the vector space M ⊆ Fn|G| . It returns the matrix obtained from A by letting g act on columns. • M!.dimension is the dimension of the vector space underlying M. • M!.ambientDimension is the integer n|G|. The associated function IsHAPFpGmodule(G) returns the boolean true when M is of this data type. Example 3.5.1. The following GAP session uses a modification of Algorithm 3.2.1 that incorporates Lemma 3.5.2 to compute 100 terms of a free FG-resolution over the field F = F2 of two elements for the dihedral group G = D64 of order 128. The second command in the session uses elementary linear algebra to determine a rational function

P(x) =

1 x2 − 2x + 1

whose expansion P(x) = a0 + a1 x + a2 x2 + a3 x2 + · · · is guaranteed to satisfy ak = dimF Hk (G, F2 ) for at least all 0 ≤ k ≤ 100. GAP session 3.5.1 gap> R:=ResolutionPrimePowerGroup(DihedralGroup(128),100);; gap> p:=PoincareSeries(R,100); (1)/(x_1ˆ2-2*x_1+1)

 Definition 3.5.1. The Poincaré series for the cohomology H∗ (G, Fp ) is the series

P(x) =



ak xk

k≥0

with ak = dimF Hk (G, Fp ), k ≥ 0. A quotient f (x)/g(x) of polynomials is also said to be this Poincaré series if f (x) and g(x) are polynomials with integer coefficients for which the series expansion f (x)/g(x) = P(x) holds. If the series expansion is only

256 | Cohomology of Groups

guaranteed to hold for the first k + 1 terms a0 , . . . , ak then we say that f (x)/g(x) is the Poincarés series for the mod-p homology up to degree k. The group G need not be a p-group in this definition. Example 3.5.2. The following GAP session uses Algorithm 3.2.1 and Theorem 3.4.3 to compute the Poincaré series

P(x) =

x4 − x3 + x2 − x + 1 x6 − x5 + x4 − 2x3 + x2 − x + 1

(3.26)

up to degree 14 for the cohomology H∗ (G, F2 ) of the Mathieu group G = M11 of order 7920. GAP session 3.5.2 gap> PoincareSeriesPrimePart(MathieuGroup(11),2,14); (xˆ4-xˆ3+xˆ2-x+1)/(xˆ6-xˆ5+xˆ4-2*xˆ3+xˆ2-x+1)

It is proved in [288] that 3.26 is in fact the Poincaré series for the mod-2 cohomology H∗ (M11 , F2 ) up to any degree. It is possible to re-prove this result of [288] using GAP  and the spectral sequence technique discussed in Section 3.8 below. The above approach to computing Hk (G, F) is impractical for large finite p-groups due to the memory requirements of the linear algebra routines. Some reduction in memory requirements can be achieved through the use of Gröbner basis techniques [137, 138], but at some point the size of G still becomes an obstacle to the general approach. The mod-p homology of certain larger p-groups can be accessed via hypotheses on a crystallographic group E that imply isomorphisms Hi (E/γc T, F) ∼ = Hi (E/γc+d T, F) for F the field of p elements and γc T a term in the relative lower central series of the translation subgroup T ≤ E defined by setting γ1 T = T and γc+1 T = [γc T, E] for c ≥ 1. This homological periodicity provides a means of calculating the mod-p homology of certain infinite families of finite p-groups G = E/γc+d T using a finite machine computation. There is an action of P = E/T on the free abelian group γc T given by conjugation, P × γc T → γc T, (gT, a)  → gag −1 . Thus γc T is a ZP-module from which the vector space γc T ⊗Z F inherits the structure of an FP-module for F any field. We say that an abelian group is n-generator if it is generated by n elements and not generated by fewer than n elements. Definition 3.5.2. We say that an n-dimensional crystallographic group E is centrally

p-periodic of period d if the following hold: (i) the point group P = E/T is a p-group for some prime p; (ii) there exists an integer k ≥ 1, called the initial periodicity degree, such that the quotient T/γc+1 T is an n-generator abelian p-group for c ≥ k and, in the case p = 2, the quotient T/γc+1 T is a direct product of cyclic groups of exponent > 2; and

Finite p-groups | 257

(iii) γc T ⊗Z F and γc+d T ⊗Z F are isomorphic FP-modules for the field F of p elements and all c ≥ k. For a centrally p-periodic group E the quotients E/γc T , c ≥ k, are an infinite family of distinct finite p-groups. Example 3.5.3. Consider the crystallographic group E = SpaceGroup(2, 10) described

in 3.18. We have P = E/T ∼ = C4 and T has basis consisting of translations t1 , t2 by the standard basis vectors. For c ≥ 1 the free abelian group γ2c T has basis {2c−1 (t1 + t2 ), 2c−1 (−t1 + t2 )} and the free abelian group γ2c+1 T has basis {2c t1 , 2c t2 }.

From these bases one can deduce that E is centrally 2-periodic of period d = 1 and initial periodicity degree k = 5. We have E/γ2 T ∼ = C4 × C2 and E/γ3 T ∼ = (C4 × C2 )  C2 and, for c ≥ 3, E/γc T ∼ = (. . . (((C4 × C2 )  C2 )  C2 ) . . .)  C2 involving c − 2 semi-direct product symbols.



Of the seventeen 2-dimensional crystallographic groups precisely six are centrally pperiodic. Proposition 3.5.3. Let E be an n-dimensional crystallographic group that is centrally p-

periodic of period d and initial periodicity degree k. Let F denote the field of p elements. Then the two homology groups Hi (E/γc T, F) and Hi (E/γc+d T, F) are isomorphic vector spaces for all i ≥ 0, c ≥ k.

Example 3.5.4. Let us continue with the group E = SpaceGroup(2, 10) of Example

3.5.3. Using the HAP function for computing the Poincaré series P(E/Tc ) =

∞ 

dimF Hk (E/Tc , F) xk

k=0

we find

P(E/T) = 1/(−x + 1) , P(E/γ2 T) = 1/(x2 − 2x + 1) , P(E/γc T) = 1/(−x4 + 2x3 − 2x + 1) , c = 3, 4, 5.

In light of the isomorphism Hi (E/γc T, F) ∼ = Hi (E/γc T, F) and Proposition 3.5.3, these five computations provide the dimensions of the vector spaces Hi (E/γc T, F) for all c ≥ 1 and i ≥ 0 since E is centrally 2-periodic of period 1 and initial periodicity degree k = 5.

258 | Cohomology of Groups

In order to compute, say, the Poincaré series for Q = E/γ4 T in GAP one could use the commands GAP session 3.5.3 gap> e:=SpaceGroupBBNWZ(2,10);; gap> Q:=RelativeCentralQuotientSpaceGroup(e,4);; gap> n:=50;;PoincareSeries(Q,n); (1)/(-x_1ˆ4+2*x_1ˆ3-2*x_1+1)

which return a series that is guaranteed correct in the first n = 50 terms. One can then apply theoretical completion criteria [51] to see that all terms of the series must then, in fact, be correct. Alternatively one could replace the final command by GAP session 3.5.3 gap> HilbertPoincareSeries(LHSSpectralSequenceLastSheet(Q)); (1)/(-x_1ˆ4+2*x_1ˆ3-2*x_1+1)

which incorporates a proof of completion using the Lyndon–Hochschild–Serre spectral sequence method described in Section 3.9. This alternative command was implemented by Paul Smith and applies only to 2-groups since it uses Gröbner basis algorithms for commutative rings implemented in Singular [81]; the cohomology ring is only graded  commutative for p = 2. For the proof of Proposition 3.5.3 consider an n-dimensional crystallographic group E with translation subgroup T. Each element g ∈ E is an affine transformation g : Rn → Rn , v  → Ag v + Bg where Ag is an n × n orthogonal matrix and Bg ∈ Rn . For each g ∈ E we define the translation τ (g) : Rn → Rn , v  → v + Bg and linear isometry α(g) : Rn → Rn , v  → Ag v. The latter provides a surjective homomorphism α : E  PW onto the finite group of linear isometries PW = {α(g) : g ∈ E}. We have an isomorphism P∼ = PW , gT  → α(g) which we use to identify P = PW . The group E acts on T by conjugation, (g, t)  → g t = gtg −1 , and since T is abelian this induces an action of the point group P = E/T on T. The action of g ∈ E on t ∈ T satisfies g t = α(g)tα(g −1 ). Suppose now that E is centrally p-periodic with period d and initial periodicity degree k ≥ 1. For c ≥ k consider the finite p-groups Ac = T/γc T, Ec = E/γc T. Let R∗Ac denote the minimal free FAc -resolution of the field F = Z/pZ. This resolution is unique up to equivariant chain isomorphism. Let R∗P be some free FP-resolution of F for P = E/T. Each element gT ∈ P determines an automorphism ιg : Ac → Ac , t γc T  → gtg −1 γc T. g This automorphism in turn induces a chain map φ∗ : R∗Ac → R∗Ac . The chain map g Ac ∼ φ∗ induces the identity map on H0 (R∗ ) = F and is ιg -equivariant in the sense that g g φi (a · e) = ιg (a) · φi (e) for a ∈ Ac , e ∈ RiAc .

Finite p-groups | 259 g

g

g

gg

Lemma 3.5.4. The chain maps φ∗ can be constructed such that φ∗ ◦ φ∗ = φ∗ for all g, g ∈

E. Ac such that ∂i+1 hi + Proof. We can construct F-linear homomorphisms hi : RiAc → Ri+1 hi−1 ∂i = 1 for i ≥ 0 and h−1 = 0. Such a collection of homomorphisms is a cong tracting homotopy. For each g ∈ E we then construct the ιg -equivariant chain map φ∗ g inductively by letting φ0 : R0Ac = FAc → R0Ac = FAc send the unique free generator e0 g 0 g g to φ0 (e ) = e0 and defining φi : RiAc → RiAc , i > 0, on free generators eij by φi (eij ) = g

g

g

gg

hi−1 (φi−1 (∂i (eij ))). This construction satisfies φ∗ ◦ φ∗ = φ∗ for all g, g ∈ E.



The following proposition is a slight adaption of Lemma 3.3.7. We need a version of 3.3.7 that can be applied to crystallographic groups. We let g ∈ Ec be the coset represented by g ∈ E. g

Proposition 3.5.5. Let φ∗ be constructed as in Lemma 3.5.4 for g ∈ E. Then the tensor

product of chain complexes R∗Ac ⊗F R∗P over F admits an action of g ∈ Ec , given by g

g · (e ⊗ f ) = τ (g) · φi+j (e) ⊗ α(g) · f

(3.27)

for e ∈ RiAc , f ∈ RjP . With this action R∗Ac ⊗F R∗P is a free FEc -resolution of F. Proof. It is routine to check that (3.27) is a well-defined action of Ec . The action is free since Ac acts freely on R∗Ac and P = Ec /Ac acts freely on R∗P . Standard properties A of the tensor product of chain complexes imply H0 (R∗Ac ⊗F R∗P ) ∼ = F and Hi (R∗ c P ⊗F R∗ ) = 0 for i ≥ 1.  From Proposition 3.5.5 we have Hi (Ec , F) = Hi ( (R∗Ac ⊗F R∗P ) ⊗FEc F )

(3.28)

(R∗Ac ⊗F R∗P ) ⊗FEc F ∼ = ((R∗Ac ⊗F R∗P ) ⊗FAc F) ⊗FP F

(3.29)

(R∗Ac ⊗F R∗P ) ⊗FAc F = (R∗Ac ⊗FAc F) ⊗F R∗P .

(3.30)

for i ≥ 0. Note that

and that

Since R∗Ac is a minimal resolution the chain complex C∗ = R∗Ac ⊗FAc F has zero boundary homomorphisms and Ci = Hi (Ac , F) ∼ = Hi (Ac , F) for i ≥ 0. The action of gT ∈ P on g C∗ is determined by the chain map φ∗ ⊗FAc F : C∗ → C∗ ; this chain map coincides g with the cohomology homomorphism φ∗ ⊗FAc F : H∗ (Ac , F) → H∗ (Ac , F) induced by ιg : Ac → Ac .

260 | Cohomology of Groups

Since E is centrally p-periodic of period d and initial periodicity degree k we have an isomorphism of graded vector spaces H∗ (Ac , F) = H∗ (Ac , F), which is also an isomorphism of the cohomology ring structure introduced below in Section 3.7, for all c, c ≥ k. These graded vector spaces are FP-modules and it is this module structure that determines the dimension of Hi (E/γc T, F) and Hi (E/γc T, F) i ≥ 0. Proposition 3.5.3 follows from (3.28), (3.29), (3.30) and the following two lemmas. Lemma 3.5.6. The FP-module structure on the graded vector space H∗ (Ac , F), for c ≥ k, is

determined by the FP-module structure on the submodule ⊕1≤i≤2 Hi (Ac , F).

Proof. As a cohomology ring (see Section 3.7 below), H∗ (Ac , F) is generated by elements  in degrees ≤ 2. The point group P acts on this ring by ring automorphisms. Lemma 3.5.7. There is an FP-module isomorphism

H2 (Ac , F) ∼ = H2 (T, F) ⊕ (γc T ⊗Z F) . Proof. The isomorphism follows from the five-term exact cohomology sequence (described in Section 4.5 below) arising from the extension γc T  T  Ac together  with an analysis of the P-action.

3.5.1 Modular Isomorphism Problem In 1940 Graham Higman [155] asked whether a finite group G is determined, up to isomorphism, by its group ring ZG. The question is known as the integral isomorphism problem. An affirmative answer for G a finite nilpotent group was provided by Roggenkamp and Scott [245] in 1987 and a non-nilpotent counter-example was provided in 2001 by Hertweck [153]. The modular isomorphism problem asks whether a finite p-group G is determined, up to isomorphism, by its modular group algebra FG where F is the field of p elements. The modular problem is discussed in Richard Brauer’s 1963 Harvard Lecture Notes [33] and is still unsolved. The literature contains many papers that use computational techniques to study the modular problem. For instance, computational methods are used in [96] to show that any group G of order 512 is determined by its modular group algebra. The computational strategy is to devise some easily computed isomorphism invariants of FG and to first partition the finite collection of groups into classes, a class consisting of those groups that yield the same value of the chosen invariants. Then for all pairs of distinct groups G, G in a given class the modular group algebras are constructed and an exhaustive isomorphism test is used to establish that FG ∼ = FG or to find an isomorphism should one exist. The mod-p homology Hk (G, F) depends only on the group algebra FG and, for low values of k, is one cheaply computed invariant of the algebra. In this context, cheap is defined relative to the cost of an exhaustive algorithm for finding an isomorphism FG ∼ = FG when such an isomorphism exists or deciding that no such isomorphism exists. Though the mod-p homology is not a particularly strong group isomorphism invariant—some relatively small non-isomorphic p-groups of common order have isomorphic mod-p homology and even isomorphic integral homology [189]—it is instructive to investigate

Finite p-groups | 261

the extent to which this invariant does succeed in distinguishing between the modular group algebras of p-groups. We carry out this investigation on the groups of order 64—a class of groups that are known to be determined by their modular group algebras [153, 295]. We simultaneously investigate the performance of some other easily computed invariants such as the dimensions of the radical series radi (FG) and the dimensions of the sequence of vector subspaces γi (FG) ⊂ FG defined by γ1 (FG) = FG and γi+1 (FG) = spanF {ab − ba : a ∈ FG, b ∈ γi (FG)}. The sequence γ1 (FG) ⊇ γ2 (FG) ⊇ · · · is called the Lie lower central series of the modular group algebra. To this end, for any finite p-group G and any invariant inv(G) of the modular group algebra FG we let [G]inv = {H : |H| = |G|, inv(H) = inv(G)} denote the collection of those (isomorphism classes of) groups H having the same order as G and yielding the same value of the invariant. For a given invariant inv and primepower m = pn we let Ak,m = | {[G]inv : |G| = m, |[G]inv | = k} | denote the number of distinct classes [G]inv of size k with G of order m. The performance of the invariant inv on the groups of order m is, to some extent, captured by the polynomial m (t) = Tinv



Ak,m t k .

(3.31)

k≥1

We refer to 3.31 as the m-polynomial of the invariant. If an invariant succeeds in distinguishing between all groups of order m then its m-polynomial has coefficients Ak,m = 0 for k ≥ 2, and A1,m is equal to the number of groups of order m. In general, the number of groups of order m is given by k≥1 k Ak,m . Let inv1 (G) and inv2 (G) be two invariants. We say that the first is stronger than the second, and write inv1 ≥ inv2 , if inv1 (G) = inv1 (H) implies inv2 (G) = inv2 (H) for all groups G and H. We write inv1 > inv2 if, in addition, inv2 (G) = inv2 (H) does not imply inv1 (G) = inv1 (H). Two invariants can be combined by defining their sum to be the invariant inv1 ⊕ inv2 that returns the ordered pair (inv1 (G) , inv2 (G)). Clearly inv1 ⊕ inv2 ≥ inv1 and inv1 ⊕ inv2 ≥ inv2 . The following proposition is readily verified by a direct GAP computation. Proposition 3.5.8. (i) The 64-polynomial of the polynomial invariant

inv1 (G) =

 1≤k≤5

dimF (Hk (G, F)) xk

262 | Cohomology of Groups

is

64 (t) = 27t + 15t 2 + 9t 3 + 4t 4 + 2t 5 + t 6 + t 7 + t 8 + 2t 9 + 2t 10 + t 11 + Tinv 1 t 14 + t 18 + t 25 + t 30 . (ii) Let  dimF (radi (FG)) xk . inv2 (G) = i≥0

The 64-polynomial of inv = inv1 ⊕ inv2 is 64 Tinv (t) = 37t + 21t 2 + 12t 3 + 7t 4 + t 5 + 2t 6 + 3t 7 + t 8 + 3t 9 + t 10 + t 19 + t 22 . (iii) Let  inv3 (G) = dimF (γi (FG)) xk . i≥0

The 64-polynomial of inv = inv1 ⊕ inv2 ⊕ inv3 is 64 Tinv (t) = 139t + 28t 2 + 11t 3 + 7t 4 + t 5 + t 6 . The dimensions of the radical series and Lie lower central series do not capture the whole algebraic structure of these two series. The vector space γi (FG) is a Lie algebra whose structure is captured to a greater extent by the notion of Lie algebra homology considered in Section 3.6. The vector space radi (FG) is an FG-module and can be studied using the following generalizations of group homology and cohomology. Definition 3.5.3. Let G be a group and F the field of p elements. Let A and M be two

FG-modules and let R∗G be any acyclic chain complex of free FG-modules with H0 (R∗G ) ∼ = M. Such a chain complex is said to be a free FG-resolution of M and is used to define G TorFG k (M, A) = Hk (R∗ ⊗FG A), ExtkFG (M, A) = Hk (HomFG (R∗G , A)) for k ≥ 0.

The proof of Theorem 3.1.1 generalizes to show that for k ≥ 0 the modules TorFG k (M, A) k and ExtFG (M, A) depend, up to isomorphism, only on the modules A and M and not on the choice of resolution R∗G of M. Using basic homological algebra one can also show that FG ∼ TorFG k (M, A) = Tork (A, M) (see, for instance, the exercise in Section III.2 of [39]). Example 3.5.5. The following GAP session uses Algorithm 3.2.1 to compute 52 TorFG 50 (M, F) = F

for the dihedral group G = D32 of order 64, the field F of two elements, and the module M = rad3 (FG) where rad0 (FG) = FG, radi+1 (FG) = rad(radi (FG)).

Finite p-groups | 263

GAP session 3.5.5 gap> G:=DihedralGroup(64);; gap> FG:=GroupAlgebraAsFpGModule(G);; gap> rad_1:=Radical(FG);; gap> rad_2:=Radical(rad_1);; gap> rad_3:=Radical(rad_2); Module of dimension 59 over the group ring of in characteristic 2 gap> R:=ResolutionFpGModule(rad_3,51);; gap> Homology(TensorWithIntegersModP(R,2),50); 52

Note that radi (FG) is an isomorphism invariant of the group algebra and so  TorFG k (radi (FG), F) is an algebra invariant too. The following proposition is readily verified by a direct GAP computation. Proposition 3.5.9. Let invi (G) be as in Proposition 3.5.8 for 1 ≤ i ≤ 3 and let

inv4 (G) =



i k dimF (TorFG k (radi (FG)) x y .

1≤k≤5,i≥0

The 64-polynomial of inv = ⊕4j=1 invj is 64 (t) = 162t + 32t 2 + 9t 3 + 4t 4 . Tinv

In Chapters 1 and 2 we have seen how homology homomorphisms, in the form of persistence diagrams, can carry more information than homology groups alone. There are several ways that we can compute persistence diagrams as invariants of the modular group algebra FG. One approach is to choose any FG-module M that is an invariant of FG and first use Algorithm 3.2.1 and Lemma 3.5.2 to compute a free FG-resolution R∗G of M that is minimal in the sense that every boundary homomorphism in the chain complex C∗ = R∗G ⊗FG F is the zero homomorphism. It is not difficult to see that if R∗G and SG ∗ are two minimal free FG-resolutions of M then there is an FG-equivariant chain map φ∗ : R∗G → SG ∗ with φk an isomorphism for each k ≥ 0. In other words, the minimal resolution R∗G is itself an invariant of FG. Any filtration on this resolution R∗G gives rise to persistence diagrams; these can be used as an invariant of FG if the filtration is an invariant of FG. One such filtration on R∗G is inherited from the filtration rad (FG) ≤ rad−1 (FG) ≤ · · · ≤ rad1 (FG) ≤ FG on the group algebra with the integer  defined by rad (FG) = 0, rad+1 (FG) = 0. One can check that this definition of  makes sense for any finite p-group G; it is called the radical length of FG. We define the radical filtration on R∗G to be

264 | Cohomology of Groups

R0 R∗G ≤ R1 R∗G · · · ≤ R−1 R∗G ≤ R R∗G

(3.32)

with Rp RqG = rad−p (RqG ) and then introduce the following definition. Definition 3.5.4. We define the degree k persistent radical numbers of an FG-module M

to be the degree k persistent Betti numbers of the filtration R∗ R∗G on a minimal FGresolution of M.

Example 3.5.6. Let G = Syl2 (M12 ) be the group of order 64 arising as the Sylow 2-subgroup of the Mathieu group M12 . The following GAP session computes the degree 2 persistent radical numbers of the trivial FG-module F = F2 and displays them as the barcode of Figure 3.5.

GAP session 3.5.6 gap> G:=SylowSubgroup(MathieuGroup(12),2);; gap> R:=ResolutionPrimePowerGroup(G,3);; gap> C:=RadicalSeries(R);; gap> P:=PersistentBettiNumbers(C,2);; gap> BarCodeCompactDisplay(P);



The following proposition is readily verified by a direct GAP computation. 6 15 1 22 31 1 31 1 31 1 31 1 31 1 25 1 16 9

Figure 3.5 Degree 2 persistent radical numbers for the trivial FG-module F = F2 and G = Syl2 (M12 ).

Finite p-groups | 265 Proposition 3.5.10. Let pkij denote the degree k persistent radical numbers of the trivial FG-

module F = F2 with G a group of order 64. Let  denote the radical length of FG and define  pkij xi yj zk . inv5 (G) = 1≤k≤5, 0≤i≤j≤

Let

inv3 (G) =



dimF (γi (FG)) xk .

i≥0

The 64-polynomial of the invariant inv = inv5 ⊕ inv3 is: 64 Tinv = 168t + 33t 2 + 7t 3 + 3t 4 .

A second method for associating barcodes to the modular group algebra uses any sequence of homomorphisms of FG-modules M1 → M2 → · · · → M

(3.33)

that is an invariant of FG. For instance, we could take Mi = radi (FG) and the homomorphisms to be inclusions. The sequence 3.33 induces the sequence φ0

φ1

φ

FG FG TorFG k (M1 , F) −→ Tork (M2 , F) −→ · · · −→ Tork (M , F).

(3.34)

of linear homomorphisms of vector spaces for each k ≥ 0. Definition 3.5.5. We define the degree k persistent Betti number pkij for the sequence 3.33

to be

⎧ FG i = j, ⎪ ⎨dimF Tork (Mi , F), k pij = rankF φj−1 ◦ · · · ◦ φi+1 ◦ φi , i < j, ⎪ ⎩ 0 i > j.

We conclude this section with the observation that, for a suitable choice of 3.33, the persistent Betti numbers of the sequence coincide with the persistent radical numbers of the FG-module F. Proposition 3.5.11. The degree k persistent Betti numbers of the sequence of radicals

rad (FG) → rad−1 (FG) → · · · → rad1 (FG) → FG are equal to the degree k persistent radical numbers of the FG-module F. Proof. Let R∗G be a minimal free FG-resolution of F. It suffices to note that TorFG k (radi FG G ∼ ∼ (FG), F) = Tork (F, radi (FG)) and that Rk ⊗FG radi (FG) = radi (FG)RkG =  breakradi (RkG ).

266 | Cohomology of Groups

3.6 Lie Algebras In discussing the modular isomorphism problem we remarked that the dimensions of the terms of the Lie lower central series of FG capture only a portion of the algebraic structure of the series. More can be captured, in simple numerical format, using Lie algebra homology. We briefly recall the definition of Lie algebra homology and give some examples related to group theory. Our treatment follows the approach of Jean-Louis Loday [196] which views a Lie algebra as a special case of a Leibniz algebra. Definition 3.6.1. Let K denote a commutative ring. A Leibniz algebra is a K-module g

endowed with a product [−, −] : g × g → g that satisfies

1. [x + x , y] = [x, y] + [x , y], 2. [x, y + y ] = [x, y] + [x, y ], 3. [x, [y, z]] = [[x, y], z]] − [[x, z], y] for x, x , y, y , z ∈ g. The algebra g is said to be a Lie algebra if it also satisfies 4. [x, x] = 0 for x ∈ g. Axioms (1) and (2) for a Leibniz algebra g simply state that the bracket operation is bilinear. The algebra derives its name from the third axiom. To see why, consider the linear homomorphisms dx : g → g, y  → [x, y] defined for each x ∈ g. If g is a Lie algebra then Axiom (4) implies [x, y] = −[y, x] for x, y ∈ g. In this case Axiom (3) can be written as dx ([y, z]) = [dx (y), z] + [y, dx (z)] which is just the usual Leibniz formula for the derivative of a product. In the presence of Axioms (1), (2) and (4) there is an equivalence between identity (3) and the standard Jacobi identity [[x, y], z] + [[y, z], x] + [[z, x], y] = 0.

(3.35)

Any associative algebra A can be viewed as a Lie algebra with bracket [a, b] = ab − ba for a, b ∈ A. In particular, the group ring ZG can be viewed as a Lie algebra over K = Z and the modular group algebra FG of a finite p-group can be viewed as a Lie algebra over the field K = F of p elements. An alternative method of constructing a Lie algebra from

Lie Algebras | 267

a group G is to consider any sequence of normal subgroups 1 = G+1 ≤ G ≤ · · · ≤ G3 ≤ G2 ≤ G1 = G

(3.36)

satisfying [Gi , Gj ] ≤ Gi+j for all i, j, where [Gi , Gj ] is the subgroup generated by commutators [g, h] = ghg −1 h−1 with g ∈ Gi , h ∈ Gj . The abelian group L(G∗ ) = G /G+1 ⊕ · · · ⊕ G2 /G3 ⊕ G/G2

(3.37)

is a Lie algebra over Z with bracket operation induced by the commutator map Gi × Gj → Gi+j , (g, h)  → ghg −1 h−1 . The verification that L(G∗ ) is a Lie algebra with this bracket amounts to verifying the following lemma. Lemma 3.6.1. The identities

(i) (ii) (iii) (iv) (v)

[xx , y] = x [x , y] [x, y], [x, yy ] = [x, y] y [x, y ], [[y, x], x z] [[x, z], z y] [[z, y], y x] = 1, [x, x] = 1, z [x, y] = [z x, z y],

hold for any elements x, x , y, y , z in any group, where we write z x = zxz−1 and [x, y] = xyx−1 y−1 . Proof. Identities (iv) and (v) are immediate and identities (i)–(iii) can be verified by expanding commutators. Alternatively, identities (i)–(iii) can be read from the van Kampen diagrams of Figure 3.6. The boundary of each 2-cell in a diagram spells a commutator. Identities (i) and (ii) are represented by pairs of diagrams with common boundary. Identity (iii) corresponds to the single diagram with six 2-cells and trivial  boundary. The homology and cohomology of a Leibniz algebra can be described in terms of appropriately defined free resolutions as is done for the case of groups. It can also be introduced more directly by means of an explicit chain complex which we now describe. For any Leibniz algebra (or Lie algebra) g let g⊗n

= (. . . ((g ⊗K g) ⊗K g)) ⊗ . . . ⊗K g) = g ⊗ K g ⊗ K . . . ⊗K g

denote the tensor product of n copies of the K-module g, where parentheses can be omitted due to the associativity of the tensor product. Thus g⊗n is the K-module generated by symbols x1 ⊗ . . . ⊗ xn with xi ∈ g subject to the relations

268 | Cohomology of Groups x y ∗

y ∗

x



x x y



x

z z

z ∗

x yʹ ∗ y ∗

y



yyʹ

yyʹ

xxʹ

xxʹ



x

x

y ∗

y

x





z ∗

y





x

x y

y x

Figure 3.6 van Kampen diagrams for Lemma 3.6.1 (i)–(iii).

x1 ⊗ . . . ⊗ xi + λx i ⊗ . . . ⊗ xn = (x1 ⊗ . . . ⊗ xi ⊗ . . . ⊗ xn ) + λ(x1 ⊗ . . . ⊗ x i ⊗ . . . ⊗ xn ) for 1 ≤ i ≤ n, λ ∈ K. We have g⊗0 = 0. There is a linear homomorphism ∂n : g⊗n → g⊗n−1 defined by ∂n (x1 ⊗ . . . ⊗ xn ) =



(−1)j+1 x1 ⊗ . . . ⊗ xi−1 ⊗ [xi , xj ] ⊗ xi+1 ⊗ . . . ⊗ xˆj ⊗ . . . ⊗ xn

1≤i G:=SylowSubgroup(MathieuGroup(12),2);; gap> FG:=GroupRing(GF(2),G);; gap> g:=LieAlgebra(FG);; gap> L:=LeibnizComplex(g,3);; gap> BettiNumber(L,1); 16 gap> BettiNumber(L,2); 299

The Leibniz complex was implemented in HAP by Pablo Fernández Ascariz.



We now come to the homology of Lie algebras. This takes into account Axiom (4) of a Lie algebra and requires the following notion. Definition 3.6.3. Let M be a K-module over a commutative ring K. Let J n (M) denote the

submodule of M⊗n spanned by those generators x1 ⊗ . . . ⊗ xn with xi = xj for some i = j. The n-fold exterior power of M is the quotient module n (M) = M⊗n /J n (M). We follow convention in denoting the coset x1 ⊗ . . . ⊗ xn + J n (M) of an arbitrary generator by the symbol x1 ∧ . . . ∧ xn .

270 | Cohomology of Groups

For any Lie algebra g the homomorphism ∂n : g⊗n → g⊗n−1 induces a homomorphism ∂n : n (g) → n−1 (g). The resulting chain complex (n (g), ∂n ) is known as the Chevalley–Eilenberg complex, after its inventors, and is denoted by C∗ (g). This chain complex C∗ (g) is again functorial and gives rise to the following definition. Definition 3.6.4. Lie homology is the family of functors Hk (g), k ≥ 1, defined by

Hk (g) = Hk (C∗ (g)) for any Lie algebra g. For any Lie algebra we have H1 (g) ∼ = gab just as for Leibniz homology. However, in degree two the two functors differ since, for an abelian Lie algebra of dimension dimK (g) = d over a field K, we have H2 (g) ∼ = 2 (g) ∼ = Kd(d−1)/2 .

(3.40)

Another general difference between Lie algebra homology and Leibniz algebra homology is that n (g) = 0, and hence Hn (g) = 0, whenever n > dimK (g). This contrasts, for instance, with 3.39. Example 3.6.2. The following GAP session creates the free nilpotent group

G = F/γ4 (F) of nilpotency class 3 for F = F(x, y, z) the free group on three generators. It then constructs the Lie algebra g = G3 ⊕ G2 /G3 ⊕ G/G2 associated to the lower central series Gi = γi (G), with Lie bracket induced by group commutation. The quotients Gi /Gi+1 are all free abelian and the Z-module underlying g is free of rank 14. The Lie algebra homology H4 (g) ∼ = Z2 ⊕ Z2 ⊕ Z2 ⊕ Z171 is computed. GAP session 3.6.2 gap> F:=FreeGroup(3);; gap> G:=NilpotentQuotient(F,3);; gap> g:=LowerCentralSeriesLieAlgebra(G);

gap> LieAlgebraHomology(g,4); [ 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

Group Cohomology Rings | 271

The Chevalley–Eilenberg complex was implemented in HAP by Pablo Fernández Ascariz. The following continuation of the session computes the degree 4 group homology H4 (G, Z) ∼ = Z2 ⊕ Z2 ⊕ Z2 ⊕ Z171 . GAP session 3.6.2 gap> GroupHomology(G,4); [ 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

The group homology is equal to the Lie algebra homology in this case. One readily sees that the group homology of any free abelian group is equal to its Lie algebra homology when considered as an abelian Lie algebra over Z. It was proved in [186] that for any finitely generated free nilpotent group of class 2 the group homology is equal to the Lie algebra homology of the Lie algebra formed from the quotients of the lower central series. The above computations raise the question of whether this result  extends to higher nilpotency class. The following result is readily established by a GAP computation and illustrates how Lie algebra homology can capture information additional to that contained in the invariant of Proposition 3.5.10. Proposition 3.6.3. Consider the polynomial invariant

inv6 (G) =



dimF Hk (γi (FG)) xi yk

1≤k≤2,i≥0

of the Lie algebra FG for a group G of order 64 and field F of two elements. Here γi (FG) are the terms of the Lie lower central series of FG. Let inv5 (G) be the invariant of Proposition 3.5.10. The 64-polynomial of inv = inv5 ⊕ inv6 is 64 Tinv = 209t + 23t 2 + 4t 3 .

3.7 Group Cohomology Rings Let G be a group, A a ZG-module and R∗G a free ZG-resolution of Z. An element α ∈ HomZG (RkG , A) is called a k-cochain with coefficients in A. A k-cochain is a k-cocycle if it lies in the kernel of the homomorphism HomZG (∂k+1 , A) : HomZG (RkG , A) →

272 | Cohomology of Groups G HomZG (Rk+1 , A), and a k-coboundary if it lies in the image of the homomorphism G , A) → HomZG (RkG , A). HomZG (∂k , A) : HomZG (Rk−1 For the trivial ZG-module A = Z there are a number of ways of constructing a G , Z) from two cocycles α ∈ HomZG (RpG , Z) and (p + q)-cocycle α ∪ β ∈ HomZG (Rp+q G β ∈ HomZG (Rq , Z), the different constructions agreeing when we pass to cohomology groups. One approach is to use the diagonal group homomorphism  : G → G × G, x → (x, x) to induce a -equivariant chain map ∗ : R∗G → R∗G×G = R∗G ⊗Z R∗G and then use the cross product as explained in Section 2.8. Any contracting homotopy on the resolution R∗G×G (such as the one given in Proposition 3.3.1 in terms of a contracting homotopy on R∗G ) can be used to algorithmically construct ∗ . An alternative approach, and the one that we adopt in this section, is to first lift α to a family of ZG-equivariant G → RkG , k ≥ 0, satisfying αk−1 ∂p+k = ∂k αk for k ≥ 1 and homomorphisms αk : Rp+k α = α0 with  : R0G  H0 (R∗G ) ∼ = Z the canonical quotient map. G Rp+q



αq

/ RG q

∂p+q

G Rp+q−1

 G Rp+1

αq−1



β

/Z

∂q

/ RG

q−1

α1

 / RG

(3.41)

1

∂p+1

∂1

  α0 / RG RpG G 0 GG GGα GG GG  G#  Z

G The composite homomorphism βαq : Rp+1 → Z is then a (p + q)-cocycle. Any conG tracting homotopy on R∗ can be used to compute the homomorphisms αk . The following definition helps to place this construction of α ∪ β in a theoretical context.

Definition 3.7.1. Let (C∗ , ∂), (C∗ , ∂ ) be two chain complexes over a ring K. The function

complex HomK (C∗ , C∗ ) consists of the K-modules

HomK (C∗ , C∗ )k = HomK (Cp , Cp+k ) p∈Z

and boundary homomorphisms Dk : HomK (C∗ , C∗ )k −→ HomK (C∗ , C∗ )k−1   ). defined by Dk ( f ) = ∂ f − (−1)k f ∂ for f = fp ∈ p∈Z HomK (Cp , Cp+k

Group Cohomology Rings | 273

The sign adjustment in the definition of Dk (f ) ensures that Dk Dk+1 = 0 for all k ∈ Z. The function complex is thus a chain complex, though in a slightly more general sense than allowed for in 2.8.1 since it typically has non-zero terms in negative degrees. To be consistent with 2.8.1 we use the expression generalized chain complex for one with non-zero terms in negative degrees; notions such as homology, chain map and tensor product extend to generalized chain complexes in an obvious fashion. The 0-dimensional homology H0 (HomK (C∗ , C∗ )) is precisely the group [C∗ , C∗ ] of homotopy equivalence classes of chain maps C∗ → C∗ . For C∗ = R∗G a free ZG-resolution of Z and C∗ = Z the chain complex with C0 = Z and Cj = 0 for j = 0 there is an isomorphism Hk (G, Z) ∼ = H−k (HomZG (R∗G , C∗ ))

(3.42)

for k ≥ 0. By re-indexing HomK (C∗ , C∗ )k = HomK (C∗ , C∗ )−k

we can also regard HomK (C∗ , C∗ ) as a generalized cochain complex. We could thus rewrite 3.42 as Hk (G, Z) ∼ = Hk (HomZG (R∗G , Z))

(3.43)

where, on the right, we are letting Z denote the chain complex concentrated in degree 0. Proposition 3.7.1. Let R∗G be a free ZG-resolution of Z and let C∗ denote any chain complex

with H0 (C∗ ) = Z, Hi (C∗ ) = 0, i ≥ 1. Then

Hk (G, Z) ∼ = H−k (HomZG (R∗G , C∗ )) and, in particular,

Hk (G, Z) ∼ = H−k (HomZG (R∗G , R∗G ))

for k ≥ 0. Proposition 3.7.1 can be proved by first verifying the following lemma 3.7.2 and then taking R∗ = R∗G , C∗ = Z. Lemma 3.7.2. Let R∗ be any chain complex of free K-modules and let φ∗ : C∗ → C∗ be any

chain homotopy equivalence of chain complexes over a ring K. Then φ∗ induces a chain homotopy equivalence of generalized chain complexes HomK (R∗ , C∗ ) → HomK (R∗ , C∗ ).

The following routinely verified lemma, together with isomorphism 3.42, can be used to establish that 3.41 yields a well-defined multiplication H∗ (G, Z) × H∗ (G, Z) → H∗ (G, Z), (u, v)  → uv endowing H∗ (G, Z) with the structure of an associative ring.

274 | Cohomology of Groups Lemma 3.7.3. For any free ZG-resolution R∗G of Z there is a chain map of generalized chain

complexes

HomZG (R∗G , R∗G ) ⊗ HomZG (R∗G , R∗G ) −→ HomZG (R∗G , R∗G )

f ⊗ f → f ◦ f given by composition of functions. The next routinely verified lemma can be used to establish that the ring structure on H∗ (G, Z) given by 3.41 is graded-commutative in the sense that uv = (−1)pq vu for u ∈ Hp (G, Z), v ∈ Hq (G, Z). Lemma 3.7.4. If C∗ , C∗ are two generalized chain complexes over a commutative ring

K then the isomorphisms Cp ⊗K Cq → Cq ⊗K Cp , u ⊗ v  → (−1)pq v ⊗ u constitute a chain map C∗ ⊗K C∗ → C∗ ⊗K C∗ .

For some further details on the product 3.41, including a proof that at the cohomology level it coincides with the cup product of Section 2.8, see the account in [39]. An element x ∈ H∗ (G, Z) is homogenous of degree k if x ∈ Hk (G, Z). We say that a subset X ⊂ H∗ (G, Z) generates H∗ (G, Z) up to degree d if it generates a subring X containing all homogeneous elements of degree k for 0 ≤ k ≤ d. A useful observation, which follows directly from construction 3.41, is that when there exists a periodic resolution R∗G of Z of period d then a set X generates H∗ (G, Z) up to degree d only if it generates the whole cohomology ring. Example 3.7.1. The following GAP session constructs a free ZG-resolution R∗G of Z for

G = SL2 (Z), up to degree d = 3, and uses it to compute a minimal set X that generates H∗ (G, Z) up to degree 2. The set X consists of two homogeneous cohomology classes of degrees 0 and 2 respectively. GAP session 3.7.1 gap> R:=ResolutionSL2Z(1,3); Resolution of length 3 in characteristic 0 for SL(2,Integers) gap> IntegralCohomologyGenerators(R,0); [ [ 1 ] ] gap> IntegralCohomologyGenerators(R,1); [ ] gap> IntegralCohomologyGenerators(R,2); [ [ 1 ] ]

Group Cohomology Rings | 275

From Example 3.3.5 we know that SL2 (Z) admits a periodic resolution of period 2. One can thus use the first three terms of R∗G to compute  0, odd k ≥ 1 k H (SL2 (Z), Z) = Z12 , even k ≥ 2 and establish a graded ring isomorphism H∗ (SL2 (Z), Z) ∼ = Z12 [x2 ] where the right-hand side is the ring of polynomials over Z12 generated by the polynomial  x2 of degree 2. Example 3.7.2. For the symmetric group G = S3 the HAP command Integral CohomologyGenerators(R,k) can be used to compute a minimal set X that generates H∗ (G, Z) up to degree 4. The set X consists of three cohomology classes of degrees 0, 2, 4 respectively. Since S3 admits a periodic resolution of period 4 (see Example 3.2.2) it  follows that X generates the whole cohomology ring H∗ (S3 , Z).

Groups admitting free resolutions of finite length provide further examples where one can attempt to compute a minimal generating set for the entire cohomology ring in a straightforward fashion. This is illustrated in the next example. Example 3.7.3. Let F = F(x, y, z) be the free group on three generators and let G =

F/γ3 F denote the free nilpotent group of class 2 on three generators. A free ZG-resolution R∗G of Z with RG k = 0 for k ≥ 7 can be computed as in Example 3.3.8 and used to determine ⎧ Z, k = 0, 6, ⎪ ⎪ ⎪ 3, ⎪ ⎪ k = 1, 5, Z ⎨ k 8 H (G, Z) = Z , k = 2, 4, ⎪ ⎪ ⎪ Z12 , k = 3, ⎪ ⎪ ⎩ 0, k ≥ 7.

The command IntegralCohomologyGenerators(R,k) can be used to determine a minimal set X of homogeneous generators for H∗ (G, Z) with one generator of degree 0, three generators of degree 1, eight generators of degree 2, six generators of degree 3 and  no generators of higher degree. The HAP command CupProduct(R,p,q,x,y) can be used to multiply homogeneous elements x, y ∈ H∗ (G, Z) of degrees p, q in the above examples. We now turn to the mod-p cohomology H∗ (G, F) of finite p-groups G. For the remainder of this section we suppose that G is a finite p-group and set F equal to the field of p elements. Since mod-p cohomology can be computed from a minimal free FGresolution of F, the above account of the ring structure on H∗ (G, Z) carries over directly to a ring structure on H∗ (G, F) simply by replacing the group ring ZG with the modular group algebra FG throughout and replacing the ground ring Z with the ground field F. We regard the ring H∗ (G, F) as an algebra over the field F. Moreover, the inclusion

276 | Cohomology of Groups ∼ =

ι : F −→ H0 (G, F) → H∗ (G, F) and projection  : H∗ (G, F)  F satisfying ι = 1F , with ι(1) the multiplicative identity element, makes H∗ (G, F) into a supplemented algebra in the sense of Cartan–Eilenberg [56]. For any non-trivial p-group the algebra H∗ (G, F) is infinite dimensional over F. We can produce a finite dimensional algebra by choosing some integer n ≥ 0 and considering the ideal J >n ≤ H∗ (G, F) generated by all homogeneous elements of degree > n. The quotient H≤n (G, F) = H∗ (G, F)/J >n is then a finite dimensional algebra which can be stored in GAP by choosing some F-basis and recording the product of each pair of basis elements. We always choose an F-basis whose elements are homogeneous of degree ≤ n. Example 3.7.4. The following GAP session constructs the algebra H ≤10 (G, F) for the

group G = Syl2 (M12 ) of order 64. The algebra is of dimension 286 over the field F of two elements. GAP session 3.7.4 gap> G:=SylowSubgroup(MathieuGroup(12),2);; gap> R:=ResolutionPrimePowerGroup(G,10);; gap> A:=ModPCohomologyRing(R);

It is algorithmically possible, but computationally expensive, to decide when two finite dimensional graded-commutative algebras are isomorphic. In order to use the cohomology algebra as an invariant of FG it is more efficient to derive some numerical invariants of the algebra. There are many possibilities for this. As a simple illustration, the following continuation of the GAP session produces a list whose terms are the subalgebras Sk =  Hk (G, F)  generated by all homogeneous elements of degree k. The list of dimensions of the Sk is then computed as a numerical invariant of H≤10 (G, F). GAP session 3.7.4 gap> S:=[];; gap> for n in [0..10] do > B:=Filtered(Basis(A),x->A!.degree(x)=n); > B:=Subalgebra(A,B); > Add(S,B); > od;

Group Cohomology Rings | 277 gap> List(S,Dimension); [ 1, 75, 100, 66, 60, 83, 28, 36, 45, 55, 66 ]



The GAP commands in Example 3.7.4 can be used to obtain the following slight improvement on Proposition 3.6.3. Proposition 3.7.5. For a p-group G and F the field of p elements let sk (G) denote the

dimension of the subalgebra of H≤5 (G, F) generated by Hk (G, F). Let  sk (G) xk . inv7 (G) = 1≤k≤5

Let inv = inv5 ⊕ inv6 ⊕ inv7 where inv5 is defined in Proposition 3.5.10 and inv6 is defined in Proposition 3.6.3. The 64-polynomial of the invariant inv(G) of the modular algebra FG is 64 = 214t + 22t 2 + 3t 3 . Tinv A subset X ⊂ H∗ (G, F) is said to be a minimal generating set if X generates the whole cohomology ring while no proper subset of X does so. For k ≥ 0 let V k = Hk (G, F) ∩ H0 (G, F), . . . , Hk−1 (G, F) denote the intersection of the vector space Hk (G, F) with the subalgebra generated by all homogeneous elements of degree ≤ k − 1. Then Hk (G, F) = V k ⊕ W k . For k ≥ 0 let Bk denote some basis of the vector space W k . A minimal generating set for the cohomology ring H∗ (G, F) can be formed by taking X=



Bk

(3.44)

k≥0

to be the union of bases for the vector spaces W k , k ≥ 0. We refer to 3.44 as a minimal generating set of homogeneous elements. By construction, the number of homogeneous elements of a given degree in the minimal generating set 3.44 is an isomorphism invariant of the cohomology ring. Example 3.7.5. The following GAP session computes those generators of degree

≤ 10 in a minimal generating set X of homogeneous elements for the Sylow 3-subgroup G = Syl3 (S12 ) of the symmetric group of degree 12. The group G is of order 243 and the session shows that X contains one generator of degree 0, three of degree 1, four of degree 2, three of degree 3, two of degree 4, two of degree 5, three of degree 6, one of degree 7 and none of degrees 8, 9 or 10.

278 | Cohomology of Groups

GAP session 3.7.5 gap> G:=SylowSubgroup(SymmetricGroup(12),3);; gap> x:=ModPCohomologyGenerators(G,10); gap> List(x[1],x[2]); [ [ v.1, v.2, v.3, v.4, v.7, v.8, v.9, v.10, v.17, v.18, v.19, v.34, v.35, v.59, v.61, v.95, v.96, v.99, v.149 ], function( x ) ... end ] gap> List(x[1],x[2]); [ 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7 ]

The minimal generating set X might have generators of degree ≥ 11.



For a non-trivial finite p-group G one can attempt to represent the infinite dimensional graded-commutative algebra H∗ (G, F) on a computer by means of a free presentation I  F[[x1 , . . . , xm ]]  H∗ (G, F).

(3.45)

Here F[[x1 , . . . , xm ]] is the free graded-commutative algebra on generators xi with specified degrees deg(xi ), and I is an ideal for which there is an isomorphism F[[x1 , . . . , xm ]]/I ∼ = H∗ (G, F) of graded algebras. An element v ∈ F[[x1 , . . . , xm ]] is a sum of ‘monomials’ in the variables xi , and the degree of ν is taken to be the highest degree of any of its monomial terms. An element is said to be homogeneous if it is a sum of monomials of common degree. The ideal I admits a set of homogeneous generators. As an approximation to the presentation 3.45 we can first choose some integer n ≥ 0 and construct a free presentation I ≤n  F[[x1 , . . . , xm ]]  H≤n (G, F).

(3.46)

We can then search for a set X ⊂ I ≤n of homogeneous elements of degree ≤ n such that the ideal IX generated by X contains all elements of I ≤n of degree ≤ n. We take the freely presented algebra H∗ (G, F)≤n = F[[x1 , . . . , xm ]]/IX

(3.47)

to be our approximation to H∗ (G, F). For two non-trivial p-groups G, G there is an isomorphism H∗ (G, F)≤n ∼ = H∗ (G , F)≤n of infinite dimensional algebras if, and only if, there is an isomorphism of the finite-dimensional algebras H≤n (G, F) ∼ = H≤n (G , F). Furthermore, there is a canonical algebra homomorphism H∗ (G, F)≤n −→ H∗ (G, F).

(3.48)

It can be shown that 3.48 is an isomorphism for sufficiently large n (see Section 3.9).

Group Cohomology Rings | 279

In characteristic p = 2 graded-commutativity simply means uv = vu for arbitrary algebra elements u, v. Moreover, in characteristic p = 2 we have deg(x1 ) deg(x ) , . . . , xn n ] F[[x1 , . . . , xn ]] ∼ = F[x1

where the right-hand side denotes the ring of polynomials in commuting variables over deg(x ) deg(x ) F generated by the monomials x1 1 , . . . , xn n . There are no obvious theoretical advantages to working in characteristic p = 2, but a practical advantage is that we can directly apply many software implementations for standard commutative algebra in this case. For that reason we restrict attention to the case p = 2 for the remainder of this section and, in Example 3.7.7, avail of Gröbner basis techniques implemented in the Singular [266] computational system for commutative algebra. Further calls to these Gröbner basis techniques for p = 2 will be made in Section 3.9. Example 3.7.6. Let Gn,k denote the kth group of order n in GAP’s small groups library.

The following GAP session shows that H∗ (G32,3 , F)≤50 = H∗ (G32.4 , F)≤50 =

F[x, y, v, w] (x2 = 0, y2 = 0)

with variables x, y of degree 1 and variables v, w of degree 2. GAP session 3.7.6 gap> G:=SmallGroup(32,3);; gap> A:=Mod2CohomologyRingPresentation(G,50); Graded algebra GF(2)[ x_1, x_2, x_3, x_4 ] / [ x_2ˆ2, x_1ˆ2 ] with indeterminate degrees [ 1, 1, 2, 2 ] gap> H:=SmallGroup(32,4);; gap> B:=Mod2CohomologyRingPresentation(H,50); Graded algebra GF(2)[ x_1, x_2, x_3, x_4 ] / [ x_2ˆ2, x_1ˆ2 ] with indeterminate degrees [ 1, 1, 2, 2 ]

The techniques of Section 3.9 can be used to establish H∗ (G32,3 , F)≤50 ∼ = H∗ (G32,3 , F) ∗ ∗ ∼ and H (G32,4 , F)≤50 = H (G32,4 , F). We thus recover the graded algebra isomorphism H∗ (G32,3 , F) ∼ = H∗ (G32,4 , F) due to Rusin [250]. One can similarly recover isomor∗ phisms H (G32,12 , F) ∼ = H∗ (G32,13 , F) ∼ = H∗ (G32,44 , F) which were also calculated by Rusin [250]. These are the only isomorphisms between the mod-2 cohomology rings of the groups of order 32. The HAP function Mod2CohomologyRingPresentation(G,n) was implemented by Paul Smith. It begins by using ModPCohomologyGenerators(G,n) to find generators of degree ≤ n in a minimal set of generators for the cohomology ring. These

280 | Cohomology of Groups deg(x )

deg(x )

are used to establish a surjection F[x1 1 , . . . , xm m ]  H≤n (G, F). Let K denote the vector space of all polynomials of degree ≤ n in the kernel of this surjection. The function uses linear algebra to produce a subset X of a basis for K that forms a generating set for  the ideal IX of 3.47. Example 3.7.7. The following GAP session computes free presentations

H∗ (G16,6 , F)≤20 ∼ = H∗ (G16,8 , F)≤20 ∼ =

{x2

F[x, y, v, w] , = xy2 = xv = v3 = 0}

{xy = x3

F[x, y, v, w] . = xv = 0, y2 w + v2 = 0}

In both cases deg(x) = deg(y) = 1, deg(v) = 3, deg(w) = 4. GAP session 3.7.7 gap> G:=SmallGroup(16,6);; gap> H:=SmallGroup(16,8);; gap> A:=Mod2CohomologyRingPresentation(G,20); Graded algebra GF(2)[ x_1, x_2, x_3, x_4 ] / [ x_1ˆ2, x_1x_2ˆ2, x_1*x_3, x_3ˆ2 ] with indeterminate degrees [ 1, 1, 3, 4 ] gap> B:=Mod2CohomologyRingPresentation(H,20); Graded algebra GF(2)[ x_1, x_2, x_3, x_4 ] / [ x_1*x_2, x_1ˆ3, x_1*x_3, x_2ˆ2*x_4+x_3ˆ2 ] with indeterminate degrees [ 1, 1, 3, 4 ] gap> AreIsomorphicGradedAlgebras(A,B); false

The final command of the session tests whether the two freely presented graded rings are isomorphic, and concludes that they are not. This establishes that G16,6 and G16,8 have non-isomorphic mod-2 cohomology rings. Further similar commands quickly yield that the fourteen groups of order 16 have distinct mod-2 cohomology rings. The HAP function AreIsomorphicGradedAlgebras was implemented by Paul Smith and makes calls to Singular’s Gröbner basis routines. Details on the algorithm  underlying this function are provided below. The following data type is used in HAP to represent free presentations of cohomology rings. At present the data type is only implemented for rings of characteristic p = 2. Data type 3.7.1. A free presentation of a graded commutative algebra over the field

F = F2 can be represented by a component object A with the following components:

Spectral Sequences | 281

• A!.ring is a free polynomial algebra F[x1 , . . . , xm ]. • A!.degrees is the list [deg(x1 ), . . . , deg(xm )] of degrees of indeterminates. • A!.relations is a list of elements in F[x1 , . . . , xm ] that generate an ideal I such that the cosets x1 + I, . . . , xm + I constitute a minimal generating set of elements for the quotient algebra A = F[x1 , . . . , xm ]/I. The associated boolean valued function IsHAPGradedAlgebra(A) returns true when A is of this data type. A refined version of the following computationally expensive procedure 3.7.1 was used in Example 3.7.7. Algorithm 3.7.1 Isomorphism test for graded-commutative algebras

Input: Two finitely presented graded-commutative algebras A, B over F = F2 , represented using data type 3.7.1. ∼ =

Output: true if there exists an algebra isomorphism A −→ B that preserves the grading and false otherwise. 1: procedure 2: Check to see if the generator degrees and relations of A are identical to those of B. If they are then return true and stop. 3: Use Singular to test if the Hilbert series, and other invariants, of A and B are equal. If they are not then return false and stop. 4: Suppose that A = F[x1 , . . . , xm ]/I where I is generated by a set of homogeneous elements R = {r1 , r2 , . . . , rn }. Set X = {x1 , . . . , xm }, X ≤k = {x ∈ X : deg(x) ≤ k} and let d be the maximum degree of a generator in X. Set R≤k = {ri ∈ R : ri lies in the ring generated by X ≤k } and B≤k = {x ∈ B : deg(x) ≤ k}. Then use recursion on k, for 1 ≤ k ≤ d, and Singular’s Gröbner basis routines to compute all degree preserving functions X ≤k → B≤k that induce a homomorphism F[x : x ∈ X ≤k ]/I ≤k → B whose image contains B≤k . Here I ≤k denotes the ideal in F[x : x ∈ X ≤k ] generated by R≤k . Return false and stop if no such function exists for some 1 ≤ k ≤ d. 5: If one of the computed surjective homomorphisms A  B admits an inverse B  A (tested using the presentation for B) then return true and stop. 6: Return false. 7: end procedure

3.8 Spectral Sequences We have seen how the homology of a filtered chain complex can be analysed using persistent homology and barcodes. An alternative analysis uses the more traditional notion of spectral sequence due to Jean Leray. Throughout this section K denotes an

282 | Cohomology of Groups

arbitrary associative and commutative ring with 1 = 0. We are mainly interested in K = Fp and K = Z. Definition 3.8.1. A homology spectral sequence consists of:

• A K-module Erp,q for all integers p, q, r with r ≥ 1. For a given r this collection of modules is said to be the rth page of the spectral sequence and is denoted by Er . • A K-module homomorphism drp,q : Erp,q −→ Erp−r,q+r−1 for all integers p, q, r with r ≥ 1. For each r the homomorphisms constitute a morphism dr : Er → Er satisfying dr dr = 0. The morphism dr is called the differential on the rth page. ∼ =

• An isomorphism αp,q : Hp,q (Er ) −→ Er+1 p,q where Hp,q (Er ) =

ker(drp,q : Erp,q → Erp−r,q+r−1 ) im (drp+r,q−r+1 : Erp+r,q−r+1 → Erp,q )

for all p, q, r with r ≥ 1. These isomorphisms are summarized by saying that the page Er+1 is the homology of the page Er . p,q

Analogously, a cohomology spectral sequence is a collection of modules Er and homop,q p,q p+r,q−r+1 such that Er+1 is the cohomology of Er . morphisms dr : Er → Er Any filtered chain complex gives rise to a spectral sequence. A standard way to explain this is via the notion of an exact couple, due to William Massey. Definition 3.8.2. An exact couple consists of two K-modules A and E and K-module

homomorphisms /A A _? ??   ??  ?  j k ??   E i

(3.49)

with ker j = im i, ker k = im j, ker i = im k. Given an exact couple we set d = jk : E → E, E = ker d/im d, A = i(A) ⊂ A, and define homomorphisms A _? ?? ?? ? k ??

i

E

/ A     j  

(3.50)

by i (ia) = iia, j (ia) = ja + im d for ia ∈ A and k (x + im d) = kx for x ∈ ker d. The following lemma is readily verified.

Spectral Sequences | 283 Lemma 3.8.1. The homomorphisms in 3.50 are well-defined and constitute an exact couple.

We call 3.50 the derived couple of 3.49. On setting (E1 , A1 , i1 , j1 , k1 ) = (E, A, i, j, k) we recursively define (Er+1 , Ar+1 , ir+1 , jr+1 , kr+1 ) to be the derived couple of (Er , Ar , ir , jr , kr ) for r ≥ 1. Suppose that E and A are bigraded, E = p,q Ep,q , A = p,q Ap,q , and that the maps i, j, k are sums of maps i : Ap,q → Ap+1,q−1 , j : Ap,q → Ep,q , k : Ep,q → Ap−1,q . Then the collection {Er , dr }r≥1 is a homology spectral sequence in the sense of 3.8.1. Alternatively, suppose that the degrees of the maps i, j, k are i : Ap,q → Ap−1,q+1 , j : Ap,q → Ep,q , k : Ep,q → Ap+1,q . Then {Er , dr }r≥1 is a cohomology spectral sequence which we denote by {Er , dr }r≥1 . We refer to {Er , dr }r≥1 or {Er , dr }r≥1 as the spectral sequence of the exact couple 3.49. Suppose now that we have a filtered chain complex C0,∗ ⊆ C1,∗ ⊆ C2,∗ ⊆ · · · ⊆ CT,∗

(3.51)

as defined in 2.4.3. We write Cp = Cp,∗ and Hk (Cp , Cp−1 ) = Hk (Cp /Cp−1 ). For each 1 ≤ p ≤ T the exact sequence Cp−1  Cp  Cp /Cp−1 induces the long exact sequence k

i

j

k

i

→ Hk (Cp−1 ) → Hk (Cp ) → Hk (Cp , Cp−1 ) → Hk−1 (Cp−1 ) →

(3.52)

of Proposition 2.3.4. An exact couple is obtained by setting Ap,q = Hp+q (Cp ), Ep.q = Hp+q (Cp , Cp−1 ), A = p,q Ap,q , E = p,q Ep,q

(3.53)

and taking the maps i, j, k of 3.52. Associated with the spectral sequence {Er , dr }r≥1 of the couple 3.53 we have Ar = i ◦ i ◦ . . . ◦ i(A) (the image of the composition ◦r−1 i = i ◦ i ◦ . . . ◦ i of r − 1 copies of i, which is just the image of the identity for r = 1) and ir = i|Ar . Note that we are using ir to denote the restriction of i to Ar and not the r-fold composite of i with itself. We have dr = jr kr where im kr = ker ir and ker jr = im ir . Thus the differential dr on the rth page Er is zero if, and only if, im kr ⊆ ker jr . This means dr = 0 if, and only if, ker ir ⊆ im ir . Alternatively, dr = 0 if, and only if, ker ir = 0. For future reference we restate these remarks as the following lemma.

284 | Cohomology of Groups Lemma 3.8.2. In the homology spectral sequence {Er , dr } arising from the filtered chain com-

plex 3.51 the differential on the rth page is zero, dr = 0, if and only if the homomorphism i : H∗ (Cp+r−1 ) → H∗ (Cp+r )

is injective on im (◦r−1 i : H∗ (Cp ) → H∗ (Cp+r−1 )) ⊆ H∗ (Cp+r−1 ) for all p, where i and ◦r−1 i are induced by inclusion of chain complexes. If the filtered chain complex 3.51 is over a field K then Lemma 3.8.2 can be expressed in terms of the homology barcodes of the filtered complex. We regard the homology barcode of degree k as a graph with vertices arranged in T + 1 columns numbered from 0 to T, and with horizontal edges only. Its path components are horizontal lines or single vertices. Define a path component to be infinite if it contains a vertex in the final column T and to be finite otherwise. Define the length of a finite path component to be the number of vertices in it. The lemma says that: dr = 0 if, and only if, no finite path component in the barcodes of degrees (3.8.2) k ≥ 0 has length ≥ r.

To describe an elementary application of Lemma 3.8.2 in relation to the filtered chain complex 3.51 we define Hks,T (C) = im (◦T−s i : Hk (Cs ) → Hk (CT ) for 0 ≤ s ≤ T. This yields a filtration Hk0,T (C) ≤ Hk1,T (C) ≤ . . . ≤ HkT,T (C) = Hk (CT ) on the homology module Hk (CT ). The associated graded module

GrHk (CT ) =

Hks,T (C)/Hks−1,T (C)

(3.54)

1≤s≤T

captures some information on Hk (CT ). For instance, we have an equality of cardinalities |GrHk (CT )| = |Hk (CT )|. Furthermore, for a finitely generated chain complex CT over a field F this equality can be strengthened to an isomorphism GrHk (CT ) ∼ = Hk (CT ). Suppose that a spectral sequence {Er , dr } is such that dr = 0 for all r ≥ n. Then En ∼ = En+1 ∼ = En+2 ∼ = · · · and, in this case, we define E∞ = En . The following standard lemma is routinely verified. Lemma 3.8.3. Let {Er , dr } be the spectral sequence of the filtered chain complex C of 3.51.

Suppose that there exists an n ≥ 1 such that dr = 0 for all r ≥ n. Then

Enp,q ∼ = GrHk (C) p+q=k

for all k ≥ 0.

(3.55)

Spectral Sequences | 285

Lemma 3.8.2 allows one to apply persistent homology algorithms to obtain a minimal value of n = n(k) sufficient for isomorphism 3.55 to hold for a given k. We illustrate this for a particular spectral sequence in group homology. Q Let G be a group with normal subgroup N  G. Set Q = G/N and let P∗ be a free ZQ Q resolution of Z. As explained in Section 3.3.1 we can view P∗ as a non-free ZG-resolution in which each generator is stabilized by the subgroup N. Let R∗N be a free ZN-resolution of Z. Using Proposition 3.3.5 the two resolutions can be combined into a free ZG-resolution ˜ ∗Q in which R∗G = R∗N ⊗P

RkG =

Q

RsN ⊗Z Pt

(3.56)

s,t≥0,s+t=k

for k ≥ 0. The boundary homomorphism on RkG is a perturbation of the boundary in the Q standard tensor product R∗N ⊗ P∗ . Let us consider the homology of G with coefficients in a ZG-module M. This is obtained by setting C∗ = R∗G ⊗ZG M and computing Hk (G, M) = Hk (C∗ ). There is a filtration F0 C∗ ≤ F1 C∗ ≤ F2 C∗ ≤ · · ·

(3.57)

on the chain complex C∗ defined by setting F p C∗ =



Q

( RsN ⊗Z Pt ) ⊗ZG M

(3.58)

s,t≥0,s+t=k,t≤p

for p ≥ 0. This filtration typically has infinite length, but for any T ≥ 0 it restricts to a filtration of finite length T on the chain complex C∗T defined by CkT = Ck for k ≤ T, CkT = 0 for k > T. The spectral sequence {Er , dr } associated to the filtration 3.57 is known as the Lyndon– Hochschild–Serre or LHS spectral sequence. One can check that E2p,q = Hp (Q , Hq (N, M))

(3.59)

for p, q ≥ 0 and E2p,q = 0 otherwise. We will only consider examples of the spectral sequence with coefficients M = F in a finite field with trivial group action. An element x ∈ Q acts on Hq (N, F) via a lift x˜ ∈ G, the conjugation automorphism ιx˜ : N → N, n  → xn ˜ x˜−1 , and its induced homology homomorphism Hq (ιx˜ ) : Hq (N, F) → Hq (N, F). A consequence of (3.59) is that Erp,q = 0 whenever p < 0 or q < 0 and

p+q=k

Erp,q ∼ = GrHk (G, M)

(3.60)

286 | Cohomology of Groups

whenever r > k, though the isomorphism may also hold for smaller r (as illustrated in k+1 Example 3.8.1). We define E∞ p,q = Ep,q for p + q = k. One summarizes 3.59 and 3.60 by saying that the LHS spectral sequence converges to GrHk (G, M) or by writing E2p,q ⇒ H∗ (G, M) where Gr is intentionally omitted from the notation. A theorem of Len Evens [116, 117] says that, for a finite group G, this spectral sequence is in fact strongly convergent in the sense that there exists an integer nG such that isomorphism 3.60 holds for r = nG , k ≥ 0. Example 3.8.1. The following GAP session computes the filtered chain complex 3.57

up to degree 6 for the dihedral group G = D32 of order 64, its centre N = Z(D32 ) which is of order 2, and trivial module M = F2 . It then computes the persistent Betti numbers of the filtered chain complex in degree 5 and displays them as the barcode of Figure 3.7 (left). GAP session 3.8.1 gap> G:=DihedralGroup(64);; N:=Center(G);; gap> R:=ResolutionNormalSeries([G,N],6);; gap> C:=FilteredTensorWithIntegersModP(R,2);; gap> P:=PersistentHomologyOfFilteredChainComplex(C,5,2);; gap> BarCodeDisplay(P);

From the barcode we see that the differentials drp,q : Erp,q → Erp−r,q+r−1 are trivial for all r ≥ 3 with p + q = 5. Similar commands show that drp,q = 0 for all r ≥ 3 with p + q ≤ 5. This establishes an isomorphism

Figure 3.7 Degree 5 mod-2 homology barcodes for the filtration 3.57 with N = Z(G) and G = D32 (left), G = Q32 (right).

Spectral Sequences | 287



E3p,q ∼ = GrHk (D32 , F2 )

p+q=k

for k ≤ 4. The techniques of Section 3.9 can be used to show that this isomorphism in fact holds for all k ≥ 0. The GAP session can be repeated for the quaternion group G = Q32 of order 64 to produce the barcode of Figure 3.7 (right). In this case we see that d3 = 0, drp,q = 0 for  r ≥ 4, p + q = 5. We now briefly dualize the above material on homology spectral sequences to the cohomology setting. In Section 3.9 a cup product structure on the cohomology version of the LHS spectral sequence will be used to determine, for a given finite p-group G, an integer nG such that the mod-p cohomology surjection H∗ (G, F)≤n  H∗ (G, F) of Section 3.7 is a ring isomorphism for all n ≥ nG . Suppose we have a sequence of inclusions of cochain complexes D0∗ ⊇ D1∗ ⊇ D2∗ ⊇ · · · ⊇ DT∗ .

(3.61) p

We say that 3.61 is a filtered cochain complex and write Dp = D∗ and Hk (Dp , Dp+1 ) = Hk (Dp /Dp+1 ). For each 0 ≤ p ≤ T − 1 the exact sequence Dp+1  Dp  Dp /Dp+1 of cochain complexes induces a long exact cohomology sequence k

i

j

k

i

→ Hk (Dp+1 ) → Hk (Dp ) → Hk (Dp , Dp+1 ) → Hk+1 (Dp+1 ) →

(3.62)

(cf. Proposition 2.3.4). An exact couple is obtained by setting Ap,q = Hp+q (Dp ), p+q p p+1 ), Ep.q = H (D , D A = p,q Ap,q , E = p,q Ep,q

(3.63)

and taking the maps i, j, k of 3.62. The spectral sequence associated to 3.63 is a cohomology spectral sequence which we denote by {Er , dr }r≥1 . We define Hsk (D) = im (Hk (Ds ) → Hk (D0 )

(3.64)

k for 0 ≤ s ≤ T. This yields a filtration HTk (D) ≤ HT−1 (D) ≤ . . . ≤ H0k (D) = Hk (D0 ) on the cohomology module Hk (D0 ). There is an associated graded module

GrHk (D) =

0≤s≤T−1

k Hsk (D)/Hs+1 (D).

(3.65)

288 | Cohomology of Groups

We are particularly interested in the cohomological version of the filtered chain complex (3.57) arising from a group G with normal subgroup N  G, quotient Q = G/N, ZG˜ ∗Q . We consider the case where M = F is module M and free FG-resolution R∗G = R∗N ⊗P a field with trivial G-action and define a filtration F 0 D∗ ≥ F 1 D∗ ≥ F 2 D∗ ≥ · · ·

(3.66)

on the cochain complex D∗ = HomF (R∗G , F) with Fp D∗ = HomF (C∗ /Fp−1 C∗ , F)

(3.67)

where C∗ = R∗G ⊗FG F, F−1 C∗ = 0. The associated cohomology spectral sequence has p,q

E2 = Hp (Q , Hq (N, F)) p,q

for p, q ≥ 0 and E2 = 0 otherwise. Consequently

p,q Er ∼ = GrHk (G, F)

p+q=k p,q

p,q

whenever r > k. We define E∞ = Ek+1 for p + q = k. Lemma 3.8.4. Let 0 = F−1 C∗ ≤ F0 C∗ ≤ . . . ≤ FT C∗ = C∗ be a filtration on a

chain complex C∗ over a field F. Let D∗ = F0 D∗ ≥ F 1 D∗ ≥ . . . ≥ F T D∗ be the filtration on the cochain complex D∗ = HomF (C∗ , F) obtained by setting F p Dk = HomF (Ck /Fp−1 Ck , F). For each k ≥ 0 the persistent homology Betti numbers βks,t = dimF im (Hk (Fs C∗ ) → Hk (Ft C∗ )) give rise to a barcode, as do the persistent cohomology Betti numbers k βs,t = dimF im (Hk (Ft+1 D∗ ) → Hk (Fs+1 D∗ ))

s ≤ t. We have

k st sT = βk−1 − βk−1 βstk − β0t

(3.68)

Proof. In the homology barcode, we say that bars have infinite length if they meet the final column T. In the cohomology barcode, bars are said to have infinite length if they meet the initial column 0. Otherwise a bar is said to have finite length equal to the number of columns it passes through. So equality (3.68) says that the number of finite persistent degree k − 1 homology bars from column s to column t equals the number of finite persistent degree k cohomology bars from column t + 1 to column s + 1. The exact sequences Fs C∗  C∗  C∗ /Fs C∗ and Ft C∗  C∗  C∗ /Ft C∗ , s ≤ t, give rise to a commutative diagram in which rows and columns are exact.

A Test for Cohomology Ring Completion | 289

Hk (Ft C∗ /Fs C∗ )

Hk (Fs C∗ )

hsT k

/ Hk (C∗ ) =

hstk

 Hk (Ft C∗ )

 / Hk (C∗ )

 / Hk (C∗ /Fs C∗ ) α

 / Hk (C∗ /Ft C∗ )

=

/ Hk (Ft C∗ /Fs C∗ )  / Hk−1 (Fs C∗ )

hsT k−1

/ Hk−1 (C∗ )

hstk−1

 / Hk−1 (Ft C∗ )

We can view the map α as sT α : Hk (C∗ )/im hsT k ⊕ ker hk−1 −→ Hk (C∗ /Ft C∗ ).

A basis for ker hsT k−1 corresponds to those bars of finite length that pass through column s of the degree k − 1 persistent homology barcode. A basis for α(ker hsT k−1 ) corresponds to those bars of finite length that pass through columns s and t of this barcode. A basis for Hk (C∗ )/im hsT k corresponds to those bars of infinite length in the degree k persistent homology barcode that do not pass through column s. If we represent α as a matrix then its transpose represents the cohomology map hkst : Hk (HomF (C∗ /Ft C∗ , F)) −→ Hk (HomF (C∗ /Fs C∗ , F)). Thus the dimension of α(ker hsT k−1 ) corresponds to those bars of finite length that pass through columns s + 1 and t + 1 of the degree k cohomology barcode. This  establishes (3.68). A cohomological version of Proposition 3.8.2 holds, and can be usefully applied in conjunction with Lemma 3.8.4 and the following dual of Lemma 3.8.3. Lemma 3.8.5. Let {Er , dr } be the spectral sequence of the filtered cochain complex D of 3.61.

Suppose that there exists an n ≥ 1 such that dr = 0 for all r ≥ n. Then

p,q En ∼ = GrHk (C)

(3.69)

p+q=k

for all k ≥ 0.

3.9 A Test for Cohomology Ring Completion The LHS cohomology spectral sequence can be enhanced with a cup product structure, a detailed account of which is presented in Len Even’s book [117] on group cohomology. The LHS spectral sequence is a particular instance of the Serre spectral sequence of a fibration. Accounts of the cup product structure in this more general setting can be found in topology texts such as [150, 273]. A summary of the multiplicative properties of the

290 | Cohomology of Groups

LHS sequence needed for computations of presentations of mod-p cohomology rings is provided in the following theorem. The theorem is adapted from [150] and we present it without any discussion of its proof. Theorem 3.9.1. For a group G, normal subgroup N  G, quotient Q = G/N and field F, the p,q

LHS spectral sequence E2 = Hp (Q , Hq (N, F)) ⇒ H∗ (G, F) admits bilinear products p,q

p+s,q+t

Er × Es,t r → Er for r ≥ 1 which satisfy the following properties.

1. Each differential dr : Er → Er satisfies the Leibniz rule dr (xy) = (dr x)y + (−1)p+q x(dr y) p,q

for x ∈ Er . 2. The Leibniz rule ensures that the product on Er induces a product on ker dr /im dr . The isomorphism α : ker dr /im dr ∼ = Er+1 is a ring isomorphism. p,q

p+s,q+t

3. The product E2 × Es,t 2 → E2

is a composite ∪1

Hp (Q , Hq (N, F)) × Hs (Q , Ht (N, F)) −→ Hp+s (Q , Hq (N, F) ⊗F Ht (N, F)) ×(−1)qs

∪2

−→ Hp+s (Q , Hq+t (N)) −→ Hp+s (Q , Hq+t (N)) where ∪2 is induced by the cup product ∪

Hq (N, F) × Ht (N, F) → Hq+t (N, F), Q

Q

Q

and where ∪1 is the cup product induced by a diagonal map ∗ : R∗ → R∗ ⊗ R∗ on Q a free ZQ -resolution R∗ . 4. The filtrations H0k ≥ H1k ≥ H2k ≥ . . . on the groups Hk (G, F), defined by 3.64, are such that the cup product Hk (G, F) × H (G, F) → Hk+ (G, F) restricts to maps Hpk × k+ k  → Hs → Hp+s . Furthermore, these maps induce products Hpk /Hp+1 × Hs /Hs+1 p,k−p

k+ k+ /Hp+s+1 that agree with the products E∞ Hp+s

p+s,k+−p−s

× Es,−s ∞ → E∞

.

Theorem 3.9.1 yields Algorithm 3.9.1. The algorithm is guaranteed to terminate, since Len Evens [116, 117] has shown that for each finite group G and normal subgroup ∼ ∗,∗ N  G there exists some integer r for which E∗,∗ r = E∞ in the LHS spectral sequence. For simplicity we state and implement the algorithm for the case p = 2, though in principle the details carry over to arbitrary primes. So for the remainder of this section F denotes the field of two elements. The algorithm requires the use of standard Gröbner basis procedures, and its implementation makes calls to Singular software for these procedures. We treat the Gröbner basis procedures as ‘black box’ methods and direct the reader to the text [140], or other introductions to computational commutative algebra, for details.

A Test for Cohomology Ring Completion | 291

Algorithm 3.9.1 Completion criterion for mod-2 cohomology ring.

Input: A finite 2-group G, a non-trivial central subgroup N  G with quotient Q = G/N, free presentations F[x1 , . . . , xm ]/I ∼ = H∗ (Q , F) and F[y1 , . . . , yn ]/J ∼ = ∗ H (N, F) for the mod-2 cohomology rings of Q and N. Output: A free presentation for the associated graded ring GrH∗ (G, F) arising from the filtration H0∗ ≥ H1∗ ≥ H2∗ ≥ · · · on H∗ (G, F) occurring in the LHS spectral sequence. 1: procedure 2: Create a free presentation F[x1 , . . . , xm , y1 , . . . , yn ]/(I + J) ∼ = H∗ (Q , F) ⊗F H∗ (N, F) for the ring E∗,∗ 2 . Here I + J is the ideal generated by the generators for I together with the generators for J. 3: for r ≥ 2 do ∗,∗ ∗,∗ 4: Compute the value of dr : E∗,∗ r → Er on the generators of Er , and use Singular’s Gröbner basis functions to decide if any of the images are non-zero. 5: if dr = 0 then 6: Return the free presentation for Er and stop. 7: end if 8: Use Singular’s Gröbner basis functions to compute a presentation for the ring ker dr . Since dr is not a homomorphism this is done indirectly using the method of Section 3.9.1. 9: Add generators for im dr to the presentation for ker dr to obtain a free presentation ∼ for E∗,∗ r+1 = ker dr /im dr . 10: end for 11: end procedure The following lemma can be used to extract from Algorithm 3.9.1 an integer n for which the surjection 3.48 is an isomorphism. The algorithm thus provides the final step in computing a free presentation for the mod-2 cohomology ring of a finite 2-group G. Since the input to the algorithm requires presentations for the cohomology of N  G and G/N, one typically has to work recursively, starting with the case where presentations for the cohomology of G/N and N are known (for instance, the case where they are both abelian). Lemma 3.9.2. Let GrH ∗ (G, F) denote the associated graded algebra arising in the context of

the LHS spectral sequence of a finite 2-group. If GrH∗ (G, F) admits a free presentation with generators of degree ≤ d and relators of degree ≤ n then the cohomology algebra H∗ (G, F) also admits a free presentation with generators of degree ≤ d and relators of degree ≤ n. In

292 | Cohomology of Groups

particular, a free presentation for the cohomology ring is obtained from the first n terms of a free FG-resolution of F. ∗,∗

Example 3.9.1. The following GAP session computes a free presentation for the E∞

page of the LHS cohomology spectral sequence with G = Q4 the quaternion group of order eight and N its centre. The presentation is 2 2 3 ∼ E∗,∗ ∞ = F[x, y, w]/x + xy + y , y 

with generators x, y of degree 1 and generator w of degree 4. In particular, all ring generators and relators for this page have degree ≤ 4 and so we can compute a free presentation H∗ (Q4 , F) ∼ = F[x, y, w]/x2 + xy + y2 , y3  from just five terms of a free resolution. GAP session 3.9.1 gap> G:=QuaternionGroup(8);; gap> N:=Center(G);; gap> Einf:=LHSSpectralSequenceLastSheet(G,N); Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1ˆ2+x_1*x_2+x_2ˆ2, x_2ˆ3 ] with indeterminate degrees [ 1, 1, 4 ] gap> Mod2CohomologyRingPresentation(G,5); Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1ˆ2+x_1*x_2+x_2ˆ2, x_2ˆ3 ] with indeterminate degrees [ 1, 1, 4 ] ∗,∗ There are several ways to see that E∗,∗ ∞ = E4 in this example. One way is to compute the persistent homology barcodes as in Example 3.8.1 for k ≤ 4 and then apply Lemmas 3.8.2 and 3.8.4. Presentations for the pages E∗,∗ r for r = 2, 3, 4 are obtained in the following continuation of the GAP session.

GAP session 3.9.1 gap> LHSSpectralSequence(G,N,4); [ , Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ ] with indeterminate degrees [ 1, 1, 1 ], Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1ˆ2+x_1*x_2+x_2ˆ2 ] with indeterminate degrees [ 1, 1, 2 ],

A Test for Cohomology Ring Completion | 293 Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1ˆ2+x_1*x_2+x_2ˆ2, x_2ˆ3 ] with indeterminate degrees [ 1, 1, 4 ] ]

The commands LHSSpectralSequence(G,N,k) and LHSSpectralSequenceLastSheet(G,N) were implemented by Paul Smith and make calls to Singular software. The commands use lower-level functions concerning derivations. To illustrate the lower-level functions note that N ∼ = C2 × C2 . The = C2 and G/N ∼ spectral sequence thus arises from a central extension C2  G  C2 × C2 and has E2 page ∗ ∼ ∗ E∗,∗ 2 = H (C2 × C2 ) ⊗F H (C2 , F). ∗,∗ Since H∗ (C2 × C2 ) ∼ = F[x, y] and H∗ (C2 , F) ∼ = F[z] we have E2 ∼ = F[x, y, z]. From the free ZG-resolution 3.56 one can compute the derivation

d2 : F[x, y, z] → F[x, y, z], x  → 0, y  → 0, z  → x2 + xy + y2 . The following continuation of the GAP session computes the ring presentation 2 2 2 ∼ ∼ E∗,∗ 3 = ker d2 /im d2 = F[x, y, z ]/x + xy + y .

GAP session 3.9.1 gap> ring := PolynomialRing(GF(2), 3);; gap> x := ring.1;; y := ring.2;; z := ring.3;; gap> d := HAPDerivation(ring, [xˆ2 + x*y + yˆ2], >

[Zero(ring), Zero(ring), xˆ2*y + x*yˆ2]);

gap> H:=HomologyOfDerivation(d); [ GF(2)[x_4,x_5,x_6], [ x_4ˆ2+x_4*x_5+x_5ˆ2, x_5ˆ3 ], ] gap> H[3]!.SourceGenerators; [ x_2, x_1, x_3ˆ2 ] gap> H[3]!.ImageGenerators; [ x_4, x_5, x_6 ] ∗,∗ The differential d3 : E∗,∗ 3 → E3 can then be extracted from the resolution 3.56 and ∗,∗ similar commands yield the E4 page of the spectral sequence.

294 | Cohomology of Groups

The commands HAPDerivation(R,X,Y) and HomologyOfDerivation(d) were  implemented by Paul Smith and the latter makes calls to Singular software. A presentation for the E∞ page of the LHS spectral sequence for N  G can be used to compute the Poincaré series for H∗ (G, F) since: (i) the Poincaré series for H∗ (G, F) coincides with that of the graded algebra GrH∗ (G, F); (ii) standard Gröbner basis techniques can be used to compute the Poincaré series of an algebra from a free presentation of the algebra. This computation provides a useful test for computer code when implementing cohomology algebra presentations. Example 3.9.2. The following GAP session computes the Poincaré series

P(x) =

1 x2 − 2x + 1

for the dihedral group D64 of order 128. The computation agrees with the finite portion of the series calculated in Example 3.5.1. GAP session 3.9.2 gap> G:=DihedralGroup(128);; gap> N:=Center(G);; gap> Einf:=LHSSpectralSequenceLastSheet(G,N);; gap> HilbertPoincareSeries(Einf); (1)/(x_1ˆ2-2*x_1+1)

The function HilbertPoincareSeries(E) was implemented by Paul Smith and makes a call to Singular’s function for the Hilbert–Poincaré series of a commutative  algebra. The computation of the Poincaré series for the mod-p cohomology of a finite p-group G obviously determines the additive structure of the mod-p cohomology. It also determines the minimum number of generators for the finite abelian p-group Hk (G, Z) for all k ≥ 1 once one knows the minimum number of generators of Gab ∼ = H1 (G, Z). This claim readily follows from the exact homology sequence of Proposition 3.2.3 arising from the ×p

short exact sequence Z  Z  Zp , and is illustrated in Example 3.9.3 Example 3.9.3. The following GAP session shows that in degree 1001 the integral homology of the Sylow 2-subgroup G = Syl2 (M12 ) of the Mathieu group M12 is a direct sum 251503

∼ Z2ni H1001 (Syl2 (M12 ), Z) = i=1

of 251503 cyclic groups of finite orders 2ni

> 1.

A Test for Cohomology Ring Completion | 295

GAP session 3.9.3 gap> G:=SylowSubgroup(MathieuGroup(12),2);; gap> A:=LHSSpectralSequenceLastSheet(G);; gap> P:=HilbertPoincareSeries(A);; gap> RankHomologyPGroup(G,P,1001); 251503



3.9.1 Computing Kernels of Derivations For convenience we continue to assume p = 2 in this subsection. Consider the polynomial ring R = F[x1 , . . . , xn ] with ideal I  R and quotient ring E = R/I. Suppose that we are given some derivation d : E → E (i.e. an F-linear homomorphism satisfying d(uv) = ud(v) + vd(u) for u, v ∈ E). For Steps 8 and 9 of Algorithm 3.9.1 we need to explain how to compute an ideal J ≤ F[u1 , . . . , ut ] for which there is an explicit commutative ring isomorphism ker(d)/image(d) ∼ = F[u1 , . . . , ut ]/J. The kernel of the derivation d is not in general an ideal in E. Therefore we can not directly apply Singular’s [266] Gröbner basis functions to obtain a presentation for ker(d). We need to consider the subring S = F[x21 , x22 , . . . , x2n ] in R. The ring S maps to the kernel of d and, moreover, R is a free S-module with basis the 2n square-free monomials in R. We can consider the R-module I as an S-module, and we denote this S-module by IS . A finite generating set X for the R-module I can be converted to a finite generating set XS for the S-module IS . The set XS is the product of X with the set of all square-free monomials. The derivation d : E → E can be viewed as a homomorphism n

n

dS : S2 /IS → S2 /IS of S-modules. The Singular function modulo(d,I) can be used to compute a genern ating set YS = {y1 , . . . , yt } for an S-module KS ≤ S2 that yields an isomorphism KS /IS ∼ = ker(dS ) of S-modules. (The yi can be viewed as elements of R.) We now introduce the polynomial ring R = F[x1 , . . . xn , u1 , . . . , ut ] and the ideal K ≤ R generated by the set Y = X ∪ {u1 − y1 , . . . , ut − yt }.

296 | Cohomology of Groups

Thus E = R/I is isomorphic to the quotient ring R /K, and the isomorphism maps generators of ker(d) to the elements represented by u1 , . . . , ut . The Singular function eliminate(K,X) can be used to eliminate the variables x1 , . . . , xn from the set Y to produce a set of elements in F[u1 , . . . , ut ] that generates an ideal J ≤ F[u1 , . . . , ut ] with F[u1 , . . . , ut ]/J ∼ = ker(d). If d2 = 0 then the image of d is an ideal in ker(d) and it is straightforward to extend the generating set for J to one for an ideal J with F[u1 , . . . , ut ]/J ∼ = ker(d)/image(d). Example 3.9.4. Let R = F[x, y], I = xy2  and consider the derivation d : R/I → R/I

defined by d(x) = 0, d( y) = x. Then X = {xy2 }, S = F[x2 , y2 ] and XS = {xy2 , x2 y2 , xy3 , x2 y3 }. Singular produces a set YS = {x2 , y2 , x, y3 } representing S-module generators for ker(d). We now set R = F[x, y, u1 , u2 , u3 , u4 ] and consider the ideal K = xy2 , u1 − x2 , u2 − y2 , u3 − x, u4 − y3 . Singular eliminates x and y from the generating set for K to produce the ideal J = u3 u4 , u1 u4 , u23 + u1 , u2 u3 , u1 u2 , u32 + u24  with F[u1 , u2 , u3 , u4 ]/J ∼ = = ker(d). Finally, d2 = 0 and we obtain ker(d)/image(d) ∼ 3 2 F[u2 , u4 ]/u2 + u4 .  When applying the method to large examples, two simple techniques can be used to improve efficiency. First, the generating set for the ideal K can be large and very redundant. This might pose a problem when computing a Gröbner basis for K. Elimination of obvious redundancies among the generators of K can help to overcome the problem. Second, in many examples the subring S can be increased in size subject to the constraints that S ⊂ ker(d) and R is a free S-module.

3.10 Cohomology Operations The cohomology of a space B with coefficients in the field of p elements admits certain homomorphisms known as the Bockstein homomorphism β : Hn (B, Zp ) → Hn+1 (B, Zp ),

(3.70)

Sqi : Hn (B, Z2 ) → Hn+i (B, Z2 ), i ≥ 0

(3.71)

the Steenrod squares

for p = 2, and the Steenrod powers Pi : Hn (B, Zp ) → Hn+2i(p−1) (B, Zp ), i ≥ 0

(3.72)

for p > 2. Good accounts of these homomorphisms, their properties and some of their consequences can be found in [218] and [150]. In this section we present a brief account, based on [150, 218], of how the Bockstein and Steenrod squares are defined and computed. We focus attention on the classifying space B = BG of a finite p-group,

Cohomology Operations | 297

where p = 2 for the case of Steenrod squares. Recall that BG = EG /G is defined to be the quotient, by the action of G, of any contractible CW-space EG on which G acts freely. The chain complex C∗ (EG ) is a free ZG-resolution and C∗ (BG ) = C∗ (EG ) ⊗ZG Z. Thus H∗ (BG , Zp ) = H∗ (G, Zp ). The Bockstein homomorphism is just the connecting homomorphism in the exact sequence β

· · · → Hn (B, Zp ) −→ Hn+1 (B, Zp ) → Hn+1 (B, Zp2 ) → Hn+1 (B, Zp ) → · · · obtained by applying Proposition 3.2.3 to the exact sequence of coefficient modules Z p  Z p2  Z p . One can derive the following proposition directly from the definition (see [150] for details). Proposition 3.10.1. For x, y ∈ H ∗ (B, Zp ) with x homogeneous of degree |x|, we have

β(x ∪ y) = β(x) ∪ y + (−1)|x| x ∪ β(y)

(3.73)

β(β(x)) = 0.

(3.74)

and

In light of 3.74 one can define the Bockstein cohomology BHn (B, Zp ) =

ker(β : Hn (B, Zp ) → Hn+1 (B, Zp )) . im (β : Hn−1 (B, Zp ) → Hn (B, Zp ))

(3.75)

For a group G we define BHn (G, Zp ) = BHn (BG , Zp ). The following proposition can be deduced directly from the definition 3.75 (see [150] for details). Proposition 3.10.2. Suppose that Hn (B, Z) is finite for all n > 0. Then the Bockstein

cohomology groups BHn (B, Zp ) are determined by the following rules:

1) Each Zpk summand of Hn (B, Z) with k > 1 contributes a Zp summand to both BHn−1 (B, Zp ) and BHn (B, Zp ). 2) A Zp summand of Hn (B, Z) contributes nothing to BH∗ (B, Zp ). The definitions of β and BH(G, Zp ) are readily implemented on a computer. Example 3.10.1. The following GAP session computes



BHn (D16 , Z2 ) =

0 Z2

n ≡ 1, 2 mod 4, n ≡ 0, 3 mod 4,

for 0 ≤ n ≤ 12 where D16 is the dihedral group of order 32.

(3.76)

298 | Cohomology of Groups

GAP session 3.10.1 gap> G:=DihedralGroup(32);; gap> A:=ModPSteenrodAlgebra(G,13);; gap> List([1..12],n->BocksteinHomology(A,n)); [ 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 ]

To show that 3.76 holds for all n ≥ 0 we can use the further commands GAP session 3.10.1 gap> gens:=ModPRingGenerators(A); [ v.1, v.2, v.3, v.6 ] gap> List(gens,A!.degree); [ 0, 1, 1, 2 ] gap> a:=Bockstein(A,gens[2]);; gap> PrintAlgebraWordAsPolynomial(A,a); v.2*v.2 gap> b:=Bockstein(A,gens[3]);; gap> PrintAlgebraWordAsPolynomial(A,b); v.2*v.3 gap> c:=Bockstein(A,gens[4]);; gap> PrintAlgebraWordAsPolynomial(A,c); v.6*v.2 gap> Mod2CohomologyRingPresentation(G); Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1*x_2+x_2ˆ2 ] with indeterminate degrees [ 1, 1, 2 ]

to establish the ring presentation H∗ (D16 , Z2 ) ∼ = and description

Z2 [x, y, z] (xy + y2 = 0)

β(x) = x2 , β( y) = xy, β(z) = zx

of the derivation β : H∗ (D16 , Z2 ) → H∗ (D16 , Z2 ) on ring generators. Generators x, y are of degree 1 and z is of degree 2. The Bockstein homology ker β/im β could now be calculated by hand or by use of Singular. Proposition 3.10.2 we see that Hn (D16 , Z) is an elementary abelian 2-group From rn n 2 for positive n ≡ 0, 1, 2 mod 4. For positive n ≡ 3 mod 4 we have H (D16 , Z) = i=1 Z rn Z2k ⊕ i=1 Z2 with k > 1. The number of summands rn can be determined using the method of Example 3.9.3. For instance, the commands

Cohomology Operations | 299

GAP session 3.10.1 gap> G:=DihedralGroup(32);; gap> A:=LHSSpectralSequenceLastSheet(G);; gap> P:=HilbertPoincareSeries(A);; gap> RankHomologyPGroup(G,P,1003); 503 gap> RankHomologyPGroup(G,P,1002); 501

establish H

1003

(D16 , Z) = Z2k ⊕

502

Z2

i=1

for some k > 1, and H1002 (D16 , Z) =

501

Z2 .

i=1

It is in fact well-known that k = 4.



We now turn to the Steenrod squares Sqi of 3.71 and set p = 2. These homomorphisms are defined for i ≥ 0 in equation 3.82 below. They satisfy the following properties for x ∈ H∗ (B, Z2 ). Recall that x is said to be homogeneous of degree i if x ∈ Hi (B, Z2 ). Proposition 3.10.3.

1. 2. 3. 4. 5. 6.

Sq0 is the identity homomorphism. Sq1 = β is equal to the Bockstein homomorphism. Sqi (x) = x ∪ x if x is a homogeneous element of degree i. Sqi (x) = 0 if x is a homogeneous element of degree < i. Sqi (x + y) = Sqi (x) + Sqi ( y).  Sqi (x ∪ y) = ij=0 Sqj (x) ∪ Sqi−j ( y).

7. Sqi ( f ∗ (x)) = f ∗ (Sqi (x)) for the cohomology homomorphism f ∗ induced by any map f : B → B . The Sqi are referred to as squares due to property (3). Property (6) is Cartan’s formula and can be expressed in terms of the homomorphism Sq = Sq0 + Sq1 + Sq2 + · · · . Property (4) ensures that Sq(x) is a finite sum for any given cohomology element x. Property (6) states that Sq(x ∪ y) = Sq(x) ∪ Sq( y). In other words, Sq is a ring homomorphism.

300 | Cohomology of Groups Example 3.10.2. Proposition 3.10.3 provides formulae for using the cup product and Bockstein homomorphism to compute all Steenrod squares on H∗ (G, Z2 ) in cases where this cohomology algebra is generated by elements of degrees 1 and 2. For instance, the following commands show that for the dihedral group G = D32 of order 64 the image of the homomorphism Sq3 : H4 (D32 , Z2 ) → H7 (D32 , Z2 )

is a vector space of dimension 2 generated by zx4 y and zx5 ; here the algebra H∗ (D32 , Z2 ) is generated by two elements x, y of degree 1 and one element z of degree 2. GAP session 3.10.2 gap> G:=DihedralGroup(64);; gap> A:=ModPSteenrodAlgebra(G,8);; gap> H4:=Filtered(Basis(A),x->A!.degree(x)=4);; gap> Sq3H4:=List(H4,x->Sq(A,3,x));; gap> Dimension(Submodule(A,Sq3H4)); 2 gap> B:=Basis(Submodule(A,Sq3H4));; gap> PrintAlgebraWordAsPolynomial(A,B[1]); v.6*v.2*v.2*v.2*v.2*v.3 gap> PrintAlgebraWordAsPolynomial(A,B[2]); v.6*v.2*v.2*v.2*v.2*v.2 + v.6*v.2*v.2*v.2*v.2*v.3



For an explicit description of the homomorphisms Sqi we follow [218] but specialize to the case B = BG . This special case has the advantage that we can avoid having to implement the Acyclic Carrier Theorem by resorting to the fact that the universal covering B) is thus exact. space  B = EG is contractible, and that the chain complex C∗ ( Let C2 = z : z2 = 1 be the group of order 2 generated by z. Let B = BG for some B). We let en1 , en2 . . . denote free generators for the free ZGgroup G and set R∗G = C∗ ( G module Rn . The tensor product R∗G×G = R∗G ⊗Z R∗G is a free Z[G × G]-resolution of Z q p with free Z[G × G]-generators ei ⊗ ej in degree n = p + q. As a free abelian group RnG×G q p is freely generated by g ei ⊗ g ej with (g , g ) ∈ G × G and p + q = n. The group C2 acts on RnG×G by z · (g ei ⊗ g ej ) = (−1)pq g ej ⊗ g ei . p

q

q

p

(3.77)

This action extends to an action of C2 × G by the formula (z, g) · (g ei ⊗ g ej ) = (−1)pq gg ej ⊗ gg ei . p

q

q

p

We view R∗G×G as an exact chain complex of Z[C2 × G]-modules.

(3.78)

Cohomology Operations | 301

Let R∗C2 denote the free ZC2 -resolution of Z with one free ZC2 -generator f n in each degree n. Then R∗C2 ×G = R∗C2 ⊗Z R∗G is a free Z[C2 × G]-resolution of Z. Let φ0 : R0C2 ×G → R0G×G be the Z[C2 × G]-equivariant homomorphism defined by f 0 ⊗ e0i  → e0i ⊗ e0i . Using the freeness of R∗C2 ×G and the exactness of R∗G×G the map φ0 extends to a Z[C2 × G]-equivariant chain map φ∗ : R∗C2 ×G → R∗G×G

(3.79)

and φ∗ is unique up to chain homotopy. The chain map φ∗ is routinely computed from a contracting homotopy (or discrete vector field) on R∗G×G . We now consider the cochain complex C∗ (R∗G ) = HomZG (R∗G , Z). The group Cn (R∗G ) is a free abelian group with free abelian generators eni corresponding to the free ZGgenerators eni of RnG . More precisely, eni : RnG → Z is the ZG-equivariant homomorphism sending eni  → 1, enj  → 0 for j = i. This notation describes a homomorphism RnG → Cn (R∗G ), u  → u. For each integer i ≥ 0 define a Z-linear cup-i product Cp (R∗G ) ⊗Z Cq (R∗G ) −→ Cp+q−i (R∗G ), u ⊗ v  → u ∪i v

(3.80)

u ∪i v (c) = u ⊗ v φp+q (f i ⊗ c)

(3.81)

by the formula

G for c ∈ Rp+q−i . The following result is proved in Chapters 2 and 3 of [218].

Theorem 3.10.4. The operation

Cn (R∗G ) → C2n−i (R∗G ), u  → u ∪i u induces a homomorphism Sqi : Hn (G, Z2 ) → H2n−i (G, Z2 ). The homomorphism Sqi = Sqn−i : Hn (G, Z2 ) → Hn+i (G, Z2 )

(3.82)

is independent of the choices in φ∗ and satisfies the properties of Proposition 3.10.3. Construction 3.82 of Sqi is implemented in HAP. It is available via the function Mod2SteenrodSquare(G,n) which inputs a finite 2-group G and integer n > 0 and returns the first n degrees of the Steenrod algebra. The Steenrod powers Pi are not implemented for odd primes. However, the command ModPSteenrodSquare(G,n) can be applied to a finite p group G for even or odd primes p and

302 | Cohomology of Groups

returns the first n degrees of the mod-p cohomology ring together with the Bockstein operation. For p = 2 the Bockstein coincides with Sq1 and seems to provide a more efficient implementation of Sq1 than the construction 3.82. Example 3.10.3. The following GAP session computes Sq2 (x) for each generator x

in H∗ (G, Z2 ) for G the sixth group of order 16 in GAP’s library of small groups. This computation is not possible using only the Bockstein operator. GAP session 3.10.3 gap> G:=SmallGroup(16,6);; gap> A:=Mod2SteenrodAlgebra(G,8);; gap> gens:=ModPRingGenerators(A);; gap> List(gens,x->Sq(A,2,x)); [ 0*v.1, 0*v.1, 0*v.1, v.13, v.15+v.16 ]



The functions Mod2SteenrodSquare(G,n) and ModPSteenrodSquare (G,n) become less practical as the size of the finite 2-group G increases. For larger G it can be useful to consider a proper subgroup K < G, or more generally a collection K of such proper subgroups, and use the induced cohomology homomorphisms ιKG : H∗ (G, Z2 ) → H∗ (K, Z2 )

∗ ιK H∗ (K, Z2 ), x  → ιKG (x) G : H (G, Z2 ) → K∈K

(3.83) (3.84)

K∈K

to access information on Sqi (x) for x ∈ G. It can be verified that homomorphisms 3.83 and 3.84 are ring homomorphisms and, furthermore, that 3.83 preserves the Steenrod operations. The collection K is said to detect the cohomology of G if 3.84 is injective. In the latter case the Steenrod squares for G can be computed using just the Steenrod squares for K ∈ K and the injection ιK G. The HAP function InducedSteenrodHomomorphisms(f,n) inputs a homomorphism f : K → G of finite 2-groups and a positive integer n. It returns a list [HG, HK, ι] where HG = H≤n (G, Z2 ), HK = H≤n (K, Z2 ) and ι is a list [ι0 , ι1 , . . . , ιn ] with ιi : Hi (G, Z2 ) → Hi (H, Z2 ) the linear homomorphism induced by f . This function is illustrated in the following example. Example 3.10.4. Let G denote the sixth group of order 16 as in Example 3.10.3. The cohomology ring H∗ (G, Z2 ) has four generators x, y, v, t with deg(x) = deg(y) = 1, deg(v) = 3, deg(t) = 4 and one can check (computationally) that the cohomology of G is not detected by any family of proper subgroups. Nevertheless, it is still possible

Cohomology Operations | 303

to determine some information about Steenrod squares for G using Steenrod square computations in a proper subgroup K. The group G has three subgroups of order 8, two of which are cyclic. Let K < G denote the non-cyclic subgroup of order 8. The following GAP session uses a Steenrod square computation in H∗ (K, Z2 ) in order to determine that either Sq2 (t) = ty2 or Sq2 (t) = txy + ty2 . (From Example 3.10.3 we in fact know that Sq2 (t) = txy + ty2 .) GAP session 3.10.4 gap> G:=SmallGroup(16,6);; gap> K:=MaximalSubgroups(G)[2];; gap> f:=GroupHomomorphismByFunction(K,G,x->x);; gap> L:=InducedSteenrodHomomorphisms(f,8);; gap> HG:=L[1];; gap> HK:=L[2];; gap> iota:=L[3];; gap> gens:=ModPRingGenerators(HG); [ v.1, v.2, v.3, v.6, v.8 ] gap> List(gens,HG!.degree); [ 0, 1, 1, 3, 4 ] gap> w:=Sq(HK,2,Image(iota[5],gens[5]));; gap> P:=List(PreImagesElm(iota[7],w), x->x);; gap> PrintAlgebraWordAsPolynomial(HG,P[1]); v.8*v.3*v.3 gap> PrintAlgebraWordAsPolynomial(HG,P[2]); v.8*v.2*v.3 + v.8*v.3*v.3



For any smallish 2-group G the HAP command CohomologicalData(G,n) constructs n terms of a free Z2 G-resolution and uses it to determine—and print in a readable format—details of the cohomology ring generators and relations and the Steenrod squares Sqk (x) for each generator x and each positive 2-power k = 2i < degree(x). We explain below why, given sufficiently large n, this information completely determines the Steenrod squares on H∗ (G, Z2 ). If a file name is included as an optional third input to the command then the cohomology ring details are printed to this file.

304 | Cohomology of Groups Example 3.10.5. Generators and relations for the mod-2 cohomology rings of the

groups of order 32 were computed in [250]. In all but two cases—groups 8 and 44 in GAP’s library of groups—a complete description of the Steenrod squares was given. Alternative approaches to the computation of Steenrod squares have been pursued more recently in [144] and [284]; these new approaches have not yielded the Steenrod squares for group number 8 of order 32. The command CohomologicalData(G,n) returns the following information for n = 12 and G the eighth group of order 32 in GAP’s library of groups. Group order: 32 Group number: 8 Group description: C2 . ((C4 x C2) : C2) = (C2 x C2) . (C4 x C2) Cohomology generators Degree 1: a, b Degree 2: c, d Degree 3: e Degree 5: f, g Degree 6: h Degree 8: p Cohomology relations 1: fˆ2 2: c*h+e*f 3: c*f 4: b*h+c*g 5: b*e+c*d 6: a*h 7: a*g 8: a*f+b*f 9: a*e+cˆ2 10: a*c 11: a*b 12: aˆ2 13: d*e*h+eˆ2*g+f*h 14: dˆ2*h+d*e*f+d*e*g+f*g 15: cˆ2*d+b*f 16: b*c*g+e*f 17: b*c*d+c*e 18: bˆ2*g+d*f 19: bˆ2*c+cˆ2 20: bˆ3+a*d 21: c*dˆ2*e+c*d*g+dˆ2*f+e*h

Cohomology Operations | 305

22: 23: 24: 25: 26: 27:

c*dˆ3+d*eˆ2+d*h+e*f+e*g bˆ2*dˆ2+c*dˆ2+b*f+eˆ2 bˆ3*d dˆ3*eˆ2+dˆ2*e*f+cˆ2*p+hˆ2 dˆ4*e+b*c*p+eˆ2*g+g*h dˆ5+b*dˆ2*g+bˆ2*p+f*g+gˆ2

Poincare series (xˆ5+xˆ2+1)/ (xˆ8-2*xˆ7+2*xˆ6-2*xˆ5+2*xˆ4-2*xˆ3+2*xˆ2-2*x+1) Steenrod squares Sqˆ1(c)=0 Sqˆ1(d)=b*b*b+d*b Sqˆ1(e)=c*b*b Sqˆ2(e)=e*d+f Sqˆ1(f)=c*d*b*b+d*d*b*b Sqˆ2(f)=g*b*b Sqˆ4(f)=p*a Sqˆ1(g)=d*d*d+g*b Sqˆ2(g)=0 Sqˆ4(g)=c*d*d*d*b+g*d*b*b+g*d*d+p*a+p*b Sqˆ1(h)=c*d*d*b+e*d*d Sqˆ2(h)=d*d*d*b*b+c*d*d*d+g*c*b Sqˆ4(h)=d*d*d*d*b*b+g*e*d+p*c Sqˆ1(p)=c*d*d*d*b Sqˆ2(p)=d*d*d*d*b*b+c*d*d*d*d Sqˆ4(p)=d*d*d*d*d*b*b+d*d*d*d*d*d+g*d*d*d*b+g*g*d+ p*d*d 

The command CohomologicalData(G,n) prints correct information for the cohomology ring H∗ (G, Z2 ) of a 2-group G provided that the integer n is at least the maximal degree of a relator in a minimal set of relators for the ring. To see that it prints sufficient information for determining all Steenrod squares we need to make use of certain relations between composites of Steenrod squares. For example, it can be shown that Sq3 (x) = Sq1 (Sq2 (x)), Sq5 (x) = Sq1 (Sq4 (x)). We write such relations succinctly as k Sq3 = Sq1 Sq2 , Sq5 = Sq1 Sq4 . The expression of Sq6 in terms of squares of the form Sq2 6 2 4 1 4 1 7 9 is more complicated: Sq = Sq Sq + Sq Sq Sq . Expressions for Sq and Sq follow from the relation Sq2n+1 = Sq1 Sq2n which holds for n ≥ 1. The relations required for k expressing an arbitrary Sqi in terms of Sq2 follow from the Adem relations Sq Sq = a

b

[a/2]  c=0

b−c−1 Sqa+b−c Sqc a − 2c

(3.85)

306 | Cohomology of Groups

which hold for 0 < a < 2b, where [a/2] denotes the greatest integer ≤ a/2 and where   the binomial coefficient b−c−1 a−2c is evaluated modulo 2. A detailed proof of the Adem relations can be found in [218]. Suppose that i = a + 2k with 0 < a < 2k and set b = 2k . Then 3.85 gives

 2k − c − 1 2k − 1 k Sqi = Sqa Sq2 + Sqi−c Sqc . a a − 2c c>0

One can show that 2k

2k +1 a

(3.86)

≡ 1 mod 2 and thus 3.86 can be used recursively to express Sqi

in terms of Sq .

3.10.1 Stiefel–Whitney Classes Let ρ : G → On (R) be a representation of a finite group G as a group of orthogonal n × n real matrices. For v ∈ Rn we have the convex polytope P = P(ρ, v) = Conv{ρ(g).v : g ∈ G} from Section 1.1. As in Section 3.3 we let P∗G = C∗ P denote the cellular chain complex of the polytope P. The group G acts on P by permuting cells, and the action endows P∗G with the structure of a (not necessarily free) ZG-resolution of Z. We suppose that there are dp p orbits of p-dimensional cells. For the ith orbit of p-cells we let Gi ≤ G denote the stabilizer p

G

p

group of some cell in the orbit, and we let R∗ i denote some free ZGi -resolution of Z. Let us suppose that the polytope P has dimension D = dim(P). Then there is just a single GD

1 G D-dimensional cell and GD 1 = G. In particular R∗ = R∗ denotes a free ZG-resolution. Using Proposition 3.3.5 we can construct a second ZG-resolution which we denote by EG ∗ . This second resolution has

EG n =





p

G

Rq i ⊗ZGp ZG. i

p+q=N, 1≤i≤dp 0≤p≤D

(3.87)

We define a ZG-subchain complex F∗G < EG ∗ by setting FnG =





p+q=N, 1≤i≤dp 0≤p≤D−1

p

G

Rq i ⊗ZGp ZG. i

(3.88)

The chain group CD P = Z is free abelian on one generator with a possibly non-trivial G action of G. We let R∗ = EG ∗ /F∗ . Then

Cohomology Operations | 307

 Rn =

0, n G:=SylowSubgroup(SymmetricGroup(6),2);; gap> A:=ModPCohomologyRing(G,6);; gap> v:=[1,2];; gap> irr:=IrreducibleRepresentations(G);; gap> rho:=irr[10]; Pcgs([ (5,6), (1,3)(2,4), (1,2), (1,2)(3,4) ]) -> [ [ [ -1, 0 ], [ 0, -1 ] ], [ [ 0, 1 ], [ 1, 0 ] ], [ [ 1, 0 ], [ 0, -1 ] ], [ [ -1, 0 ], [ 0, -1 ] ] ] gap> RHO:=CohomologyHomomorphismOfRepresentation(rho,v,A);; gap> Image(RHO,One(A)); v.5+v.6+v.7+v.8

For 1 ∈ H0 (G, F2 ) the final command computes ρ ∗ (1) ∈ H2 (G, F2 ).



Let us now ease notation by renaming the cochain complexes in 3.91 as ∗ ∗ ∗ G K ∗ = HomFG (EG ∗ , F), L = HomFG (R∗ , F), K /L = HomFG (F∗ , F).

We define relative cohomology by setting Hn (K ∗ , L∗ ) = Hn (K ∗ /L∗ ).

(3.94)

From 3.89 we obtain the isomorphism τ : Hn (G, F) ∼ = Hn+D (K ∗ , L∗ )

(n < D)

(3.95)

which can be viewed as an instance of the Thom isomorphism in the theory of fibre bundles. (See for instance [150] for basic details on fibre bundles.) The definition in 2.39 of the cohomology cup product ∪ : Hp (K ∗ ) × Hq (K ∗ ) → Hp+q (K ∗ ) extends to a cup product Hp (K ∗ , L∗ ) ⊗F Hq (K ∗ ) → Hp+q (K ∗ , L∗ ).

(3.96)

Letting  denote the non-zero element in HD (K ∗ , L∗ ) = F one can show that the Thom isomorphism is given in terms of 3.96 by the formula τ (x) =  ∪ x.

(3.97)

Cohomology Operations | 309

The formula 3.81 defines a cup-i product ∪i : K p ⊗F K q → K p+q−i . The same formula restricts to the subcochain complex L∗ < K ∗ to yield a cup-i product ∪i : Lp ⊗F Lq → Lp+q−i .

(3.98)

Formula 3.82 can then be used with the restricted cup-i product to define Steenrod squares Sqi : Hn (K ∗ , L∗ ) → Hn+i (K ∗ , L∗ ) on relative cohomology. Definition 3.10.1. For a representation ρ : G → On (R) and vector v ∈ Rn one can

define the Stiefel–Whitney classes w0 , w1 , . . . , xD ∈ H∗ (G, F2 ) by the formula wi = τ −1 (Sqi ())

or equivalently

 ∪ wi = Sqi ()

where 0 =  ∈ H0 (K ∗ , L∗ ) ∼ = F2 . In particular w0 = 1 ∈ H∗ (G, F2 ). The total Stiefel–Whitney class is defined as w(ρ, v) = 1 + w1 + · · · + wD . For a theoretical discussion of Stiefel–Whitney classes of real representations of finite groups we refer the reader to [145]. A direct computer implementation of Definition 3.10.1 may not be so practical due to the size of the resolution EG ∗ underlying the definition. However, the homomorphism ρ 0 : H0 (K ∗ , L∗ ) −→ HD (G, F) can be used to compute ρ 0 (). If it happens that ρ 0 () is non-zero then ρ 0 is an isomorphism. The functoriality formula ρ i (Sqi ()) = Sqi (ρ 0 ())

(3.99)

holds. So any solution wi to  ∪ wi = Sqi () yields ρ 0 () ∪ wi = Sqi (ρ()). Thus, working entirely in the ring H∗ (K) = H∗ (G, F) we can use this last formula to compute the multiple ρ 0 () ∪ wi . Of course, this multiple only contains useful information when ρ 0 () = 0. Example 3.10.7. Consider again the group G = Syl2 (S6 ) of order 16 arising as the Sylow 2-subgroup of the symmetric group S6 . But now let ρ denote the representation that sends each permutation g ∈ G to its 6 × 6 permutation matrix ρ(g) and let v = (1, 2, 3, 4, 5, 6). The orbit polytope P(ρ, v) is 4-dimensional. The following GAP session uses the method

310 | Cohomology of Groups

outlined in the preceding paragraph to compute the z = ρ 0 () multiples zw0 , . . . , zw4 of the associated Stiefel–Whitney classes. GAP session 3.10.7 gap> G:=SylowSubgroup(SymmetricGroup(6),2);; gap> rho:=PermToMatrixGroup(G);; gap> v:=[1,2,3,4,5,6];; gap> A:=Mod2SteenrodAlgebra(G,8);; gap> sw:=FundamentalMultiplesOfStiefelWhitneyClasses(rho,v,A)\!; [ v.22, v.40, v.58+v.60, v.87+v.88+v.89+v.92, v.128 ]



The function FundamentalMultiplesOfStiefelWhitneyClasses allows a fourth optional argument which, when set equal to true, causes the function to return a list [s0 , s1 , . . . , sD ] where the term si is a list of all solutions to the equation ρ 0 ()x = ρ 0 ()wi with x ∈ Hi (G, F). In other words, the list si contains the Stiefel–Whitney class wi along with (usually but not always) some other elements in Hi (G, F). Example 3.10.8. Consider the quaternion group G of order 8 and the faithful representation ρ : G → O2 (C) as 2 × 2 complex matrices described in Example 1.9.2. We regard ρ as a 4-dimensional real representation. The following GAP session computes the total Stiefel–Whitney class w(ρ, v) yielded by ρ : G → O4 (R) and v = (1, 2, 3, 4) ∈ R4 .

GAP session 3.10.8 gap> a:=[[0,-1,0,0,],[1,0,0,0,],[0,0,0,1],[0,0,-1,0]];; gap> b:=[[0,0,-1,0],[0,0,0,-1],[1,0,0,0],[0,1,0,0]];; gap> G:=Group([a,b]);; gap> rho:=IdentityMapping(G);; gap> v:=[1,2,3,4];; gap> A:=Mod2SteenrodAlgebra(G,10);; gap> sw:= > FundamentalMultiplesOfStiefelWhitneyClasses(rho,v,A,true); [ [ v.1 ], [ v.2+v.3 ], [ v.5 ], [ 0*v.1 ], [ v.7 ] ] gap> TotalStiefelWhitneyClass:= > sw[1][1]+sw[2][1]+sw[3][1]+sw[4][1]+sw[5][1]; v.1+v.2+v.3+v.5+v.7



Bredon Homology | 311

3.11 Bredon Homology The definition of group homology Hn (G, A) = Hn (C∗ (EG ), A) works because: (i) the required free action of G on the CW-space EG induces the structure of a free ZG-module on each Cn (EG ), and (ii) the required contractibility of EG ensures that the chain complex C∗ (EG ) is exact. These two properties form the hypothesis of Theorem 3.1.1. It is possible to define different homology theories for a group G—often referred to as Bredon homology theories—by allowing certain non-free actions of G and adapting the notion of ZG-module accordingly. We present the details in this section. Recall from 1.9.1 that we use the term G-CW-space to mean a CW-space X on which a discrete group G acts in such a way that the action induces a permutation of the cells of X. We say the space is rigid if each element in the stabilizer of any cell fixes the cell pointwise. (Our terminology differs slightly from standard usage where rigidity is often required of all G-CW-spaces.) A family of subgroups of G is any collection of subgroups F = {H ⊆ G} that is closed under conjugation and taking subgroups. Thus H ∈ F implies that gHg −1 ∈ F for all g ∈ G and that all subgroups of H are in F . We say that a G-CW-space X is an F -space if it is rigid and for each cell e ⊂ X the stabilizer group StabG (e) = {g ∈ G | g e = e} belongs to F . By a morphism φ : X → Y between two G-CW spaces we mean a cellular map satisfying φ(g x) = g φ(x) for g ∈ G, x ∈ X. For any subgroup H ⊆ G the set of cosets G/H can be viewed as a discrete G-CWspace. For a family F of subgroups of G let OF denote the category with one object G/H for each subgroup H ∈ F and with maps φ : G/H → G/H the morphisms of GCW-spaces. A map φ is determined by its image φ(H) = gH and we have g −1 Hg. The map φ is completely determined by g, and any such g ∈ G determines a map. A functor M : OF → AB to the category of abelian groups is called a left Bredon module. A right Bredon module is a contravariant functor OF → AB . Fix a group G, a family F of subgroups of G, an F -space X, and a left Bredon module M : OF → AB . Let {enα } denote a minimal set of representatives of the G-orbits of n-cells in X. Write Snα = StabG (enα ) ∈ F . The terms in the cellular chain complex C∗ (X) have the form



ZG ⊗Snα Z ∼ Z[G/Snα ]. Cn (X) ∼ = = {enα }

{enα }

We set Mn =



M(G/Snα )

{enα }

and note that the boundary homomorphism ∂n : Cn (X) → Cn−1 (X) induces a homomorphisms of abelian groups dn : Mn → Mn−1 for which M∗ = (Mn , dn )n≥0 is a chain complex. If ∂n (enα ) = {en−1 } mβ gβ en−1 β , with mβ ∈ Z, gβ ∈ G, then the inclusion β

312 | Cohomology of Groups

gβ−1 Snα gβ → Sn−1 induces a homomorphism ιnα,β : M(G/Snα ) → M(G/Sn−1 β β ). The  n n homomorphism dn : Mn → Mn−1 is given by dn = ⊕eα {en−1 } mβ ια,β . When there is β need to emphasize the space X we shall denote the chain complex M∗ by M(C∗ X). Definition 3.11.1. The Bredon homology of X with coefficients in the Bredon module M

is defined as

HnF (X, M) = Hn (M∗ ).

The family F is part of the module M but it is useful to also include F explicitly in the notation. An F -space X can be represented using data type 1.9.1 by simply recording a description of the family F as a property. The non-free ZG-chain complex C∗ (X) can be represented using data type 3.3.1 and recording the fact that exactness need not hold. We refer to C∗ (X) as a G-chain complex. In HAP the function IsHAPGChainComplex(R) returns the boolean true when R is a G-chain complex represented in this way. Data type 3.11.1. A left Bredon module M : OF → AB is represented as a function

M which, when applied to a G-chain complex R with stabilizer groups in the family F , returns a chain complex M(R) over Z; when applied to an equivariant chain map f between two G-chain complexes, the function M returns a chain map M(f) of chain complexes over Z. The following three examples of left Bredon modules are implemented in HAP . Example 3.11.1. For any family F of subgroups of G, and any abelian group A, we have the constant Bredon module A : OF → AB which sends each object G/H to the abelian group A and each morphism φ : G/H → G/H to the identity homomorphism  on 1 : A → A. Example 3.11.2. For a group G and the family F = Fin, consisting of all finite sub-

groups of G, we define the complex representation ring to be the left Bredon module R : OF → AB that sends an object G/H to the vector space RC (H) with isomorphism types of irreducible complex representations of the finite group H as basis. For a G-map φ : G/H → G/H we have g −1 Hg ⊂ H for some g ∈ G and define R(φ) : RC (H) =  RC (g −1 Hg) → RC (H ) to be induction. Example 3.11.3. For a group G and F = Fin we define the Burnside ring to be the

left Bredon module B : OF → AB that sends an object G/H to the free abelian group BS(H) with isomorphism types of transitive H-sets as basis. For a G-map φ : G/H → G/H with g −1 Hg ⊂ H , g ∈ G, we again define B (φ) : BS(H) = BS(g −1 Hg) → BS(H )  to be induction. Another readily implemented example for F = Fin is the left Bredon module that sends G/H to the integral homology group Hn (H, Z). Example 3.11.4. The Quillen complex Ap (G) of a finite group G can be represented

as an F -space, with F understood to be the family of all subgroups. The following GAP code computes H1F (K, B ) = 0

Bredon Homology | 313

for K = A3 (S9 ) the Quillen complex at the prime p = 3 for the symmetric group of degree 9 and B the Burnside module. The G-chain complex R∗ = C∗ (K) is used in the computation. GAP session 3.11.4 gap> G:=SymmetricGroup(9);; gap> K:=QuillenComplex(G,3); Simplicial complex of dimension 2. gap> R:=GChainComplex(K,G); G-chain complex in characteristic 0 for Sym( [ 1 .. 9 ] ). gap> C:=TensorWithBurnsideRing(R); Chain complex of length 2 in characteristic 0. gap> Homology(C,1); [ ]



The Bredon homology of a group G is defined in terms of the following. Definition 3.11.2. An F -space X is said to be a model for EF if the G-CW-space X H =

{x ∈ X | h x = x for all h ∈ H} is contractible for each H ∈ F and empty for each subgroup H ∈ / F.

If the family F = {1} consists of just the identity subgroup then EG is a model for EF , where EG is any contractible CW-space on which G acts freely. We refer to EG as a total space for G. If the family F = Fin consists of all finite subgroups of G we say that a model for EF is a proper total space for G and denote it by EG . Some authors refer to EG as a classifying space for proper actions [211]. For a torsion-free group G a proper total space EG is the same thing as a total space EG . Proposition 3.11.1. Fix a group G and family F . If X and Y are both models for EF

then there is a ZG-equivariant chain homotopy equivalence φ∗ : C∗ (X) → C∗ (Y). Consequently there is a chain homotopy equivalence M(C∗ X) → M(C∗ Y) for any left Bredon module M : OF → AB .

Proof. Let {enα } denote a minimal set of representatives of the G-orbits of n-cells in X, and let {fβn } denote a minimal set of representatives of the n-cells in Y. Then Cn (X) = ⊕α Z[G/Snα ] and Cn (Y) = ⊕β Z[G/Snβ ]. We regard the enα and fβn as ZG-generators of Cn (X) and Cn (Y) respectively. For each e0α the group S0α fixes some 0-cell fβ0 = φ(e0α ) 0

in Y since, by the definition of Y, the fixed subspace Y Sα is contractible. We can thus construct a ZG-equivariant homomorphism 0

φ0 : C0 (X) → C0 (Y Sα ) < C0 (Y), e0α  → φ(e0α ) that induces the identity map 1 : H0 (C∗ (X)) → H0 (C∗ (Y)).

314 | Cohomology of Groups

Suppose that we have defined the ZG-equivarient chain map φ0 , φ1 , . . . , φn up n we can calculate to degree n such that φn (enα ) ∈ Cn (Y Sα ) < Cn (Y). For each en+1 α n+1 fixes every n-cell in )) ∈ C (Y). Since X is rigid we have that S φn (dn+1 (en+1 n α α the boundary dn+1 (en+1 α ). Since φn is G-equivariant and since Y is rigid, the group Sn+1 α Sn+1 fixes every n-cell of Y involved in φn (dn+1 (en+1 is contractible α α )). Since Y n+1 S the subcomplex C∗ (Y α ) < C∗ (Y) is exact. We can thus choose an element Sn+1 n+1 n+1 α ) such that d φn+1 (en+1 n+1 φn+1 (eα ) = φn (dn+1 (eα )). This α ) ∈ Cn+1 (Y defines a ZG-equivariant homomorphism  → φ(en+1 φn+1 : Cn+1 (X) → Cn+1 (Y), en+1 α α ) and provides an inductive construction of the chain map φ∗ . In the same way we can construct a ZG-equivariant chain map ψ∗ : C∗ (Y) → C∗ (X). It is an easy exercise to construct ZG-equivariant homomorphisms hn : Cn (X) → Cn+1 (X), n ≥ 0, constituting a chain homotopy ψ∗ φ∗ 1. The chain  equivalence φ∗ induces a chain equivalence M(C∗ X) → M(C∗ Y). Proposition 3.11.1 leads to the following definition. Definition 3.11.3. For a group G, a family F , a model X for EF and a left Bredon module

M : OF → AB we define the F -Bredon homology of G to be

HnF (G, M) = HnF (X, M). For F = {1} a left Bredon module M is just a ZG-module and we have that HnF (G, M) = Hn (G, M) is the usual homology of G. We sometimes refer to this as the Eilenberg–MacLane homology of G. For F = Fin the family of finite subgroups we have HnF (G, M) = HnF (EG , M). We refer to this as the Bredon homology of G and use the notation Hn (G, M) = HnF (EG , M). In order to implement Hn (G, M) on a computer we need a practical method for constructing finitely many dimensions of a space EG . One approach, illustrated in the next example, is to take some theoretical description of EG and represent it using data type 3.3.1. Example 3.11.5. Consider the special linear group G = SL3 (Z) of 3 × 3 integer matrices with determinant 1. The following GAP commands compute the second Eilenberg– MacLane homology with integer coefficients

H2 (SL3 (Z), Z) = Z2 ⊕ Z2 and then the degree 0 Bredon homology H0 (SL3 (Z), R) = Z8 with coefficients in the complex representation ring R.

Bredon Homology | 315

GAP session 3.11.5 gap> R:=ContractibleGcomplex("SL(3,Z)s"); Non-free resolution in characteristic 0 for gap> F:=FreeGResolution(R,3); Resolution of length 3 in characteristic 0 for gap> C:=TensorWithIntegers(F); Chain complex of length 3 in characteristic 0 . gap> Homology(C,2); [ 2, 2 ] gap> D:=TensorWithComplexRepresentationRing(R); Chain complex of length 3 in characteristic 0 . gap> Homology(D,0); [ 0, 0, 0, 0, 0, 0, 0, 0 ]

The computation involves the cellular chain complex R∗ = C∗ (X) of the model X = ESL3 (Z) constructed by C. Soulé in [271]; details are recalled in Section 6.8. The algebraic structure of C∗ (X) has been transcribed into data type 3.3.1 and stored in GAP. For the Eilenberg–MacLane homology the computation uses Proposition 3.3.5 to construct a free ZSL3 (Z)-resolution F∗ from C∗ (X). A spectral sequence argument [254] shows that in examples such as this, with Bredon homology Hn (G, R) trivial for n ≥ 2, there is an isomorphism KnG (EG) ∼ = Hn (G, R), n = 0, 1, where KnG (EG) denotes equivariant K-theory. Interest in Bredon homology in this context stems from the Baum– Connes conjecture [18] asserting that KnG (EG) should be isomorphic to the K-theory of  the reduced C∗ -algebra of G. A second approach to computing with EG is to design algorithms that input generators— and possibly other group-theoretic information—for G and return the low-dimensional algebraic structure of C∗ (EG ). As a first approximation to EG we denote by E G any GCW space X such that X H = {x ∈ X | h x = x for all h ∈ H} is contractible for each finite subgroup H in G. The important distinction between E G and EG is that the former is not required to be rigid. Rigidification procedures can be applied, if necessary, to convert E G into EG . Algorithm 3.1.1 is one such algorithm. We can apply 3.1.1 to an arbitrary n-dimensional crystallographic group G in an attempt to obtain a G-CW structure on Rn with just one orbit of n-dimensional cells for which a representative n-cell has the CW structure of an n-cube I n . In some cases where the procedure succeeds, the resulting cubical G-CW space is rigid and can be used as EG . Example 3.11.6. The following GAP commands use Algorithm 3.1.1 to compute the

second Bredon homology

H2 (G, B ) = Z4 ⊕ Z2

316 | Cohomology of Groups

with coefficients in the Burnside ring for G the crystallographic group arising as the 32nd group of dimension 3 in the Cryst [94] library of crystallographic groups. GAP session 3.11.6 gap> G:=SpaceGroup(3,32);; gap> gens:=GeneratorsOfGroup(G);; gap> B:=CrystGFullBasis(G);; gap> R:=CrystGcomplex(gens,B,0);; gap> IsRigid(R); true gap> D:=TensorWithBurnsideRing(R);; gap> Homology(D,1); [ 2, 0, 0, 0 ]



In some cases where Algorithm 3.1.1 succeeds in returning a cubical fundamental domain the resulting G-CW structure on Rn is non-rigid and can only be used as E G . In these cases one can attempt to transform E G into a rigid space by using a cubical subdivision based on the CW-space J = [0, 1] involving three cells 0, 1/2, 1 and two 1-cells (0, 1/2), (1/2, 1). The product J n has 5n cells, compared to the 3n cells in I n . We denote by bcsd(E G) the resulting binary cubical subdivision of E G. This subdivision will not always be rigid, but in many cases it is. Example 3.11.7. The following GAP code constructs R∗ = C∗ (E G) for the second

group of dimension 4 in the Cryst [94] library of crystallographic groups and determines that R∗ is not rigid. The commands then use binary cubical subdivision to construct a rigid resolution S∗ = C∗ (bcsd(E G)). GAP session 3.11.7 gap> G:=SpaceGroup(4,2);; gap> gens:=GeneratorsOfGroup(G);; gap> B:=CrystGFullBasis(G);; gap> R:=CrystGcomplex(gens,B,1);; gap> IsRigid(R); false gap> S:=CrystGcomplex(gens,B,0);; gap> IsRigid(S); true



Bredon Homology | 317

There are many ways to subdivide an n-cube into equally sized subcubes. In general we can let Ji = [0, 1] be the CW-space involving mi + 1 equally spaced 0-cells and mi equally long 1-cells. Then the product J1 × · · · × Jn is a CW structure on the n-cube involving m1 × · · · × mn equally sized subcubes. To apply this general cubical subdivision to a cubical space E G for an n-dimensional crystallographic group G one can proceed as follows. First, represent G so that its translation subgroup T ≤ G is generated by n orthogonal unit translations x  → x + t1 , . . . , x  → x + tn ∈ T. This can be done using a change of basis for Rn if necessary. Then consider the crystallographic group H generated by the generators of G together with the translations x → x +

1 1 t1 , . . . , x  → x + tn ∈ T. m1 mn

The group G is a finite index subgroup of H of index m1 × · · · × mn . We can attempt to use the function CrystGcomplex to construct R∗ = C∗ (E H). If the attempt is successful then R∗ can be viewed as a ZG-resolution corresponding to a general cubical subdivision of a cubical G-CW structure on Rn . Recall from 2.1.6 that for any regular CW-space X one defines sd(X) to be the simplicial complex with one vertex for each cell in X, and with one k-simplex for each sequence e0 , e1 , · · · , ek of cells of X with ei of dimension i for 0 ≤ i ≤ k and with ei−1 in the boundary of ei for 1 ≤ i ≤ k. The geometric realization |sd(X)| is called the barycentric subdivision of X. Any regular CW-space X is homeomorphic to the geometric realization |sd(X)| of its barycentric subdivision. If X is a G-CW space then the action of G on X induces an action of G on |sd(X)|, and the latter action is clearly rigid. We thus have the following computationally useful result. Lemma 3.11.2. Let X be a G-CW space with regular cell structure. Then the homeomorphic

space |sd(X)| is a rigid G-CW space.

Example 3.11.8. The following GAP commands apply barycentric subdivision to a non-rigid contractible G-CW space X for the group G = SL2 (O−3 ). The 2-dimensional space X is obtained from [239, 255] (see Section 6.8 for details) and the subdivided space sd(X) is used to compute the Bredon homology

H0 (SL2 (O−3 ), R) = Z2 ⊕ Z9 , H1 (SL2 (O−3 ), R) = Z with coefficients in the complex representation ring R. The analogous Bredon homology for PSL2 (O−3 ) is calculated in [240] using the same space X. GAP session 3.11.8 gap> R:=ContractibleGcomplex("SL(2,O-3)");; gap> IsRigid(R); false

318 | Cohomology of Groups gap> S:=BaryCentricSubdivision(R);; gap> C:=TensorWithComplexRepresentationRing(S);; gap> Homology(C,0); [ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] gap> Homology(C,1); [ 0 ]



3.12 Coxeter Groups In this section we describe an approach to computing the homology and Bredon homology of a Coxeter group W. It is based on a description of EW which we recall from [77]. For general background details on Coxeter groups we recommend [25], [77] and [169]. A Coxeter matrix is a symmetric n × n matrix whose entries m(i, j) are either positive integers or the symbol ∞, with m(i, j) = 1 if and only if i = j. Such a matrix is represented by an n-vertex labelled graph D (called a Coxeter graph or diagram) with edge joining vertices i and j if and only if m(i, j) ≥ 3; the edge is labelled by m(i, j). The Coxeter group WD is defined to be the group generated by the set of symbols S = {x1 , · · · , xn } subject to relations x2i = 1 and (xi xj )m(i,j) = (xj xi )m(i,j) for all i = j, where (xy)m denotes the word xyxyx . . . of length m. It can be shown [169] that there is a faithful matrix representation ρ : WD → GLn (R) obtained by constructing a vector space V over R with basis {αi }xi ∈S and inner product αi , αj  = − cos(π/mij )

(3.100)

where we interpret cos(π/∞) = 1. The representation ρ is defined on generators xi ∈ S by letting ρ(xi ) be the linear map V → V, v  → v − 2αi , vαi . The linear map ρ(xi ) is a reflection in the sense that it has n − 1 linearly independent eigenvectors with eigenvalue 1 and one eigenvector with eigenvalue −1. The vector space spanned by the eigenvectors with eigenvalue 1 is called the mirror for the reflections. We say that ρ(xi ) is an orthogonal reflection in those cases where its n eigenvectors are orthogonal. Given two Coxeter diagrams D , D we can consider their disjoint union D ∪ D to be a Coxeter diagram. There is an isomorphism WD ∪D = WD × WD . A Coxeter diagram D is said to be irreducible if it is connected as a graph, that is, if it is not the disjoint union of two non-empty Coxeter diagrams. A Coxeter diagram is said to be of finite type if the Coxeter group WD is finite. It can be shown [169] that the irreducible Coxeter diagrams

Coxeter Groups | 319 An In

4

Bn

F4

Cn = Dn

H3

H4

n

4

E6

5

E7

5

E8

Figure 3.8 The finite irreducible Coxeter diagrams.

Figure 3.9 Coxeter polytope for H3 . cf. Figure 1.65

of finite type are precisely those listed in Figure 3.8. Each diagram in the list is named by a letter and an integer subscript n ≥ 1 where n is the number of vertices in the diagram. The list follows convention in omitting to print the number 3 on those edges of a Coxeter graph D labelled by m(i, j) = 3. Assume for the moment that the Coxeter group WD is finite. The representation ρ then realizes WD as a group of orthogonal transformations of V with generators ρ(xi ) equal to reflections [77]. For convenience we identify WD = ρ(WD ) and xi = ρ(xi ). Let A be the union of the mirrors corresponding to reflections in WD . For any point v in Rn \ A we denote by PD the convex hull of the orbit of v under the action of WD . The hull PD is called a Coxeter polytope. See Figure 3.9 for an example. The face lattice of the n-dimensional convex polytope PD depends only on the graph D.

320 | Cohomology of Groups

(To see this, first note that the vertices of PD are the points g · v for g ∈ WD and that there is an edge between g · v and g · v if and only if g −1 g ∈ S. Thus the combinatorial type of the 1-skeleton of PD does not depend on the choice of point v. Furthermore, each vertex of the n-dimensional polytope PD is incident with precisely n edges; hence PD is simple and the face lattice of the polytope is determined by the combinatorial type of the 1-skeleton [26].) The polytope PD is a G-CW space for G = WD . Let F be a k-dimensional face of PD containing the vertex v. Then F contains precisely k edges E1 , . . . , Ek incident with v, the edge Ej being stabilized by precisely one generator xij ∈ S. The Coxeter group generated by xi1 , . . . , xik is precisely the subgroup of those elements of WD that stabilize F. The rigid simplicial space D = |sd(PD )| is called the Davis complex for the finite group G = WD . To define the Davis complex for an arbitrary Coxeter group WD we first consider the Coxeter Cayley graph D consisting of one vertex for each g ∈ WD and one undirected edge connecting the pair of vertices {g, gx} for each g ∈ WD and x ∈ S. Using the linear representation ρ : WD → Rn we can embed D in Rn by choosing a point v not in any mirror and identifying the vertices of D with the images of v under the action of WD . See Figures 3.10 and 3.11 for examples. We can consider any subset of generators T ⊂ S that generates a finite subgroup T ≤ WD . This subgroup can be shown to be a Coxeter group WDT = T where DT is the full subgraph of D on those vertices corresponding to generators in T. The 1-skeleton of the convex polytope PDT can be identified with the Coxeter Cayley graph DT . We view DT as a full subgraph of D . For each coset gWDT in WD there is a corresponding subgraph gDT ⊂ D . We take XD to be the union of the graph D with the polytopes gPDT where T ranges over all maximal subsets T ⊂ S that

D:

Figure 3.10 Portion of an infinite Coxeter Cayley graph for the diagram D.



Coxeter Groups | 321

A˜ 3:

Figure 3.11 Portion of an infinite Coxeter Cayley graph for the diagram A˜ 3 , with vertices chosen so that there are three lengths of edge and three sizes of hexagon.

generate a finite subgroup, and g ranges over a set of coset representative for WDT , and where any two polytope faces with identical 1-skeleta in D are identified. The space XD is a G-CW space. As in the finite case, the stabilizer group of a k-face is a (conjugate of) the Coxeter group generated by the (conjugates of) the Coxeter generators associated to k edges of the face incident with a common vertex. See Sections 3.12 and 6.5 for two different sketch proofs of the following, and see [77] for full details of a third proof. Theorem 3.12.1. [77] The regular CW-space XD is a model for E G . Its rigid barycentric sub-

division D = |sd(XD )| is called the Davis complex for G = WD and is a model for EG .

The contractibility of D is proved as Theorem 8.2.13 in [77]. The space D = |sd(XD )| is connected because the 1-skeleton D = XD1 is a connected graph by construction. To see that the fundamental group of D is trivial let x | r be the defining presentation of   WD . Consider the 2-dimensional CW-space K | r) of Definition 1.10.1 arising D = K(x as the universal covering space of the 2-complex associated to the presentation. The 1 skeleton of K D is the usual Cayley graph of WD with respect to the generating set x, 1 . The 2-cells in K  and we can view the Coxeter Cayley graph D as a subgraph of K D D  1 2 corresponding to the relators x = 1, x ∈ x, ensure that the inclusion D → KD induces  an isomorphism of fundamental groups π1 (D ) ∼ = π1 (XD ) ∼ = π1 (XD2 ) ∼ = π1 (K D ). But  π1 (KD ) is trivial by construction and so π1 (D ) = 0. The proof in [77] of the contractibility of D involves two further steps: (i) it is shown that Hn (D , Z) = 0 for all n ≥ 2; (ii) the classical Hurewicz Theorem [150] implies that any connected space with trivial fundamental group and trivial integral homology in degrees ≥ 2 is contractible. This is a proof of the existence of a homotopy D ∗. It is useful, from a computational viewpoint, to have a constructive proof based on a formula that explicitly describes some

322 | Cohomology of Groups

contracting discrete vector field on the regular CW-space XD . Such a formula is provided in Proposition 6.6.4. It is routine to implement an algorithm that inputs a Coxeter graph D, constructs the set S of matrices corresponding to the generators of ρ(WD ), then uses the tabulation in Figure 3.8 to identify the maximal subsets of S that generate finite subgroups of W, and finally returns the G-CW space XD represented using data type 1.9.1. To determine the cellular structure of XD it suffices to use the G-action and the cellular structure of each Coxeter polytope PD arising from the subgraphs D of D corresponding to the maximal finite subgroups WD in WD . Example 3.12.1. The following GAP commands involve the non-rigid G-CW space XD

for the infinite Coxeter group G = WD corresponding to the following diagram 6

D:

.

We represent a Coxeter diagram on the computer as a list of terms of the form [i, [j, m(i, j)]] to denote that node i of D is connected to node j by an edge with label m(i, j). The ZG-chain complex R∗ = C∗ (XD ) is converted to a free ZG-resolution F∗ using Proposition 3.3.5 and used to compute H2 (WD , Z) = Z2 ⊕ Z2 ⊕ Z2 . Barycentric subdivision could be applied to R∗ to obtain the rigid chain complex C∗ = C∗ (|sd(XD )|) from which the Bredon homology group H0 (WD , R) = Z21 with coefficients in the complex representation ring is computed. The GAP session instead uses a direct implementation [238] to compute C∗ directly from D. GAP session 3.12.1 gap> D:=[ [1,[2,3]], [2,[3,3]], [3,[4,3]], [4,[5,6]]];; gap> R:=CoxeterComplex(D);; gap> F:=FreeGResolution(R,3);; gap> Homology(TensorWithIntegers(F),2); [ 2, 2, 2 ] gap> C:=DavisComplex(D);; gap> D:=TensorWithComplexRepresentationRing(C);; gap> Homology(D,0); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]



Exercises | 323

We remark that the method of Example 3.12.1 provides an approach to constructing a free ZG-resolution of Z for an arbitrary Coxeter group G = WD based on a recursive use of Proposition 3.3.5. To explain this, consider first the case when WD is finite with a generating set S of size n. The Coxeter polytope PD is n-dimensional and its (n − 1)n−1 n−1 is homeomorphic to the sphere Sn−1 . The chain complex C∗ = C∗ (PD ) skeleton PD is a complex of ZWD -modules with  Hi (C∗ ) =

Z, i = 0, n − 1, 0, i = 0, n − 1.

The group WD acts possibly non-trivially on Hn−1 (C∗ ). We write Z to denote the module Z with this possibly non-trivial action. The complex C∗ = C∗ ⊗Z Z has H0 (C∗ ) = Z . By involving this action we can splice together infinitely many copies of C∗ to obtain a ZWD -resolution C∗∞ :  → · · · → C0 → Cn−1 → · · · → C0 . · · · → C0 → Cn−1

(3.101)

The stabilizer of any generator of C∗∞ is a Coxeter group generated by a proper subset of S. Thus a recursive application of 3.3.5 allows us to convert C∗∞ into a free ZWD -resolution of Z. For an infinite Coxeter group WD the space XD has the property that any cell stabilizer is a finite Coxeter group. So again we can use Proposition 3.3.5 to convert C∗ (XD ) into a free WD -resolution of Z. This construction gives a resolution with the same number of free generators as the resolution for Coxeter groups described in [78].

3.13 Exercises 1. Let A5 denote the alternating group of degree 5 and G = Aut(A5 ) its automorphism group. Determine the structure of Hn (A5 , Z) as a ZG-module for 0 ≤ n ≤ 6. 2. Let H be the quaternion algebra 1R ⊕ iR ⊕ jR ⊕ kR with i2 = j2 = k2 = ijk = −1. Let G be any finite subgroup of the multiplicative group of units H∗ . Then G acts on the contractible space H by multiplication. The algebra H is a division algebra and so the action restricts to a fixed-point free action of G on H \ {0}. It follows that there exists a periodic free G-resolution of Z of period 4. (a) The binary tetrahedral group 2T is the subgroup of H∗ consisting of the 24 units ±1, ±i, ±j, ±k, 12 (±1 ± i ± j ± k). By adapting Example 3.2.1, explicitly construct a period 4 free ZG-resolution of Z for G = 2T. (b) For any integer m ≥ 2 the generalized quaternion group Q4m ≤ H∗ is the multiplicative subgroup of order 4m generated by x = 1 cos(π/m) + i sin(π/m) and y = j. There exists a periodic free ZQ4m -resolution of Z of period 4. However, such a resolution can not be directly computed using Polymake

324 | Cohomology of Groups

convex hull routines when either sin(π/m) or cos(π/m) is irrational. For m = 2, 3, 4, 5, 6, 7, 8, 9, 10 use the function ResolutionSmallGroup to explicitly construct a period 4 free ZQ4m -resolution of Z. (c) The binary octahedral group 2O is the subgroup of H∗ consisting of the 24 elements in 2T together with the additional 24 elements obtained from ±1 ± i + 0j + 0k by a permutation of the set {1, i, j, k}. This group 2O has a presentation 2O ∼ = s, t | (st)2 = s3 = t 4  where s = 12 (1 + i + j + k) and t = √12 (1 + i). Determine the cohomology ring H∗ (2O, Z). (d) There is just one remaining finite group arising as a subgroup of H∗ , the binary icosahedral group 2I = s, t | (st)2 = s3 = t 5  where s = 12 (1 + i + j + k) and √ t = 12 (φ1 + φ1 i + j) with φ = (1 + 5)/2. Determine the cohomology ring H∗ (2I, Z). 3. Use Lemma 3.3.6 and the function ResolutionCubicalCrystGroup to determine the integral cohomology ring H∗ (G, Z) for G the space group SpaceGroupOnRightBBNWZ( 4, 32, 5, 1, 1 ). 4. Let P denote a Sylow 2-subgroup of the third Conway simple group Co3 . Use a suitable ZP-resolution with the function PrimePartDerivedFunctorViaSubgroupChain to compute the 2-part H2 (Co3 , Z)(2) of the second integral homology of Co3 . (If one is only interested in first and second cohomology then Derek Holt’s cohomology package [158] will give speedier results because it uses a kind of dimension shift technique to derive the computation from the degree ≤ 2 terms of a free ZP-resolution of Z.) 5. Determine Hn (SL2 (Z19 ), Z) for n ≥ 0. 6. The function PoincareSeriesPrimePart(G,p,n) inputs a finite group G, a prime p and integer n > 0. It calculates the dimensions ai = dimFp Hi (G, Fp ) for 0 ≤ i ≤ n and  from this calculation returns a conjectured formula for the Poincaré series p(x) = i≥0 ai xi . There is no guarantee that the conjectured formula is correct, though it is guaranteed to be correct if n is sufficiently large n. (A method for quantifying sufficiently large is implemented in [137] and described and used in [102].) Use the function PoincareSeriesPrimePart to conjecture a formula for the integral homology Hn (A5 , Z), n ≥ 0, for the alternating group A5 . 7. For a finite p-group G and F the field of p elements let • I1 (G) be the abelian invariants of the centre Z(G) of the group. It can be shown that this is an invariant of the group algebra FG (see for instance [154]). • I2 (G) be the dimension of the centre of the algebra FG. • I3 (G) be the dimensions of the terms of the radical series of the algebra FG.

Exercises | 325

• I4 (G) be the dimensions of the terms of the lower central series of the Lie algebra of FG. • I5 (G) be the dimensions of the images of the additive homomorpisms FG → n FG, x  → xp for n = 1, 2, 3, · · · . Verify that the invariant I = I1 ⊕ I2 ⊕ I3 ⊕ I4 ⊕ I5 has 64-polynomial TI64 = 51x + 25x2 + 16x3 + 7x4 + 2x5 + 2x6 + 2x7 + x8 + x9 + x10 + x12 + x15 . The invariant I (which uses no homological information) is thus less powerful than that of Proposition 3.5.11. 8. Use GAP to verify that

p,q E3 ∼ = GrHk (D32 , F2 )

p+q=k

for k ≤ 15 in the Lyndon–Hocshild–Serre cohomology spectral sequence arising from the dihedral group G = D32 of order 64 and its centre N = Z(D32 ). 9. Let G = WD be the Coxeter group associated to a Coxeter diagram D. The chain complex C∗ (XD ) of the associated contractible G-CW space XD can be converted into a free ZG-resolution R∗ using the perturbation lemma of C.T.C. Wall. The structure of this resolution up to degree 3 is determined by the Coxeter polytopes corresponding to the full 3-vertex subgraphs of D whose vertices correspond to the generators of a finite Coxeter group. There are only a handful of combinatorial types of such Coxeter polytopes, and via R∗ they determine the second integral homology group H2 (WD , Z). Use the resolution R∗ to prove the following description of this second homology group in terms of D due to R. Howlett [164]. (Full details of such a proof can be found in [149].) Let n1 denote the number of vertices of D and let n2 denote the number of edges of D of finite weight. Let A2 be the set of non-adjacent pairs of vertices. Define a relation on A2 by saying that {s, t} is related to {s , t } if and only if one of s or t is equal to one of s or t , say s = s , and there is then an edge of odd weight in D connecting t and t . This relation generates an equivalence relation, and n3 denotes the number of equivalence classes of this relation on A2 . Finally n4 is the number of connected components of the graph obtained from D by deleting all edges whose weight is either even or infinite. The main theorem of [164] asserts that H2 (WD , Z) is an elementary abelian 2-group of rank n2 + n3 + n4 − n1 .

4

Cohomological Group Theory

In this chapter we focus on the relationship between elementary group theory and the computational procedures for group (co)homology described in the preceding chapter. Section 1 begins with a description of how to construct n-cocycles fη : G × · · · × G → A from elements η ∈ Hn (G, A) of the cohomology group obtained from a free ZGresolution and ZG-module A. The description passes via the bar resolution for the group G. Sections 2 and 3 describe how to compute group extensions A  Eη  G from a 2-cocycle η, and how to compute all extensions of a group G by a normal subgroup N given one such extension N  E  G. Crossed modules are introduced in Section 4 as part of Eilenberg and MacLane’s obstruction theory for nonabelian extensions. The obstruction theory is not fully implemented in HAP, and the section is mainly of theoretical value and is a preparation for Chapter 5. Section 5 introduces the five term exact sequence in group homology and uses it to derive Hopf ’s influential formula H2 (G, Z) ∼ = R ∩ [F, F]/[F, R] for the second homology of a group, also known as the Schur multiplier of G. This formula can, in principle, be used to compute the second homology of a finite group from a finite presentation of the group. We illustrate this in a naive fashion by recalling the Todd–Coxeter coset enumeration procedure and applying it to Hopf ’s formula. Sophisticated refinements of this basic approach, in conjunction with the Cartan–Eilenberg double coset formula, have been implemented in [160] as an extremely efficient procedure for computing second homology of finite groups. The five term exact sequence is also used to provide methods for investigating the capability of groups and for computing Bogomolov multipliers. A quite different formula for the second integral homology of a group was introduced by Clair Miller in [210] and led via [83] to Brown and Loday’s notion [45] of the nonabelian tensor product G ⊗ H of two groups which act on each other and act on themselves by conjugation. Section 6 gives a computational account of this construction. The account leads on naturally to a theory of relative group extensions which is described in Sections 7 and 8.

An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

328 | Cohomological Group Theory

4.1 Standard Cocycles For any group G one can construct a sequence of ZG-module homomorphisms ∂n+1

∂n

∂n−1

∂1

G G G G G BG ∗ : · · · −→ Bn+1 −→ Bn −→ Bn−1 −→ · · · −→B1 −→ B0

(4.1)

where BG n is the free ZG-module freely generated by all n-tuples [g1 |g2 | · · · |gn ] with gi ∈ G for n ≥ 0. In particular, BG 0 is freely generated by the single generator [ ]. The boundary homomorphism is ∂n =

n  G (−1)i di : BG n −→ Bn−1

(4.2)

i=0

where

⎧ i = 0, ⎨g1 [g2 | · · · |gn ] , di [g1 | · · · |gn ] = [g1 | · · · |gi gi+1 | · · · |gn ] , 0 < i < n, ⎩ i = n. [g1 | · · · |gn−1 ] ,

For each n ≥ 0 one defines the homomorphism of free abelian groups G hn : BG n −→ Bn+1 , g [g1 | · · · |gn ] → [g|g1 | · · · |gn ]

(4.3)

It is readily checked that ∂n ∂n+1 = 0 and ∂n+1 hn + hn−1 ∂n = 1 for n ≥ 0 (where we G ∼ set ∂0 = 0, h−1 = 0). Furthermore, BG 0 /im ∂1 = Z. Thus the chain complex B∗ is chain homotopy equivalent to the chain complex with Z in degree 0 and the trivial group in all other degrees. This yields the following. Lemma 4.1.1. The sequence BG ∗ is a free ZG-resolution of Z.

The resolution 4.1 is called the bar resolution for G owing to the notation used for its generators. Definition 4.1.1. For a group G and ZG-module A any G-equivariant homomorphism

f : BG n → A is called a standard n-cochain. The homomorphism f is a standard n-cocycle if f ∂n+1 = 0 and a standard n-coboundary if f = g∂n with g : BG n−1 → A a standard (n − 1)-cochain.

A standard n-cochain f : BG n → A is completely determined by its image on free generators [g1 | · · · |gn ]. We can thus regard f as an arbitrary set-theoretic function f : Gn = G × · · · × G −→ A, ( g1 , . . . , gn ) → f ( g1 , . . . , gn ) = f ([g1 | · · · |gn ]). The condition that f : G × G → A is a 2-cocycle can be expressed as the equation g · f (h, k) + f ( g, hk) = f ( gh, k) + f ( g, h)

(4.4)

for all g, h, k ∈ G. A geometric picture for this 2-cocycle condition is given in Figure 4.1. To interpret the picture consider the group presentation G ∼ = g ( g ∈ G) :

Standard Cocycles | 329 k

ghk

gh

hk

h

g

Figure 4.1 Geometric interpretation of equation 4.4.

g h = gh ( g, h ∈ G) in which each relator corresponds to a pair of elements g, h ∈ G and is viewed as a triangle with oriented edges labelled by g, h, gh and with some label f ( g, h) ∈ A assigned to the interior region of the triangle. The associativity of multiplication in G implies (g h) k = g (h k) and gives rise to a tetrahedral configuration of four triangular relator discs corresponding to the relations g h = gh, gh k = ghk, h k = hk, g hk = ghk. In Figure 4.1 we have written g, gh, . . . in place of g, gh, .... The 2-cocycle condition is that the labels assigned to the interior regions of the triangles must sum to zero. The computation of standard n-cocycles f : Gn → A is relevant to a number of areas of mathematics. In Section 4.2 we recall how, for n = 2, the computation allows one to construct all group extensions A  E  G for which conjugation in E yields the given action of G on A. In Example 4.5.5 we describe a number theoretic application. The computation of 2-cocycles is relevant to topics such as the classical projective representation theory of groups [178] (see Exercises 4.3–4.6) and the combinatorial theory of Hadamard matrices [162] (see Exercises 4.1 and 4.2). The computation of 3-cocycles is relevant to topics in mathematical physics such as quantum groups [85] and Moonshine [121].

330 | Cohomological Group Theory

Suppose that for a given group G and ZG-module A we wish to compute a set of cocycles f : Gn → A representing a generating set for the cohomology group Hn (G, A). If the group G is large or infinite then the module BG n will have a large or infinite set of generators and it is not practical to use data type 3.1.1 to store the bar resolution BG ∗ on a computer. However, it is straightforward to represent the homomorphisms ∂n : BG n → G → BG , h : B as functions that input a suitable representation of an element BG n n n−1 n+1 w ∈ BG n and return ∂n (w), hn (w). To start the cocycle computation we must be able to compute a finitely generated free ZG-resolution R∗G of Z. We then implement the ZGequivariant chain equivalence

G φ∗ : BG ∗ −→ R∗

of Lemma 3.1.2(i) (induced by the identity homomorphism φ = 1 : G → G). The homomorphisms φn are implemented as functions φn ( g1 , . . . , gn ) = φn ([g1 | . . . |gn ]) ∈ RnG . Assuming that RnG is finitely generated over ZG, and that A is finitely generated over Z, we can use elementary linear algebra to find a set X ⊂ HomZG (RnG , A) of n-cocycles f  : RnG → A representing a generating set for the abelian group Hn (G, A). We compose f = f  φn to obtain a set of standard n-cocycles representing cohomology generators. Example 4.1.1. Let G = S5 to be the symmetric group of degree 5 and let U(1) = {z ∈

C : |z| = 1} be the unitary group of complex numbers of modulus 1. To illustrate the above discussion we compute a standard 3-cocycle f : G3 → U(1) representing a random cohomology class in H3 (G, U(1)). As a first step we compute four terms of a free ZGresolution R∗G of Z and note that H2 (G, Z) ∼ = Z2 , H3 (G, Z) ∼ = Z2 ⊕ Z12 . GAP session 4.1.1 gap> G:=SymmetricGroup(5);; gap> R:=ResolutionFiniteGroup(G,4);; gap> Homology(TensorWithIntegers(R),2); [ 2 ] gap> Homology(TensorWithIntegers(R),3); [ 2, 12 ]

The Universal Coefficient Theorem 2.8.1 and Lemma 2.8.2(ii) yield an isomorphism H3 (G, U(1)) ∼ = HomZ (H3 (G, Z), U(1)).

(4.5)

Let A ⊂ U(1) denote the subgroup generated by a primitive 12th root of unity. Then the inclusion induces an isomorphism

Standard Cocycles | 331

HomZ (H3 (G, Z), A) ∼ = HomZ (H3 (G, Z), U(1)).

(4.6)

The Universal Coefficient Theorem implies H3 (G, A) ∼ = Ext(H2 (G, Z), A) ⊕ HomZ (H3 (G, Z), A) ∼ = Z2 ⊕ H3 (G, U(1)).

(4.7)

It thus suffices to find a standard 3-cocycle f : G3 → A which, considered as a cocycle with coefficients in U(1), will represent a random class in H3 (G, U(1)). We identify A∼ = Z12 as the group of integers modulo 12. The command GAP session 4.1.1 gap> R!.dimension(3); 20

shows that R3G is the free ZG-module of rank 20. We can thus represent any 3-cocycle R3G → A as a vector v = (a1 , . . . , a20 ) with ai ∈ A. The cocycle condition can be expressed as a matrix equation (4.8) Mv = 0 mod 12. The (integer) matrix M is obtained from the following command. GAP session 4.1.1 gap> M:=CocycleCondition(R,3);;

A random solution to 4.8 can be found using the following commands. GAP session 4.1.1 gap> Mod4:=NullspaceModQ(TransposedMat(M),4);; gap> Mod3:=NullspaceModQ(TransposedMat(M),3);; gap> v:=Random(Mod4)+Random(Mod3);;

The vector v is converted to a standard 3-cocycle with coefficients in the abelian group Z12 using the following command. GAP session 4.1.1 gap> f:=StandardCocycle(R,v,3,12); function( arg ) ... end

332 | Cohomological Group Theory

The next command computes f (x, y, z) = 2 ∈ Z12 for x = (1, 2, 3), y := (1, 5, 3), z = (2, 3, 4). GAP session 4.1.1 gap> f((1,2,3),(1,5,3),(2,3,4)); 2



4.2 Classification of Group Extensions Consider an arbitrary short exact sequence of groups π

N EG.

(4.9)

We say that E is an extension of G by N and refer to the sequence 4.9 as a group extension. We regard N as a normal subgroup of E. Since the homomorphism π is surjective we can choose a set-theoretic mapping σ : G → E that satisfies π σ ( g) = g for all g ∈ G and, for simplicity, σ (1G ) = 1E . We say that σ is a normalized section to π. The mapping G × N → N, ( g, n) → (σ g)n(σ g)−1

(4.10)

can be viewed as a set-theoretic function ψ : G → Aut(N) with ψ( g) the automorphism N → N, n → (σ g)n(σ g)−1 . We write ψg n = ψ( g)(n). The homomorphism ι : N → Aut(N), n → ιn (x) = nxn−1

(4.11)

is such that its image is normal in Aut(N). The homomorphism ι gives rise to the inner automorphism group Inn(N) = im ι and outer automorphism group Out(N) = Aut(N)/Inn(N). The mapping ψ induces a homomorphism α : G → Out(N), g → ψ( g) Inn(N)

(4.12)

and we say that such an α is induced by the extension 4.9. The function f : G × G → N, ( g, h) → σ ( g)σ (h)(σ ( gh))−1 measures the extent to which σ is not a group homomorphism.

(4.13)

Classification of Group Extensions | 333

Each element e ∈ E can be represented as a product e = n (σ g) with n = eσ (π(e))−1 ∈ N and g = π(e) ∈ G. This decomposition leads us to consider the group N ×f ,ψ G with underlying set the direct product N × G and with group multiplication (m, g)(n, h) = (m ψg nf ( g, h), gh).

(4.14) ∼ =

The multiplication is defined so that there is an isomorphism of groups E → N ×f ,ψ G, e → (eσ (π(e))−1 , π(e)). The functions f : G × G → N, ψ : G → Aut(N) and canonical homomorphism ι : N → Aut(N) satisfy the relationships ψ( g)ψ(h) = ι( f ( g, h) )ψ( gh)

(4.15)

f ( g, h)f ( gh, k) = ψg f (h, k)f ( g, hk).

(4.16)

and

Equation 4.16 follows from associativity {( , g)(m, h)}(n, k) = ( , g){(m, h)(n, k)} in the group N ×f ,ψ G ∼ = E. The multiplication formula 4.14 on the set N × G can be defined for any pair of functions f : G × G → N, ψ : G → Aut(N). This multiplication satisfies the axioms for a group if, and only if, equations 4.15 and 4.16 hold. There is thus a correspondence between pairs (f , ψ) and extensions E of G by N with a prescribed normalized section σ . Given arbitrary groups G, N and an arbitrary homomorphism α : G → Out(G), we are interested in computing all extensions of G by N that induce α. Two such extensions E, E are said to be equivalent if there exists a homomorphism θ : E → E making the diagram >E@ }} @@@ } @@ } @@ }} }> }  N@ G θ ? @@ ?  @@  @@ @   E

commute. Such a homomorphism θ will, of necessity, be an isomorphism and so this notion of equivalence is an equivalence relation. We denote by EX T (G, N, α) the set of equivalence classes of those extensions of G by N that induce α. There is the possibility that no extension of G by N induces the given α. But first, let us suppose that EX T (G, N, α)  = ∅. Fix some extension 4.9 that induces α, fix some nor-

334 | Cohomological Group Theory

malized section σ to π, fix the corresponding function f : G × G → N and let A = Z(N) denote the centre of the group N. The mapping G × A → A, ( g, a) → (σ g)a(σ g)−1 constitutes a well-defined action of G on A and is independent of the choice of σ . We thus regard A as a ZG-module. For any standard 2-cocycle e : G × G → A with coefficients in the ZG-module A we can define the function f  = f + e : G × G → N, ( g, h) → f ( g, h)e( g, h) . This function f  satisfies equations 4.15 and 4.16 (with f  substituted for f in the equations). The cocycle e thus determines an extension N ×f +e,ψ G. A proof of the following result was given by Eilenberg and MacLane in [98] and a fairly detailed sketch proof can be found in [39]. The reader should consult these references for further details. 4.2.1. For groups G, N and homomorphism α : G → Out(N) either EX T (G, N, α) = ∅ or else there is a bijection

Theorem

EX T (G, N, α) N ×f +e,ψ G

↔ H2 (G, A), ↔ [e]

where A = Z(N) and [e] is the cohomology class represented by the 2-cocycle e. We introduce the following definition and data type to facilitate the computer implementation of Theorem 4.2.1. Definition 4.2.1. A G-outer group is a function ψ : G → Aut(N) from a group G to the

automorphism group of a group N that induces a homomorphism α : G → Out(N). We often suppress ψ and simply say that N is a G-outer group. A homomorphism of G-outer groups is a G-equivariant group homomorphism N → N  .

Note that a G-outer group N is just a ZG-module if the group N is abelian. A homomorphism of abelian G-outer groups is just a homomorphism of ZG-modules. Data type 4.2.1. A G-outer group can be represented as a component object N with the

following three components: • N!.ActingGroup is a group G. • N!.ActedGroup is a group N. • N!.OuterAction is a function which, to each g ∈ G and each n ∈ N, returns an element N!.OuterAction( g, n) ∈ N. This function is assumed to induce a homomorphism G → Out(N). The following extra optional component may also be present. • N!.NonabelianCocycle is a function f : G × G → N defined with respect to some extension N  E  G by Equation 4.13. The associated function IsHAPGOuterGroup(N) returns the boolean true when N is of this data type.

Classification of Group Extensions | 335 Example 4.2.1. Consider the Sylow 2-subgroup S = Syl2 (S8 ) of the symmetric

group of degree 8. The derived subgroup N = [S, S] is the nonabelian group N = C2 × D4 of order 16 and the abelianization Sab is the elementary abelian group G = S/N = C2 × C2 × C2 of order 8. The following GAP session constructs the group G and constructs the group N in the form of a G-outer group. The group-theoretic centre A = Z(N) is also constructed in the form of a G-outer group. GAP session 4.2.1 gap> S:=SylowSubgroup(SymmetricGroup(8),2);; gap> N:=DerivedSubgroup(S);; gap> ON := GOuterGroup(S,N);; gap> A := Centre(ON);; gap> G:=ActingGroup(A);; gap> StructureDescription(G); "C2 x C2 x C2" gap> StructureDescription(N); "C2 x D8"

For the given groups G = C2 × C2 × C2 , N = C2 × D8 and homomorphism α : G → Out(N) we consider the problem of computing all extensions N  E  G inducing α. The following continuation of the GAP session uses Theorem 4.2.1 to construct one such group E for each element of EX T (G, N, α) ∼ = H2 (G, A). These extension groups are stored in the form of a cocyclic group explained below in data type 4.2.2. GAP session 4.2.1 gap> R:=ResolutionFiniteGroup(G,3);; gap> C:=HomToGModule(R,A);; gap> CH:=CohomologyModule(C,2);; gap> Elts:=Elements(ActedGroup(CH));; gap> lst:=List(Elts{[1..Length(Elts)]}, x->CH!.representativeCocycle(x));; gap> EXT:=List(lst, x->CcGroup(ON, x));;

The function CcGroup(ON,x), which constructs a cocyclic group from a G-outer group ON and cocycle x, was implemented by Robert F. Morse [216]. The next command uses GAP’s function for identifying the isomorphism type of groups of low order to establish that the eight equivalence classes in EX T (G, N, α) represent six distinct isomorphism classes of groups E.

336 | Cohomological Group Theory

GAP session 4.2.1 gap> List(EXT,IdGroup); [ [ 128, 928 ], [ 128, 929 ], [ 128, 929 ], [ 128, 931 ], [ 128, 930 ], [ 128, 932 ], [ 128, 932 ], [ 128, 933 ] ]

 Data type 4.2.2. A cocyclic group is a format for storing a group E arising as a group

extension. The group E is represented as a component object E with the following three components: • E!.Base is a group G. • E!.Fibre is a G-outer group N with acted group N. • E!.Cocycle is a function f : G × G → N determined by the extension N  E  G and Equation 4.13. The associated function IsHAPCocyclicGroup(E) returns the boolean true when E is of this data type. The cochain complex C in GAP session 4.2.1 is represented using the following data type. Data type 4.2.3. A cochain complex of ZG-modules C0 → C1 → . . . → Cn →

Cn+1 → can be regarded as a sequence of abelian G-outer groups. As such, it is called a G-cocomplex and can be represented as a component object C with the following components: • C!.boundary(n) is a function that returns the homomorphism Cn → Cn+1 of Gouter groups for n > 0. • C!.properties is a list of pairs. The associated function IsHAPGCocomplex(C) returns the boolean true when C is of this data type. An analogous data type of G-complex can be used to represent chain complexes of ZG-modules.

Example 4.2.2. The following continuation of the GAP session 4.2.1 illustrates how we

can convert a standard cocycle to a cohomology class and thus test if cocycles represent distinct cohomology classes in H2 (G, A). The session shows that two of the cocycles representing isomorphic group extensions in Example 4.2.1 correspond to distinct cohomology classes. GAP session 4.2.1 gap> ch:=ActedGroup(CH);; gap> cocycle2:=CH!.representativeCocycle(Elements(ch)[2]); Standard 2-cocycle

Coefficient Modules | 337

gap> cocycle3:=CH!.representativeCocycle(Elements(ch)[3]); Standard 2-cocycle gap> class2:=CohomologyClass(CH,cocycle2); f1*f3 gap> class3:=CohomologyClass(CH,cocycle3); f2*f3 gap> class2=class3; false



4.3 Coefficient Modules Since any ZG-module A is an example of a G-outer group, the data type 4.2.1 can be used to implement cohomology Hn (G, A) for a range of modules A. We give some examples. Example 4.3.1. Any group G and short exact sequence of ZG-modules α

β

ABC give rise to a functorial long exact cohomology sequence αn

βn

γn

→ Hn (G, A) −→ Hn (G, B) −→ Hn (G, C) −→ Hn+1 (G, A) → . The following GAP session constructs the homomorphisms α3 , β3 and γ3 for the symmetric group G = S4 and the short exact sequence of trivial ZG-modules Z/4Z  Z/8Z  Z/2Z. GAP session 4.3.1 gap> G:=SymmetricGroup(4);; gap> x:=(1,2,3,4,5,6,7,8);; gap> a:=Group(xˆ2);; gap> b:=Group(x);; gap> alpha:=GroupHomomorphismByFunction(a,b,y->y);; gap> beta:=NaturalHomomorphismByNormalSubgroup(b,a);; gap> A:=TrivialGModuleAsGOuterGroup(G,a);; gap> B:=TrivialGModuleAsGOuterGroup(G,b);; gap> C:=TrivialGModuleAsGOuterGroup(G,Image(beta));; gap> ALPHA:=GOuterGroupHomomorphism();;

338 | Cohomological Group Theory gap> ALPHA!.Source:=A;; gap> ALPHA!.Target:=B;; gap> ALPHA!.Mapping:=alpha;; gap> BETA:=GOuterGroupHomomorphism();; gap> BETA!.Source:=B;; gap> BETA!.Target:=C;; gap> BETA!.Mapping:=beta;; gap> ALPHA_3:=CohomologyHomomorphism(ALPHA,3);; gap> BETA_3:=CohomologyHomomorphism(BETA,3);; gap> GAMMA_3:=ConnectingCohomologyHomomorphism(BETA,3);;

The following commands agree with the equalities im α3 = ker β3 and im β3 = ker γ3 . GAP session 4.3.1 gap> Size(ImageOfGOuterGroupHomomorphism(ALPHA_3)); 8 gap> Size(KernelOfGOuterGroupHomomorphism(BETA_3)); 8 gap> Size(ImageOfGOuterGroupHomomorphism(BETA_3)); 2 gap> Size(KernelOfGOuterGroupHomomorphism(GAMMA_3)); 2

 Example 4.3.2. Given a ZG-module A, let us say that an automorphism α : G → G

is A-compatible if g · a = (αg) · a for all g ∈ G, a ∈ A. Such an automorphism induces an automorphism Hn (α, A) : Hn (G, A) → Hn (G, A).

Let aut ≤ Aut(G) be a subgroup of the automorphism group of G such that all elements of aut are A-compatible. Then Hn (G, A) is a Zaut-module where α ∈ aut acts via the automorphism Hn (α, A). The following GAP session constructs H3 (G, A) as a Zaut-module for G equal to group number 20 in GAP’s library of groups of order 32, for aut = Aut(G) and for the trivial G-module A = Z/32Z. GAP session 4.3.2 gap> G:=SmallGroup(32,20);; gap> R:=ResolutionFiniteGroup(G,4);;

Crossed Modules | 339 gap> aut:=AutomorphismGroup(G);; gap> gens:=MinimalGeneratingSet(aut);; gap> A:=CyclicGroup(32);; gap> A:=TrivialGModuleAsGOuterGroup(G,A);; gap> C:=HomToGModule(R,A);; gap> H:=CohomologyModule(C,aut,3);;

The following commands show that the elements of H3 (G, Z/32Z) form 16 orbits under the action of Aut(G). GAP session 4.3.2 gap> act:=function(h,a); return H!.OuterAction(aˆ-1,h); end;; gap> Orbits(aut,H!.ActedGroup,act); [ [ of ... ], [ f1, f1*f4, f1*f4*f5, f1*f5 ], [ f2, f2*f5 ], [ f3 ], [ f4 ], [ f5 ], [ f1*f2, f1*f2*f4*f5, f1*f2*f4, f1*f2*f5 ], [ f1*f3, f1*f3*f4, f1*f3*f4*f5, f1*f3*f5 ], [ f2*f3, f2*f3*f5 ], [ f2*f4, f2*f4*f5 ], [ f3*f4 ], [ f3*f5 ], [ f4*f5 ], [ f1*f2*f3, f1*f2*f3*f4*f5, f1*f2*f3*f4, f1*f2*f3*f5 ], [ f2*f3*f4, f2*f3*f4*f5 ], [ f3*f4*f5 ] ]

Note that the standard GAP function Orbits assumes aut acts on the right, and so we  have incorporated an inverse in the action defined by the function act.

4.4 Crossed Modules Theorem 4.2.1 describes part of Eilenberg and MacLane’s classification of group extensions. Their classification also includes a cohomological condition on the groups G, N and homomorphism α : G → Out(N) that is met if, and only if, the set EX T (G, N) is non-empty. The cohomological condition is best explained using the algebraic notion of crossed module which was introduced by J.H.C. Whitehead in his work on combinatorial homotopy theory [290]. In the present section we restrict attention to aspects of crossed modules related to low-dimensional group cohomology. Definition 4.4.1. A crossed module consists of a homomorphism of groups ∂ : M →

P together with a group action P × M → M, (p, m) → p m satisfying: (i) ∂(p m) = pmp−1 and (ii) m m = mm m−1 for all m, m ∈ M, p ∈ P. We say that the crossed module is trivial if ∂m = 1 for all m ∈ M.

A primary example of a crossed module is the group homomorphism ∂ : N → Aut(N), n → ιn arising from any group N, where ιn is the inner automorphism ιn : N → N, x → nxn−1 . A second important example, and the original motivation for Whitehead’s

340 | Cohomological Group Theory

definition, is the boundary homomorphism ∂ : π2 (X, Y) → π1 (Y) from the relative homotopy group of a pair of spaces Y ⊂ X to the fundamental group of Y. This example is treated in Chapter 6. Other examples of crossed modules are: any inclusion N  P of a normal subgroup N  P is a crossed module with P acting on N by conjugation; any ˜ p˜−1 obtained central extension of groups E  P is a crossed module with action p e = pe from any set-theoretic section P → E, p → p; ˜ any ZG-module M is a trivial crossed 0

module ∂ : M → G and vice versa. Definition 4.4.2. The homotopy groups of a crossed module ∂ : M → P are

π1 (∂) = P/im (∂) , π2 (∂) = ker ∂ , πn (∂) = 0 (n ≥ 3). Note that the image of ∂ is a normal subgroup of P and thus π1 (∂) is a well-defined quotient group. Furthermore, the conditions on a crossed module imply that the group π2 (∂) is abelian and that the action of P on M induces an action of π1 (∂) on π2 (∂). Thus π2 (∂) is a Zπ1 (∂)-module. Example 4.4.1. The following GAP session constructs the crossed module ∂ : G → Aut(G) for G = Syl2 (S8 ) and then determines π1 (∂) = Out(G) ∼ = D4 and π2 (∂) = Z(G) ∼ = C2 where D4 is the dihedral group of order 8.

GAP session 4.4.1 gap> G:=SylowSubgroup(SymmetricGroup(8),2);; gap> C:=CrossedModuleByAutomorphismGroup(G);; gap> Pi_1:=HomotopyGroup(C,1);; gap> Pi_2:=HomotopyGroup(C,2);; gap> StructureDescription(Pi_1); "D8" gap> StructureDescription(Pi_2); "C2"

The following data type is used to store the crossed module.



Data type 4.4.1. A crossed module ∂ : M → P can be represented as a component

object C with the following components. • C!.map is the group homomorphism ∂ : M → P. • C!.action is the function α(p, m) = p m ∈ M defined for m ∈ M, p ∈ P. The associated function IsHAPCrossedModule(C) returns the boolean true when C is of this data type. Definition 4.4.3. A morphism of crossed modules consists of two crossed modules

∂ : M → P, ∂  : M → P and two group homomorphisms φ1 : P → P , φ2 : M → M satisfying φ1 ∂(m) = ∂  φ2 (m) and φ2 (p m) = φ1 (p) φ2 (m) for all m ∈ M, p ∈ P. We = often use the notation φ : ∂ → ∂  to denote such a morphism. If φ1 : P → P is the identity then we say that φ2 is a morphism over P.

Crossed Modules | 341

Any morphism φ : ∂ → ∂  induces group homomorphisms π1 (φ) : π1 (∂) → π1 (∂  ) and π2 (φ) : π2 (∂) → π2 (∂  ). Moreover, the induced homomorphisms constitute a 0

0

morphism (π2 (∂) → π1 (∂)) −→ (π2 (∂  ) → π1 (∂  )) of trivial crossed modules and the construction of homotopy groups yields a functor π : (crossed modules) −→ (trivial crossed modules).

(4.17)

Definition 4.4.4. Let ι : X → P be a function from a set X to a group P. A crossed module

∂ : C(X) → P is said to be free on ι if X is a subset of the group C(X) and, for any crossed module μ : M → P and function f : X → M satisfying μf = ι, there exists a unique morphism φ : C(X) → M of crossed modules over P such that the following diagram commutes: C(X)D z= z Dφ z D ∂ zz z D! .  zz f /M X E EE y y EE yy E yy ι EE E"  |yyy μ P

The uniqueness condition in 4.4.4 ensures that any two free crossed modules on ι are isomorphic in the category of crossed modules. We thus talk of the free crossed module on ι. The free crossed module always exists and can be constructed by first forming the free group E on the set P × X and the group homomorphism δ : E → P defined on generators by δ(p, x) = pι(x)p−1 . Each element p ∈ P acts on generators of E by p (p , x) = (pp , x); this extends to a group action of P on E. The equality δ(p e) = pδ(e)p−1 holds for p ∈ P, e ∈ E. However, the second crossed module identity does not hold. The homomorphism δ is an example of the following notion of precrossed module. Definition 4.4.5. A precrossed module consists of a homomorphism of groups δ : M → P

together with a group action P × M → M, (p, m) → p m satisfying: δ(p m) = pmp−1 for all m ∈ M, p ∈ P. For m, m ∈ M the Peiffer commutator m, m is defined by the formula

m, m = mm m−1 (δm m )−1 . The Peiffer subgroup is the subgroup M, M ≤ M generated by all Peiffer commutators.

The following identities hold for all m, m , m ∈ M, p ∈ P, k ∈ ker δ:

m, m m = m, m δm m m, m δm m−1 ,

mm , m = m m , m m−1 m, p

m, m = p m, p m ,

k, m = kmk−1 m−1 , δm −1

k, m m, k = k k

δm

m ,

(4.18) (4.19) (4.20) (4.21)

.

(4.22)

342 | Cohomological Group Theory

Identity 4.19 implies that the Peiffer subgroup M, M is a normal subgroup of M. Identity 4.20 implies that the Peiffer subgroup is preserved by the action of P. Furthermore,

M, M ⊂ ker δ. We thus have an associated crossed module ∂ : M/ M, M → P, m M, M → δ(m). Returning now to the construction of a free crossed module on a function ι : X → P. It is readily verified that the crossed module ∂ : E/ E, E → P associated to the precrossed module δ : E → P possesses the defining universal property of a free crossed module—it is thus the required free crossed module. For any crossed module ∂ : M → P there is an abelianized crossed module ∂ab : Mab → P/[∂M, ∂M], m [M, M] → (∂m) [∂M, ∂M] where Mab = M/[M, M] is the abelianization of the group M, where [∂M, ∂M] = ∂([M, M]), and where the action for the crossed module ∂ab is induced by that for ∂. Note that the action of P on M also induces an action of π1 (∂) on Mab . Thus Mab is a Zπ1 (∂)-module. Lemma 4.4.1. For any crossed module ∂ : M → P there is a quotient morphism of crossed

modules θ : ∂ → ∂ab . The induced homomorphism πn (θ) : πn (∂) → πn (∂ab ) is an isomorphism for n = 1. If P is a free group then it is also an isomorphism for n = 2.

Proof. The existence of the morphism θ of crossed modules and the isomorphism π1 (θ) of first homotopy groups is a routine check. Let R = ∂M. If P is free then any subgroup of P is free by Proposition 1.7.2 and, in particular, R is a free group. There thus exists a group theoretic homomorphism s : R → M for which ∂s = 1P . Hence M can be expressed as a semi-direct product M ∼ = ker ∂  sR. But ker ∂ = π2 (∂) and R acts trivially on π2 (∂). Hence M = π2 (∂) × R and Mab = π2 (∂) × Rab . It follows that  π2 (θ) is an isomorphism. Lemma 4.4.2. Let ∂ : C(X) → P be the free crossed module on a function ι : X → P. Let

G = π1 (∂). Then C(X)ab is the free ZG-module on the set X.

Proof. For convenience set C = C(X) and N = ∂C < P. Let f : X → A be a function to an arbitrary ZG-module A. It suffices to show that there is a unique ZGhomomorphism φ : Cab → A for which the diagram CO ? X

θ

/ Cab

f

 /A

φ

commutes. To establish the existence of a unique such φ we construct the crossed module ∂  : A × N → P with ∂  (a, n) = n and p (a, n) = (p a,p n) where P acts on A

Crossed Modules | 343

via G and on N by conjugation. The function X → A × N, x → (fx, ιx) induces a unique morphism φ : C → A × N of crossed modules over P. This, in turn, induces  the required unique morphism φ : Cab → A. Suppose given a group presentation G ∼ = x | r with F the free group on x and R the normal subgroup of F normally generated by the set r of relators. To allow for the possibility of repeated relators we do not regard r as a subset of F. Rather, we assume that there is a function ι : r → F. The function ι is injective if there are no repeated relators. There is a homomorphism φ : F → G with R = ker φ and G ∼ = F/R. Let ∂ : C(r) → F be the free crossed module on the function ι : r → F. There exists a commutative diagram C(r)



/F

∂2

 / ⊕x ZG

D

θ

 C(r)ab

where ∂2 is the ZG-homomorphism defined in 2.55 and D : F → ⊕x ZG, w → ⊕x ∂w/∂x is the sum of Fox derivatives defined in 2.54. The derivation D restricts to a φ-equivariant group homomorphism D : R → ⊕x ZG (where F acts on R by conjugation). The restriction induces a ZG-equivariant homomorphism D : Rab → ⊕x ZG. Proposition 1.7.2 implies that R is a free group and, hence, that Rab is a free abelian group. It also provides a basis for Rab and one can check that this basis gets mapped injectively by D to a linearly independent subset of the free abelian group ⊕x ZG. Hence D is injective and the commutative diagram ker ∂ /

/ C(r)



/ R

 ker ∂ab /

 / C(r)ab

∂ab

 / Rab 



 / ⊕r ZG

∂2

D / ⊕x ZG

∼ =

ker ∂2

/

∼ =

(4.23)



where the indicated isomorphisms are those of Lemmas 4.4.1 and 4.4.2 yields the following. Lemma 4.4.3 ([290]). There is an isomorphism ker ∂ ∼ = ker ∂2 of ZG-modules.

Suppose given groups G, N and a homomorphism α : G → Out(N). Let A = Z(N) denote the centre of N regarded as a ZG-module with G acting via α. Eilenberg and MacLane defined a cohomology class ηα ∈ H3 (G, Z(N)) with the following property.

344 | Cohomological Group Theory Theorem 4.4.4 ([98]). E XT(G, N, α)  = ∅ if, and only if, ηα = 0.

To define the class ηα using the language of crossed modules we first choose a free presentation Out(N) ∼ = y | s and construct the associated free crossed module ∂ : C(s) → F(y). The quotient homomorphism F(y)  Out(N) lifts to a group homomorphism F(y) → Aut(N) and then to a morphism of crossed modules C(s)



/ F(y)

∂

 / Aut(N)

θ2

θ1

 N

∼ π1 (∂  ) an isomorphism. The induced homomorphism with π1 (θ) : π1 (∂) = π2 (θ) : π2 (∂) → π2 (∂  ) can be regarded as an equivariant homomorphism π2 (θ) : ker ∂ → Z(N). We can construct a free ZOut(N)-resolution of Z which, in low degrees, has the form ∂4

∂3

∂2

∂1

→ C4 → C3 → ⊕s ZOut(N) → ⊕r ZOut(N) → ZOut(N) .

(4.24)

From such a free resolution and Lemma 4.4.3 we obtain a composite homomorphism ∂3 π2 (θ ) η˜ : C3 → ker ∂2 ∼ = ker ∂ −→ Z(N)

(4.25)

from C3 to Z(N). By construction, η∂ ˜ 4 = 0, and so η˜ represents a cohomology class η ∈ H3 (Out(N), Z(N)). The group homomorphism α : G → Out(N) induces a homomorphism of cohomology groups H3 (α) : H3 (Out(N), Z(N)) → H3 (G, Z(N)) which maps the class η to some class ηα ∈ H3 (G, Z(N)). We refer the reader to [98] for details of the proof that ηα has the property described in Theorem 4.4.4. From a computational perspective, the above description of ηα is sufficient to implement this theorem of Eilenberg and MacLane on a computer, though this has not yet been done in HAP. Crossed modules are a useful tool for relating group theoretic constructions involving a group G to homological constructions involving ZG-modules. The following more general notion, introduced by J.H.C. Whitehead [290], is also useful in this regard. Definition 4.4.6. A crossed complex is a sequence of group homomorphisms ∂4

∂3

∂2

· · · →C4 → C3 → C2 → C1

A Five Term Exact Sequence | 345

where 1. 2. 3. 4.

∂n ∂n+1 is the trivial homomorphism for n ≥ 2, ∂2 is a crossed module with G = π1 (∂2 ) say, Cn is a ZG-module for n ≥ 3, ∂n is G-equivariant for n ≥ 3. Note that ker ∂2 is a ZG-module and the equivariance of ∂3 involves this action of G on im ∂3 ≤ ker ∂2 .

The crossed complex is said to be free if C0 is a free group, and ∂1 is a free crossed module, and Cn is a free ZG-module for n ≥ 3. The homotopy groups of the crossed complex are defined as πn (C∗ ) = ker ∂n /im ∂n+1 for n ≥ 2 and π1 (C∗ ) = C0 /im ∂2 . A morphism of crossed complexes φ∗ : C∗ → C∗ is a family of group homomorphisms φn : Cn → Cn , n ≥ 1, such that φ1 , φ2 constitute a morphism of crossed modules inducing a homomorphism α : π1 (C∗ ) → π1 (C∗ ) say, and each φn is an α-equivariant homomorphism of modules for n ≥ 3, where the equation ∂n φn = φn−1 ∂n holds for n ≥ 2. Here α-equivariance means φn ( gx) = α( g)φn (x) for g ∈ G = π1 (C∗ ) and x ∈ Cn . We define a free crossed resolution of a group G to be a free crossed complex C∗ with π1 (C∗ ) = G and πn (C∗ ) = 1 for n ≥ 2. Let  X be the universal cover of a connected CW-space X, with CW structure on  X X in a way that permutes induced from X. The fundamental group G = π1 (X) actos freely  X ) is a chain complex of free ZG-modules. Let us cells. The cellular chain complex C∗ ( suppose that  X has just one orbit of 0-cells under the action of G. Then the quotient CW space X =  X /G has just a single 0-cell and the 2-skeleton X 2 corresponds to a presentation x | r of the group G. In this situation we can use diagram 4.23 to splice together the free crossed module ∂ : C(r) → F(x) and those terms of the chain complex X ) in degrees ≥ 3 to form the free crossed complex C∗ ( X ) → C4 ( X ) → C3 ( X ) → C(r) → F(x). · · · → C5 (

(4.26)

We denote this free crossed complex by ρ∗ (X) and refer to it as the fundamental crossed complex of X. When appropriate we write ρn (X) = Cn (X) for n ≥ 3, ρ2 (X) = C(r), X is contractible then ρ(X) is a free crossed resolution of G. ρ1 (X) = F(x). If 

4.5 A Five Term Exact Sequence Let  X be a contractible CW space with a free action of G that permutes cells and with just a single orbit of 0-cells. Let X =  X /G. For convenience we write the free crossed resolution ρ∗ = ρ∗ (X) as ∂5

∂4

∂3

∂2

ρ∗ : · · · → C4 → C3 → C → F.

346 | Cohomological Group Theory

We define the derived crossed complex ρ∗ = [ρ∗ , ρ∗ ] by setting ρ1 = [F, F], setting ρ2 = [C, F] equal to the subgroup of C generated by the elements c (f c)−1 for c ∈ C, f ∈ F and setting ρn = [Cn , G] equal to the subgroup of Cn generated by the elements c (g c)−1 for c ∈ Cn , g ∈ G, n ≥ 3. The boundary homomorphism and actions for ρ∗ are just restrictions of those for ρ∗ . We have an injective morphism of crossed complexes ρ∗  ρ∗ . Each ρn is a normal subgroup of ρn and we can form the quotient crossed complex ρ∗ab = ρ∗ /[ρ∗ , ρ∗ ], ρ∗ab : · · · → C4 /[C4 , G] → C3 /[C3 , G] → C/[C, F] → F/[F, F], with boundary homomorphisms and actions induced from those of ρ∗ . The crossed complex ρ∗ab can be considered as a chain complex of abelian groups with trivial term in degree 0, and in particular we have πn (ρ∗ab ) = Hn (ρ∗ab ) for n ≥ 1. The following lemma is readily verified, using the fact that Hn (G, Z) = X ) ⊗ZG Z). Hn (C∗ ( Lemma 4.5.1. There is an abelian group isomorphism

πn (ρ∗ab ) ∼ = Hn (G, Z) for n ≥ 1. It is convenient to introduce a free crossed resolution BG ∗ which agrees with the bar resolution BG ∗ in degrees ≥ 3. To do this we consider the presentation x | r of G with x consisting of one generator g for each g ∈ G and r consisting of one relator gh = gh for each pair of elements g, h ∈ G. Let F denote the free group on x and R the normal subgroup of F generated by r. The free crossed module ∂ : C(r) → F has C(r)ab ∼ = G G G ∼ BG 2 and ker(C(r)ab → Rab ) = ker(d2 : B2 → B1 ). We can thus take B∗ to be the free crossed resolution that agrees with BG ∗ in degrees ≥ 3 and agrees with ∂ : C(r) → F in the first two degrees. We refer to BG ∗ as the natural free crossed resolution of G. This construction provides a functor (groups) −→ (free crossed resolutions), G → BG ∗.

(4.27)

Moreover, any surjective homomorphism of groups φ : G  Q induces a morphism of Q free crossed resolutions BG ∗  B∗ that is surjective in each degree. Consequently there is a short exact sequence of chain complexes GQ

ker φ∗

GQ

φ∗

Q

ab  (BG  (B∗ )ab ∗)

that yields, by Proposition 2.3.4, a long exact sequence Q

GQ

Q

ab ab G ab ab · · · → π2 ((BG ∗ ) ) → π2 ((B∗ ) ) → π1 (ker φ∗ ) → π1 ((B∗ ) ) → π1 ((B∗ ) ).

A Five Term Exact Sequence | 347

In view of Lemma 4.5.1 we define GQ

Hn (G  Q , Z) = πn (ker φ∗ )

(4.28)

and rewrite the long exact sequence as · · · → H2 (G, Z) → H2 (Q , Z) → H1 (G  Q , Z) → H1 (G, Z) → H1 (Q , Z).

(4.29)

Sequence 4.29 is functorial in the sense that any commutative square of group homomorphisms G

//Q

 G

 / / Q

with surjective horizontal homomorphisms induces a commutative diagram ···

/ H2 (Q , Z)

/ H1 (G  Q , Z)

/ H1 (G, Z)

/ H1 (Q , Z)

···

 / H2 (Q  , Z)

 / H1 (G  Q  , Z)

 / H1 (G , Z)

 / H1 (Q  , Z).

Proposition 4.5.2. A short exact sequence of groups N  G  Q induces an isomorphism

H1 (G  Q , Z) ∼ = N/[N, G] and functorial five term exact sequence H2 (G, Z) → H2 (Q , Z) → N/[N, G] → H1 (G, Z) → H1 (Q , Z). Proof. The construction in Proposition 2.3.4 of a long exact homology sequence from a short exact sequence of chain complexes extends to give a long exact homotopy sequence from a short exact sequence of crossed complexes. Let K∗ denote the crossed Q complex arising as the kernel of the surjection BG ∗  B∗ . The short exact sequence Q K∗  BG ∗  B∗ induces the long exact sequence Q

Q

π2 (B∗ ) → π1 (K∗ ) → π1 (BG ∗ )  π1 (B∗ ) which can be written as 1 → π1 (K∗ ) → G  Q . It follows that π1 (K∗ ) ∼ = N. The groups BG 1 and B1 are free. So thanks to the Q Q G G surjection B1  B1 we can express B1 = K1  B1 as a semi-direct product. Q

348 | Cohomological Group Theory GQ

Q

Q

We have ker φ1 = K1 /K1 ∩ [K1  B1 , K1  B1 ] = K1 /[K1 , BG 1 ]. It follows that GQ H1 (G  Q , Z) = π1 (ker φ∗ ) ∼  = N/[N, G]. By applying Proposition 4.5.2 to the exact sequence G  G  1 we obtain the isomorphism H1 (G, Z) ∼ = Gab .

(4.30)

By applying Proposition 4.5.2 to a short exact sequence R  F  G in which F is a free group (or, more generally, any group with H2 (F, Z) = 0) we obtain the historically important formula due to Heinz Hopf [161]: H2 (G, Z) =

R ∩ [F, F] . [R, F]

(4.31)

This combinatorial group theoretic formula for the homology of a classifying space BG of a group G was a major motivation in the development of group (co)homology. The formula had previously occurred in work of Issai Schur on projective representations of groups (see Exercises 4.3–4.6). In modern language Schur had observed that, for a finite group G with free presentation G = F/R, H2 (G, C× ) =

R ∩ [F, F] . [R, F]

A non-functorial isomorphism Hn (G, Z) ∼ = Hn (G, C× ) for finite G can be deduced from Theorem 2.8.1. Proposition 4.5.2 and formula 4.31 can be viewed as tools for relating the homological and topological theory of the low-dimensional integral homology of a group to various classical topics in group theory such as projective representations and central extensions. This viewpoint is developed systematically in [23]. In group theory the group H2 (G, Z) is often referred to as the Schur multiplier of G. Hopf ’s formula provides an approach to computing H2 (G, Z) which requires only a finite group presentation x | r for G. Let F = F(x) and let R be the normal subgroup of F normally generated by r. A presentation for the group F/[R, F] is given by

x | [r, x] = 1 (x ∈ x, r ∈ r) .

(4.32)

The Smith Normal Form procedure can be used to determine a basis of the free abelian subgroup R/(R ∩ [F, F]) of F/[F, F]; we can then choose a set b ⊂ R of representatives of the elements of this basis. The choice corresponds to a non-canonical decomposition R R ∼ ⊕ H2 (G, Z). = [R, F] R ∩ [F, F]

A Five Term Exact Sequence | 349

Let B denote the normal subgroup of F normally generated by b. Hopf ’s formula can be reformulated as H2 (G, Z) ∼ = ker(F/[R, F]B  G)

(4.33)

where the group F/[R, F]B has finite presentation

x | [r, x] = 1, b = 1 (x ∈ x, r ∈ r, b ∈ b) .

(4.34)

The group F/[R, F]B was called a Darstellungsgruppe (meaning a presentation group) by Schur. It is often called a covering group or Schur cover in current literature. A group G may admit several non-isomorphic covering groups. If G is finite then each of its covering groups is finite since H2 (G, Z) is finite. Example 4.5.1. The following GAP commands compute a homomorphism f : F/

[R, F]B  G of finitely presented groups for the Coxeter group G = H4 of order 14,400. The function EpimorphismSchurCover(G) was implemented by Werner Nickel and Alexander Hulpke. Since H2 (G, Z) = ker f is an abelian subgroup of F/[R, F]B of index 14,400 we can use GAP’s implementation of Proposition 1.7.2 to construct a finite presentation of H2 (G, Z), and then GAP’s implementation of the Smith Normal Form algorithm to compute H2 (G, Z) ∼ = Z2 . GAP session 4.5.1 gap> D:=[[1,[2,3]],[2,[3,3]],[3,[4,5]]];; gap> L:=CoxeterDiagramFpCoxeterGroup(D);; gap> G:=L[1]/L[2];

gap> f:=EpimorphismSchurCover(G);; gap> H_2:=Kernel(f);; gap> AbelianInvariants(H_2); [ 2 ]

This approach to computing second integral homology of a finite group G can be enhanced by iterating over the prime divisors p | |G| and using Theorem 3.4.3 to compute the p-primary part HG (G, Z)p one prime at a time. A powerful implementation of such an enhancement is due to Derek Holt [160] and is available in the Cohomolo package  [158] for GAP . The application of Proposition 1.7.2 in Example 4.5.1 requires an enumeration of the cosets of the subgroup H = ker(f : F/[R, F]B  G) in the finitely presented group F/[R, F]B. The enumeration is performed using the Todd–Coxeter coset enumeration procedure which we recall below. The procedure needs to input a set of generators for H.

350 | Cohomological Group Theory

One method for finding a generating set (which is not the method employed in Example 4.5.1) is to first use the Smith Normal Form procedure to find a basis for the kernel of the homomorphism ∂2 ⊗Z

⊕r ZG ⊗ZG Z −→ ⊕x ZG ⊗ZG Z, this homomorphism being obtained by tensoring the bottom homomorphism in diagram 4.23. We can then use diagram 4.23 to transport the basis to a generating set for H. The Todd–Coxeter coset enumeration procedure inputs a presentation x | r for a group G and a set h = {h1 , . . . , kk } of words in the generators of G and their inverses. The set h is required to generate a subgroup H < G of finite index n say, but the value of n is an output of the procedure rather than an input. The procedure aims to compute the permutation representation of G on the left cosets of H. More precisely, the procedure aims to output the value of n and a permutation π(x) ∈ Sn for each x ∈ x that defines a homomorphism F(x) → Sn with the properties that, for a word w ∈ F(x): (i) the permutation π(w) is the identity if w is a product of conjugates of relators in r and their inverses; (ii) the permutation π(w) fixes 1 if and only if w is a product of elements of h and their inverses. To perform the procedure we regard a permutation π(w) as a column vector of length n with entry π(w)(i) in the ith row of the vector. The procedure aims to construct three types of table. The generators table is an array of n rows and k columns with entry π(hj )(i) in the ith row and jth column. For each relator r = xi11 xi22 · · · xi

∈ r, i = ±1, there will be j a relator table with n rows and columns and with entry π(xi11 xi22 · · · xij )(i) in the ith row and jth column. For each subgroup generator h = xi11 xi22 · · · xi

there will be a subgroup j generator table with one row and columns and with entry π(xi11 xi22 · · · xij )(1) in the jth column. At the start of the procedure the tables are empty and we have no knowledge of the number of rows in the generators table and the various relator tables. The procedure fills entries in the various tables by either: (i) defining new entries in the generators table and then using these definitions to add entries to the relator tables and subgroup generator tables; or (ii) observing consequences when a row of some relator table or subgroup generator table is completed, and then using these consequences to add further entries to all other tables. A consequence could be consistent with previous definitions in the generators table, or it could contradict previous definitions by giving an inconsistency π(x)(i)  = π(x)(i); in the later case the lesser value of π(x)(i) is deemed to be the correct value and this correction is applied to all tables. Any such correction involves removing a row from the generators table and is called a coset collapse. The following Example 4.5.2 should help to clarify the precise meaning of the three italicized terms in this paragraph. There are many possible strategies for filling the tables, but any strategy that leads to a complete and consistent filling of the tables will yield the required permutation action of G on G/H. One can devise a strategy for which the procedure terminates whenever H is of finite index in G. However, the procedure is not an algorithm for deciding if an arbitrary finite presentation is a presentation of the trivial group or not. A presentation of the trivial group may require the creation of many rows in the tables and then many

A Five Term Exact Sequence | 351

row collapses before terminating. So if the procedure runs for a long time on a particular presentation, there is no way of deciding if it is a presentation of an infinite group for which the procedure will never terminate, or if it is a presentation of a finite group or the trivial group for which the procedure will eventually terminate. A detailed introduction to the Todd–Coxeter procedure can be found in [219]. Example 4.5.2. Consider the finitely presented group G = x, y, z | x2 = y2 = z2 =

(xy)3 = (yz)3 = (xz)2 = 1 and the subgroup H generated by the elements xyx and xz. To enumerate the left cosets G/H we create a generators table, two subgroup generator tables and six relator tables. We start the Todd–Coxeter procedure by setting π(x)(1) = 2 say. This choice has ramifications such as π(x)(2) = 1 and π(y)(2) = 2. The ramifications are recorded in the following tables. Generators table x y z 2 1 2

Subgroup generator tables x y x 1 2 2

1 2

x z 1

1

y x y x y 2 2 1 1 1 2

1 2

1

Relator tables x x 1 2 1 2 1 2 y z y z 1 2 2

y y 1 1 1 2 2 2 y z 1 2

z z x 1 1 1 2 2 2 x z x z 1 2 2 1

1 2

We next choose to set π(z)(1) = 3 and update the tables accordingly. Generators table x y z 2 3 1 2 1 1

Subgroup generator tables 1 2 3

x y x 1 2 2

1

x z 1 3

1

Relator tables x 1 2 3 y 1 2 3

x 2 1 1 2 1 3 z y z

y y 1 2 2 3 y z 3

2 1

1 1 2 3 1 2 3

z z 1 3 2 3 1 x z 1 2 2 1 3

x y x y x y 1 1 2 2 1 2 2 1 1 2 3 3 x z 1 3 1 2 3

1 2 3

At this stage the tables are inconsistent since we have both π(x)(2) = 1 and π(x)(3) = 1. We conclude that coset number 2 must equal coset number 3 and so replace 3 by 2 in the tables. This is an example of a coset collapse.

352 | Cohomological Group Theory

Generators table x y z 2 2 1 2 1

Subgroup generator tables x y x 1 2 2

1 2

x z 1 2

1

y x y x y 2 2 1 1 1 2

1 2

1

Relator tables x x 1 2 1 2 1 2 y z y z 1 2 2

y y 1 1 1 2 2 2 y z 2 1 1 2

z z x 1 2 1 1 2 1 2 2 x z x z 1 2 1 2 2 1

1 2

We next choose to set π(y)(1) = 3 and update the tables. Generators table x y z 2 3 2 1 2 1 3 1 3

Subgroup generator tables 1 2 3

x y x 1 2 2

x z 1 2

1

y x y x y 2 2 1 3 3 1 3 3 1 2 3 1 2 2 1

1 2 3

1

Relator tables x 1 2 3 y 1 2 3

x y y 2 1 1 3 1 2 2 2 3 3 3 1 z y z y 3 3 1 2 2 1 3 3 1 2 2 1

1 1 2 3 z 2 1 3

z z 1 2 2 1 3 3 x 1 1 2 2 3 3

1 2 3 z x 2 1 1 2 3 3

x 1 2 3 z 2 1 3

1 2 3

At this point the tables are consistent and every row of each table is complete. The generator table thus gives the required permutation representation G → S3 . We see that  |G/H| = 3 since the representation is of degree 3. Proposition 4.5.2 can be used to compute the second integral homology of certain infinite families of groups. Suppose that E is a group with normal subgroup T. Set T1 = T, Tn+1 = [Tn , E] and consider the homomorphism ιn : H2 (E, Z) → H2 (E/Tn , Z) induced by the quotient map E  E/Tn . Proposition 4.5.2 implies a short exact sequence (im ιn )  H2 (E/Tn , Z)  Tn /Tn+1 .

(4.35)

Note that ker ιn+1 ≤ ker ιn . If H2 (E, Z) is finite then there must exist an N > 0 such that ker ιn+1 = ker ιn for all n ≥ N, and consequently im ιn = A say for all n ≥ N. If, in

A Five Term Exact Sequence | 353

addition, Tn /Tn+1 is an elementary abelian p-group for all n ≥ N then 4.35 splits and we have the following isomorphisms (cf. [95]) H2 (G/Tn , Z) ∼ = A ⊕ Tn /Tn+1 , (n ≥ N).

(4.36)

Example 4.5.3. Consider the group E arising as the eleventh crystallographic group of dimension 2 in the Carat library, and let T denote its translation subgroup. A hand calculation can be used to establish that Tn /Tn+1 ∼ = Z2 for all n ≥ 1. The following commands then use 4.36 to establish that

H2 (E/Tn , Z) ∼ = Z2 ⊕ Z2 ⊕ Z2 ⊕ Z2 , n ≥ 3. GAP session 4.5.3 gap> e:=Image(IsomorphismPcpGroup(SpaceGroup(2,11)));; gap> R:=ResolutionAlmostCrystalGroup(e,3);; gap> Homology(TensorWithIntegers(R),2); [ 2, 2, 2 ] gap> IsAlmostCrystallographic(e);; gap> T:=Kernel(NaturalHomomorphismOnHolonomyGroup(e));; gap> CS:=[];; Q:=[];; gap> CS[1]:=T;; Q[1]:=e/CS[1];; gap> CS[2]:=CommutatorSubgroup(CS[1],e);; Q[2]:=e/CS[2];; gap> CS[3]:=CommutatorSubgroup(CS[2],e);; Q[3]:=e/CS[3];; gap> GroupHomology(Q[2],2); [ 2, 2, 2 ] gap> GroupHomology(Q[3],2); [ 2, 2, 2, 2 ]



There is a cohomological version of Proposition 4.5.2. For any group G and any abelian group A with trivial action of G we have 2 G ab H2 (G, A) = H2 (HomZG (BG ∗ , A)) = H (HomZ ((B∗ ) , A)).

For any surjective group homomorphism φ : G  Q we have a short exact sequence of cochain complexes

354 | Cohomological Group Theory ∗ φGQ

ab ∗ HomZ ((B∗ )ab , A)  HomZ ((BG ∗ ) , A)  coker(φGQ ). Q

One can check that this short exact sequence leads to the following. Proposition 4.5.3. For any abelian group A, a short exact sequence of groups N  G  Q

induces a functorial five term exact sequence H2 (G, A) ← H2 (Q , A) ← HomZ (N/[N, G], A) ← H1 (G, A) ← H1 (Q , A). By applying Proposition 4.5.3 to a free presentation G = F/R we obtain the cohomological analogue of Hopf ’s formula   H2 (G, A) = coker HomZ (F/[F, F], A) −→ HomZ (R/[R, F], A) .

(4.37)

The group theoretic computation of H2 (G, Z) in Example 4.5.1 can be adapted to a computation of H2 (G, A) using 4.37. Moreover, each cohomology class [ν] ∈ H2 (G, A) can be represented by a group homomorphism ν : R/[R, F] → A and the corresponding group extension A  E  G of Theorem 4.2.1 can be constructed as the quotient E=

(r, ν(r)−1

F/[R, F] × A . : for each generator r of R/[R, F] )

(4.38)

This description furnishes a group presentation for the extension E. Returning to homology we note that T. Ganea [123] obtained the following using topological arguments. Proposition 4.5.4. A short exact sequence of groups N  G  Q , with N central in G,

induces a six term exact sequence γ

N ⊗Z H1 (G, Z) → H2 (G, Z) → H2 (Q , Z) → N/[N, G] → H1 (G, Z) → H1 (Q , Z). Proof. The first five terms of the sequence are those of Proposition 4.5.2. Choose a free group F with normal subgroups R  F, S  F for which R ≤ S, G ∼ = F/S. = F/R, Q ∼ Using Hopf ’s formula the homomorphism H2 (G, Z) → H2 (Q , Z) can be expressed as R ∩ [F, F]/[R, F] → S ∩ [F, F]/[S, F]. Because of the centrality of N the kernel of this homology homomorphism is isomorphic to [S, F]/[R, F]. It can be checked that there is a well-defined surjective homomorphism N ⊗Z Gab → [S, F]/[R, F], sR ⊗  fR[F, F] → [s, f ][R, F]. This proves the proposition. Proposition 4.5.4 is a further tool for relating homological and group theoretic properties. As one illustration we recall the following definition which is useful in deciding if a given group G can be realized as the inner automorphism group G ∼ = Inn(E) of some group E. The question of which groups arise as inner automorphism groups goes back at least as far as Reinhold Baer’s work [13].

A Five Term Exact Sequence | 355 Definition 4.5.1. The epicentre of a group G is the subgroup defined as

Z∗ (G) = {z ∈ Z(G) : γ (z ⊗ g) = 0 for all g ∈ Gab } where Z(G) denotes the centre of G and γ : Z(G) ⊗ Gab → H2 (G, Z) is the map of Proposition 4.5.4. This definition appears for instance in [23]; the name epicentre was introduced in [48]. Using a free presentation G ∼ = F/R and Hopf ’s formula we can equivalently define the epicentre as Z∗ (G) = {z ∈ Z(G) : g˜z˜g˜−1 = z˜ for all g ∈ G}

(4.39)

where g → g˜ is any set theoretic section to the canonical quotient homomorphism F/[R, F]  G. Proposition 4.5.5. [23] The following conditions on a group G are equivalent.

1. Z∗ (G) = 1. 2. There is no non-trivial subgroup N ≤ Z(G) for which the induced homomorphism H2 (G, Z) → H2 (G/N, Z) is injective. 3. G ∼ = Inn(E) for some group E. Proof. The equivalence of conditions 1 and 2 follows directly from Proposition 4.5.4. To see the equivalence between 1 and 3 choose any free presentation G ∼ = F/R. From 4.39 it follows that Z∗ (G) is the image of Z(F/[R, F]) under the canonical map F/[R, F]  G. If Z∗ (G) = 1 then R/[R, F] = Z(F/[R, F]) = ker F/[R, F] → Aut(F/[R, F]). Hence G∼ = Inn(F/[R, F]). = (F/[R, F])/(R/[R, F]) ∼ Conversely, suppose that G ∼ = E/Z(E) for some group E. Choose any = Inn(E) ∼ surjective homomorphism φ : F  E from a free group to E. Let R denote the kernel of the composite homomorphism F  E  E/Z(E) ∼ = G. Then φ induces a surjective homomorphism φ : F/[R, F]  E. This restricts to a homomor−1 phism φ : Z(F/[R, F]) → Z(E). Now φ Z(E) = R/[R, F]. Hence Z(F/[R, F]) = ∗  R/[R, F] and by 4.39 we have Z (G) = 1. Example 4.5.4. A group G is said to be capable if it is the inner automorphism group

G∼ = Inn(E) of some group E. The following GAP session uses an implementation of 4.39 to determine those fifteen of the groups of order 32 that are capable. GAP session 4.5.5 gap> L:=[];; gap> for G in AllSmallGroups(32) do > epicentre:=UpperEpicentralSeries(G,1);

356 | Cohomological Group Theory > if Size(epicentre)=1 then Add(L,IdGroup(G)); fi; > od; gap> L; [[ 32, 2 ], [ 32, 6 ], [ 32, 9 ], [ 32, 13 ], [ 32, 18 ], [ 32, 21 ], [ 32, 22 ], [ 32, 24 ], [ 32, 27 ], [ 32, 28 ], [ 32, 31 ], [ 32, 34 ], [ 32, 39 ], [ 32, 46 ], [ 32, 51 ]]

As this GAP code suggests, the epicentre is the first term in a series of subgroups of G. For a free presentation G ∼ = F/R we define R1 = R, Rn+1 = [Rn , F] and define Zn∗ (G) to be the image in G of the nth term Zn (F/Rn+1 ) of the usual upper central series of F/Rn+1 . For elementary properties of this epicentral series see [48]. If G is nilpotent then so too is F/Rn+1 and the nilpotent quotient algorithm, outlined in Section 1.7, can thus be used  to compute in F/Rn+1 . As another application of Hopf ’s formula we consider the invariant B0 (G) =



ker(H2 (G, C× ) → H2 (A, C× ))

(4.40)

A⊂ab G

of a finite group G where A runs over all abelian subgroups A ≤ G. Using the nonfunctorial isomorphism Hn (G, Z) ∼ = Hn (G, C× ) for finite G arising from Theorem 2.8.1 one can reformulate the intersection 4.40 as a quotient B0 (G) =

H2 (G, Z)

im (H2 (f , Z)) : f ∈ HomZ (C∞ × C∞ , G)

(4.41)

where f : C∞ × C∞ → G ranges over all homomorphisms from the free abelian group on two generators to G. Using Hopf ’s formula one can reformulate 4.41 as B0 (G) = R ∩ [F, F]/[R, F]K = R ∩ [F, F]/K

(4.42)

where G ∼ = F/R is any free presentation and K  F is the normal subgroup of F generated by all commutators [x, y] = xyx−1 y−1 ∈ R, x, y ∈ F. The group B0 (G), as defined in 4.40, was introduced by F. Bogomolov [28] who showed that it coincides with a certain ‘unramified Brauer group’. Following [185] we call B0 (G) the Bogomolov multiplier. This multiplier was used by D.J. Saltman [252] to study the action of a finite group G on the rational function space C(xg : g ∈ G) given by g · xh = xgh . Saltman showed that the fixed field C(xg : g ∈ G)G is rational over C only if B0 (G) = 0. In [251] Saltman gave the first counter-example (for G of order p9 ) to a problem by Emmy Noether on rationality of fields of invariants k(x1 , . . ., xn )G , where k is algebraically closed and G acts on the variables xi by permutations. The formulation of the Bogomolov multiplier given in 4.42 was introduced by Primož Moravec in [214].

The Nonabelian Tensor Product | 357

It was shown in [214] that there are groups G of order p5 , p an odd prime, for which B0 (G) = 0. This corrected a claim in [28] that n = 6 is the smallest power for which a group of order pn , p odd, has non-trivial Bogomolov multiplier. The following example reproduces this correction. Example 4.5.5. The following GAP session uses a version of formula 4.42 to list all

those groups G of order dividing 35 which have non-trivial Bogomolov multiplier. GAP session 4.5.5 gap> for n in [1..5] do > for G in AllSmallGroups(3ˆn) do > if not BogomolovMultiplier(G)=[] then Print(IdGroup(G),"\n"); fi; > od;od; [ 243, 28 ] [ 243, 29 ] [ 243, 30 ]



A more refined algorithm for computing the Bogomolov multiplier of a finite p-group is given in [170].

4.6 The Nonabelian Tensor Product Section 4.5 was devoted to the formula H1 (G  Q , Z) ∼ = N/[N, G] arising from a short exact sequence of groups N  G  Q . In the current section we give an account (based on [108] and [45]) of an analogous formula H2 (G  Q , Z) ∼ = ker(N ∧ G → G)

(4.43)

involving a ‘nonabelian exterior product’ N ∧ G. We then describe an approach (based on [105] and [243]) to computing N ∧ G from presentations of G and N in the case where G is finite or nilpotent. The relative homology Hn (G  Q , Z) is defined in 4.28 Q and can be computed from any surjective chain map R∗G  R∗ of free resolutions of G and Q (see Section 4.8). Our computation of N ∧ G provides a method for calculating H2 (G  Q , Z) which avoids the need for computing a surjection of resolutions.

358 | Cohomological Group Theory

One motivation for studying second relative homology is as a tool for classifying relative group extensions. A sketch of this theory (based on [195]) is given in Section 4.7. Our account of N ∧ G is presented in terms of a ‘nonabelian tensor product’ N ⊗ G and quotient map N ⊗ G  N ∧ G. There is some interest in computing this tensor product in its own right due to a formula π3 (S(BG )) ∼ = ker(G ⊗ G → G)

(4.44)

for the third homotopy group of the suspension of a classifying space BG , where the suspension of a space X is defined as SX = X × [0, 1]/{(x, 0) = (y, 0), (x, 1) = (y, 1) | for x, y ∈ X}.

(4.45)

We do not present any details of isomorphism 4.44 – the interested reader should consult [45]. Let M and N be two groups with an action (m, n) → m n of M on N, and with an action (n, m) → n m of N on M. We assume throughout that each group acts on itself by conjugation x y = xyx−1 , and that the identities mn

−1

m = m (n (m m )) and

nm

−1

n = n (m (n n ))

(4.46)

hold for all m, m ∈ M, n, n ∈ N. The principal example of such actions arises from a group G with two normal subgroups M  G, N  G and all actions given by conjugation in G. Definition 4.6.1. The nonabelian tensor product M ⊗ N is the group generated by the

symbols m ⊗ n for m ∈ M, n ∈ N subject to the relations

mm ⊗ n =(m m ⊗ m n)(m ⊗ n) m ⊗ nn =(m ⊗ n)(n m ⊗ n n )

(4.47) (4.48)

for m, m ∈ M, n, n ∈ N. Definition 4.6.1 was introduced by Ronnie Brown and Jean-Louis Loday in [45] as an aid to calculations involving a van Kampen theorem for low-dimensional relative homotopy groups. The construction G ⊗ G for M = N = G was introduced by Keith Dennis in [83] as part of an investigation of new functors related to algebraic K-theory. Dennis’s work was in turn based on work of Clair Miller [210] on commutator relations and the second integral homology of a group. An algebraic verification of the following lemma, taken from [45], can be derived from identities 4.46 and the defining identities of the tensor product. In the case M = N = G the lemma summarizes the relationship between G ⊗ G and the commutator subgroup [G, G]. Lemma 4.6.1. 





(i) An action of N on M ⊗ N is defined by n (m ⊗ n) = n m ⊗ n n for m ∈ M, n, n ∈ N. (ii) A homomorphism ∂N : M ⊗ N → N is defined by m ⊗ n → m nn−1 .

The Nonabelian Tensor Product | 359

(iii) The action and homomorphism of (i) and (ii) satisfy the axioms of a crossed module. (iv) There is also a crossed module ∂M : M ⊗ N → M, m ⊗ n → mn m−1 with action m (m ⊗ n) = m m ⊗ m n. (v) The identities m −1 t t = m ⊗ ∂N (t) , t n t −1 = ∂M (t) ⊗ n hold for all t ∈ M ⊗ N, m ∈ M, n ∈ N. The second crossed module axiom in Lemma 4.6.1(iii) requires the identity 

[m ⊗ n, m ⊗ n ] = mn m−1 ⊗ m nn−1 .

(4.49)

This is obtained by expanding mm ⊗ nn in two different ways. The second identity in Lemma 4.6.1(v) can be obtained from the following calculation for m ∈ M, n, n ∈ N. ∂M (m ⊗ n) ⊗ n = mn m−1 ⊗ n = m (n m−1 ⊗ n )(m ⊗ n ) = mn (m−1 ⊗ n−1 n n)(m ⊗ n ) = m (m−1 ⊗ n)−1 m (m−1 ⊗ n n)(m ⊗ n )  = (m ⊗ n)m (m−1 ⊗ n )mn (m−1 ⊗ n)(m ⊗ n )  = (m ⊗ n)(m ⊗ n )−1 mn (m−1 ⊗ n)(m ⊗ n )  = (m ⊗ n)n m (m−1 ⊗ n)  = (m ⊗ n)n (m ⊗ n)−1 . The derivation of the first identity in Lemma 4.6.1(v) is obtained similarly. An easy consequence of Lemma 4.6.1 is that M ⊗ N ∼ = Mab ⊗Z Nab is the usual tensor product of Z-modules if M and N act trivially on each other. With isomorphism 4.44 in mind we make the following definition. Definition 4.6.2. For any group G set

J(G) = ker(G ⊗ G → G, x ⊗ y → [x, y] = xyx−1 y−1 ). We refer to J(G) as the Dennis multiplier of the group G. The multiplier J(G) is functorial since any homomorphism of groups φ : G → Q induces a homomorphism G ⊗ G → Q ⊗ Q , g ⊗ g  → φ( g) ⊗ φ( g  ). Moreover, it fits into a five term exact sequence. φ

Proposition 4.6.2. A short exact sequence of groups N  G  Q induces a functorial five

term exact sequence J2 (G) → J2 (Q ) → N/[N, G] → H1 (G, Z) → H1 (Q , Z). Proof. Let K denote the subgroup of G ⊗ G generated by the elements n ⊗ g and g ⊗ n for n ∈ N, g ∈ G. The subgroup K is normal because of Lemma 4.6.1 (i) and (iii). The subgroup K clearly lies in the kernel of the homomorphism φ ⊗ φ : G ⊗ G → Q ⊗ Q , g ⊗ g  → φ( g) ⊗ φ( g  ). Identifying Q = G/N, it is readily checked that the

360 | Cohomological Group Theory

function h : Q × Q → G ⊗ G/K given by h( gN, g  N) = g ⊗ g  K is well-defined and that it induces a homomorphism Q ⊗ Q → G ⊗ G/K. Hence K is the kernel of φ ⊗ φ. We have a short exact sequence of crossed modules / G⊗G / / Q ⊗Q (4.50) K /  N /

 /G

 //Q.

The required exact sequence consists of the first five terms of the long exact homotopy  sequence of of 4.50. Definition 4.6.3. Given a group G with normal subgroups M  G, N  G one defines the

nonabelian exterior product M ∧ N to be the group generated by the symbols m ∧ n for m ∈ M, n ∈ N subject to the relations mm ∧ n = (m m ∧ m n)(m ∧ n), m ∧ nn = (m ∧ n)(n m ∧ n n ), x∧x = 1 for m, m ∈ M, n, n ∈ N, x ∈ M ∩ N.

There is a surjective homomorphism M ⊗ M  M ∧ N whose kernel is preserved by the action g (m ∧ n) = g m ∧ g n of G. Hence Lemma 4.6.1 also holds with the tensor product ⊗ replaced by the exterior product ∧. In particular there is a homomorphism ∂ : M ∧ N → G, m ∧ n → [m, n] satisfying the axioms of a crossed module. To any group G we associate the abelian group M(G) = ker(G ∧ G → G, g ∧ g  → [g, g  ]).

(4.51)

The following result is proved in [210] using different notation. Lemma 4.6.3. [210] For a free product G ∗ H of groups we have

M(G ∗ H) ∼ = M(G) × M(H). Proof. Set F = G ∗ H and let ιG : G → F, ιH : H → F denote the canonical inclusions. Let πG : F  G, πH : F  H denote the canonical projections. There are induced ∧ ∧ inclusions ι∧ G : G ∧ G → F ∧ F, ιH : H ∧ H → F ∧ F and surjections πG : F ∧ F  ∧ ∧ ∧ G ∧ G, πH : F ∧ F  H ∧ H. The inclusions ιG , ιH can be used to construct an ∧ injective homomorphism M(G) × M(H)  M(F), (a, b) → ι∧ G (a)ιH (b). Using the relations of Definition 4.6.3 we can express any element of the exterior product F ∧ F as a product of elements of the form z ( g ∧ g  ), z ( g ∧ h), z (h ∧ g), z (h ∧ h ) with g, g  ∈ G, h, h ∈ H, z ∈ G ∗ H. The following four identities can be derived from 4.6.3.

The Nonabelian Tensor Product | 361

( g  ∧ g  ) = g g  ∧ g g  ,

(4.52)

( g  ∧ g  ) = (h ∧ [g  , g  ])( g  ∧ g  ),

(4.53)

g

( g  ∧ h) = ( gg  ∧ h)(h ∧ g),

(4.54)

h

( g ∧ h ) = (h ∧ g)( g ∧ hh ).

(4.55)

g h

Using these identities, together with four similar identities with g and h interchanged, we can express any element of F ∧ F as a product of elements of the form g ∧ g  , g ∧ h, h ∧ g, h ∧ h with g, g  ∈ G, h, h ∈ H. Let  denote the subgroup of F ∧ F generated by symbols g ∧ h and h ∧ g, g ∈ G, h ∈ H. The identities allow us to ‘commute’ each g ∧ g  to the left and each h ∧ h to the right, yielding an expression w = acb for an ∧ arbitrary element w ∈ F ∧ F, with a ∈ im ι∧ G , b ∈ ιH , c ∈ . In the free product F = G ∗ H we have im ιG ∩ ∂() = 1, im ιG ∩ im ιH = 1 and im ιH ∩ ∂() = 1. Furthermore, ∂() = [ιG G, ιH H] is freely generated by commutators [g, h] with g ∈ G, h ∈ H. Using this freeness and the defining relations of the ∼ =

exterior product it is readily shown that ∂ restricts to an isomorphism ∂ | → [ιG G, ιH H]. Thus, if ∂(w) = 1 ∈ F then ∂(a) = 1, ∂(b) = 1 and ∂(c) = 1. And if  ∂(c) = 1 then c = 1. This proves the lemma. Corollary 4.6.4. [210] For a free group F we have

M(F) = 0. Proof. If F is infinite cyclic then M(F) = 0, owing to the relation xm ∧ xn = 1 which holds for all m, n ∈ Z. For F a finitely generated free group M(F) = 0 by Lemma 4.6.3 and induction. If F has infinitely many free generators then for any a ∈ M(F) we can construct a homomorphism Fn → F from a finitely generated free group Fn with a in the image of the induced homomorphism M(Fn ) → M(F). The corollary thus holds  for F. The proof of Proposition 4.6.2 adapts to a proof of the following lemma. Lemma 4.6.5. A short exact sequence of groups N  G  Q yields a functorial exact

sequence

N ∧ G → G ∧ G  Q ∧ Q → 1.

Theorem 4.6.6. [210] There is a functorial isomorphism

H2 (G, Z) ∼ = M(G) for any group G. Proof. Corollary 4.6.4 and Lemma 4.6.5 imply an isomorphism G ∧ G ∼ = [F, F]/[R, F] for any free presentation G ∼ = F/R. The theorem thus follows from Hopf ’s formula 4.31. 

362 | Cohomological Group Theory

A topological proof of formula 4.43 is given in [45] and a purely algebraic proof is given in [108]. We recall the algebraic proof. It is convenient to associate to any surjective group homomorphism φ : G  Q with N = ker φ the abelian group

M(G  Q ) = ker N ∧ G → G, n ∧ g → [n, g] .

(4.56)

The following theorem is a special case of formula 4.43 and is used to obtain the general case. Theorem 4.6.7. For any short exact sequence of groups R  F  G with F free we have

H3 (G, Z) ∼ = M(F  G). Proof. It suffices to establish a commutative diagram

1

1

1

 M(F  G)

 H3 (G, Z)

1

 / R∧R

1

 / [R, R]

 / [R, F]

 / [R, F]/[R, R]

 1

 1

 1

∼ =

ι

 / R∧F

(4.57)

ψ

 / Rab ⊗ZG IG

/1

δ

/1

in which each row and each column is exact. The bottom row in 4.57 is clearly exact. The leftmost column is exact since the isomorphism R ∧ R ∼ = [R, R] is given by Corollary 4.6.4. The middle column of 4.57 is exact by definition of M(F  G). We now work towards the existence and exactness of the top row in 4.57. Let ρ : F  G denote the surjection with R = ker ρ. Let IG = ker(ZG  Z, ni gi → ni ), ni ∈ Z, gi ∈ G, denote the augmentation ideal. For r ∈ R we let r denote the corresponding coset in the free abelian group Rab = R/[R, R]. For g ∈ G we let g˜ ∈ F denote an arbitrary lift, ρ(g) ˜ = g. The group Rab admits a ZG-module structure with action ˜ g˜−1 . g · r = gr Let Rab ⊗ZG IG be the standard tensor product of ZG-modules. There is a welldefined group homomorphism ψ : R ∧ F  Rab ⊗ZG IG, r ∧ f → r ⊗ (1 − ρf −1 ).

The Nonabelian Tensor Product | 363

The homomorphism ψ is surjective because Rab ⊗ZG IG is readily seen to be generated by elements r ⊗ (1 − g) with g ∈ G, r ∈ Rab . The homomorphism ι is the canonical homomorphism ι : R ∧ R → R ∧ F, r ∧ r → r ∧ r . The injectivity of ι follows from the commutativity of the diagram R∧R  R∧F

∼ =

/ [R, R].  / [R, F].

The image of ι is normal in R ∧ F thanks to identity 4.49. The composite ψι is clearly the trivial homomorphism. So to complete the proof of the exactness of the top row in 4.57 it suffices to show that the homomorphism ψ  : R ∧ F/ι(R ∧ R)  Rab ⊗ZG IG induced by ψ is injective. The group T = R ∧ F/ι(R ∧ R) is abelian because of identity 4.49 which, in the present context, can be expressed as [(r ∧ f ), (r ∧ f  )] = [r, f ] ∧ [r , f  ]. To establish the injectivity of ψ  we construct a G-bilinear map θ : Rab × IG → T. Such a map θ so that θ  is an induces a homomorphism θ  : Rab ⊗ZG IG → T. We construct −1 x =  (1 − g ) with gi ∈ G, i = inverse to ψ  . For (r, x) ∈ Rab × IG we express i i

±1 and then define θ(r, x) to be the coset of (r ∧ g˜i )i in T. The bilinear function θ is well-defined since T is abelian and since, for g ∈ G and r, r , r ∈ R, the identities in Definition 4.6.3 imply r ∧ gr ˜  = r ∧ g˜ modulo ι(R ∧ R), r[r , r ] ∧ g˜ = r ∧ g modulo ι(R ∧ R). The G-bilinearity of θ can be derived from the defining relations of the exterior product. The induced homomorphism θ  is inverse to ψ  and this completes the proof of the exactness of the top row in 4.57. We now turn to the existence and exactness of the rightmost column in 4.57. For any ZG-module B the isomorphism H1 (G, B) ∼ = ker(IG ⊗ZG B → B, ( g − 1) ⊗ b → g · b − b)

(4.58)

is obtained from the definition H1 (G, B) = H1 (R∗G ⊗ZG B) by taking R∗G to be a free ZG-resolution of Z with R0 = ZG. For any free ZG-module RnG there is an isomorphism RnG ∼ = RnG ⊗ZG ZG and, therefore, Hn (G, ZG) = 0 for n ≥ 1. So we can obtain the dimension reduction isomorphism Hn (G, Z) ∼ = Hn−1 (G, IG), n ≥ 2,

(4.59)

by applying Proposition 3.2.3 to the short exact sequence of modules IG  ZG  Z. A further dimension reduction can be obtained by verifying that there is short exact sequence (4.60) Rab  ZG ⊗ZF IF  IG

364 | Cohomological Group Theory

and that the freeness of the group F ensures that ZG ⊗ZF IF is a free ZF-module. So, from Proposition 3.2.3, we get Hn (G, IG) ∼ = Hn−1 (G, Rab ), n ≥ 2.

(4.61)

The isomorphisms 4.58, 4.59 and 4.61 combine to give ˜ −1 g˜−1 ). H3 (G, Z) ∼ = ker(δ : Rab ⊗ZG IG → IG, r ⊗ (1 − g −1 ) → rgr

(4.62)

This establishes the rightmost exact column in 4.57. The commutativity of 4.57 is  readily verified. This completes the proof. In preparation for the proof of isomorphism 4.43 we consider a group G with normal subgroups K, M, N  G where K ≤ M ∩ N. Let K1 denote the image of the homomorphism ι1 : K ∧ N → M ∧ N, k ∧ n → k ∧ n. Let K2 denote the image of the homomorphism ι2 : M ∧ K → M ∧ N, m ∧ k → m ∧ k. Then both K1 and K2 are normal subgroups of M ∧ N, as is their product K1 K2 . The following lemma is readily verified. Lemma 4.6.8. The surjective homomorphism M ∧ N  (M/K) ∧ (N/K), m ∧ n →

mK ∧ nK induces an isomorphism

(M/K) ∧ (N/K) ∼ = (M ∧ N)/K1 K2 . Theorem 4.6.9. Given an exact sequence of groups N  G  Q there is an isomorphism

γ : H2 (G  Q , Z) ∼ = M(G  Q ) where the left-hand side is defined in 4.56 and the right-hand side is defined in 4.28. ρ

Proof. Let R  F  G be a free presentation of G, and let S = ρ −1 (N)  F. It suffices to establish a commutative diagram H3 (G, Z) β2

 M(F  G)

/ H3 (Q , Z) α2

 / M(F  Q )

/ H2 (G  Q , Z) γ

 / M(G  Q )

/ H2 (G, Z) β1

 / M(G)

/ H2 (Q , Z) α1

 / M(Q ) (4.63)

in which the rows are exact and the maps αi , βi are isomorphisms for i = 1, 2. It then follows automatically that γ is an isomorphism. Lemma 4.6.8 gives isomorphisms Q ∧ Q ∼ =F∧ = G ∧ G/ι1 (N ∧ G), G ∧ G ∼ ∼ F/ι1 (R ∧ F) and N ∧ G = S ∧ F/ι1 (R ∧ F). These isomorphisms yield the bottom exact sequence in 4.63. The top exact sequence of 4.63 follows from the definition 4.28 of H2 (G  Q ). The isomorphisms α1 , β1 follow from Theorem 4.6.6. The isomorphisms α2 , β2 follow from Theorem 4.6.7. It just remains to define the homomorphism γ and check commutativity of 4.63. For the definition of γ we consider the natural free crossed resolution BG ∗ . Recall

The Nonabelian Tensor Product | 365

that BG 1 is the free group FG with one free generator g˜ for each element of G, and ∂2 : BG 2 → FG is the free crossed module constructed from the set of relators −1 G ˜  g˜h(gh) for g, h ∈ G. Let us denote by [BG ∗ , G] the crossed subcomplex of B∗ with G G G f [B1 , G] = [FG, FG], [B2 , G] the subgroup of B2 generated by elements xx−1 for G G f ∈ FG, x ∈ BG 2 , and [Bn , G] the submodule of Bn generated by elements g · x − x G for g ∈ G, x ∈ Bn , n ≥ 3. The short exact sequence G G G [BG ∗ , G]  B∗  B∗ /[B∗ , G]

gives rise to a long exact homotopy sequence from which we deduce H2 (G, Z) ∼ = ker(π1 ([BG ∗ , G]) → G),

(4.64)

H3 (G, Z) ∼ = π2 ([BG ∗ , G]).

(4.65) Q

The surjection G  Q induces a surjection [BG ∗ , G]  [B∗ , Q ]. From the long exact homotopy sequence arising from this surjection, together with isomorphism 4.64, we can extract the useful isomorphism H2 (G  Q , Z) ∼ = ker(ker(π1 ([BG ∗ , G])  π1 ([B∗ , Q ])) −→ G). Q

(4.66)

We use 4.64, 4.65 and 4.66 to re-interpret the terms of the top exact sequence in 4.63. Let KN denote the kernel of the canonical surjection FG  FQ . Then elements of H2 (G  Q , Z) are represented, non-uniquely, by elements in ker([FG, FG] ∩ KN → G). Hopf ’s formula implies [FG, FG] ∩ KN = [KN, FG], and Theorem 4.6.7 implies KN ∧ FG ∼ = [KN, FG]. Thus elements of H2 (G  Q , Z) are represented nonuniquely by certain elements in KN ∧ FG. The canonical surjection KN ∧ FG  N ∧ G induces the required homomorphism γ . Commutativity of 4.63 has to be  checked. We now turn to the task of computing M ⊗ N and its quotient M ∧ N. If M and N are both finite then Definition 4.6.1 provides a finite presentation of M ⊗ N involving |M||N| generators and |M|2 |N| + |M||N|2 relators. Furthermore, it can be shown [99] that M ⊗ N is a finite group when both M and N are finite. Thus M ⊗ N could, in principle, be computed by removing any obviously redundant relations from the defining presentation and then applying a coset enumeration procedure. This direct method was used in [44] to obtain machine computations of G ⊗ G for all groups G of order |G| ≤ 30. The large number of generators and relators necessitates an alternative approach for larger groups. We continue with the standing assumptions that M and N are groups acting compatibly on each other and acting on themselves by conjugation. The assumptions are clearly satisfied by any normal subgroups M, N  G of a group G. But it should be noted that the assumptions can also be satisfied by groups M and N not arising as normal subgroups of a common group. To see this consider, for instance, the infinite cyclic groups M = x , N = y generated by x and y and with the compatible actions x y = y−1 , y x = x−1 . There can be no group G with M  G, N  G since that would imply

366 | Cohomological Group Theory

x2 = xy x−1 = xyx−1 y−1 = x yy−1 = y−2 and thus the contradiction x2 = y x2 = x−2 . The conjugation action ρ: M → Aut(M), m → mxm−1 and the action κ: M → Aut(N) combine to form an action ρ ∗ κ : M ∗ N → Aut(M) of the free product M ∗ N on M. For z ∈ M ∗ N and m ∈ M we write z m = ρ ∗ κ(z)(m). There is an analogous action (z, n) → z n of M ∗ N on N. We let J denote the normal subgroup of M ∗ N normally generated by the elements W(z, m, n) = z[m, n]z−1 [z m, z n]−1

(4.67)

for z ∈ M ∗ N, m ∈ M, n ∈ N. In this setting z m and z n denote the action of M ∗ N on M and N respectively and not conjugation in the free product M ∗ N. The inclusion M  M ∗ N and projection M ∗ N  M induce homomorphisms M → M ∗ N/J and M ∗ N/J  M. Hence M  M ∗ N/J is injective and we identify M with its image in M ∗ N/J. We similarly identify N with its image in M ∗ N/J. The following Lemma is due to [130] and is the basis of our method for computing M ⊗ N. Lemma 4.6.10. There is an injective homomorphism φ : M ⊗ N  M ∗ N/J, m ⊗ n →

[m, n] . Proof. Let F denote the free group freely generated by symbols m ⊗ n for m ∈ M, n ∈ N. One can verify that the homomorphism φ  : F → M ∗ N, m ⊗ n → [m, n] sends the defining identities 4.47, 4.48 for M ⊗ N to the subgroup J ≤ M ∗ N normally generated by the elements 4.67. The homomorphism φ is thus well-defined. To prove   injectivity of φ we use the action (n , m ⊗ n) → n m ⊗ n n to form the semi-direct product (M ⊗ N)  N. We define an action of m ∈ M on (τ , n) ∈ (M ⊗ N)  N by m

(τ , n) = (m τ m ⊗ n, n)

and use this to form the semi-direct product ((M ⊗ N)  N)  M. Let ψ  : M ∗ N → ((M ⊗ N)  N)  M be the homomorphism defined by ψ  (m) = (1, 1, m) and ψ  (n) = (1, n, 1). Then ψ  (mnm−1 n−1 ) = (m ⊗ n, 1, 1). Furthermore, it can be checked that ψ  sends the generators of J to the identity element. Thus ψ  induces a homomorphism ψ : M ∗ N/J → ((M ⊗ N)  N)  M. The composite ψφ : M ⊗  N → M ∗ N/J → ((M ⊗ N)  N)  M is injective. Thus φ is injective. From the proof of Lemma 4.6.10 we can extract the following result. Lemma 4.6.11. The homomorphism ∼ =

ψ : M ∗ N/J −→ ((M ⊗ N)  N)  M is an isomorphism.

The Nonabelian Tensor Product | 367

Our strategy for computing M ⊗ N it to apply coset enumeration or a nilpotent quotient procedure to a finite presentation of M ∗ N/J and then use Lemma 4.6.11. Given finite presentations M ∼ = y | s we immediately have a finite presentation = x | r and N ∼ ∼ M ∗ N = x ∪ y | r ∪ s . To obtain a finite presentation of M ∗ N/J we need to identify a finite set of elements in M ∗ N that normally generate J. One such finite set was identified in [105]. This was refined in [206] into the typically much smaller set described in Proposition 4.6.12. Let 1 = M0  M1  · · ·  M = M be a subnormal sequence of subgroups of M, and let 1 = N0  N1  · · ·  N  = N be a subnormal sequence of subgroups of N. Let TMk denote a transversal for Mk−1 in Mk and let HMk /Mk−1 denote a subset of TMk whose image generates Mk /Mk−1 . Similarly TNk denotes a transversal for Nk−1 in Nk and HNk /Nk−1 denotes a subset of TNk whose image generates Nk /Nk−1 . We define LMk = HMk /Mk−1 if Mk /Mk−1 is abelian, and LMk = TMk otherwise. Similarly, we define LNk = HNk /Nk−1 if Nk /Nk−1 is abelian, and LNk = TNk otherwise. Several pages of commutator calculus are used in [206] to establish the following result. We omit the proof. Proposition 4.6.12. Let XM and XN denote generating sets for M and N respectively. Then

the normal subgroup J  M ∗ N is equal to the normal closure in M ∗ N of the elements  W(z, m, n) for z ∈ (∪ k=1 LMk ) ∪ (∪ k=1 LNk ) and m ∈ XM and n ∈ XN .

Example 4.6.1. The following GAP code constructs the class 3 nilpotent quotient G = F/[[[F, F], F], F] of the free group F = F(x, y, z) on three generators. It then uses Lemma 4.6.11 and Proposition 4.6.12 and GAP’s nilpotent quotient algorithm to compute J(G) = ker(G ⊗ G → G) = Z24 .

GAP session 4.6.1 gap> F:=FreeGroup(3);; gap> G:=NilpotentQuotient(F,3);; gap> JG:=ThirdHomotopyGroupOfSuspensionB(G); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

Using the isomorphism between J(G) and the third homotopy group of the suspension of a classifying space π3 (S(B(G))) described in [45], this computation yields  π3 (S(B(G))) ∼ = Z24 . Example 4.6.2. Relative second homology can be used to establish a lower bound on the third homology of a group. Consider, for instance, the group Q arising as the 85th group of order 128 in GAP’s library of small groups. This group is a central quotient Q = G/Z(G) with G the 428th group of order 256 in GAP’s library. The following GAP computations of

368 | Cohomological Group Theory

H2 (G, Z) = 0 and H2 (G, Z(G), Z) ∼ = Z2 ⊕ Z 2 establish the lower bound

|H3 (Q , Z)| ≥ 4.

These computations are obtained using Lemma 4.6.11 and Proposition 4.6.12 and GAP’s nilpotent quotient algorithm. We remark that the second relative homology H2 (G, N, Z) if sometimes referred to as the relative Schur multiplier. GAP session 4.6.2 gap> G:=SmallGroup(256,428);; gap> Q:=G/Center(G);; gap> IdGroup(Q); [ 128, 85 ] gap> RelativeSchurMultiplier(G,G); [ ] gap> RelativeSchurMultiplier(G,Center(G)); [ 2, 2 ]



For other methods of computing nonabelian tensor squares of polycyclic groups see [217] and [97].

4.7 Crossed and relative group extensions Let Q be a group and let A be a ZQ -module. A crossed extension of Q by A is an exact sequence ι



ρ

0 → A −→ M −→ G −→ Q → 1

(4.68)

in which ∂ : M → G is a crossed module, and in which the action of Q on A coincides with that induced by the action of G on M. For a fixed surjective group homomorphism ρ : G  Q with kernel N we follow Loday [195] in regarding a crossed extension of the form 4.68 as a relative extension of the pair (G, N) by the ZG/N-module A. A relative extension of the pair (G, G) coincides with the notion of a central extension A  M  G of the group G by an abelian group A. The classification of abelian group extensions A  E  Q in terms of H 2 (Q , A) (see Theorem 4.2.1) has an analogue for crossed extensions due to Holt [159], Huebschmann [166] and Ratcliffe [241] and an analogue for relative extensions due to Loday [195].

Crossed and relative group extensions | 369

In this section we give the precise statement of these two analogues. They provide a link between cohomology of groups and material on homotopy 2-types developed in the following chapter. We omit all proofs in this section and refer the reader to the relevant literature. We begin with the classification of crossed extensions. The crossed extension 4.68 is said to be elementary Yoneda equivalent to the crossed extension ι

ρ

∂

0 → A −→ M −→ G −→ Q → 1

(4.69)

if there exists a commutative diagram M ~? ι ~~~ ~~ ~~ φ2 A? ?? ?? ? ι ?  M



/G

@@ @@ ρ @@ @@

(4.70)

Q ?      ρ  / G φ1

∂

in which φ1 , φ2 constitute a morphism of crossed modules. Let us write ∂ ↔ ∂  to denote that either 4.68 is elementary Yoneda equivalent to 4.69 or that 4.69 is elementary Yoneda equivalent to 4.68. We can then define the crossed extension 4.68 to be Yoneda equivalent to the crossed extension 4.69 if there exists some sequence ∂ ↔ ∂1 ↔ ∂2 ↔ · · · ↔ ∂n ↔ ∂ 

(4.71)

of elementary Yoneda equivalences. Yoneda equivalence is an equivalence relation on the set of all crossed extensions of the fixed group Q by the fixed ZQ -module A. Let C EXT(Q , A) denote the set of Yoneda equivalence classes of crossed extensions of the group Q by the ZQ -module A. Three independent proofs of the following result can be found in [159], [166] and [241]. An appendix to [159] by Saunders MacLane explains the historical development of ideas that led to this group theoretic interpretation of the third cohomology of a group Q with coefficients in A. Theorem 4.7.1. [159, 166, 241] There is a bijection

H3 (Q , A) ∼ = C EXT(Q , A). In the case where G = Aut(M), ∂ : M → Aut(M), m → ιm (x) = mxm−1 , Q = Out(M), A = Z(M) we have seen in 4.25 how the crossed extension 4.68 gives rise to a cohomology class in H3 (G, A). This construction of a cohomology class in fact works for an arbitrary crossed extension 4.68 and is the basis of Theorem 4.7.1.

370 | Cohomological Group Theory

Let us now fix a surjective homomorphism ρ : G  Q and set N = ker ρ. Furthermore, let us suppose that G = G, ρ  = ρ in 4.69. We say that the relative extension 4.68 of the pair (G, N) is Yoneda equivalent to the relative extension 4.69 if there exists a Yoneda elementary equivalence 4.70 in which φ1 : G → G is the identity homomorphism. In such a Yoneda elementary equivalence the homomorphism φ2 is necessarily an isomorphism. This notion of Yoneda equivalence is an equivalence relation on the set of relative extensions of the pair (G, N) by the ZG/N-module A. We denote by C EXT(G  Q , A) the Yoneda classes of relative extensions of (G, N) by A. The surjection ρ : G  Q induces a surjective chain map of bar resolutions ρ∗ : BG ∗  Q B∗ . This in turn induces an injective cochain map Q

ρ∗A : HomZQ (B∗ , A) → HomZG (BG ∗ , A). For n ≥ 0 we define the relative cohomology group Hn (G  Q , A) = Hn (coker(ρ∗A ))

(4.72)

(cf. Definition (4.8.1)). The following is proved in [195]. Theorem 4.7.2. [195] There is a bijection

H2 (G  Q , A) ∼ = C EXT(G  Q , A). When Q acts trivially on A the Universal Coefficient Theorem 2.8.1 implies a nonfunctorial isomorphism Hn (G  Q , A) ∼ = Ext(Hn−1 (G  Q , Z), A) ⊕ HomZ (Hn (G  Q , Z), A).

(4.73)

Computations on C EXT(G  Q , A) can be obtained using isomorphism 4.73, Theorem 4.7.2 and computations of relative integral homology Hn (G  Q , Z), n = 1, 2. Example 4.7.1. The following GAP computations, in conjunction with 4.73, deter-

mine the number of Yoneda classes of relative extensions |C EXT(G  Q , A)| = 8 for G = D32 the dihedral group of order 64, Q = G/Z(G) the dihedral group of order 32, the canonical quotient G  Q , and the abelian group A = Z2 . GAP session 4.7.1 gap> G:=DihedralGroup(64);; gap> N:=Center(G);; gap> RelativeSchurMultiplier(G,N); [ 2, 2 ] gap> AbelianInvariants(N/CommutatorSubgroup(G,N)); [ 2 ]



More on Relative Homology | 371

4.8 More on Relative Homology Let G be a group with normal subgroup N  G, and set Q = G/N. Let A be a ZQ -module Q which we also view as a ZG-module. Let R∗G be a free ZG-resolution of Z, R∗ a free ZQ -resolution of Z, and assume that the quotient homomorphism φ : G  Q induces a Q φ-equivariant surjection of chain complexes φ∗ : R∗G  R∗ . This assumption holds, for Q instance, if we take R∗G and R∗ to be the bar resolutions. But there are also other ways to ensure the surjectivity of φ∗ . Q ,A Q Set C∗G,A = R∗G ⊗ZG A and C∗ = R∗ ⊗ZQ A. Then φ∗ induces a surjective homoQ ,A G,A morphism of chain complexes φ ∗ : C∗ → C∗ . Now set G→Q ,A

C∗

= ker(φ ∗ ).

Definition 4.8.1. We define the relative homology G→Q ,A

Hn (G → Q , A) = Hn (C∗

)

for n ≥ 0. To see that this definition is independent of the choice of resolutions (and thus consistent Q with 4.28 above), let us suppose that R∗G and R∗ are, say, the canonical bar resolutions Q and that SG ∗ and S∗ are other free ZG- and ZQ -resolutions of Z for which φ induces a Q surjection φ∗ : SG ∗  S∗ . The identity maps 1 : G → G and 1 : Q → Q induce equivQ Q Q Q G G ariant chain maps ψ∗ : R∗G → SG ∗ and ψ∗ : R∗ → S∗ . The induced maps ψ∗ and ψ∗ are not unique, but they are unique up to equivariant chain homotopy. The diagram of chain maps R∗G

φ∗

(4.74) Q

ψ∗G

 SG ∗

/ / R∗Q

φ∗



ψ∗

/ / SQ ∗

does not automatically commute. However, working inductively by degree and using the Q Q Q surjectivity of φ∗ , the freeness of S∗ and the exactness of R∗ , the chain map can ψ∗ can be modified up to equivariant chain homotopy to ensure that diagram 4.74 does  Q ,A Q G→Q ,A = S∗ ⊗ZQ A and C∗ = ker(φ ∗ ). commute. Now set C∗G,A = SG ∗ ⊗ZG A, C∗ The commutative diagram 4.74 induces a commutative diagram / Hn (G, A) ∼ =

 / Hn (G, A)

/ Hn (Q , A) ∼ =

 / Hn (Q , A)

/ Hn (G → Q , A) 

αn

/ Hn (C∗G→Q ,A )

/ Hn−1 (G, A) ∼ =

 / Hn−1 (G, A) (4.75)

in which the rows are exact, and the indicated vertical arrows are isomorphisms. It follows that αn is an isomorphism, and that Definition 4.8.1 does not depend on the choice of resolutions involved.

372 | Cohomological Group Theory

For machine computations it is convenient to use a particular choice of resolution R∗G , ˜ ∗Q constructed from a free ZN-resolution namely the twisted tensor product R∗G = R∗N ⊗R Q R∗N of Z and a free ZQ -resolution R∗ of Z using Proposition 3.3.4. Let us recall some details. The construction of the twisted tensor product uses information in the short exact sequence N  G  Q . In the special case when G = N × Q is the direct product, the Q twisted tensor product is just the usual tensor product R∗G = R∗N ⊗Z R∗ with both R∗N Q and R∗ considered as chain complexes of free abelian groups. The ‘diagonal action’ of q p G = N × Q on R∗G leads to there being one free generator ei ⊗ fj of the free ZG-module q p RnG for each free generator ei of the ZN-module RpN and each free generator fj of the ZQ Q

module Rq with p + q = n. In the general case when G is an arbitrary extension N  q p G  Q the twisted tensor product has precisely the same generators ei ⊗ fj and a free G-action; the only difference in the general case is that the boundary homomorphism is different (‘perturbed’) from that in the direct product case. ˜ ∗Q the surjection φ ∗ : C∗G,A  C∗Q ,A becomes easier to analyse. For With R∗G = R∗N ⊗R simplicity we consider the case A = Z. The complex C∗G,Z = R∗G ⊗ZG Z of free abelian q p p groups has one free abelian group generator ei ⊗ fj for each free generator ei of the ZNq

Q

module RpN and each free generator fj of the ZQ -module Rq with p + q = n, p ≥ 0, q ≥ q p 0. The kernel ker(φ ∗ ) is generated by those free generators ei ⊗ fj with p > 0. Using the ˜ ∗Q it is routine to compute the chain HAP implementation of the resolution R∗G = R∗N ⊗R complex ker(φ ∗ ) and thus the relative homology defined in 4.8.1. Example 4.8.1. The following GAP session computes the relative homology

H6 (G, N, Z) ∼ = Z26 2 ⊕ Z2 for G the Sylow 2-subgroup of the Mathieu group M12 and N = [G, G]. GAP session 4.8.1 gap> G:=SylowSubgroup(MathieuGroup(12),2);; gap> N:=DerivedSubgroup(G);; gap> RelativeGroupHomology(G,N,6); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ]



≤ G is a subgroup of finite index |G : H| and that R∗G

˜ ∗Q = R∗N ⊗R

Suppose that H is the twisted tensor product. This resolution can be viewed as a free ZH-resolution of Z. Let us define N0 = N ∩ H, Q 0 = H/N0

Exercises | 373

so that we have a short exact sequence and embedding φ

N0  H  Q 0 ,

Q0 ≤ Q .

The map φ  : H  Q 0 induces a chain map 

Q ,Z

Q

φ ∗ : C∗H,Z = R∗G ⊗ZH Z −→ C∗ 0 = R∗ ⊗ZQ 0 Z and we define H→Q 0 ,Z

C∗



= ker(φ ∗ ).

The following Lemma is just an observation. G→Q ,Z

≤ C∗G,Z , CH→Q 0 ,Z ≤ C∗H,Z , and the chain map G→Q ,Z defined in 3.20 restricts to a chain map tr∗ : C∗ −→

Lemma 4.8.1. We have C∗

tr∗ : C∗G,Z −→ C∗H,Z H→Q 0 ,Z C∗ .

G→Q ,Z

The chain map tr∗ : C∗

H→Q 0 ,Z

−→ C∗

induces a transfer homomorphism

tr : Hn (G → Q , Z) −→ Hn (H → Q 0 , Z) for which the composite tr

Hn (G → Q , Z) −→ Hn (H → Q 0 , Z) −→ Hn (G → Q , Z) is multiplication by the index |G : H|.

4.9 Exercises 1. An n × n matrix H is said to be Hadamard of order n if each entry is either +1 or −1 and HHt = nI. Examples of orders 1, 2 and 4 include

+



⎛ + + + ⎜ + ⎜ , + − ⎝+ +

 ,



+ + − −

+ − + −

⎞ + −⎟ ⎟. −⎠ +

Note that the Hadamard property is preserved if we: change all signs; permute rows; permute columns. Two Hadamard matrices are deemed to be equivalent if one can be obtained from the other by a sequence of such operations. See [151]

374 | Cohomological Group Theory

for applications of Hadamard matrices to statistical design theory, coding theory, spectrometry and other areas. If Hn is a Hadamard matrix of order n then 

Hn Hn

Hn −Hn



is a Hadamard matrix of order 2n. More generally, the tensor product Hm ⊗ Hn of two Hadamard matrices Hm , Hn is Hadamard of order mn. The Hadamard Conjecture asserts that there exists a Hadamard matrix of order 4t for all integers t ≥ 1. Currently it is not known if there exists a Hadamard matrix of order 668 = 4 × 167. (a) Prove that a Hadamard matrix H must have order 1, 2 or 4t. (Hint: Suppose that H has order ≥ 3. Transform H so that its first three rows are of the form ⎛



a

  ⎜ ⎜ + ... + + ⎜ ⎜ + ... + + ⎜ ⎜ + ... + − ⎜ . ⎜ . ⎝ .

b

  ... + + ... + − ... − +

  ... + + ... − − ... + − c

⎞ d   ... + ⎟ ⎟ ⎟ ... − ⎟ ⎟ ... − ⎟ . .. ⎟ ⎟ . ⎠

Then use orthogonality of rows to show that a = b = c = d.) (b) Perform an exhaustive computer search to establish that there are precisely 1, 8 and 768 Hadamard matrices of orders 1, 2 and 4 respectively. (c) Show that there is precisely one Hadamard matrix, up to equivalence, for each of the orders 1, 2 and 4. (d) Construct thousands of random matrices of order 8 with ±1 entries, and observe that (most likely) none of them are Hadamard. (e) To each Hadamard matrix H of order n one can construct a graph (H) on 4n vertices v1 , . . . , vn , v1 , . . . vn , w1 , . . . , wn , w1 , . . . wn . If Hij = 1 then there are edges {vi , wj } and {vi , wj }; otherwise there are edges {vi , wj } and {vi , wj }. Convince yourself that two Hadamard matrices are equivalent if and only if their graphs are isomorphic. A proof is given in [207]. The Grape package [270] for GAP contains a function GraphIsomorphism(A,B) for testing isomorphism of graphs. 2. Let G be a finite group of order n with some fixed ordering g1 , g2 , . . . , gn of its elements. Let C2 = {−1, 1} be the multiplicative group of order 2 considered as a trivial ZG-module. Let f : G × G → C2 be a 2-cocycle. Then f determines the n × n matrix Mf = (mij ) with mij = f ( gi , gj ). This matrix is referred to as a cocyclic

Exercises | 375

matrix (see for instance [80]) and is said to be a cocyclic Hadamard matrix in cases where it is Hadamard. Unfortunately, it is possible for two cocycles f , f  to represent the same cohomology class in H2 (G, C2 ) with Mf Hadamard and with Mf  not Hadamard. Recall that f and f  represent the same class if and only if there is a set-theoretic function φ : G → C2 giving rise to a boundary 2-cocycle b( g, h) = φ( g)φ(h)φ( gh)−1 satisfying f  ( g, h) = f ( g, h)b( g, h).

(4.76)

The function RepresentativeCocyclicMatrices(G) inputs a finite group G and returns a list of cocyclic matrices Mf1 , …, Mfk , one for each cohomology class [ fi ] ∈ H2 (G, C2 ) with fi some arbitrarily chosen representative cocycle. The function CocyclicHadamardMatrices(G) inputs a finite group G and first finds one cocyclic matrix Mf for each class [ f ] ∈ H2 (G, C2 ). Then, for each set-theoretic function φ : G → C2 , it computes the cohomologous 2-cocycle f  of (4.76). It tests to see if Mf  is Hadamard. The function returns a list of all cocyclic Hadamard matrices constructed in this way. (a) For each group G of order 16 apply the function CocyclicHadamardMatrices(G) to find all cocyclic Hadamard matrices over G. How many nonequivalent Hadamard matrices of order 16 does this calculation yield? (b) Construct a Hadamard matrix for each of the orders 2, 4, 8, 12, 16, 20, 24. 3. A group homomorphism ρ : G → PGLn (C) is said to be an n-dimensional projective representation of G. Any linear representation ρ˜ : G → GLn (C) induces a projective representation ρ = π ρ˜ where π : GLn (C)  PGLn (C) is the canonical surjective homomorphism with central kernel ker π ∼ = C∗ consisting of the non-zero scalar multiples of the identity matrix. Let s : PGLn (C) → GLn (C) be some fixed set-theoretic function satisfying πs = 1. The following three exercises summarize classical results of Schur. (a) Any projective representation ρ gives rise to a 2-cocycle fρ : G × G → C∗ , ( g, h) → sρ( g) sρ(h)(sρ( gh))−1 . Use Theorem 4.2.1 to show that ρ is induced by a linear representation ρ˜ if and only if fρ represents the trivial element in H2 (G, C∗ ). (b) Use the Universal Coefficient Theorem 2.8.1 to establish a (non-functorial) isomorphism H2 (G, C∗ ) ∼ = H2 (G, Z) for any finite group G. (c) Let G be a finite group. A covering group G∗ for G is any group that fits into π∗

an extension A  G∗  G with A ∼ = H2 (G, Z) and A ⊂ [G∗ , G∗ ] ∩ Z(G∗ ). Formula (4.33) shows that every finite group admits at least one covering group. Prove that any projective representation ρ : G → PGLn (C) lifts to a linear representation ρ ∗ : G∗ → GLn (C) with ρπ ∗ = πρ ∗ . 4. Prove that any projective representation of the Mathieu group M23 is induced by a linear representation.

376 | Cohomological Group Theory

5. Let G = Sp4 (F2 ) be the group of 4 × 4 symplectic matrices over the field of two elements. Determine all possible covering groups G∗ . (One approach is to determine all central extensions H2 (G, Z)  E  G and retain those E which are covering groups.) 6. Fix N > 0. The discrete Fourier transform converts a sequence of complex numbers x0 , . . . , xN−1 into a new sequence y0 , . . . , yN−1 defined by yk =

N−1 

xn e−2πi kn/N .

n=0

We denote this transform by F and regard it as an automorphism F : CN → CN . Define S to be the shift automorphism S : CN → CN , (x0 , x1 , . . . , xN−1 ) → (z0 , . . . , zN−1 ) where zk = xk e−2πi k/N . Finally define the composite automorphism P = F ◦ S ◦ F −1 . (a) Verify that P N = S N = 1 and that PS is a scalar multiple of SP . (b) Let G = ZN × ZN be the abelian group whose elements we identify with pairs of integers (a, b). Observe that G has a projective representation ρ defined by ρ(a, 0) = P a and ρ(0, b) = S b . Prove that ρ does not lift to a linear representation of G. Determine the covering group G∗ and describe a linear representation ρ ∗ of G∗ that induces ρ. 7. For any group G with centre Z(G) there is a well-defined function c : G/Z(G) × G/Z(G) → [G, G], ( gZ(G), g  Z(G)) → [g, g  ]. Two groups G and H are said to ∼ =

be isoclinic if there is an isomorphism of commutator subgroups ψ : [G, G] → ∼ =

[H, H] and an isomorphism of central quotients φ : G/Z(G) → H/Z(H) such that ψc( gZ(G), g  Z(G)) = c(φ( gZ(G)), φ( g  Z(G))). The notion of isoclinism was introduced by Philip Hall [148]. (a) Verify that isoclinism is an equivalence relation. (b) Show that isoclinic groups have isomorphic Bogomolov multipliers. (This was first observed in [213].) (c) The function IsoclinismClasses(L) inputs a list L of finite p-groups and returns a partition of L into isoclinism classes. The implementation is a little slow, but there is a speedier function PartialIsoclinismClasses(L) which returns a partition in which all groups in a class are isoclinic but groups in distinct classes may also be isoclinic. Use this latter function to determine all groups of order 36 which have a non-trivial Bogomolov multiplier. 8. Let G be a finite group of prime-power order pn , let M(G) denote its Schur multiplier and define t = n − logp (M(G)). We refer to t as the corank of G. (a) Use Proposition 4.5.4 to prove the bound |M(G)| ≤ pn(n−1)/2 due to J.A. Green [139]. Hence G has corank t ≥ 0.

Exercises | 377

(b) Use Proposition 4.5.4 and, more generally, the structure of the relative homology group Hn (G, N) in dimensions n = 1, 2 to prove: t = 0 iff G is elementary abelian; t = 1 iff G is cyclic of order p2 or ∼ = E1 (extraspecial of order p3 and odd exponent p); t = 2 iff G ∼ = Cp × Cp2 or G ∼ = Cp × E1 or G∼ = D4 (dihedral of order 8); t = 3 iff G ∈ {Cp3 , Cp × Cp × Cp2 , Q4 , E2 , D4 × C2 , E1 × Cp × Cp }. Here, Q4 is quaternion of order 8 and E2 is extraspecial of order p3 and odd exponent p2 . (A full solution to this exercise is given in [109]. The cases t = 0, 1 were treated earlier, using a different approach, in [22] and the case t = 2 was treated using a different method in [298]. The cases t = 4, 5 are handled in [179].) (c) Let γ1 G = G, γn+1 G = [γn G, G] and verify that H2 (G/γ3 , γ2 G/γ3 G) ∼ = γ2 G/γ3 G ⊗Z Gab . Use the Jacobi–Hall–Witt identity to construct a homomorphism  : Gab ⊗Z Gab ⊗Z Gab → H2 (G/γ3 , γ2 G/γ3 G) x ⊗ y ⊗ z → [x, y] ⊗ z + [y, z] ⊗ x + [z, x] ⊗ y whose expression here involves a slight abuse of notation. (d) The homomorphism  is used in [111] to determine an upper bound |G| ≤ f (t) for t ≥ 1 with f (t) a function of the corank. Hence for any given t ≥ 1 there are only finitely many groups of corank t.

5

Cohomology of Homotopy 2-types

This chapter develops computational methods for investigating a generalization of the cohomology of groups in which the homology Hn (G, Z) = Hn (BG, Z) of the classifying space of a group is replaced by the homology Hn (G , Z) = Hn (BG , Z) of the classifying space of a crossed module. Section 1 relates material from previous chapters to the aims of the present chapter. Whitehead’s notion of the fundamental crossed module of a CW-space is introduced in Section 2. For 2-dimensional spaces ˜ In X this notion captures the equivariant structure of the cellular chain complex C∗ X. order to illustrate the calculational value of this equivariant chain complex we digress in Subsection 2.1 to give a paper-and-pen homotopy classification of maps from a surface to the projective plane. Crossed modules provide a means of representing the homotopy type of a connected space X with trivial homotopy groups πn X = 0 in dimensions n > 2. This motivates the goal of Section 3: a homotopy classification of finite crossed modules of low order. This section uses HAP functions whose mathematical basis is explained in subsequent sections. Simplicial groups are introduced in Section 4, where it is explained that a crossed module is equivalent to a simplicial group with Moore complex of length 2. The classifying space of a crossed module is defined in terms of an associated simplicial group. Thus the (co)homology of crossed modules is a special case of the (co)homology of simplicial groups and at the same time a generalization of the (co)homology of groups. The homological perturbation lemma is described in Section 5, and used in Section 6 to compute the homology of crossed modules.

5.1 Outline We begin with a recap of the preceding chapters. For spaces Z, X with preferred basepoints z0 ∈ Z, x0 ∈ X let [(Z, z0 ), (X, x0 )] = { f : Z → X| f (z0 ) = x0 }/ 

An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

380 | Cohomology of Homotopy 2-types

denote the set of homotopy classes of pointed maps from Z to X, where homotopies are required to preserve base-point. That is, z0 maps to x0 at each stage of the homotopy. We often write [Z, X] as an abbreviation for [(Z, z0 ), (X, x0 )]. Let e0 denote the preferred base-point of the n-sphere Sn = {x ∈ Rn+1 : |x| = 1}. The first sections of Chapter 1 are concerned with computations of the set π0 (X) = [(S0 , e0 ), (X, x0 )] of path components of a space. Later sections of Chapter 1 compute information about the fundamental group π1 (X) = [(S1 , e0 ), (X, x0 )] of a space. In particular, they compute a group presentation for π1 (X) and use this presentation to determine various isomorphism invariants of π1 (X). Higher dimensional information on a space is accessed in Chapter 2 using homology Hn (X, Z) and cohomology Hn (X, Z). Chapters 3 and 4 are concerned with the classifying space BG of a group G; this has fundamental group π1 (BG) = G and contractible universal cover B G. The chapters provide computations and interpretations of the homology Hn (BG, Z) and cohomology Hn (BG, Z). Knot complements X = R3 \ κ provide examples where the fundamental group π1 X is more informative than homology Hn (X, Z) and cohomology Hn (X, Z). In the current chapter we return to the computation of homotopy classes of pointed maps. Direct computations of the set of base-point preserving homotopy classes π2 X = [(S2 , e0 ), (X, x0 )]

(5.1)

are in general very difficult. The set π2 X admits a group structure and is referred to as the second homotopy group of X. Instead of directly tackling π2 X, we follow Whitehead [290] in considering the second relative homotopy group π2 (X, Y) of a space X relative to a pointed subspace x0 ∈ Y ⊂ X. To define this relative group we consider the unit square I2 = [0, 1] × [0, 1]. Let us say that a map f : I2 → X is a relative map if • f (z) = x0 for all z ∈ 0 × I ∪ I × 0 ∪ 1 × I, • f (z) ∈ Y for all z ∈ I × 1 ⊂ Y. See Figure 5.1. The relative homotopy group π2 (X, Y) consists of homotopy classes of relative maps f : I2 → X, where homotopies H : I2 × [0, 1] → X are required to satisfy H(z, t) ∈ Y for z ∈ I × 1, t ∈ [0, 1], and H(z, t) = x0 ∈ Y for z ∈ 0 × I ∪ I × 0 ∪ 1 × I and t ∈ [0, 1]. Two relative maps f , g : I2 → X can be combined to form a relative map f ∗ g : I2 → X

(5.2)

with f ∗ g(x, y) = f (2x, y) for x ≤ 1/2 and f ∗ g(x, y) = g(2x − 1, y) for x ≥ 1/2. It can be shown that the composition f ∗ g induces a group structure on π2 (X, Y). See for instance [156] or [290] for details. Restriction from I2 to I × 1 induces a group homomorphism ∂ : π2 (X, Y) → π1 (Y).

(5.3)

Outline | 381 Y

x0

X

x0

x0

Figure 5.1 Schematic depiction of a relative map. u s

u

v

v

t s

t

P

−→ y

w

y

z

x

w

z

x

Figure 5.2 Piecewise linear map from unit square onto four faces of the unit cube sending s to s, t to t and so forth.

Furthermore, there is an action of the group π1 (Y) on the group π2 (X, Y). To understand this action consider the continuous map P from the unit square onto four faces of the unit cube described in Figure 5.2. Let γ : [0, 1] → Y, γ (0) = γ (1) = x0 be a path representing an element of π1 (Y). Let f : I2 → X be a relative map representing an element of π2 (X, Y). Let γ f be the map from the four faces of the unit cube to X sending the face uvyz by f , and sending each horizontal line parallel to su in the remaining three faces by γ. Then γ f ◦ P : I2 → X is a relative map. This construction induces a group action π1 (Y) × π2 (X, Y) → π2 (X, Y), ([γ ], [ f ]) → [γ f ◦ P]. Whitehead [290] showed that with this action the homomorphism 5.3 satisfies the axioms of a crossed module. Indeed, he introduced the notion of a crossed module precisely to study the algebraic ingredients of the homomorphism 5.3. When Y = X 1 is the 1-skeleton of a pointed CW-space X we refer to 5.3 as the fundamental crossed module of X and denote it by 2 (X). In Section 5.2 we present some of the details of Whitehead’s functor 2 : (pointed CW − spaces) −→ (crossed modules)

382 | Cohomology of Homotopy 2-types

in the form of an algorithm that inputs a regular CW-space X and returns a presentation of the crossed module 2 (X). We also present details on Whitehead’s notion of homotopy between morphisms of crossed modules. The functor 2 induces a function 2 : [X, X ] → [2 (X), 2 (X )] on the set [X, X ] of homotopy classes of pointed maps X → X . In Section 5.3 we consider one basic homotopy invariant of a CW-space X that can be computed from a presentation of the fundamental crossed module: for any smallish finite crossed module G it is practical to explicitly compute the set IG (X) = [2 (X), G ] of homotopy classes of maps from 2 (X) to G . It turns out that IG (X) ∼ = IG (X) for any weakly equivalent crossed modules G and G . This property motivates the problem of enumerating the weak equivalence classes of finite crossed modules: each such class gives rise to a homotopy invariant IG (X). The remaining sections of the chapter are devoted to this enumeration problem. In Section 5.4 we present aspects of the theory of simplicial groups needed to produce a classifying space functor B : (crossed modules) −→ (CW − spaces) for which 2 BG is homotopy equivalent to G . In Sections 5.5 and 5.6 we use techniques from homological perturbation theory to describe an algorithm for computing the integral homology Hn (BG , Z) of the classifying space of a crossed module. This homology is a useful tool in the enumeration of weak equivalence classes of crossed modules since it can be used to prove that certain pairs of crossed modules are not weakly equivalent. A weak equivalence class of crossed modules is called a homotopy 2-type. In Section 5.3 we present a classification of finite homotopy 2-types of low order.

5.2 The Fundamental Crossed Module Let W be a connected regular CW-space endowed with an admissible discrete vector field. Let us suppose that the 0-skeleton W 0 contains just one critical cell and that this critical 0-cell is the base-point w0 of W. Let us also suppose that W is finite, or more generally that W has only finitely many critical cells. Theorem 1.5.1 asserts the existence of a homotopy equivalence W  X where X is a non-regular CW-space whose cells correspond to the critical cells of W. Let x0 denote the unique 0-cell in X. We have π1 (W, w0 ) ∼ = π1 (X, x0 ) and an algorithm for computing a finite presentation π1 (X, x0 ) = x | r of the fundamental group of X is described in Section 1.6. The generators of this presentation correspond to the 1-cells of X and the relators in the presentation correspond to the 2-cells in X. The fundamental group π1 (X 1 ) of the 1-skeleton of X is isomorphic to the free group F = F(x) and we have a canonical function ι : r → F. The following theorem was proved by Whitehead [290]. We refer the reader to [17, 43] (and cf. Exercise 1 below) for modern treatments of its proof.

The Fundamental Crossed Module | 383 Theorem 5.2.1. [290] The crossed module ∂ : π2 (X 2 , X 1 ) → π1 (X 1 ) is isomorphic to the

free crossed module ∂ : C(r) → F on the function ι : r → F. There is a crossed extension of the form ∂

0 → π2 (X 2 ) → π2 (X 2 , X 1 ) −→ π1 (X 1 ) → π1 (X) → 1. Each 3-cell e3 in X is attached by some map φ : S2 → X 2 . The homotopy class of φ is an element in the kernel of ∂ : π2 (X 2 , X 1 ) → π1 (X 1 ). The 3-skeleton X 3 thus determines a finite collection s of elements in ker ∂. To allow for the possibility of repeated elements we regard this collection as a function ι : s → ker ∂. The function is injective if there are no repeated elements. Definition 5.2.1. A crossed module presentation x | r | s consists of a set x that freely

generates the free group F = F(x), a function ι : r → F on which we construct the free crossed module ∂ : C(r) → F and a function ι : s → ker ∂. Let S be the normal and F-invariant subgroup of C(r) generated by ι(s). The induced homomorphism ∂ : C(r)/S −→ F inherits the structure of a crossed module. This is the crossed module presented by the presentation. We refer to the elements of s as syzygies.

The following is a generalization of Theorem 5.2.1 due to Whitehead [290] and can be viewed as a 2-dimensional version of Proposition 1.6.4. We refer the reader to [17, 43] for modern treatments. Theorem 5.2.2. [290] The fundamental crossed module ∂ : π2 (X, X 1 ) → π1 (X 1 ) is pre-

sented by the crossed module presentation x | r | s arising from the 3-skeleton X 3 . There is a crossed extension of the form ∂

0 → π2 (X) → π2 (X, X 1 ) −→ π1 (X 1 ) → π1 (X) → 1. We now explain how to compute a presentation for the fundamental crossed module of the space X arising from the critical cells of a connected regular CW-space W with just one critical 0-cell w0 . This w0 is chosen as base-point. Recall from Section 1.6 that a combinatorial path of length k in W is a sequence of 1-cells p = {e11 , e12 , . . . , e1k } in W in which the boundary vertices of each e1i are labelled as e0i− and e0i+ with e0(i−1)+ = e0i− for 2 ≤ i ≤ k. We deem each edge e1i to be directed from e0i− towards e0i+ . We deem e01− to be the initial vertex of the combinatorial path, e0k+ to be the final vertex, and deem the combinatorial path to be directed from e01− towards e0k+ . Thus every combinatorial path comes with a specified direction. Given a path p, we denote by p−1 the path obtained from p by reversing the sequence of edges and reversing the orientation on each edge. Let us say that a combinatorial path is a based path if its initial vertex is w0 . It is convenient to define the constant path at w0 to be the empty list. Let  denote the equivalence relation on based paths generated by the relation 1 described in Figure 1.43 (top).

384 | Cohomology of Homotopy 2-types

w0

p



e

Figure 5.3 A lollipop in W.

By an oriented 2-cell of W we mean a 2-cell e ⊂ W together with a choice of some preferred 0-cell ∗ ∈ ∂e in its boundary and a preferred direction of travel around its boundary. Given an oriented 2-cell e we denote by e−1 the oriented 2-cell with the same underlying 2-cell and the same choice of ∗ ∈ ∂e but with the opposite direction of travel around the boundary. Given an oriented 2-cell e we write e+1 = e since we then have a meaning for e , = ±1. We define a lollipop in W to consist of a based path p and an oriented 2-cell e such that the terminal vertex of p is the preferred vertex in the boundary of e. We denote such a lollipop by p e. See Figure 5.3. The inverse lollipop p e−1 is obtained by changing the orientation on the boundary of e. Associated to the lollipop p e we have the boundary path ∂(p e) obtained by composing the path p, the path ∂e in the specified direction, and the inverse path p−1 . The combinatorial path ∂(p e) is a loop with initial and final vertex equal to w0 . We refer to an ordered list w = {p1 e 11 , p2 e 22 , · · · , pk ekk } of lollipops in W as a bouquet in W and denote it by w = p1 e11 p2 e22 · · · pk ekk . We define the boundary path ∂(w) to be the concatenation of the paths ∂(p1 e 11 ), ∂(p2 e 22 ), · · · , ∂(pk ekk ). Let us now suppose that for each 2-cell e in W we have fixed a preferred boundary vertex ∗ and direction of travel on the boundary ∂e. Thus each 2-cell of W is an oriented 2-cell. Let e3 be some 3-cell of W. From the 2-cells e1 , · · · , ek in the boundary of e3 it is straightforward to algorithmically construct a bouquet ∂e3 = p1 e 11 p2 e 22 · · ·

pk k ek

(5.4)

whose boundary ∂(∂e3 ) is equivalent (under the equivalence relation generated by 1 ) to the constant path at w0 . Suppose now that we have computed an admissible discrete vector field on W where the only critical 0-cell is the base-point w0 ∈ W. Recall that a cell in W is terminal if it is critical or the target of an arrow. We say that a lollipop p e is terminal if e is terminal and each edge in the path p is terminal. We say that a bouquet is terminal if each of its lollipops is terminal. There is a recursive procedure for converting an arbitrary bouquet w into a terminal bouquet H(w). To define H(w) let us first suppose that p e is a lollipop where the 2-cell e is the source of some arrow e → e3 in the vector field. We can construct a bouquet as in 5.4 with e1 = e, p1 = p, 1 = −1 and then define the bouquet

τ (p e) = p2 e 22 p3 e33 · · ·

pk k ek .

The Fundamental Crossed Module | 385

If p e is a lollipop with e terminal then we define τ (p e) = p e. For an arbitrary bouquet w = p1 e 11 p2 e 22 · · · pk ekk we define τ (w) to be the bouquet

τ (w) = τ (p1 e 11 ) τ (p2 e 22 ) · · · τ (pk ekk ). We then recursively define τ ∞ (w) = w if τ (w) = w, and τ ∞ (w) = τ ∞ (τ (w)) otherwise. Thus τ ∞ (w) is a bouquet in which each lollipop pi e i i involves a terminal 2-cell ei but a path pi that might involve non-terminal 1-cells. The conversion of pi to a path H(pi ) involving only terminal 1-cells is described in formula 1.13 of Section 1.6. We define H(w) to be the bouquet obtained from τ ∞ (w) by replacing each lollipop path pi with the terminal path H(pi ). Let X be the CW-complex whose cells correspond to the critical cells of W via the homotopy equivalence X  W of Theorem 1.5.1. A presentation x | r | s for the fundamental crossed module 2 (X) can be constructed as follows. The generators in x correspond to the 1-cells of X, and the relators in r correspond to the 2-cells of X as described in Proposition 1.6.4. There is one syzygy in s for each critical 3-cell e3 in W. The boundary ∂e3 gives rise to a terminal bouquet H(∂e3 ) = p1 e 11 p2 e 22 · · · pk ekk . Each of the lollipop paths pi determines an element fi ∈ F(x) by letting a directed critical path edge spell a signed generator x (x ∈ x, = ±1), and by letting the non-critical path edges spell the identity in F(x). Each of the critical lollipop 2-cells ei corresponds to a suitably signed relator ri and the non-critical 2-cells correspond to the trivial relator involving no generators. These correspondences allow us to interpret the bouquet H(∂e3 ) as a syzygy of s. Example 5.2.1. Let S1 denote the circle endowed with a regular CW decomposition

involving three 0-cells and three 1-cells. This space admits an admissible discrete vector field involving one critical 0-cell and one critical 1-cell. The direct product W = S1 × S1 × S1 admits a discrete vector field with one critical 0-cell, three critical 1-cells, three critical 2-cells and one critical 3-cell. The space W is represented in Figure 5.4 in terms of a unit cube with parallel faces identified. The discrete vector field can be chosen so that the terminal 2-cells are those lying in the boundary of the unit cube, the terminal 1-cells are those lying in the edges of the unit cube, and the terminal 0-cell lies in the corner of the unit cube. The fundamental crossed module of the corresponding CW-space X admits a presentation with x = {x, y, z}, r = {xyx−1 y−1 , yzy−1 z−1 , zxz−1 x−1 } and with s consisting of one syzygy w. To describe w we set r = xyx−1 y−1 , s = yzy−1 z−1 and t = zxz−1 x−1 . The syzygy w is then w = r−1

xzx−1

r t −1

zyz−1

t s−1

yxy−1

s.

The computation ∂(w) = 1 follows from identity (iii) of Lemma 3.6.1. We now introduce Whitehead’s notion of homotopy between two morphisms φ, ψ : (∂ : M → P) −→ (∂ : M → P )



386 | Cohomology of Homotopy 2-types

Figure 5.4 S1 × S1 × S1 obtained by identifying parallel faces of a unit cube, with critical cells shaded.

of crossed modules. Recall from Definition 4.4.3 that each of these morphisms is a pair φ = (φ1 , φ2 ), ψ = (ψ1 , ψ2 ) of groups homomorphisms satisfying certain requirements. Definition 5.2.2. A homotopy φ  ψ is a function h : P → M satisfying

h(pq) = h(p) ψ1 (p) h(q)

(5.5)

φ1 (p)ψ1 (p)−1 = ∂ h(p)

(5.6)

φ2 (m)ψ2 (m)−1 = h(∂m)

(5.7)

for m ∈ M, p, q ∈ P. Any homomorphism h satisfying 5.5 is called a ψ1 -equivariant crossed homomorphism. Homotopy is an equivalence relation on the set of morphisms ∂ → ∂ of crossed modules (and it is a worthwhile exercise to verify this). We denote by [∂, ∂ ] the resulting set of equivalence classes of morphisms. The following theorem of Whitehead [290] shows that the homotopy theory of 2-dimensional CW-spaces is completely captured by the algebraic theory of crossed modules. We refer the reader to [17, 43] for modern treatments of this material. Theorem 5.2.3. [290] The fundamental crossed module of a pointed CW-space is a functor

2 : (pointed CW − spaces) −→ (crossed modules).

(5.8)

For any pointed CW-spaces X, Y the functor induces a function 2 : [X, Y] −→ [2 X, 2 Y]

(5.9)

The Fundamental Crossed Module | 387

between sets of homotopy classes of maps. If X is connected and of dimension ≤ 2 then 2 X is free and the function 5.9 is a bijection. Theorem 5.2.3 refers to homotopies H : X × [0, 1] → Y for which the base-point x0 ∈ X gets mapped to the base-point y0 = H(x0 , t) ∈ Y for all t ∈ [0, 1]. A less restrictive notion of homotopy is one where we allow H(x0 , t)  = y0 for t ∈ (0, 1). We call this less restrictive notion a free homotopy. We write f f g to denote pointed maps f , g : X → Y that are free homotopic, and we denote by [X, Y]f the free homotopy classes of pointed maps from X to Y. The corresponding notion for morphisms φ, ψ : (∂ : M → P ) −→ (∂ : M → P ) between crossed modules is as follows. Definition 5.2.3. A free homotopy φ f ψ is a group homomorphism h : P → M

together with an element w ∈ P satisfying

h(pq) = h(p) ψ1 (p) h(q)

(5.10)

wφ1 (p)w−1 ψ1 (p)−1 = ∂ h(p)

(5.11)

w

φ2 (m)ψ2 (m)−1 = h(∂m)

(5.12)

for m ∈ M, p, q ∈ P. Free homotopy is an equivalence relation on the set of morphisms ∂ → ∂ of crossed modules. We denote by [∂, ∂ ]f the resulting set of equivalence classes of morphisms. Theorem 5.2.4. [290] For any pointed CW-spaces X, Y the functor 2 induces a function

2 : [X, Y]f −→ [2 X, 2 Y]f

(5.13)

between sets of free homotopy classes. If X is connected and of dimension ≤ 2 then 5.13 is a bijection. The algebra relating to homotopies of free crossed modules can be abelianized using diagram 4.23. More precisely, let X be a 2-dimensional CW-complex with just a single 0-cell. Then X corresponds to a group presentation π1 X = x | r with generators corresponding to 1-cells and relators corresponding to 2-cells. The fundamental crossed module 2 X = (∂ : C(r) → F) is the free crossed module on the function δ : r → F, where F the free group on x. There is a related chain complex ∂2 ∂1 C∗ X˜ = (⊕r ZG −→ ⊕x ZG −→ ZG)

where G = π1 X and ∂1 , ∂2 are the homomorphisms defined in 2.53 and 2.55. An algebraic ‘mapping’ 2 X → C∗ X˜ is described in diagram 4.23.

(5.14)

388 | Cohomology of Homotopy 2-types

Given two 2-dimensional CW-spaces X, Y each with a single 0-cell, a chain map φ∗ : C∗ X˜ → C∗ Y˜ is said to be equivariant if there is a group homomorphism φ : π1 X → π1 Y such that φi (g · x) = (φg) · φi (x) ˜ We also say that such a chain map is φ-equivariant or for g ∈ π1 X, i = 0, 1, 2, x ∈ Ci X. equivariant over φ. Definition 5.2.4. Two equivariant chain maps φ∗ , ψ∗ : C∗ X˜ → C∗ Y˜ over φ and

ψ respectively are said to be free homotopic, and we write φ∗ f ψ∗ , if there exist φ-equivariant homomorphisms hi : Ci X˜ → Ci+1 Y˜ for i = 0, 1, and an element w ∈ π1 Y such that w · φi (x) − ψi (x) = ∂i+1 hi (x) + hi−1 ∂i (x)

(5.15)

for x ∈ Ci X˜ and h−1 = 0, h2 = 0. If we can choose w = 1 then we say that φ∗ and ψ∗ are (based) homotopic and we write φ∗  ψ∗ . ˜ C∗ Y] ˜ f and [C∗ X, ˜ C∗ Y] ˜ the set of free homotopy classes of equivWe denote by [C∗ X, ariant chain maps, and the set of (based) homotopy classes of equivariant chain maps, ˜ The following proposition of Whitehead [290] is just an algebraic from C∗ X˜ to C∗ Y. verification. Proposition 5.2.5. [290] For connected 2-dimensional CW-spaces X, Y the ‘mapping’ 5.14

induces bijections

˜ C∗ Y] ˜ f, [2 X, 2 Y]f ∼ = [C∗ X, ˜ C∗ Y]. ˜ [2 X, 2 Y] ∼ = [C∗ X,

5.2.1 Maps from a Surface to the Projective Plane We digress briefly from the main computational theme of the chapter in order to illustrate Theorem 5.2.4 and Proposition 5.2.5 by means of a purely theoretical calculation. Let M be a compact and connected surface without boundary, and let us assume that M  = S2 is not the sphere. Then M can be realized as a 2-dimensional CW-space associated to a group presentation involving a single relator. There are two cases to consider. In the first case, M is a sum of m projective planes and we take M to be the CW-space associated to the presentation π1 M ∼ = x1 , . . . , xm | x21 x22 · · · x2m = 1.

(5.16)

In the second case, M is a sum of m tori and we take M to be the CW-space associated to the presentation π1 M ∼ = a1 , b1 , . . . , am , bm | [a1 , b1 ][a2 , b2 ] · · · [am , bm ] = 1.

(5.17)

The Fundamental Crossed Module | 389

Let P denote the projective plane, which we realize as the CW-space associated to the presentation π1 P ∼ = y | y2 = 1. An explicit classification of the free homotopy classes [M, P]f can be obtained using results of Olum [224]. The details of this were recalled in a paper of Eells and Lemaire [93] with one step in the details subsequently simplified by Adams [2]. An alternative approach to the explicit classification is simply to apply Theorem 5.2.4 and Proposition 5.2.5. This application of Whitehead’s results was originally given in an old preprint of Ronnie Brown (see [112]), details of which we reproduce below. Any map f : M → P induces a homomorphism θ : π1 M → π1 P and, since π1 P is abelian, it follows from 5.11 and Theorem 5.2.4 that any two freely homotopic maps must induce the same homomorphism θ. For both presentations 5.16 and 5.17 we denote by N(θ) the number of generators of π1 M that get mapped to the generator y ∈ π1 P by θ . Proposition 5.2.6. Let the surface M be a sum of m projective planes as in 5.16.

i) If N(θ) = m then the free homotopy classes of maps M → P inducing θ are in bijection with the integers Z. ii) If N(θ) < m and N(θ) is odd then there is just one free homotopy class of maps inducing θ. iii) If N(θ) < m and N(θ) is even then there are precisely two free homotopy classes of maps inducing θ. Proof. The chain complex C∗ P˜ has a single free Zπ1 P-generator f n in each degree n = 0, 1, 2, with boundary homomorphisms defined by ∂f 1 = (1 − y)f 0 , ∂2 f 2 = (1 + y)f 1 . ˜ has free generators e0 , e11 , . . . , e1m , e2 with boundary homoThe chain complex C∗ M  2 2 2 1 morphisms defined by ∂(e1i ) = (1 − xi )e0 , and ∂2 e2 = m i=1 x1 x2 · · · xi−1 (1 + xi )ei . Let θ : π1 M → π1 P be any homomorphism. For any p, q ∈ Z with p + q = N(θ) p,q ˜ → C∗ (P) ˜ it is readily checked that there is a θ-equivariant chain map φ∗ : C∗ (M) given by p,q

φ0 (e0 ) =f 0 , 1 f , if θ(xi ) = y, p,q φ1 (e1i ) = 0, if θ(xi ) = 1, p,q

φ2 (e2 ) =(p + qy)f 2 . ˜ is the start of a free ZC2 -resolution of Z and, in particThe chain complex C∗ (P) ˜ = 0. Using this exactness it is readily shown that any θ-equivariant ular, H1 (C∗ (P)) ˜ → C∗ (P) ˜ is freely homotopic to one of the form φ∗p,q for suitable chain map C∗ (M) p + q = N(θ).

390 | Cohomology of Homotopy 2-types p ,q

p,q

For p + q = p + q = N(θ) let us suppose that there is a homotopy φ∗ f φ∗ involving w ∈ π1 Y and maps h0 , h1 . Now h0 ∂1 (e1i ) = 0 if θ(xi ) = 1 and h0 ∂1 (e1i ) = si (1 − y)f 1 for some si ∈ Z if θ(xi ) = y. It thus follows from the equation p ,q

p,q

wφ1 − φ1

= ∂2 h1 + h0 ∂1

(5.18)

that ∂2 h1 = 0. But ∂2 h1 = 0 implies that h1 (e1i ) = ri (1 − y)f 2 for each 1 ≤ i ≤ m with ri an integer. Therefore  ri (1 + θ xi )(1 − y)f 2 = 2r(1 − y)f 2 (5.19) h1 ∂2 (e2 ) = 1≤i≤m p,q

p ,q

for some integer r, and r = 0 if N(θ) = m. So φ∗ f φ∗ an element w ∈ π1 P and integer r satisfying

implies the existence of

w(p + q y) − (p + qy) = 2r(1 − y) if N(θ) < m, w(p + q y) − (p + qy) = 0 if N(θ) = m.

(5.20) (5.21)

Conversely, one can check that the existence of an element w ∈ π1 P and integer r p,q

p ,q

satisfying 5.20 and 5.21 implies φ∗ f φ∗ . Statement (i) in the proposition follows from 5.21 and Theorem 5.2.4. There is one free homotopy class for each p ∈ Z with q = N(θ) − p.  Statements (ii) and (ii) follow from 5.20 and Theorem 5.2.4. Proposition 5.2.7. Let the surface M be a sum of m tori as in 5.17.

i) If N(θ) = 0 then the free homotopy classes of maps M → P inducing θ are in bijection with the integers Z. ii) If N(θ) > 0 then there are precisely two free homotopy classes of maps inducing θ. ˜ has free generators e0 , e11 , e11 , . . ., e1m , e1m , e2 Proof. In this case the chain complex C∗ M with boundary defined by ∂(e1i ) = (1 − ai )e0 , ∂(e1i ) = (1 − bi )e0 mhomomorphisms −1 −1 1 2 1 1 1 and ∂2 e = i=1 γi (ei + ai ei − ai bi a−1 i ei − ai bi ai bi ei ) where γi is a product of commutators. Let θ : π1 M → π1 P be any homomorphism. For any integer p there is a θ p ˜ → C∗ (P) ˜ given by equivariant homomorphism φ∗ : C∗ (M) p

φ0 (e0 ) = f 0 , 1 f , p φ1 (e1i ) = 0, 1 f , p φ1 (e1i ) = 0, p

if θ(ai ) = y, if θ(ai ) = 1, if θ(bi ) = y, if θ(bi ) = 1,

φ2 (e2 ) = p(1 − y)f 2 .

Finite Crossed Modules | 391

˜ → C∗ (P) ˜ is free homotopic to one of Moreover, any θ -equivariant chain map C∗ (M) p

p

the above form. Two such chain maps are free homotopy equivalent, φ∗ f φ∗ , if and only if there exists w ∈ π1 P and integers ri , ri such that (p w − p)(1 − y) =

m  (ri (1 − θ(ai )) + ri (θ(bi ) − 1))(1 − y).

(5.22)

i=1

The proposition follows from this equation and Theorem 5.2.4.



5.3 Finite Crossed Modules What homotopy invariants of a CW-space X can one hope to compute from a finite presentation x | r | s of the fundamental crossed module 2 X? The techniques from Section 1.7 can be used to determine invariants of the fundamental group π1 X ∼ = x | r. One possibility for computing higher dimensional homotopy invariant information on X is to fix some ‘nice’ space B and attempt to compute the set [2 X, 2 B] of (based) homotopy classes of morphisms 2 X → 2 B. The set [X, B] is a homotopy invariant  of X since any homotopy equivalence f : X −→ X induces a bijection [X, B] ∼ = [X , B]. At the level of fundamental crossed modules f induces a homotopy equivalence (see 5.3.4 below) 2 X → 2 X and then a bijection [2 X, 2 B] ∼ = [2 X , 2 B]. We can replace 2 B by an arbitrary crossed module G = (M → P) to obtain the homotopy invariant [2 X, G ] of the space X. We define the order of G to be |G | = |M| × |P|. When G is of finite order the set [2 X, G ] is finite and we obtain the homotopy invariant integer IG (X) = |[2 X, G ]|.

(5.23)

To compute IG (X) we consider the sets Mor(2 X, G )θ of morphisms 2 X → G that induce a given homomorphism θ : π1 (2 X) → π1 (G ). Working up to homotopy, any two morphisms in Mor(2 X, G )θ can be assumed to agree on π1 (X 1 ). So for each homomorphism θ we can choose a homomorphism θ1 : π1 (X 1 ) → P that induces θ and then enumerate all extensions of θ1 to a morphism 2 X → G . This enumeration involves listing all functions θ2 : r → M and retaining those that induce a morphism (θ1 , θ2 ) : (C(r) → F(x)) −→ G which maps all elements in s to the identity. The homotopies between such morphisms 2 X → G correspond to θ1 -equivariant crossed homomorphisms π1 (X 1 ) → π2 (G ). By enumerating such homotopies we can determine the number |[2 X, G ]θ | of homotopy classes of morphisms inducing θ and thus compute IG (X) =



|[2 X, G ]θ |.

θ : π1 X→π1 G

A version of this numerical invariant has been used in [? ] to investigate the homotopy type of complements of knotted surfaces in R4 . Example 5.3.1. Consider the 2-dimensional CW-space Y associated to the presentation

x, y | x2 = 1, y2 xy−1 x−1 = 1 of the symmetric group S3 . Let G be the crossed module

392 | Cohomology of Homotopy 2-types

Q → Aut(Q ), g → ιg (x) = gxg −1 with Q the quaternion group of order 8. The following GAP session shows that π1 G ∼ = S3 , π2 G ∼ = C2 and IG (Y) = 20. GAP session 5.3.1 gap> G:=AutomorphismGroupAsCrossedModule(QuaternionGroup(8));; gap> StructureDescription(HomotopyGroup(G,1)); "S3" gap> StructureDescription(HomotopyGroup(G,2)); "C2" gap> F:=FreeGroup(2);;x:=F.1;;y:=F.2;; gap> Y:=F/[xˆ2, yˆ2*x*yˆ-1*xˆ-1];; gap> CrossedInvariant(Y,G); 20



The first Postnikov invariant of the space X is, by definition, the class ηX in the cohomology group H3 (π1 X, π2 X) corresponding to the crossed extension π2 X  π2 (X, X 1 ) → π1 X 1  π1 X of Theorem 5.2.2 under the bijection of Theorem 4.7.1. A homotopy equivalence f : X → X induces an isomorphism H3 (π1 X, π2 X) ∼ = H3 (π1 X , π2 X ) under which the class ηX gets mapped to the Postnikov invariant ηX . We have no method, in general, for computing the Postnikov invariant ηX from a finite presentation of 2 X. An obstacle is the need for a description of the structure of π2 X as a module over Zπ1 X. However, it can be relatively straightforward to compute ηX in special cases, such as when both π1 X and π2 X are finite. The remainder of this section is based on [104, 198] and is devoted to material relevant to the computation of the invariants IG (X) and ηX . In particular we: • build a stockpile of examples of finite crossed modules and present a partial homotopy classification of finite crossed modules G of order |G | ≤ 255, • describe the implementation of a GAP function that inputs two finite crossed modules of reasonably low order and tries to determine if they represent the ‘same’ cohomology class in some cohomology group H3 (π1 , π2 ), • present some elementary results on crossed module representations of Postnikov invariants. The GAP implementation of this material is due mainly to Le Van Luyen. We start with some definitions. Definition 5.3.1. A morphism of crossed modules φ : G → G is said to be a quasi-

isomorphism if the induced homomorphisms πi (φ) : πi (G ) → πi (G ) are isomor∼ ∼ phisms for i = 1, 2. We denote such a quasi-isomorphism by G ↔ G or G ↔ G , bearing in mind that a quasi-isomorphism G → G does not imply the existence of a quasi-isomorphism G → G .

Finite Crossed Modules | 393 Definition

5.3.2. Two crossed modules G and G are said to be weakly

equivalent if there exists a sequence ∼







G ↔ G1 ↔ · · · ↔ Gn ↔ G

of quasi-isomorphisms. ∂

Definition 5.3.3. A crossed module G = (M → P) is said to be fibrant if P is a free group. Definition 5.3.4. A morphism of crossed modules φ : G → G is a homotopy equivalence

if there exists a morphism ψ : G → G with φψ  1 and ψφ  1.

Definition 5.3.5. A morphism of crossed modules φ : G → G is said to be a fibration

if both of the homomorphisms φ1 , φ2 are surjective. It is said to be a trivial fibration if, in addition, it is a quasi-isomorphism. A quasi-isomorphism G → G induces an isomorphism H3 (π1 G , π2 G ) ∼ = H3 (π1 G , π2 G ). This isomorphism maps the cohomology class represented by G to the cohomology class represented by G . Two fundamental crossed modules 2 X and 2 X are thus said to represent the same Postnikov invariant if and only if they are weakly equivalent. Lemma 5.3.1. Any crossed module G is weakly equivalent to a fibrant one.

We have the following stronger version of 5.3.1. Lemma 5.3.2. For any crossed module G there exists a trivial fibration F G  G with F G

fibrant. The construction of F G is such that a quasi-isomorphism G → G lifts to a quasiisomorphism F G → F G . ∂

Proof. Suppose G = (M → P). Choose a free presentation x | r for the group P and let φ1

R  F  P denote the short exact sequence involving the free group F = F(x) on x. Let m be a subset of M which generates M as a crossed module. In other words, the elements p m for m ∈ m and p ∈ P generate M as a group. For each m ∈ m choose an element rm ∈ F such that ∂(m) = φ1 (rm ). Set r = {rm : m ∈ m}. Now construct the ∂

free crossed module C(r ∪ r ) → F on the function r ∪ r → F induced by inclusion. The function r ∪ r → M mapping rm ∈ r to m and r ∈ r to 1 induces a surjection of crossed modules. ∂ /F C(r ∪ r ) φ2

 M



 /P

φ1

∼ It is readily checked that φ = (φ1 , φ2 ) induces an isomorphism π1 (φ) : π1 (∂ ) = π1 (∂) and a surjection π2 (φ) : π2 (∂ )  π2 (∂). Let K = ker(π2 (φ)) and let F G

394 | Cohomology of Homotopy 2-types

be the quotient crossed module F G = (C(r ∪ r )/K → F). There is a surjective quasi-isomorphism F G → G . The remaining statement in the lemma is routine to  verify. Proposition 5.3.3. Any crossed module G with finite homotopy groups π1 G , π2 G is weakly

equivalent to a finite crossed module. ∂

Proof. Suppose G = (M → P). Since π2 G is a finite abelian group it has a finite exponent e say. By 5.3.1 we assume that P is a free group. Let R = ∂(M) ≤ P and note that any subgroup of a free group is free. We thus have a group theoretic decomposition M∼ = π2 G ⊕ R. From this decomposition we obtain M/[M, M]Me ∼ = π2 G ⊕ R/[R, R]Re where [M, M]Me is the normal subgroup of M generated by all commutators and all ∂

powers me , m ∈ M. So we obtain a quasi-isomorphism (M → P) −→ (M/[M, M]Me ∂

→ P/[R, R]Re ), the target being a finite crossed module.



The following analogue of Proposition 2.3.3 is routine to verify. Lemma 5.3.4. Let G and G be fibrant crossed modules. Then a morphism φ : G → G is a

homotopy equivalence if and only if it is a quasi-isomorphism. Proposition 5.3.5. Let X , G , G be crossed modules. If X is fibrant, and if G is weakly

equivalent to G , then there is a bijection of homotopy classes of morphisms [X , G ] ∼ = [X , G ].



Proof. Suppose that X is fibrant and that we have a sequence of quasi-isomorphisms G ↔ ∼ ∼ ∼ G1 ↔ · · · ↔ Gn ↔ G . By Lemma 5.3.2 there is a corresponding sequence of quasi∼ ∼ ∼ ∼ isomorphisms of fibrant crossed modules F G ↔ F G1 ↔ · · · ↔ F Gn ↔ F G . By Lemma 5.3.4 the quasi-isomorphisms of fibrant crossed modules provide a homotopy equivalence between F G and F G , and this induces a bijection [X , F G] ∼ = [X , F G ]. To complete the proof one needs to verify that the function [X , F G] −→ [X , G ] induced by any trivial fibration F G  G is bijective. The verification uses the fact that the kernel of the trivial fibration F G → G is a crossed module of the form ∼ = ∂ : N → N.  An enumeration of crossed modules G of low order will provide a source of concrete examples for the homotopy invariants IG (X) of a CW-space X. Since the practicality of our naive method for computing IG (X) is very much dependent on the order of G , it can be important to invoke Proposition 5.3.5 and replace G by a smaller representative of its weak equivalence class. So we aim for an enumeration of low order crossed modules together with minimal order weakly equivalent representatives.

Finite Crossed Modules | 395

Construction of Quasi-isomorphic Representatives Crossed modules were introduced in the 1940s. By the 1960s J.-L. Verdier and others had observed that a crossed module structure is equivalent to that of a ‘group with compatible category structure’. The first published proof of the equivalence appeared in [47]. For an algorithmic investigation of crossed modules it is convenient to work with the following version of the equivalence due to J-L. Loday [194]. A cat1 -group consists of a pair of group endomorphisms s, t : G → G satisfying ts = s, st = t and [ker s, ker t] = 1. A morphism of cat1 -groups φ : (G, s, t) → (G , s , t ) consists of a group homomorphism φ : G → G satisfying φs = s φ and φt = t φ. A cat1 -group gives rise to a crossed module by taking M = ker s, P = im s and taking ∂ to be the restriction of t to ker s. Conversely, a crossed module gives rise to a cat1 -group by using the action of P on M to form the semi-direct product G = M  P and defining the endomorphisms s, t : M  P → M  P as s(m, p) = (1, p), t(m, p) = (1, (∂m)p). It is observed in [194] that these two constructions provide an isomorphism between the category of crossed modules and the category of cat1 -groups. It is thus routine to translate notions of order, homotopy group, quasi-isomorphism and weak equivalence class of crossed modules to equivalent notions for cat1 -groups C = (G, s, t). For example: π1 (C ) = im (s)/t(ker s); π2 (C ) = ker s ∩ ker t; C has order |C | equal to |G|; and so on. We leave details to the reader and simply use the equivalent notions in what follows. Given a cat1 -group (G, s, t) we can attempt to find a smaller quasi-isomorphic cat1 group by repeatedly applying the following Step 1 and then Step 2 until no more size reduction is achieved. Step 1: Given a finite cat1 -group (G, s, t) we search through the normal subgroups of ker s to find a largest normal subgroup K in ker s such that K is normal in G and K ∩ ker t = 1. We can then choose some generating set XK for K and construct the group N generated by the set XK ∪ {t(x) : x ∈ XK }. Then N is a normal subgroup of G for which the quotient homomorphism G → G/N induces a quasi-isomorphism (G, s, t) → (G/N, s , t ). Step 2: Given a finite cat1 -group (G, s, t) we search through the subgroups of G to find a smallest group K ⊂ G such that the inclusion induces a quasi-isomorphism (K, s , t ) → (G, s, t). Since we are dealing with finite groups we can test if this inclusion is a quasiisomorphism simply by checking if the induced homomorphisms πn K → πn G are surjections and |πn K| = |πn G| for n = 1, 2. This method has been implemented in the HAP function QuasiIsomorph(C) which inputs a finite cat1 -group C and outputs a weakly equivalent cat1 -group C for which |C | ≤ |C |. Example 5.3.2. The following GAP session constructs the cat1 -group C of order

73, 728 corresponding to the crossed module G → Aut(G), g → ιg (x) = gxg −1 for G = D48 the dihedral group of order 96. It then constructs a weakly equivalent cat1 -group C of order 128.

396 | Cohomology of Homotopy 2-types

GAP session 5.3.2 gap> G:=DihedralGroup(96);; gap> C:=AutomorphismGroupAsCatOneGroup(G);; gap> D:=QuasiIsomorph(C);; gap> Size(C); 73728 gap> Size(D); 128



The following data type is used to store a cat1 -group. Data type 5.3.1. A cat1 -group (G, s, t) can be represented as a component object

C with the following components. • C!.sourceMap is the group homomorphism s : G → G. • C!.targetMap is the group homomorphism t : G → G. The associated function IsHAPCatOneGroup(C) returns the boolean true when C is of this data type.

Enumeration of Isomorphism Classes The GAP package [6] of Alp and Wensley implements a list of all non-isomorphic cat1 groups and crossed modules of order ≤ 63. Larger examples can now be handled in HAP using various functions derived from a basic function that inputs a finite group G and outputs a list of all non-isomorphic cat1 -group structures (G, s, t). The implementation uses GAP’s function IdGroup(H) for identifying certain subgroups H ≤ G by their order m and catalogue number k and thus works only in cases for which IdGroup(H) is implemented. The algorithm underlying this basic function begins by computing a list L of all normal subgroups N in G and a list L of subgroups K in G representing all subgroup conjugacy classes. There are then two steps in the algorithm aimed at constructing a possibly redundant list of cat1 -group structures on G. Step 1. For each N ∈ L we find all K ∈ L satisfying • K is isomorphic to G/N. (Here we just test if IdGroup(K) =IdGroup(G/N).) • |p(K)| = |G/N|, where p : G → G/N is the quotient homomorphism. For each such pair N, K the homomorphism p restricts to an isomorphism p|K : K → G/N. We form the inverse isomorphism (p|K )−1 : G/N → K and set σ = (p|K )−1 p : G → G. By construction we have ker σ = N, im σ = K and σ 2 = σ . For each normal subgroup N we compute the list LN of such homomorphisms σ .

Finite Crossed Modules | 397

Step 2. For each pair of normal subgroups N, M in G satisfying [N, M] = 1 we consider all s ∈ LN , t ∈ LM . If im s = im t we add the data (G, s, t) to our list of cat1 -group structures on G. In this manner, all possible cat1 -group structures on G are produced, though isomorphic copies may have been produced. To test if two cat1 -group structures on a group G are isomorphic we need to access the automorphism group Aut(G) of the group G. As this automorphism group can be large we follow a suggestion of Alexander Hulpke and use: (i) the action f K = f (K) of f ∈ Aut(G) on the collection of subgroups K ≤ G; (ii) the action f s(x) = fs(x)f −1 of f ∈ Aut(G) on endomorphisms s : G → G. For each action a GAP implementation of an orbit-stabilizer algorithm has been adapted and used to compute the orbit of an element under the action and to compute the stabilizer subgroup of this element. A detailed description of the orbit-stabilizer algorithm can be found in [167]. To test if two cat1 -group structures (G, s, t) and (G, s , t ) are isomorphic we perform the following six steps. Step 1. We first use GAP’s IdGroup() function to check that im s ∼ = im s and ker s ∼ = 1 ∼ ker s and ker t = ker t . If this check fails then the two cat -groups are not isomorphic and we return false. Step 2. Otherwise we compute the orbit of ker s under the action of Aut(G). If ker s is not in this orbit then the two cat1 -groups are not isomorphic and we return false. Otherwise we can find an element f ∈ Aut(G) such that ker s = f (ker s). We then define −1 −1 s = f s , t = f t to obtain a cat1 -group (G, s , t ) which is isomorphic to (G, s , t ) and which has the property that ker s = ker s. For ease of notation we redefine s := s , t := t . In other words, we replace (G, s , t ) by an isomorphic cat1 -group satisfying ker s = ker s. Step 3. We compute the stabilizer subgroup Stab(ker s) ≤ Aut(G) and the orbit of im s under the action of Stab(ker s). If im s is not in this orbit then the two cat1 -groups are not isomorphic and we return false. Otherwise we can find an element f ∈ Stab(ker s) such that im s = f (im s) and then replace (G, s , t ) by an isomorphic cat1 -group satisfying im s = im s and ker s = ker s. Step 4. We compute the stabilizer subgroup Stab(im s) ≤ Stab(ker s) and the orbit of ker t under the action of Stab(im s). If ker t is not in this orbit then the two cat1 -groups are not isomorphic and we return false. Otherwise we replace (G, s , t ) by an isomorphic cat1 -group satisfying ker t = ker t, im s = im s and ker s = ker s. Step 5. We compute the stabilizer Stab(ker t) ≤ Stab(im s) and the orbit of s under the action of Stab(ker t). If s is not in this orbit the two cat1 -groups are not isomorphic and we return false. Otherwise we replace (G, s , t ) by an isomorphic cat1 -group satisfying ker t = ker t, s = s. Step 6. We compute the stabilizer Stab(s) ≤ Stab(ker t) and the orbit of t under the action of Stab(s). If t is not in this orbit then the two cat1 -groups are not isomorphic and we return false. Otherwise we return true.

398 | Cohomology of Homotopy 2-types Example 5.3.3. The following GAP session shows that there are precisely nine nonisomorphic cat1 -structures on the group G of order 256 arising as the Sylow 2-subgroup of the symmetric group S10 .

GAP session 5.3.3 gap> G:=SylowSubgroup(SymmetricGroup(10),2);; Order(G); 256 gap> L:=CatOneGroupsByGroup(G);; gap> Length(L); 9



C of order 14, 400 corresponding to the crossed module ∂ : G → Aut(G) for the group G = C15  C4 occurring as the third group of order 60 in GAP’s library. A weakly equivalent cat1 group Q is then constructed. The final command determines that Q has underlying group the 10th group Q of order 16 in GAP’s library of groups, and that the cat1 -structure on Q is the second such structure stored in HAP’s library of cat1 -groups. Example 5.3.4. The following GAP session constructs the

cat1 -group

GAP session 5.3.4 gap> G:=SmallGroup(60,3);; gap> StructureDescription(G); "C15 : C4" gap> C:=AutomorphismGroupAsCatOneGroup(G);; gap> Size(C); 14400 gap> Q:=QuasiIsomorph(C);; gap> IdCatOneGroup(Q); [ 16, 10, 2 ]



A table of all isomorphism types of cat1 -groups of order at most 255 has been computed and stored in HAP . This table underlies the function IdCatOneGroup(G) which returns a triple (m, k1 , k2 ) for any cat1 -group G of order m ≤ 255; the integer k1 is the number of the underlying group of G in the small groups database; the integer k2 is the number of the cat1 -group structure on G in our table of small cat1 -groups.

Finite Crossed Modules | 399

Establishing Distinct Weak Equivalence Classes We define a homotopy 2-type of order m to be a weak equivalence class of cat1 -groups represented by a cat1 -group C of order m and not represented by any cat1 -group of smaller order. We say that such a homotopy 2-type is trivial or has trivial Postnikov invariant if C corresponds to the trivial element 0 ∈ H3 (π1 (C ), π2 (C )). It is convenient to introduce the following notation. I2 (m) = number of isomorphism classes of cat1 -groups of order m. Q 2 (m) = number of homotopy 2-types of order m. T2 (m) = number of trivial homotopy 2-types of order m. Clearly I2 (m) ≥ Q 2 (m) ≥ T2 (m). It is an easy exercise to see that I2 (p) = Q 2 (p) = T2 (p) = 2 for any prime p. It is also easy to show that for primes p < q we have I2 (pq) = Q 2 (pq) = T2 (pq) = 6 when p divides q − 1 and I2 (pq) = Q 2 (pq) = T2 (pq) = 4 when p does not divide q − 1. (To establish these formulae one uses that: the cyclic group of order p can act non-trivially on the cyclic group of order q precisely when p divides q − 1; the only groups of order p or order pq with p not dividing q − 1 are the cyclic groups; the only groups of order pq with p dividing q − 1 are the cyclic group and one nonabelian semi-direct product of cyclic groups.) Values of I2 (m), Q 2 (m) and T2 (m) for low values of m are given in Table 5.1. Perhaps not surprisingly, the table shows that most of the homotopy 2-types of low order have trivial Postnikov invariant. It shows that the smallest homotopy 2-type with non-trivial Postnikov invariant has order 16, and that there is just one non-trivial homotopy 2-type of this order. A straightforward computer analysis shows that this homotopy type is represented by the crossed module with M = x | x4 = 1, P = a | a4 = 1, a x = x3 , ∂(x) = a2 . It is also represented by the crossed module M = x, y | x2 = y2 = [x, y] = 1, P = a | a4 = 1, a x = xy, a y = y, ∂(x) = a2 , ∂(y) = 1. No other crossed module of order 16 represents the unique smallest homotopy 2-type with non-trivial Postnikov invariant. The second of the crossed modules representing this homotopy type has been studied in the example of Section 7 in [165] and Example 12.7.12 in [43] and in both examples shown to represent a non-trivial homotopy type. We are interested in enumerating all homotopy 2-types of order ≤ m for low values of m. The first step is to produce a list of all non-isomorphic cat1 -groups of order ≤ m. By applying the function QuasiIsomorph(C) to each isomorphism type C in the list, and then discarding C if the procedure succeeds in finding a smaller weakly equivalent cat1 -group, we obtain a list L containing representatives of each homotopy 2-type of order ≤ m. The representatives need not be of minimal size and it could be that some pair C , C ∈ L are weakly equivalent. For each C ∈ L we compute the following weak equivalence invariants: i) the order and catalogue number for the group π1 C in GAP’s small groups library; ii) the order and catalogue number for the group π2 C ; iii) the order and catalogue number for the semi-direct product π2 C  π1 C involving the action of the first homotopy group on the second homotopy group;

400 | Cohomology of Homotopy 2-types Table 5.1 Crossed modules of small order.

m 1 4

8 9 12 16 18 20 24 25 27 28 30

I2 (m) 1 6 18 6 20 62 22 20 73

32 36 40 42

6 18 18 20 251 78 72 26

Q 2 (m) 1 5 14 5 18 43 19 18 61

5 14 16 20

T2 (m) 1 5 14 5 18 42 19 18 61

5 14 16 20 152 63 60 26

m 44 45

48 49 50 52 54 56 60 63

I2 (m) 18 12 296

A 63 60 26

64 66 68 70

72

6 22 20 81 68 77 18 1276 20 20 20 325

Q 2 (m) 16 10 224

5 19 18 65 56 73 16

B 20 18 20 251

T2 (m) 16 10 220

5 19 18 65 56 73 16

697 20 18 20 251

m 75 76 78

80 81 84 88 90 92

96 98 99 100 102 104

I2 (m) 14 18 26 302 64 90 66 76 18 1446 22 12 Q 2 (m) 12 16 26 230

87

20

72

C 84 54 66 16

D 19 10

71

20

60

T2 (m) 12 16 26 226 44 84 54 66 16

971 19 10

71

20

60

m 105 108 110 112 114 116 117 120 121 124 125 126

128

I2 (m)

12 308

26 270

26

20

18 342

6

18

18 102 9120

Q 2 (m)

12 238

26 202

26

18

16 302

5

16

14

92

T2 (m)

12 238

26 198

26

18

16 302

5

16

14

92 4680

?

158 ≤ A ≤ 171, 727 ≤ B ≤ 831, 45 ≤ C ≤ 46, 996 ≤ D ≤ 1052

iv) the abelian invariants of the integral homology group Hn (X, Z) for n ≤ 5 where X is the homotopy 2-type represented by G. The definition and computation of this homology Hn (X, Z) are explained in the following Sections 5.4–5.6. If for every pair of non-isomorphic cat1 -groups C , C ∈ L at least one of the invariants (i)–(iv) yields distinct values we conclude that our list L contains precisely one minimal order representative for each homotopy 2-type class of order ≤ m. In cases where invariants (i)–(iv) are identical for two cat1 -groups C , C ∈ L the order of the cohomology group H3 (π1 C , π2 C ) can be computed. By Theorem 4.7.1 the order of this cohomology group provides an upper bound on the number of homotopy 2-types with given fundamental group π1 C and given second homotopy group π2 C and given action of π1 C on π2 C . In some cases this upper bound is sufficient to conclude that C and C are weakly equivalent. To illustrate this strategy let C[m, k, d] denote the dth cat1 -group structure whose underlying group is the kth group of order m. We shall prove that C[16, 2, 4] is weakly equivalent to C[4, 2, 2]. Firstly, to each cat1 -group C we associate the trivial crossed module 0 : π2 C → π1 C and denote the corresponding trivial cat1 -group by (C ). We refer to (C ) as the homotopy cat1 -group of C . Two weakly equivalent cat1 -groups

Finite Crossed Modules | 401

C , C have isomorphic homotopy cat1 -groups (C ) ∼ = (C ). Computer calculations show that

(C[16, 2, 4]) ∼ = C[4, 2, 2] = (C[16, 4, 3]) ∼ = (C[16, 3, 4]) ∼ and that H3 (π1 (C[4, 2, 2]), π2 (C[4, 2, 2])) = Z2 .

(5.24)

By Theorem 4.7.1, (5.24) implies that the four cat1 -groups C[16, 2, 4], C[16, 3, 4], C[16, 4, 3] and C[4, 2, 2] represent at most two weak equivalence classes. A computer calculation establishes that C[4, 2, 2] has integral homology different to that of C[16, 3, 4]. A further computation establishes that the integral homology of C[16, 2, 4] is distinct from that of C[16, 3, 4]. We conclude that C[16, 2, 4] is weakly equivalent to C[4, 2, 2]. A drawback to this method of argument is that it gives no indication of a sequence of quasi-isomorphisms relating C[16, 2, 4] and C[4, 2, 2]. Using the above strategy a non-redundant list of representatives of all homotopy 2types of order m has been computed and recorded in HAP for all m ≤ 127 excluding m = 32, 64, 81, 96. This record is used to implement the function IdQuasiCatOneGroup(C) which inputs a cat1 -group C and tries to return the pair of integers (m, k) with m the order of a smallest cat1 -group in the weak equivalence class of C and k a number uniquely identifying a smallest representative. The function first attempts to find a weak equivalence representative of C of order ≤ 127,  = 32, 64, 81, 96; if it succeeds it then uses the stored record to produce m and k. For m = 32, 64, 81, 96 the above strategy produces the bounds 158 ≤ Q 2 (32) ≤ 171, 727 ≤ Q 2 (64) ≤ 831, 45 ≤ Q 2 (81) ≤ 46 and 996 ≤ Q 2 (96) ≤ 1052. Example 5.3.5. The following GAP session constructs the cat1 -group C of order 768

corresponding to G → Aut(G), g → ιg (x) = gxg −1 . The final command shows that C represents the 139th homotopy 2-type of order 48 in HAP’s library. GAP session 5.3.5 gap> G:=SmallGroup(16,13);; gap> C:=AutomorphismGroupAsCatOneGroup(G);; gap> Size(C); 768 gap> IdQuasiCatOneGroup(C); [ 48, 139 ]



In cases where invariants (i)–(iv) fail to distinguish between two C, C , and where no explicit weak equivalence between C and C can be found, one could set cat1 -groups

402 | Cohomology of Homotopy 2-types

Q = π1 C , A = π2 C and use the outline proof of Theorem 4.7.1 to compute the cohomology class η ∈ H3 (Q , A) represented by C. One could similarly set Q = π1 C , A = π2 C and compute the cohomology class η ∈ H3 (Q , A ) represented by C . To decide if C ∼ =

is weakly equivalent to C one could run through all isomorphisms α : A −→ A and ∼ =

all isomorphisms β : Q −→ Q and check if there exists a pair (α, β) that induces an ∼ =

isomorphism H3 (Q , A) −→ H3 (Q , A ) which maps η to η . This weak equivalence test has not yet been implemented, but could presumably be used to complete Table 5.1 for the cases m = 32, 64, 81, 96.

5.4 Simplicial Objects As a prelude to the notion of a simplicial object (5.4.1 below) we briefly consider two deficiencies in our theoretical treatment of the cellular homology Hn (X) of a CW space X in Section 2.3. The first is that our definition of Hn (X) is imprecise when X is not regular. The second is our omission of a proof that Hn (X) depends only on the homotopy type of X and not on the chosen cell structure. The usual approach to rectifying these deficiencies involves the singular homology HnS (X) of a space. Details can be found in standard texts such as [150, 203, 273], but as motivation for the introduction of simplicial objects we recall below the definition of HnS (X). This definition does not lend itself to a computer implementation, but its merits include: i) HnS (X) is defined for any topological space X and not just for CW spaces; ii) the homotopy invariance of HnS (X) is reasonably straightforward; iii) given a CW space X there is a natural isomorphism HnS (X) ∼ = Hn (X), and also a relative version HnS (X n , X n−1 ) ∼ = Hn (X n , X n−1 ) suitable for a precise definition of the boundary homomorphism in the cellular chain complex C∗ X (even when X is not regular). For the definition of HnS (X) let n = {(x0 , . . . , xn ) ∈ Rn+1 :

n 

xi = 1 and xi ≥ 0}

i=0

denote the standard n-simplex. For 0 ≤ i ≤ n + 1 let di : n → n+1 , (x0 , . . . , xn ) → (x0 , . . . , xi−1 , 0, xi , . . . xn ) be the map that inserts a 0 as the ith coordinate, and for 0 ≤ i ≤ n let si : n+1 → n , (x0 , . . . , xn+1 ) → (x0 , . . . , xi−1 , xi + xi+1 , xi+2 , . . . xn ) denote the map that sums the ith and i + 1st coordinates. Put another way, di includes n as the ith facet of n+1 , and si projects n+1 onto its ith facet in a way that collapses the ith and (i + 1)th vertices together. The following cosimplicial identities hold.

Simplicial Objects | 403

⎧ j i d d = di dj−1 ⎪ ⎪ ⎪ ⎪ ⎨s j di = di s j−1 s j dj = 1 = s j dj+1 ⎪ ⎪ s j di = di−1 s j ⎪ ⎪ ⎩ji s s = si s j+1

if i < j if i < j (5.25)

if i > j + 1 if i ≤ j

For an arbitrary topological space X we denote by SXn the set of all continuous maps f : n → X, and we define the set theoretic functions di : SXn → SXn−1 , f → fdi si : SXn → SXn+1 , f → fsi

0 ≤ i ≤ n, 0 ≤ i ≤ n.

(5.26)

The set SXn is called the set of singular n-simplices, the map di is called the ith face map and the map si is called the ith degeneracy map. The cosimplicial identities imply the following simplicial identities. ⎧ di dj = dj−1 di ⎪ ⎪ ⎪ ⎪ ⎨di sj = sj−1 di dj sj = 1 = dj+1 sj ⎪ ⎪ di sj = sj di−1 ⎪ ⎪ ⎩ si sj = sj+1 si

if i < j if i < j (5.27)

if i > j + 1 if i ≤ j

We now define ZSXn to be the free abelian group on the set SXn . Since Z : (sets) −→ (abelian groups) is a functor there are induced homomorphisms di : ZSXn → ZSXn−1 , 0 ≤ i ≤ n, si : ZSXn → ZSXn+1 , 0 ≤ i ≤ n

(5.28)

which again satisfy the simplicial identities 5.27. We can now construct the alternating chain complex CZSX∗ :

∂3

∂2

∂1

· · · −→ ZSX2 −→ ZSX1 −→ ZSX0

(5.29)

with ∂n =

n 

(−1)i di .

(5.30)

i=0

The simplicial identities imply that ∂n ∂n+1 = 0. The singular homology of X is defined to be HnS (X) = Hn (CZSX∗ )

(5.31)

404 | Cohomology of Homotopy 2-types

for n ≥ 0. The following general notion emerges from the ingredients of this definition. Definition 5.4.1. Let K be any category. A simplicial object in K consists of a family of

objects Kn , n ≥ 0, in K together with morphisms si : Kn → Kn+1 , di : Kn → Kn−1 in K for 0 ≤ i ≤ n, such that the simplicial identities 5.27 hold.

A simplicial object in the category of sets is called a simplicial set, and a simplicial object in the category of (abelian) groups is called a simplicial (abelian) group. We say that a simplicial abelian group K is free if each Kn is a free abelian group. Given two simplicial objects K = {Km , si , di }, K = {Km , s i , d i } in some category K a morphism φ : K → K consists of a family of morphisms φn : Kn → Kn in K such that φn+1 si = s i φn and φn−1 di = d i φn for all possible n and i. Definition 5.4.2. To a simplicial abelian group K we associate the alternating chain

complex CK with CKn = Kn and boundary homomorphism ∂n : CKn → CKn−1 given by the formula 5.30. This provides a functor C : (simplicial abelian groups) −→ (chain complexes).

There is a functor Z : (simplicial sets) −→ (simplicial free abelian groups) which sends a simplicial set K to the simplicial abelian group ZK with ZKn the free abelian group on Kn . Definition 5.4.3. The homology of a simplicial set K is defined to be Hn (K) = Hn

(CZK) for n ≥ 0.

Two simplicial objects arose in the above account of singular homology: K = {SXn , si , di } is a simplicial set, and K = {ZSXn , si , di } is a simplicial abelian group. We now provide some other basic examples. Example 5.4.1. Let K be any simplicial complex with vertex set V say. There is an associated simplicial set OK where OKn is the set of (n + 1)-tuples (v0 , . . . , vn ) of vertices in V with the property that there is a simplex σ ∈ K such that vi ∈ σ for i = 0, 1, . . . , n. The face and degeneracy maps are given by

di (v0 , . . . , vn ) = (v0 , . . . , vˆi , . . . vn ), si (v0 , . . . , vn ) = (v0 , . . . , vi , vi , vi+1 , . . . vn ), where vˆi means that vi is omitted. The correspondence K → OK gives a functor O : (simplicial complexes) −→ (simplicial sets). This construction can be adapted to the case where the vertex set V is ordered. The subsets OKn+ of OKn consisting of (n + 1)-tuples with v0 ≤ v1 ≤ · · · ≤ vn yield a simplicial set OK + with the same face and degeneracy maps. The chain complex CZOK + contains as a subcomplex the chain complex C∗ K of the ordered simplicial complex

Simplicial Objects | 405

described in Example 2.1.1. The inclusion C∗ K → CZOK + is a weak equivalence. An inductive proof of this for finite K can be constructed using the Mayer–Vietoris sequence  of Theorem A.6.1, and this can then be extended to infinite K. Example 5.4.2. Let C be a category which we view as a set of morphisms endowed with

functions s, t : C → C and a partial composition. For a morphism f : X → Y in C we take s(f ) to be the identity morphism on X and t(f ) to be the identity morphism on Y. The composite fg of two morphisms f , g ∈ C is defined when s(f ) = t(g). There is an associated simplicial set NC where NC0 = s(C) is the set of identity morphisms and, for n ≥ 1, NCn is the set of n-tuples f1

f2

fn

X0 → X1 → · · · Xn−1 → Xn of morphisms fi ∈ C with the property that t( fi ) = s( fi+1 ), i = 1, 2, . . . , n − 1. In other words, NCn is the set of n-tuples of composable arrows. The face maps di : NCn → NCn−1 are given by composition of morphisms at Xi , or dropping the first or last arrow if i = 0 or n respectively. The degeneracy maps si : NCn → NCn+1 are given by inserting the identity morphism at Xi . The correspondence C → NC yields a functor N : (categories) −→ (simplicial sets). We refer to NC as the nerve, or simplicial nerve, of the category C. = (G, s, t) be a cat1 -group. For elements f , g

Example 5.4.3. Let C s( f ) we define an element f ◦ g ∈ G by the formula

f ◦ g = f (sf −1 )g.



∈ G satisfying t(g) = (5.32)

This partial composition defines a category structure on the set G and we can thus form the nerve N C of the category. Setting P = s(G) = t(G) and G ×P G = {(f , g) ∈ G × G | s(f ) = t(g)}, we obtain a group homomorphism G ×P G −→ G, (f , g) → f ◦ g. Since s and t are also group homomorphisms the nerve N C inherits the structure of a simplicial group. We denote this simplicial group by N C and refer to it as the nerve, or simplicial nerve, of the cat1 -group C . The construction yields a functor N : (cat1 -groups) −→ (simplicial groups).  Example 5.4.4. Any group G can be regarded as a category with a single object. Its simplicial nerve NG gives rise to a free simplicial abelian group ZNG and alternating chain complex CZNG. This chain complex coincides with the chain complex BG ∗ ⊗ZG ZG obtained by killing the G-action on the bar resolution BG ∗ of 4.1. For any group G the identity map 1G : G → G is a crossed module. Let C = (G  G, s, t) be the cat1 -group corresponding to 1G . The nerve N C can be regarded as a simplicial set on which the group G acts by multiplication. The alternating chain

406 | Cohomology of Homotopy 2-types

complex CZN C inherits a free ZG-action; this chain coincides with the bar resolution  BG ∗ for the group G. The following definition can be used to characterize those simplicial groups that arise as the nerve of some cat1 -group. Definition 5.4.4. Let G = {Gn , si , di } be a simplicial group. The Moore complex MG is a

complex of groups and group homomorphisms

∂3

∂2

∂1

· · · −→ M2 G −→ M1 G −→ M0 G where Mn G = Gn ∩ ker d0 ∩ ker d1 ∩ . . . ∩ ker dn−1 and ∂n : Mn G −→ Mn−1 G, x → dn (x). If the simplicial group G arises as the nerve G = N C of a cat1 -group then Mn G = 1 for n ≥ 2. Conversely, if Mn G = 1 for n ≥ 2 then the simplicial identities imply that the homomorphism ∂1 : M1 G → M0 G satisfies the axioms of a crossed module. We thus have the following result of Loday [194]. Proposition 5.4.1. [194] The following categories are isomorphic:

(i) crossed modules, (ii) cat1 -groups, (iii) simplicial groups G whose Moore complex MG satisfies Mn G = 1 for n ≥ 2. The simplicial identities imply that the Moore complex MG = {Mn G, ∂n } of a simplicial group satisfies ∂n ∂n+1 = 0 for n ≥ 1. This allows for the following definition. Definition 5.4.5. The homotopy groups of a simplicial group G are ∂1

π1 G = M0 G/im (M1 G −→ M0 G), ∂n−1

∂n

πn G = ker(Mn−1 G −→ Mn−2 G)/im (Mn G −→ Mn−1 G) for n ≥ 2. We remark that our indexing of the homotopy groups of a simplicial group is at variance with standard convention, but is convenient in that it agrees with our indexing for the homotopy groups of cat1 -groups and crossed modules. If G is a crossed module with corresponding cat1 -group C and simplicial nerve N C then πn G = πn C = πn (N C ). (In the literature what we refer to as πn G is more usually referred to as πn−1 G.)

Simplicial Objects | 407 Example 5.4.5. The following GAP session illustrates Proposition 5.4.1 and definition 5.4.5 by loading the 150th crossed module G of order 150 in HAP’s library, then constructing the corresponding cat1 -group C , then the first few degrees of the simplicial nerve N C , and finally calculating the orders of the homotopy groups πn (N C ) for n = 1, 2, 3. All HAP functions relating to simplicial groups were implemented by Le Van Luyen [198].

GAP session 5.4.5 gap> G:=SmallCrossedModule(32,150); Crossed module with group homomorphism Pcgs([ f2*f5, f3 ]) -> [ f5, of ... ] gap> C:=CatOneGroupByCrossedModule(G); Cat-1-group with underlying group Group( [ f1, f2, f3, f4, f5 ] ). gap> NC:=NerveOfCatOneGroup(C,5); Simplicial group of length 5 gap> Order(HomotopyGroup(NC,1)); 4 gap> Order(HomotopyGroup(NC,2)); 2 gap> Order(HomotopyGroup(NC,3)); 1



The following data type is used to store a simplicial group. Data type 5.4.1. A simplicial group {Gn , si , di ) can be represented as a component object

G with the following components. • G!.groupsList(n) is a function that returns the group Gn for n ≥ 0. • G!.boundariesList(n,i) is a function that returns the face homomorphism di : Gn → Gn−1 for 0 ≤ i ≤ n. • G!.degeneraciesList is a function that returns the degeneracy homomorphism si : Gn → Gn+1 for 0 ≤ i ≤ n. • G!.properties is a list containing pairs such as ["length", 5]. The associated function IsHAPSimplicialGroup(G) returns the boolean true when G is of this data type. A morphism φ : G → G of simplicial groups induces a morphism Mφ : MG → MG of Moore complexes and consequently homomorphisms πn (φ) : πn G → πn G for n ≥ 1. We say that φ is a quasi-isomorphism if πn (φ) is an isomorphism for n ≥ 1. We shall

408 | Cohomology of Homotopy 2-types

need the following theorem which we state without proof. (The theorem corresponds to Proposition 2.14 in Chapter II of [132] once one uses Proposition 17.4 on page 69 of [204] to see that the above definition of the homotopy groups of a simplicial group coincide with homotopy groups, defined simplicially, of the underlying simplicial set of G.) Theorem 5.4.2. A morphism φ : G → G of simplicial groups induces a chain homomor-

phism CZφ : CZG → CZG on the alternating chain complexes of the free abelian groups generated by G and G . If φ is a quasi-isomorphism then CZφ is a chain homotopy equivalence.

The proof of Proposition 5.4.1 explains how a simplicial group G with Moore complex MG of length 1 can be reconstructed from the homomorphism ∂1 : M1 G → M0 G together with the crossed module action of M0 G on M1 G. Daniel Conduché [67] determined an algebraic structure, known as a 2-crossed module, that needs to be retained on the Moore complex 1 → M2 G → M1 G → M0 G of length 2 in order to be able to reconstruct the simplicial group G from MG. Conduché’s structure provides a useful algebraic model of homotopy 3-types. An analogous, but rather complicated, algebraic structure that needs to be retained on a Moore complex MG of a general simplicial group G in order to be able to reconstruct G from MG was subsequently determined by P. Carrasco and A. Cegarra [55]. In the case where G is an arbitrary simplicial abelian group the complications evaporate: a classical result of A. Dold [86] and D. Kan [177] is that a simplicial abelian group G can be reconstructed just from the chain complex MG of abelian groups. We recall details of this Dold–Kan theorem directly from [132]. Let  denote the category whose objects are the finite ordered sets n = {0 < 1 < · · · < n}, n ≥ 0, and whose morphisms are the order-preserving set theoretic functions θ : m → n. It is an exercise to see that the category  is generated by the morphisms di : n − 1 → n, (0, 1, · · · , n − 1) → (0, 1, · · · , i − 1, i + 1, · · · , n), s j : n + 1 → n, (0, 1, · · · , n + 1) → (0, 1, · · · , j, j, · · · , n). In other words, di (k) = k if k ≤ i − 1, di (k) = k + 1 if k ≥ i, s j (k) = k if k ≤ j, s j (k) = k − 1 if k ≥ j + 1. Definition 5.4.1 can be rephrased: a simplicial object in a category K is a contravariant functor X :  → K. We write Xn = X(n). An order-preserving function θ : m → n induces a map θ ∗ : Xn → Xm . Given a chain complex d3

d2

d1

C∗ : · · · −→ C2 −→ C1 −→ C0 of (arbitrary) abelian groups one constructs a simplicial abelian group C∗ = {Gn , si , di } by setting Gn =

nk

Ck

(5.33)

Simplicial Objects | 409

where n  k ranges over all surjective order-preserving functions from n to k, for 0 ≤ k ≤ n. The homomorphism θ∗ :



Ck −→



Cr

(5.34)

mr

nk

associated to the order-preserving function θ : m → n is given on the summand corresponding to σ : n  k by the composite d∗

ιt

Ck −→ Cs −→



Cr

mr

where t

d

msk is the epic-monic factorization of the composite θ

σ

m→nk and ιt is the inclusion onto the t summand, and d∗ =

 dk 0

if s = k − 1 and d = dk : k − 1 → k, otherwise.

Example 5.4.6. If C∗ is a chain complex with Cn = 0 for n ≥ 1 then the simplicial group

C∗ = {Gn , si , di } has Gn = C0 for all n ≥ 0, with all boundary and degeneracy maps the identity. If C1 = 0 and Cn = 0 for n ≥ 2 then C∗ coincides with the nerve of the cat1 -group corresponding to the crossed module d1 : C1 → C0 involving trivial action of C0 on C1 . 

A detailed verification of the following statement can be found in [132]. Theorem 5.4.3 (Dold–Kan). The Moore complex yields a functor

M : (simplicial abelian groups) −→ (chain complexes of abelian groups) and the above construction  yields a functor  : (chain complexes of abelian groups) −→ (simplicial abelian groups). These functors form an equivalence of categories. A special case of the Dold–Kan correspondence has been implemented in HAP . Definition 5.4.6. For A an abelian group and n ≥ 1 let C∗ denote the chain complex

with Cn−1 = A, Ck = 0 for k  = n − 1. We denote by K(A, n) the simplicial abelian

410 | Cohomology of Homotopy 2-types

group C∗ and we refer to K(A, n) as an Eilenberg–MacLane simplicial group. Note that πn K(A, n) = A and πk K(A, n) = 0 for k  = n. Example 5.4.7. The following GAP code illustrates the implementation of K(A, n) for

n = 2 and A = C3 the cyclic group of order 3. GAP session 5.4.7

gap> A:=CyclicGroup(3);; gap> G:=EilenbergMacLaneSimplicialGroup(A,2,5); Simplicial group of length 5 gap> Order(HomotopyGroup(G,1)); 1 gap> Order(HomotopyGroup(G,2)); 3 gap> Order(HomotopyGroup(G,3)); 1 gap> Order(HomotopyGroup(G,4)); 1



Given an arbitrary simplicial group G = {Gq }q≥0 we can construct the simplicial nerve NGq = {Np Gq , si , di }p≥0 of each group Gq . Since the nerve construction is functorial we produce, in this way, a simplicial object NG = {NGq , s i , d i }q≥0 in the category S of simplicial sets. We regard NG as a diagram of sets involving horizontal maps dhi : Np Gq → Np−1 Gq , shi : Np Gq → Np+1 Gq and vertical maps dvi : Np Gq → Np Gq−1 , svi : Np Gq → Np Gq+1 . Each choice of fixed p corresponds to a column of sets {Np Gq }q≥0 that form a simplicial set. Each choice of fixed q corresponds to a row of sets {Np Gq }p≥0 that form a simplicial set. By constructing the free abelian group ZNp Gq for each p, q ≥ 0 we obtain a diagram of abelian groups and homomorphisms, each row forming a simplicial abelian group and each column forming a simplicial abelian group. Taking the alternating chain complex for each row and each column we obtain a commutative diagram CZNG =

ZN2 G2

∂h

ZN2 G2

∂h

ZN2 G2

∂h

∂v



/ ZN2 G2

∂h

∂v



/ ZN1 G2

∂v



/ ZN2 G1 

∂h

∂v

/ ZN2 G0

∂h

∂h

∂v



/ ZN0 G2

∂v



/ ZN1 G1 

∂h

∂v

/ ZN1 G0

∂h

∂v



/ ZN0 G1 

∂v

/ ZN0 G0

(5.35)

Simplicial Objects | 411

in which the rows and columns are chain complexes with boundary homomorphisms ∂ h and ∂ v given by the formula 5.30. Definition 5.4.7. A bicomplex C∗∗ consists of a family {Cp,q }p≥0,q≥0 of free abelian

abelian groups and homomorphisms ∂ h : Cp,q → Cp−1,q , ∂ v : Cp,q → Cp,q−1 satisfying ∂ h ∂ h = 0, ∂ v ∂ v = 0 and ∂ h ∂ v = ∂ v ∂ h . Such a bicomplex gives rise to a chain complex TC∗ , called its total complex, with TCn = p+q=n Cp,q and with boundary homomorpisms ∂ : TCn −→ TCn−1 given by the formula ∂(x) = of bicomplexes is a ∂ h (x) + (−1)q ∂ v (x) for x ∈ Cp.q . A morphism φ : C∗∗ → C∗∗ h family of homomorphisms φ : Cp.q → Cp,q satisfying φ∂ = ∂ h φ, φ∂ v = ∂ v φ. Such a morphism induces a chain map TC∗ → TC∗ of total complexes.

We now come to the main definitions of this section. Definition 5.4.8. The integral homology of a simplicial group G is defined to be the

homology

Hn (G, Z) = Hn (T),

n ≥ 0,

where T is the total complex of the bicomplex CZNG of 5.35. Definition 5.4.9. The integral homology of a crossed module G is the homology

Hn (G , Z) = Hn (N C , Z),

n ≥ 0,

where N C is the simplicial group arising as the nerve of the cat1 -group C associated to G . A direct computer implementation of definitions 5.4.8 and 5.4.9 is not practical. Even for small finite simplicial groups G the large number of generators in the total complex T of 5.4.8 prohibits direct computations. For instance, if G = K(A, 2) then the single summand ZNp Gq of Tp+q has |A|p(q−1) free abelian generators. In Section 5.5 we describe a method for constructing a smaller chain complex T that is chain homotopic to T and which, in many cases, is small enough for machine computations. For the application of 5.4.9 discussed in the Section 5.3 we need to establish that weakly equivalent crossed modules have isomorphic homology. This result follows from the following. Theorem 5.4.4. A quasi-isomorphism φ : G → G of crossed modules induces an isomor∼ =

phism Hn (G , Z) −→ Hn (G , Z). Proof. Let C , C be the cat1 -groups corresponding to G , G , and let G = N C , G = N C be the simplicial groups arising as their nerves. The quasi-isomorphism φ induces a quasi-isomorphism φ : G → G . There are two ways to view NG as a simplicial set in the category of simplicial sets: the columns are simplicial sets, and so too are the rows. We opt for the former view and consider each column NGp∗ = {Np Gq }q≥0 as a simplicial set. In fact, each column is a simplicial group: NG0∗ is the trivial group in each degree; NG1∗ is just the simplicial group G; and NGp∗ = Gp = {(Gq )p }q≥0

412 | Cohomology of Homotopy 2-types

for p ≥ 0. It can be seen from Definition 5.4.5 that the homotopy groups of the direct product Gp are πi (Gp ) ∼ = (πi G)p . We let NG p∗ denote the pth column of NG . The morphism φ : G → G induces a morphism φ : NG → NG in the category SS of simplicial objects in the category of simplicial sets. Moreover, φ : NGp∗ → NG p∗ is a quasi-isomorphism of simplicial groups for each row p ≥ 0. It follows that φ induces a morphism of bicomplexes φ : CZNG → CZNG which restricts to a chain homotopy equivalence on each column. The proof now follows from the following  Lemma 5.4.5 be a morphism of bicomplexes. If φ restricts to a chain Lemma 5.4.5. Let φ : C∗∗ → C∗∗ 

for each p ≥ 0 then it induces a chain homotopy equivalence of columns Cp∗ −→ Cp∗ homotopy equivalence TC∗ → TC∗ on total complexes.

Proof. Fr TCn = The total complex TC admits a filtration F0 TC ≤ F1 TC ≤ · · · with r 1 p+q=n,p≤r Cp,q . This filtration gives rise to a spectral sequence E with Ep,q = r 1 ). Hp (Cp∗ ). There is a corresponding spectral sequence E with Ep,q = Hp (Cp∗ The morphism φ induces isomorphisms E1p,q ∼ = E 1 p,q . An inductive argument shows r r ∼ that φ induces isomorphisms Ep,q = Ep,q for r ≥ 0. There is thus an isomorphism GrHn (TC) ∼ = GRHn (TC ) of associated graded groups. It follows that φ induces  isomorphisms Hn (TC) → Hn (TC ) for n ≥ 0. We end this section with a brief sketch of some background to definition 5.4.9. Full details can be found in [132, 204]. The simplicial set SX of singular simplicies of a topological space X provides a functor S : (topological spaces) −→ (simplicial sets). There is a functor | − | : (simplicial sets) −→ (topological spaces) and natural bijection HomTop (X, |K|) ∼ = HomS (SX, K)

(5.36)

for any space X and simplicial set K with HomTop (X, |K|) the set of continuous maps X → |K| and HomS (SX, K) the set of simplicial set morphisms SX → K. The space |K| is called the geometric realization of K. The space |K| is constructed by taking a disjoint union of standard n-simplices n ⊂ Rn+1 , one for each x ∈ Kn , and taking a suitable quotient of the disjoint union. More precisely, one gives each set Kn the discrete topology and forms |K| = (

∞ n=0

Kn × n )/ ∼

(5.37)

The Homological Perturbation Lemma | 413

where ∼ is an equivalence relation defined by (x, p) ∼ (y, q) if either • di x = y and di q = p or • sj x = y and s j q = p. Here di , s j are the maps of 5.25. When K is the simplicial set arising from an ordered simplicial complex then the geometric realization |K| is homeomorphic to the geometric realization of the simplicial complex. For an arbitrary simplicial set K the space |K| inherits a CW-structure. Now consider a simplicial group G. Underlying the bicomplex 5.35 is the simplicial object NG in the category of simplicial sets. We define the diagonal simplicial set BG di

di

to consist of the sets BGn = Nn Gn and structure maps di : Nn Gn −→ Nn−1 Gn −→ si si Nn−1 Gn−1 , si : Nn Gn −→ Nn+1 Gn −→ Nn+1 Gn+1 . One defines the topological space |G| = |BG|.

(5.38)

In this way one obtains a functor | − | : (simplicial groups) −→ (CW − spaces). The homology Hn (BG, Z) of the simplicial set BG is, by definition, the homology of the alternating chain complex CZBG. We have defined the homology Hn (G, Z) of the simplicial group G as the homology of the total complex T of the bicomplex CZNG of 5.35. The generalized Eilenberg–Zilber theorem (see Theorem 2.5 in Chapter IV of [132]) states that the chain complexes T and CZBG are chain homotopy equivalent. It follows that Hn (G, Z) ∼ = Hn (BG, Z) ∼ = Hn (|BG|, Z)

(5.39)

for n ≥ 0. Furthermore, it can be shown that if G = N C is the nerve of a cat1 -group C then the CW-space |BN C | has a fundamental crossed module 2 (|BN C |) which is weakly equivalent to the crossed module corresponding to C . Also, the higher homotopy groups πn (|BN C |) = [Sn , |BN C |] are trivial for n ≥ 3. We refer the reader to [194] for further details on these assertions.

5.5 The Homological Perturbation Lemma We now give a variant on the perturbation results 3.3.4 and 3.3.5 suitable for replacing the total complex of the bicomplex CZNG of 5.35 by a chain homotopy equivalent smaller chain complex that leads to practical computations of the homology of a simplicial group G. The idea of the variant goes back to papers of Brown [40] and Gugenheim [143]. The version we present here, namely Lemma 5.5.1, is due to M. Crainic [74].

414 | Cohomology of Homotopy 2-types

We begin with Crainic’s notion of a homotopy equivalence data φ

← ι

(C, ∂) → (D, ∂), H

(5.40)

which comprises chain complexes C, D, chain maps ι, φ that are chain homotopy equivalences and a homotopy ιφ − 1 = ∂H + H∂. A perturbation on 5.40 is a homomorphism δ : D → D of degree −1 such that (∂ + δ)2 = 0. More explicitly, ι, φ, H and δ involve abelian group homomorphisms ιn : Cn → Dn , φn : Dn → Cn , Hn : Dn → Dn+1 and δn : Dn → Dn−1 . The boundary homomorphisms ∂n : Cn → Cn−1 and ∂n : Dn → Dn−1 are both denoted by ∂. Note that (1 − δH) is invertible if the homomorphism (1 − δH)−1 = 1 − δH + (δH)2 − (δH)3 + · · · exists. This infinite series exists if, on any given summand Dn , all but finitely many of the terms in the series are zero. Lemma 5.5.1 (Homological Perturbation Lemma [74]). Suppose given a perturbation δ

on a homotopy equivalence data 5.40 for which (1 − δH)−1 exists. Set A = (1 − δH)−1 δ. Then φ

← ι

(C, ∂ ) → (D, ∂ + δ), H

(5.41)

is a homotopy equivalence data where ι = ι + HAι, φ = φ + φAH, H = H + HAH, ∂ = ∂ + φAι. The classical perturbation lemma of Brown [40] requires the homotopy equivalence data 5.40 to satisfy the extra requirements φι = 1, ιH = 0, H2 = 0. Outline proof. Various algebraic relations need to be derived from the hypothesis of the lemma: 1. ∂ 2 = 0 (∂ is indeed the boundary homomorphism of a chain complex.) 2. ι ∂ = (∂ + δ)ι (ι is indeed a chain map.) 3. ∂ φ = φ (∂ + δ) (φ is indeed a chain map.) 4. ι φ = 1 + H (∂ + δ) + (∂ + δ)H (H is indeed a homotopy between ι φ and the identity map 1.) 5. ι induces injective maps on homology. (Since ι φ induces the identity on homology it follows that φ ι also induces the identity on homology and that ι , φ are chain homotopy equivalences by Proposition 2.3.3.) We refer the reader to [74] or [198] for a detailed algebraic derivation of 1–5.



The Homological Perturbation Lemma | 415

An example of a homotopy equivalence data 5.42 which is important for computations in the (co)homology of groups arises from the relationship between the bar resolution BG ∗ for a group G and any other free ZG-resolution R∗G of Z. Equivariant chain maps R∗G → = G G BG ∗ , B∗ → R∗ over the identity X −→ Z give rise to a homotopy equivalence data φ

← ι R∗G ⊗ZG A → BG ∗ ⊗ZG A,

H

(5.42)

for any ZG-module A. Example 5.5.1. The following GAP session computes ZG-equivariant chain homotopy G G equivalences ψ : R∗G → BG ∗ , φ : B∗ → R∗ for the symmetric group G = S4 .

GAP session 5.5.1 gap> G:=SymmetricGroup(4);; gap> R:=ResolutionFiniteGroup(G,6);; gap> B:=BarResolutionEquivalence(R); rec( barBoundary := function( n, w ) ... end, barHomotopy := function( n, w ) ... end, equiv := function( n, w ) ... end, phi := function( n, v ) ... end, psi := function( n, w ) ... end )

The final command returns a record B with five components which we now describe. barBoundary(n,w) inputs an integer n ≥ 1 and list w = [[m1 , h1 , g1,1 , ..., g1,n ], ..., [mk , hk , gk,1 , ..., gk,n ]] with mi ∈ Z and hi , gij ∈ G. The list w represents the word m1 h1 .[g1,1 | . . . |g1,n ] + · · · + mk hk .[gk,1 | . . . |gk,n ] ∈ BG n in the bar resolution of degree n. For the remainder of this example we suppress any distinction between the list w and the word in BG n that it represents. The function returns the boundary ∂n (w) ∈ BG n−1 . barHomotopy(n,w) inputs an integer n ≥ 1 and word w ∈ BG n . It returns the image G → BG on the bar resolution. under a contracting homotopy η : B ηn (w) ∈ BG n n n+1 n+1 phi(n,w) inputs an integer n ≥ 1 and word w ∈ BG . It returns the image φn (w) ∈ RnG in n G the resolution R∗ represented, in the usual way, as a list of pairs. psi(n,v) inputs an integer n ≥ 1 and word v ∈ RnG . It returns the image ψn (v) ∈ BG n. G equiv(n,w) inputs an integer n ≥ 1 and word w ∈ Bn . It returns the image Hn (w) ∈ BG n+1 G under a chain homotopy Hn : BG → B that satisfies ψ φ − 1 = ∂ H + H ∂n . n n n+1 n n−1 n n+1

416 | Cohomology of Homotopy 2-types

The following continuation of the GAP session returns the homotopy equivalence data 5.42 for the trivial module A = Z. GAP session 5.5.1 gap> C:=BarComplexEquivalence(R); rec( equiv := function( n, w ) ... end, phi := function( n, v ) ... end, psi := function( n, w ) ... end )

Here equiv corresponds to H in 5.42, psi corresponds to ι in 5.42 and phi corresponds to φ in 5.42. An element in w ∈ BG n ⊗ZG Z is represented by a list w = [[m1 , g1,1 , ..., g1,n ], ..., [mk , gk,1 , ..., gk,n ]] with mi ∈ Z, gij ∈ G. An element v = m1 ej1 + · · · mk ejk ∈ RnG ⊗ZG Z, with mi ∈ Z and ej the jth generator of RnG ⊗ZG Z, is represented by a list v =  [[m1 , j1 ], . . . , [mk , jk ]. The homological perturbation lemma provides a tool for translating explicit theoretical constructions involving bar resolutions BG ∗ into recursively defined and machine computable constructions on smaller free resolutions R∗G . To illustrate the idea we introG duce the notation R∗ = R∗G ⊗ZG Z. There are a number of papers (see for instance [7, 135, 249]) that use the classical homological perturbation lemma to obtain machine computations of the (co)homology of a group G arising as a central extension Z  G  Q Q where small free resolutions R∗Z , R∗ are available for Z and Q . The homotopy data equivalences Z





R∗ → B∗ , H

Z

Q

R∗ → B∗ , H

Q

(5.43)

combine to form a homotopy data equivalence ←

R∗ ⊗ R∗ → B∗ ⊗ B∗ , H . Z

Q

Z

Q

(5.44)

The data 5.44 involves free Z(Z × Q )-resolutions. The groups G and Z × Q have the same underlying set, with multiplication (z, q)(z , q ) = (zz (q, q ), qq ) on G determined by a 2-cocycle : Q × Q → Z. One has to use this 2-cocycle to define a suitable Z×Q Z Q G Z×Q = B∗ ⊗ B∗ such that B∗ is equal to B∗ perturbation δ on the chain complex B∗ with perturbed boundary ∂ + δ. The perturbation lemma then provides a perturbed Q boundary on R∗Z ⊗ R∗ yielding a free ZG-resolution of Z. This method for cohomology of central group extensions is not implemented in HAP – the somewhat similar method based on Proposition 3.3.5 is implemented instead.

Homology of Simplicial Groups | 417

There are many other computational applications of the homological perturbation lemma. The Kenzo software system [260] uses the lemma extensively for a range of computations in algebraic topology, including computations of the homology of loop spaces. In the following section we use the lemma for computing homology of simplicial groups.

5.6 Homology of Simplicial Groups Let G be a simplicial group, let CZNG denote the bicomplex of 5.35 and let T denote the total complex of this bicomplex. Let S denote the total complex of the bicomplex 5.45

ZN2 G2

∂h

ZN2 G2

∂h

ZN2 G2

∂h

0



/ ZN2 G2

0



∂h

/ ZN1 G2

0



/ ZN2 G1 

/ ZN1 G1

0

/ ZN2 G0



∂h

/ ZN0 G2

0



∂h

0



∂h

(5.45)

/ ZN0 G1

0

/ ZN1 G0

0



∂h



∂h

0

/ ZN0 G0

obtained from 5.35 by substituting the zero homomorphism for each vertical map. Then T and S have the same underlying abelian groups. The boundary ∂ h + (−1)q ∂ v on T is obtained from the boundary ∂ h on S by adding the perturbation δ = (−1)q ∂ v . G Note that the qth row in both 5.35 and 5.45 coincides with the chain complex B∗ q = Gq B∗ ⊗ZGq Z obtained by killing the action on the bar resolution for Gq . For each q we can Gq

try to construct a smaller free ZGq -resolution R∗ and then form the induced homotopy equivalence data G



G

R∗ q → B∗ q , H.

(5.46)

Let R denote the total complex of the bicomplex 5.47.

G

R3 2

/ RG2

∂h

/ RG2 1

G

∂h

0



/

0



∂h

2

G R2 2

R2 2

0



∂h

G R2 1



0

/ RG0 2

∂h

∂h

/ RG2 0

0



/

0



∂h

G R1 1



∂h

0

/ RG0 1

∂h

0

/



G R0 1



0

/ RG0 0

(5.47)

418 | Cohomology of Homotopy 2-types

The homotopy equivalences 5.46 combine to form a homotopy equivalence data ←

R → S, H.

(5.48)

We can know invoke Lemma 5.5.1 to construct a perturbed boundary ∂ on R such that R = (R, ∂ )

(5.49)

is chain homotopy equivalent to T. The homology of R is thus isomorphic to the required homology of the simplicial group G. Example 5.6.1. The following GAP session illustrates how an implementation of the chain complex R can be used to compute

H4 (∂ : D16 → Aut(D16 ), Z) = Z2 ⊕ Z2 ⊕ Z2 where D16 is the dihedral group of order 32. The cat1 -group C corresponding to the crossed module ∂ has order 4096 and homotopy groups π1 (C ) = C4 × C2 , π2 (C ) = Z2 . To reduce computations a quasi-isomorphism of cat1 -groups C  D is constructed. The underlying group of D is nonabelian of order 64. GAP session 5.6.1 gap> C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(32));; gap> StructureDescription(HomotopyGroup(C,1)); "C4 x C2" gap> StructureDescription(HomotopyGroup(C,2)); "C2" gap> D:=QuasiIsomorph(C);; gap> G:=NerveOfCatOneGroup(D,5);; gap> R:=ChainComplexOfSimplicialGroup(G);; gap> Homology(R,4); [ 2, 2, 2 ]



The chain complex R

of 5.49 is typically far from minimal. One can try to reduce its size by using various strategies involving discrete vector fields. One such strategy is extremely simple to implement yet surprisingly effective in many cases. To describe it, we consider an arbitrary chain complex (C∗ , ∂) of free abelian groups, and let eni denote the free ) is redundant if ∂(eni ) = ±en−1 . A redundant generators of Cn . We say that a pair (eni , en−1 j j n n−1 pair generates a subchain complex ei , ej  of C∗ with trivial homology. The long exact homology sequence arising from a short exact sequence of chain complexes implies that

Homology of Simplicial Groups | 419

the quotient chain map ∗ : C∗ → C∗ /eni , en−1  induces isomorphisms on homology. j n n−1 Moreover, the quotient C∗ /ei , ej  is a chain complex of free abelian groups and hence ∗ must be a chain homotopy equivalence. (0) (k) Given any finite dimensional chain complex C∗ we set C∗ = C∗ and, while C∗ (k+1) (k) (k) contains a redundant pair (eni , en−1 ), we set C∗ = C∗ /eni , en−1 . When C∗ contains j j no redundant pair we set C∗∞ = C∗(k) . The composite of chain homotopy equivalences C∗(0) → C∗(1) → · · · → C∗(k) provides a chain homotopy equivalence C∗ → C∗∞ . An implementation of this reduction strategy is available in HAP. Example 5.6.2. To illustrate the performance of the reduction strategy we consider the Eilenberg–MacLane simplicial group K(Z2 , 2). This is the nerve of the cat1 -group corresponding to the crossed module ∂ : Z2 → 0. Let R∗ denote the chain complex 5.49 for the simplicial group G = K(Z2 , 2), in which Gq R∗ are chosen to be minimal ZGq -resolutions for the elementary abelian 2-groups Gq , q ≥ 0. When the reduction strategy is applied to R∗ it yields a chain homotopy equivalence R∗  R∗ ∞ ; the ranks of Ri and Ri ∞ are listed in the following table for low degrees.

i Rank(Ri ) Rank(Ri ∞ )

0 1 2 3 4 5 6 7 8 9 10 1 1 2 4 8 16 32 64 128 256 512 1 0 1 1 2 3 5 8 13 21 34

The table of ranks was obtained from the following GAP session. GAP session 5.6.2 gap> A:=CyclicGroup(2);; gap> G:=EilenbergMacLaneSimplicialGroup(A,2,12);; gap> R:=ChainComplexOfSimplicialGroup(G);; gap> Rinf:=SimplifiedComplex(R);; gap> List([0..11],R!.dimension); [ 1, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ] gap> List([0..11],Rinf!.dimension); [ 1, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ]

This experimental evidence suggests that the reduction strategy yields a free abelian chain complex for K(Z2 , 2) whose terms have ranks equal to the Fibonacci numbers in all degrees. We remark that Clemens Berger [20] has indeed proved the existence of a CW-complex of type K(Z2 , 2) with a Fibonacci number of cells in each degree. Similar

420 | Cohomology of Homotopy 2-types

GAP computations for K(Z3 , 2) again yield a chain complex with a Fibonacci number of  generators in low degrees. Example 5.6.3. The following GAP session computes the first terms of the chain complex R∗ for the Eilenberg–MacLane simplicial group G = K(Z, 2) and shows that in dimension d the number of free generators is the d-th Fibonacci number.

GAP session 5.6.3 gap> ZZ:=AbelianPcpGroup(1,[0]);; #ZZ is the infinite cyclic group gap> G:=EilenbergMacLaneSimplicialGroup(ZZ,2,10);; gap> R:=ChainComplexOfSimplicialGroup(G);; gap> List([0..10],R!.dimension); [ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ]

The following further commands produce a chain complex which is quasi-isomorphic to R∗ and which has just one generator in each odd dimension. (This corresponds to the standard CW-structure on complex projective space involving just one cell in each even dimension.) GAP session 5.6.3 gap> D:=SimplifiedComplex(R);; gap> List([0..9],R!.dimension); [ 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ]



A different approach to computing the integral homology of crossed modules has been pursued by Ana Romero [246–248] and is available as a module, written in Lisp, for the Kenzo software [260]. She uses a fibration sequence K(π2 (X), 2) → X → K(π1 (x), 1) associated to any homotopy 2-type X and the classical homological perturbation lemma to obtain a small algebraic model for X in terms of small models for the Eilenberg– MacLane spaces K(π2 (X), 2) and K(π1 (X), 1).

5.7 Exercises 1. Suppose that X is a space with subspaces U, V, X1 ⊂ X. Set W = U ∩ V, U1 = U ∩ X1 , V1 = V ∩ X1 , W1 = W ∩ X1 and suppose that: (i) X is the union of the interiors of U and V; (ii) each of the spaces X, X1 , U, U1 , V, V1 , W, W1 is pathconnected; (iii) each of the induced homomorphisms π1 U1 → π1 U, π1 V1 →

Exercises | 421

π1 V, π1 W1 → π1 W is surjective. It was shown by R. Brown and P.J. Higgins [46] that under these hypotheses the induced diagram (W, W1 )

ψ

(5.50)

φ

φ

 (U, U1 )

/ (V, V1 )

ψ

 / (X, X1 )

is a pushout in the category of crossed modules, i.e. it is defined up to isomorphism by the property: for any crossed module Q and any morphisms of crossed modules θ : (U, U1 ) → Q, θ : (V, V1 ) → Q satisfying θφ = θ ψ there exists a unique morphism α : (X, X1 ) → Q with αψ = θ and αφ = θ . This is a van Kampen type theorem for crossed modules. Use this result, together with the isomorphism π2 (D2 , S1 ) ∼ = Z, to prove Theorem 5.2.1.

6

Explicit Classifying Spaces

This chapter returns to the topic of computing group (co)homology and describes methods for producing free resolutions for an eclectic selection of groups. For any group G there are various ways to construct a contractible CW-space EG on which G acts freely, with cells permuted by the action. We say that EG is a total space for G. The quotient space BG = EG/G obtained by killing the action is a classifying space for G. The cellular chain complex C∗ (EG) is a free ZG-resolution of Z. We have seen in Chapter 3 how this resolution can be used for cohomological computations when the space BG involves only a finite and reasonably small number of cells up to a given dimension. In this final chapter we consider how specific properties of various particular groups might be used to construct small classifying spaces or free resolutions. We begin with a brief review of how the material in Chapter 3 leads to small free resolutions for certain families of groups G, and then go on to consider material related to further families of groups. Section 2 describes a simple procedure which attempts to test if the 2-complex of a group presentation is a classifying space for the group. A procedure for constructing a free resolution for a graph of groups is given in Section 3; this is used in Subsection 3.1 to provide a contracting discrete vector field on the 2-complex of a one-relator group whose relator is not a proper power: a constructive version of a theorem of Lyndon; the construction is used again in Subsection 3.2 to obtain a free resolution for the group G = SL2 (Z[ m1 ]). Free resolutions for triangle groups, cyclic central extensions of triangle groups, and generalized triangles groups are obtained in Section 4 and its subsections. Subsection 4.2 recalls details on Poincaré’s theorem, which is needed for the case of generalized triangle groups. Section 5 digresses to discuss non-positive curvature. This topic is clearly related to the construction of classifying spaces, though we do not use it in HAP in any practical way. Free resolutions for Coxeter groups are obtained in Section 6. The Davis complex is recalled, and endowed with an explicit contracting discrete vector field. Section 7 considers Artin groups. There is a well-known candidate for a small cellular classifying space for such groups but the problem, known as the K(π , 1) conjecture, is to establish that the candidate is contractible. Certain known cases of the conjecture are proved in An Invitation to Computational Homotopy. Graham Ellis. Oxford University Press (2019). © Graham Ellis 2019. DOI: 10.1093/oso/9780198832973.001.0001

424 | Explicit Classifying Spaces

this section. Subsection 7.1 exhibits a few computations of the integral cohomology ring of the candidate space. In Section 8 we give a brief sketch of Voronoi’s construction of fundamental domains for groups such as SLn (O) where O is the ring of integers of a suitable number field. The construction starts with computing perfect forms. This final section is based on [10, 34, 90, 258].

6.1 Review of Constructions Finite Groups Algorithm 3.2.2 will, in principle, return the first n degrees of a resolution C∗ (EG) for any finite group G and n ≥ 0. The HAP implementation begins by constructing the multiplication table for G and uses no particular group-theoretic properties of G other than its finiteness. It does not even use a preferred generating set for G – it constructs its own using a naive algorithm. The algorithm depends on the order in which GAP lists the elements of G, with different orderings sometimes leading to substantially different resolutions. In practice the implementation is only practical for groups of small order and low values of n. It is well able to compute, for instance, a resolution up to dimension 6 for the symmetric group G = S7 of order 5040, and a resolution up to dimension 20 for the symmetric group S4 of order 24. See Example 3.2.3 for an illustration of this kind of computation. For large finite groups G it may be possible to find a contractible CW-space X on which G acts non-freely, with cells permuted by the action, and with all cell stabilizer groups Ge small enough for it to be practical to apply Algorithm 3.2.2 to Ge . Proposition 3.3.5 can then be used to combine resolutions for the Ge with the chain complex C∗ X to form a free ZG-resolution. One possibility for constructing the space X is to choose a linear representation ρ : G → GL(Rd ) and vector v ∈ Rd , and then take X to be the convex hull in Rd of the orbit of v under the action of G. If such a convex hull X is to be determined from a convex hull computation then Lemma 1.1.4 can be used to incorporate the symmetry of X into the computation. This kind of computation is illustrated in Example 3.3.

Groups with Subnormal Series Suppose that a group G contains a subnormal series 1 = Gc+1  · · ·  G3  G2  G1 = G Q

(6.1)

for which we can construct a free ZQi -resolution R∗ i (up to a certain degree) with Q i = Gi /Gi+1 , 1 ≤ i ≤ c. Then Proposition 3.3.5 can be used to inductively compute free ZGi -resolutions R∗Gi for i = c, c − 1, . . . , 1, and hence a free ZG-resolution R∗G . Such a computation is illustrated in Example 3.3.9. If each Gi is normal in G then a different induction with the same proposition can be used to construct free ZG/Gi -resolutions G/G S∗ i , i = 2, 3, . . . , c + 1, and thus an alternative free resolution ZG-resolution SG ∗ . In particular, if G is a finitely generated (but not necessarily finite) nilpotent group then we can take 6.1 to be the lower central series. In this case the groups Q i = Gi /Gi+1 are

Review of Constructions | 425 Q

abelian and there exists a canonical minimally generated free ZQ i -resolution R∗ i which can be described theoretically and used in the computation. Example 3.3.8 illustrates this approach to computing resolutions for nilpotent groups. Resolutions SG ∗ constructed using this divide-and-conquer technique can be far from minimally generated. Consider the case of a finite p-group G where a lower bound for the minimal number of generators in each degree of a free ZG-resolution is determined by the p-rank of G (cf. Lemma 3.3.2). Sequence 6.1 gives rise to the inequality p − rank(G) ≤ p−rank(Gc /Gc+1 ) + p−rank(Gc−1 /Gc ) + · · · + p−rank(G1 /G2 ). (6.2)

The resolution SG ∗ will be minimally generated if equality holds in 6.2 and each Q −i resolution R∗ is minimally generated. Thus, for practical computations it pays to apply the divide-and-conquer technique to sequences where 6.2 is at least close to an equality.

Crystallographic Groups There are several approaches to constructing a free ZG-resolution for a crystallographic group G. One method uses the extension T  G  P involving the free abelian translation subgroup T and finite point group P. Free resolutions R∗T and R∗P can be combined, ˜ ∗Q for G. This method is using Proposition 3.3.5, to form a free resolution R∗G = R∗T ⊗R implemented as the HAP function ResolutionAlmostCrystal(G,n) and is illustrated in Example 4.5.3. Alternatively, we can use the fact that G acts on Euclidean space X = Rn and give this space a CW-structure. The chain complex C∗ X is a ZG-resolution but, in general, will not be free since cells can have finite stabilizer groups. Proposition 3.3.5 can be used to combine C∗ X and resolutions for the stabilizer groups into a free ZG-resolution RG . One method for imposing a CW-structure on X is to use convex hull computations to construct a Dirichlet–Voronoi fundamental region. This is illustrated in Example 3.1.2 for a crystallographic group which acts freely on X and with convex hull computations performed using Polymake software. An alternative method of imposing a CWstructure on X is to search for a Dirichlet–Voronoi fundamental region with a prescribed combinatorial structure. Algorithm 3.1.1 can be used to search for cubical fundamental regions. The algorithm is illustrated in Example 3.3.6 for a crystallographic group with non-free action on X = Rn .

Finite Index Subgroups If a group G acts freely on a contractible space EG, then any subgroup H ≤ G also acts freely on EG. If BG = EG/G has finitely many cells in each degree, and if H is of finite index G, then the quotient BH = EG/H also has finitely many cells in each degree. This translates into a practical construction of a free ZH-resolution R∗H from a free ZGresolution R∗G = C∗ (EG). The resolution R∗H may involve an excessive number of free generators in each degree, but a discrete vector field reduction might succeed in reducing the number of generators.

426 | Explicit Classifying Spaces Example 6.1.1. The method is illustrated in the following GAP session for G = S5 ,

H = A5 . The reduced resolution for the alternating group A5 has 12 free generators in degree 8. GAP session 6.1.1 gap> G:=SymmetricGroup(5);; gap> H:=AlternatingGroup(5);; gap> RG:=ResolutionFiniteGroup(G,9);; gap> RH:=ResolutionSubgroup(RG,H);; gap> S:=SimplifiedComplex(RH);; gap> List([0..8],RG!.dimension); [ 1, 4, 10, 20, 35, 56, 76, 94, 120 ] gap> List([0..8],RH!.dimension); [ 2, 8, 20, 40, 70, 112, 152, 188, 240 ] gap> List([0..8],S!.dimension); [ 1, 3, 5, 6, 5, 6, 7, 7, 12 ]



6.2 Aspherical Groups Suppose that a group G is defined by a finite presentation P = x | r . The presenK tation corresponds to a 2-dimensional CW-space K = K(P ) whose universal cover  is path-connected with trivial fundamental group. By Theorem 5.2.1, the fundamental crossed module of K coincides with the free crossed module ∂ : C(r) → F(x) constructed directly from P . We refer to elements of π2 (∂) = ker(∂) as syzygies. For convenience let us suppose that the relators of P are cyclically reduced. Let D be a van Kampen diagram over P whose boundary word is the trivial element of F(x). The discussion just prior to Example 5.2.1 (describing the algebraic construction of a presentation for the fundamental crossed module of an arbitrary connected CW-space) can be re-interpreted as the construction of a non-trivial syzygy sD from D. The construction also works in the reverse direction: from a non-trivial syzygy s we can construct a non-trivial van Kampen diagram Ds over P . Such a van Kampen diagram is a P -tessellated 2-sphere in the sense of Definition 2.2.2. Example 6.2.1. Consider the presentation P = x | r = x, y | x2 = xyxy−2 = 1 of

the symmetric group G of order 6. Let e, f ∈ C(r) denote the free generators of the associated free crossed module ∂ : C(r) → F(x), with ∂(e) = x2 , ∂( f ) = xyxy−2 ∈ F(x), and consider the syzygy

Aspherical Groups | 427 y x x y

x y x

x

x

y y y

x

x x

y

x ∗

y

x

y

Figure 6.1 Van Kampen diagram for the syzygy s of 6.3.

s = yx f −1 y e f −1 xy e e y e−1 e−1 x f

xy −1

e

f

y2 y −1

f f

.

(6.3)

To verify that this really is a syzygy one has to check that ∂(s) = 1. A corresponding van Kampen diagram Ds is shown in Figure 6.1 with one relator disk omitted. The diagram Ds is a bouquet of lollipops based at the vertex ∗, with the ‘outer lollipop’ omitted, and  corresponds to the tessellated 2-sphere shown in Figure 2.6. Let R be the normal subgroup of F(x) generated by the set r of relators. The crossed ˜ = 1. One can check module ∂ restricts to a crossed module ∂˜ : C(r)  R with π1 (∂) that ∂˜ is the free crossed R-module on the function T × r → R, (t, r) → trt −1 where T ˜ Choose an admissible is a transversal for R in F(x). There is another way to describe ∂. discrete vector field on the 1-skeleton of the universal cover  K involving a single critical 0-cell. (This vector field defines a maximal tree in the 1-skeleton of  K .) Let  K be the resulting 2-dimensional CW-space which has just one 0-cell and which is homotopy equivalent to  K . Then ∂˜ is the fundamental crossed module of  K . Recall that the presentation P is aspherical, in the sense of Definition 2.2.2, if there is no non-trivial van Kampen diagram over P whose boundary spells the identity element of the free group F(x). If P is aspherical then the free crossed module ∂ : C(r) → F(x) has no non-trivial syzygies. In this case the crossed module ∂˜ : C(r)  R, which coincides K ), has trivial homotopy groups. One can with the fundamental crossed module 2 (

then construct a homotopy equivalence 2 ( K ) −→ 2 (∗) where 2 (∗) is the fundaK , is mental crossed module of a point. Theorem 5.2.3 then implies that  K , and hence   contractible. The converse also holds: if K is contractible then P is aspherical. We thus arrive at the following alternative, but equivalent, definition of aspherical presentation.

428 | Explicit Classifying Spaces

 Definition 6.2.1. A presentation P is aspherical if the universal cover K( P ) of the associated 2-dimensional CW-space is contractible. For any presentation P the chain complex C∗ K : C2  K → C1  K → C0  K corresponds to K is the the first three terms of some free ZG-resolution R∗G . If P is aspherical then C∗ K = 0 for n ≥ 3. The chain complex C∗ K is implemented required free resolution, with Cn as the HAP function ResolutionAsphericalGroup(P). This implementation does not return any contracting homotopy on the resolution. Indeed, any contracting homotopy would provide a normal form for elements in G (the 1-cells occurring as the targets of arrows in a contracting discrete vector field form a maximal tree in the Cayley graph) and hence a solution to the word problem for G. It is known that there exist finitely presented groups G for which the word problem is unsolvable and for which the presentation is aspherical [64]. We say that a group G is aspherical if it acts freely on some contractible CW-space of dimension ≤ 2. In other words, G is aspherical if it admits an aspherical presentation. Example 2.2.2 illustrates how a linear optimization procedure can be used to determine the asphericity of certain presentations. Example 6.2.2. The presentation P = x, y, z | xyx = yxy, yzy = zyz, xzx = zxz was

shown to be aspherical in Example 2.2.2. The following GAP session shows that the presented group G has second homology H2 (G, Z) = Z. GAP session 6.2.2 gap> F:=FreeGroup(3);;x:=F.1;;y:=F.2;;z:=F.3;; gap> rels:=[x*y*x*(y*x*y)ˆ-1, y*z*y*(z*y*z)ˆ-1, z*x*z*(x*z*x)ˆ-1];; gap> R:=ResolutionAsphericalPresentation(F/rels,3);; gap> Homology(TensorWithIntegers(R),2); [ 0 ]



There is a sizeable literature on conditions sufficient for a presentation P to be aspherical. One of the older results on this topic is due to R.C. Lyndon: a group presentation involving a single relator is aspherical if that relator is not a proper power (see [59, 91]). We recall a proof of this statement in Subsection 6.3.1. The asphericity test of Lemma 2.2.4 and Example 2.2.2 is described in [27] and has evolved from the colouring test of Sieradski [263] through work of Gersten [128] and Pride [233]. The linearly optimized implementation of the test in HAP is not strong enough to detect the asphericity of certain presentations with a single non-proper power relator. Example 6.2.3. Let F be the free group on two generators x, y. The following GAP session produces the star graphs for the presentation P = x, y | r for various relators r ∈ F. The star graphs are shown in Figure 6.2.

Aspherical Groups | 429

Figure 6.2 Star graphs for relators xy 2 x (top left), xy 2 xy −1 (top middle), xy 2 xy −1 x (top right), xy 2 xy −1 x2 (bottom left), xyxy −1 x−1 yxy −1 (bottom right).

GAP session 6.2.3 gap> F:=FreeGroup(2);;x:=F.1;;y:=F.2;; gap> G:=F/[x*yˆ2*x];;Display(StarGraph(G));; gap> G:=F/[x*yˆ2*x*yˆ-1];;Display(StarGraph(G));; gap> G:=F/[x*yˆ2*x*yˆ-1*x];;Display(StarGraph(G));; gap> G:=F/[x*yˆ2*x*yˆ-1*x*x];;Display(StarGraph(G));; gap> G:=F/[x*y*x*yˆ-1*xˆ-1*y*x*yˆ-1];; Display(StarGraph(G));;

The Gersten–Pride–Sieradski asphericity test is sufficient to establish asphericity of P , without recourse to Lyndon’s result, for all but the last relator. For instance: GAP session 6.2.3 gap> F:=FreeGroup(2);;x:=F.1;;y:=F.2;; gap> IsAspherical(F,[x*yˆ2*x*yˆ-1*x*x]); Presentation is aspherical. true

A difficulty with the last relator r = xyxy−1 x−1 yxy−1 is that it has the same star graph  and the same length as the proper power r = (xy2 x)2 . Given a presentation P one defines a pair to be a product w = aα bβ  = 1 with a, b ∈ x, α, β = ±1 such that w occurs more than once as a subword of the relators

430 | Explicit Classifying Spaces

r ∈ r or inverse relators r−1 . For example, w = xy is a pair for the presentation P = x, y | xyxy−1 x−1 yxy−1 = 1 . One can form a new presentation P from P by adding a new generator z, adding a new relator z = w, and using z to re-express each relator r ∈ r so that neither w nor its inverse occurs in the re-expressed relator. Continuing with the example, we get P = x, y, z | z−1 xy = zxz−1 yxy−1 = 1 . The 2-complex K(P ) is simple homotopy equivalent to the 2-complex K(P ). Therefore P is aspherical if, and only if, P is aspherical. Let us say that P is a smoothing of P . As we have seen in Example 2.2.2, such a smoothing can sometimes help in establishing asphericity of P . Example 6.2.4. The following GAP session establishes, without recourse to Lyndon’s result, that the presentation P = x, y |xyxy−1 x−1 yxy−1 = 1 of the previous example is aspherical.

GAP session 6.2.4 gap> F:=FreeGroup(2);; x:=F.1;;y:=F.2;; gap> G:=F/[x*y*x*yˆ-1*xˆ-1*y*x*yˆ-1];; gap> S:=SmoothedFpGroup(G);; gap> IsAspherical(S); Presentation is aspherical. true



The function S:=SmoothedFpGroup(G) involves arbitrary choices of pairs, with preference given to pairs that occur least frequently, and these automated choices may not be optimal with regard to asphericity testing. Even in conjunction with the automated smoothing procedure, our implementation of the Gersten–Pride–Sieradski test fails to detect asphericity of certain torsion free single relator presentations. A proof of the asphericity of such presentations is recalled in Section 6.3.1 using the notion of a graph of groups. We remark that if a finite presentation P = x | r of a group G passes the Gersten– Pride–Sieradski test with strict inequalities 2.13 (i.e. the edge angles in any loop of the star graph sum to greater than 2π), then there exists an algorithm for deciding if two words w, w ∈ F(x) represent the same element of G. Such an algorithm is equivalent to an algorithm for deciding if the word w w−1 represents the trivial element in G. This, in turn, is equivalent to an algorithm for deciding if there is a planar van Kampen diagram over P whose boundary word is equal to w w−1 ∈ F(x). The latter algorithm exists because, under the hypothesis on the presentation, the number of relator disks in any van Kampen diagram over P is bounded in terms the length of the boundary word of the diagram. The required bound is obtained from a straightforward generalization of the combinatorial Gauss–Bonnet formula 2.2.2 to P -tessellated compact surfaces M with boundary. For

Graphs of Groups | 431

such a surface one defines, as before, the curvature of an interior vertex to be C (v) = 2π − A∈v θ(A) where θ is the combinatorial angle function used to pass the Gersten– Pride–Sieradski test. For a boundary vertex  v incident with the two boundary edges e, e one defines the curvature C (v) = π − A∈v θ(A) where  corresponds to a small arc in M around v starting at e and ending at e . The formula 2.2.2 generalizes to 

C (v) +

v∈∂M



C (v) = 2πχ(M).

(6.4)

v∈M\∂M

For each interior vertex v ∈ M \ ∂M the curvature C (v) is strictly negative. Thus, if the word w w−1 corresponds to the boundary of a planar region M with χ(M) = 1, the number of interior vertices in M is bounded by a constant multiple of the length of w w−1 .

6.3 Graphs of Groups Let (V, E) be a directed graph with source and target maps s, t : E → V. We say that it is an edge reversing graph if it is endowed with an edge reversal map E → E, e → e satisfying e = e, e = e, s(e) = t(e), t(e) = s(e). A graph of groups  consists of a connected edge reversing graph (V, E) with groups Gv , Ge assigned to each vertex v ∈ V and edge e ∈ E, and an injective homomorphism αe : Ge  Gs(e) assigned to each edge e ∈ E. An edge e and its reversed edge e are assigned the same group Ge = Ge . We write βe : Ge  Gt(e) to denote the homomorphism αe . Recall that a groupoid is a category in which every morphism has an inverse (see Appendix A.2). Any edge reversing graph (V, E) formally generates a groupoid. An arrow in this groupoid is just a sequence of edges e1 e2 · · · en with s(ei ) = t(ei+1 ); the composite ei ei is the identity on s(ei ) and the composite ei ei is the identity on t(ei ). Given a graph of groups , each vertex group Gv can be regarded as a groupoid with a single object v. In this way the graph (V, E) together with the vertex groups Gv generate a groupoid which we denote by F . This groupoid has one object for each vertex v ∈ V. We can now form the quotient groupoid G = F / ∼ obtained by imposing the relations eαe (x) = βe (x)e

(6.5)

for all arrows e ∈ E and all arrows x ∈ Ge . In other words, the arrow αe (x) followed by the arrow e yields the same element of G as the arrow e followed by the arrow βe (x). We call G the fundamental groupoid of the graph of groups . This fundamental groupoid contains all the edge groups Ge and vertex groups Gv as subgroups. The groupoid G has one object for each v ∈ V. For any object v we denote by G,v the subgroup of G consisting of all arrows having v as their source and target. It is not difficult to establish

432 | Explicit Classifying Spaces

a group isomorphism G,v ∼ = G,w for any v, w ∈ V (see A.3). We say that G,v is the fundamental group of  and denote it by π1 (, v) or just π1 (). To any graph of groups  one can construct a tree Y on which the fundamental group G = π1 () acts. Under this action there is one orbit of vertices in Y for each v ∈ V and one orbit of edges in Y for each e ∈ E. The stabilizer group of the vertex v ∈ Y is Gv and the stabilizer group of the edge e ∈ Y is Ge . The vertices of Y are the (left) cosets of Gv in G for v ∈ V. The edges of Y are the (left) cosets of Ge in G for e ∈ E. For more details on the above constructions see J.-P. Serre’s book [261]. For any group G arising as the fundamental group G = π1 () of a graph of groups  we can use Proposition 3.3.5 to construct a free ZG-resolution R∗G from the chain complex C∗ (Y ) of ZG-modules and free resolutions R∗Gv , R∗Ge for the vertex groups Gv and edge groups Ge of . Consider the amalgamated free product G = G1 ∗K G2 of Definition 1.6.3 constructed from two injective homomorphisms α : K  G1 , β : K  G2 . This is the fundamental group G = π1 () of the graph of groups  with vertex set V = {1, 2}, edge set E = {e = [1, 2], e = [2, 1]}, vertex groups G1 , G2 , edge group Ge = K and edge monomorphisms α, β. Example 6.3.1. The following GAP session represents, as a list L, the data involved in the amalgamated free product G = S5 ∗S3 S4 arising from the canonical inclusions of symmetric groups S3 → S4 , S3 → S5 . The final command produces the display in Figure 6.3 (left).

GAP session 6.3.1 gap> G1:=SymmetricGroup(5);SetName(G1,"S5");; gap> G2:=SymmetricGroup(4);SetName(G2,"S4");; gap> K:=SymmetricGroup(3);SetName(K,"S3");; gap> alpha:=GroupHomomorphismByFunction(K,G1,x->x);; gap> beta:=GroupHomomorphismByFunction(K,G2,x->x);; gap> L:=[G1,G2,[alpha,beta]];; gap> GraphOfGroupsDisplay(L);;

S5 S3

S4

S5

S3

Figure 6.3 Graphs of groups for S5 ∗S3 S4 and S5 ∗α involving the isomorphism α : (1, 2) → (3, 4), (1, 2, 3) → (3, 4, 5).

Graphs of Groups | 433

The following additional commands construct eight terms of a free ZG-resolution R∗G and then compute H7 (S5 ∗S3 S4 , Z) = Z22 ⊕ Z4 ⊕ Z60 . GAP session 6.3.1 gap> R:=ResolutionGraphOfGroups(L,8);; gap> Homology(TensorWithIntegers(R),7); [ 2, 2, 2, 4, 60 ]

In order to construct a resolution R∗G with fewer generators we can explicitly input small resolutions for the edge and vertex groups of . The following GAP session does this in order to construct a resolution R∗G with 27 free generators in degree seven. GAP session 6.3.1 gap> R1:=ResolutionFiniteGroup(G1,8);; gap> R1:=SimplifiedComplex(R1);; gap> R2:=ResolutionFiniteGroup(G2,8);; gap> R2:=SimplifiedComplex(R2);; gap> RK:=ResolutionFiniteGroup(K,8);; gap> RK:=SimplifiedComplex(RK);; gap> R:=ResolutionGraphOfGroups(L,8,[R1,R2,RK]);; gap> List([0..7],R!.dimension); [ 2, 8, 13, 14, 16, 20, 23, 27 ]



Consider a finitely presented group H = x | r and isomorphism α : two subgroups A, A ≤ H. Let t be a symbol not in x. The group

A → A

G = H∗α = x ∪ {t} | r ∪ {tat −1 = α(a) for all a ∈ A}

between

(6.6)

is called the HNN extension of H relative to α. It is the fundamental group G = π1 () of the graph of groups  involving a single vertex v and single pair of edges e, e. The vertex group is Gv = H and the edge group is Ge = A. The edge monomorphisms are α and the inclusion β : A → H. We denote the HNN extension H∗α by H∗A when details of the homomorphism α : A → A are to be understood from the context. Example 6.3.2. The following GAP session creates a graph of groups  corresponding to the HNN extension G = H∗α with H = S5 , A = S3 and α : A → H, (1, 2) → (3, 4), (1, 2, 3) → (3, 4, 5). The graph is displayed in Figure 6.3 (right).

434 | Explicit Classifying Spaces

GAP session 6.3.2 gap> H:=SymmetricGroup(5);;SetName(H,"S5");; gap> A:=SymmetricGroup(3);;SetName(A,"S3");; gap> alpha:=GroupHomomorphismByImages(A,H,[(1,2),(1,2,3)], [(3,4),(3,4,5)]);; gap> beta:=GroupHomomorphismByFunction(A,H,x->x);; gap> L:=[H,[alpha,beta]];; gap> GraphOfGroupsDisplay(L);;

The following additional commands create a resolution for G and calculate H7 (G, Z) = Z22 ⊕ Z60 . GAP session 6.3.2 gap> R:=ResolutionGraphOfGroups(L,8);; gap> Homology(TensorWithIntegers(R),7); [ 2, 2, 60 ]



When constructing a free ZG-resolution R∗G for the fundamental group G = π1 () of a graph of groups, we need contracting homotopies on the resolutions for the vertex and edge groups. If a contracting homotopy is to be constructed on R∗G itself then we also need a contracting homotopy on the chain complex C∗ (Y ). In practice this means we need an admissible discrete vector field on the associated tree Y involving just one critical cell. To gain an understanding of how to construct such a discrete vector field on Y we consider the graph of groups  with one pair of edges e, e and two vertices v, w. So G = π1 () = Gv ∗Ge Gw . For simplicity we assume that Ge = Gv ∩ Gw . The 0-cells of Y are the left cosets gGv , gGw for g ∈ G. Let K be a left transversal of Ge in Gw which contains the identity. Any element g ∈ G can be uniquely expressed as a product g = x1 k1 x2 k2 · · · xn kn with xi ∈ Gv , ki ∈ K, ki  = 1 for i < n. We regard such an expression as a path in Y from the coset 1Gv to the coset gGv if kn  = 1 or to the coset gGw if kn = 1. These paths arising from the choice of transversal K specify how the space Y is to be contracted into the 0-cell 1Gv . The specification can be encoded as a discrete vector field on Y . In conclusion, the specification of a contracting discrete vector field on Y amounts to specifying a transversal for Ge in Gw .

6.3.1 One-relator Groups We follow [59] in deriving (a weak version of) Lyndon’s asphericity result for one-relator groups from a lemma due to D. I. Moldavanski˘i [212]. A formal proof of Moldavanski˘i’s

Graphs of Groups | 435

lemma is readily constructed from Examples 6.3.3, 6.3.4 below; see [205] for details. Lemma 6.3.1. [212] Let P = x | r be a one-relator presentation of a group G, where r

is a cyclically reduced relator containing at least two distinct letters from x. Then G can be embedded in an HNN extension Q = H∗A with A a free subgroup of a one-relator group H = x | r , where r is a cyclically reduced shorter word than r. If r is not a proper power then neither is r . Example 6.3.3. Consider the group G defined by the presentation

PG = w, x, y | wx2 yw2 = 1 .

(6.7)

In the relator, w has exponent sum α = 3 and x has exponent sum β = 2. The mapping w → ut −β , x → t α , y → y determines an injective homomorphism G  Q with Q the group presented by PQ = t, u, y | ut −β t 2α y(ut −β )2 = 1 . (6.8) The exponent sum of t in the new relator is 0, and so the method of the following Example 6.3.4 can be used to express Q as an HNN extension Q = H∗A with H a onerelator group and A a free group. The cyclically reduced single relator for H will be shorter  than the relator in PG . Example 6.3.4. Consider the group Q defined by the presentation

PQ = t, x, y | xt 2 xt −1 yxt −2 yt = 1 .

(6.9)

A special feature of this one-relator presentation is that the exponents of t in the relator sum to 0. We use this feature to express Q as an HNN extension. By defining xi = t i xt −i , yi = t i yt −i for i ∈ Z we can express the relator r = 2 xt xt −1 yxt −2 yt = xt 2 xt −2 tyxt −1 t −1 yt in the form s = x0 x2 y1 x1 y−1 . It is not difficult to see that   t, x0 , x1 , x2 , yi (i ∈ Z) | x0 x2 y1 x1 y−1 = 1, tx0 t −1 = x1 , PQ= (6.10) tx1 t −1 = x2 , tyi t −1 = yi+1 (i ∈ Z) is also a presentation of Q . Consider the subgroups H = x0 , x1 , x2 , yi (i ∈ Z) < Q , A = x0 , x1 , yi (i ∈ Z) < H, A = x1 , x2 , yi (i ∈ Z) < H and the isomorphism α : A → A , a → tat −1 . From the presentation P Q we see that Q is an HNN extension  Q∼ = H∗A . Theorem 6.3.2 (Lyndon). Let G = x | r = 1 be a one-relator group whose relator is not

a proper power. Then G admits a 2-dimensional classifying CW-space. Proof. We use induction on the length of the cyclically reduced word r. If r is of length 1 then r is an element of the generating set x or the inverse of such a generator. In this case

436 | Explicit Classifying Spaces

G is free and K = K(x | r) is homotopy equivalent to a wedge of circles. Its universal cover is a tree, and thus K is the required 2-dimensional classifying space for G. Suppose the theorem is true for relators r of length ≤ n. By Lemma 6.3.1 we have an injection G  H∗A with A free and H = x | r where the cyclically reduced word r has length < n. Let Q = H∗A denote the HNN extension. By the induction hypothesis there exists a 2-dimensional classifying space BH for the group H. Let BA denote a 1-dimensional classifying space for the free group A. We can use Q Proposition 3.3.5 to construct a free ZQ -resolution R∗ from the resolutions R∗A =   It follows from the construction that RQ = 0 for k ≥ 3. A) and R∗H = C∗ (BH). C∗ (B k Q Since G is a subgroup of Q the resolution R∗ is also a free ZG-resolution of Z. Q The construction of R∗ is such that this resolution coincides with the cellular chain  complex C∗ (K ) of the universal cover of the 2-complex K = K(P Q ) of a presen , Z) = 0 and tation P Q analogous to the presentation 6.10. It follows that H2 (K  then from Theorem 5.2.3 that K is contractible. Hence K is the required classifying  space. Note that, thanks to Proposition 3.3.5, the proof of Theorem 6.3.2 provides an algoQ rithm for constructing a contracting homotopy on R∗ . This amounts to a contracting discrete vector field on the corresponding classifying space. Such a vector field provides a normal form for words in Q . It follows that the one-relator group G has solvable word problem.

6.3.2 The Group SL2 (Z[1/m]) An action of G = SL2 (Z) on the cubic tree T is described in Example 3.3.5. We would like to describe T as the tree associated to some graph of groups . In Example 3.3.5 the CW-structure on T involves one orbit of 0-cells and one 0 orbit of 1-cells. Each 0-cell e0 is stabilized by a cyclic group Ge ≤ G of order 6 1 and each 1-cell e1 is stabilized by a cyclic group Ge ≤ G of order 4. The action is not rigid in the sense of Definition 1.9.1—the stabilizer of an edge e1 is not a subgroup of the stabilizer of a boundary vertex e0 . The half-open subspace e0 ∪ e1 ∼ = [0, 1) is a set of G-orbit representatives but, because of the non-rigidity of the action, we can’t construct the required graph of groups  with just one vertex and one edge. To obtain the required graph of groups  we subdivide the edges of T so that there are two orbits of 0-cells, represented by e01 , e02 say, and one orbit of edges represented by 0 0 1 e1 say, as illustrated in Figure 6.4. Then Ge1 ∼ = C6 , Ge2 ∼ = C4 , Ge ∼ = C2 . The cubic tree T is the tree T = Y associated to the graph of groups  with two vertices v1 , v2 , one edge e, groups Gv1 = C6 , Gv2 = C4 , Ge = C2 and edge monomorphisms α : C2  C6 , β : C2  C4 . Consequently, there is an isomorphism G = SL2 (Z) ∼ = C6 ∗C2 C4 . Consider now the group G = SL2 (Z[1/m]) of 2 × 2 matrices of determinant +1 over the subring Z[1/m] ⊂ Q generated by 1 and 1/m for some integer m. We assume that m is a product of distinct primes and that m = m p with p a prime.

Graphs of Groups | 437

e1 e02 e01

Figure 6.4 Cubic tree with two SL2 (Z)-orbits of 0-cells.

Let 0m (p) ⊂ SL2 (Z[1/m ]) be the finite index subgroup defined by 0m (p) = {



a b ∈ SL2 (Z[1/m ]) : c ≡ 0 mod p}. c d

In addition to the canonical inclusion α : 0m (p) → SL2 (Z[1/m ]) we also have the injection β : 0m (p)  SL2 (Z[1/m ]) given by 

 a b a pb . → −1 c d p c d

Using the embeddings α, β one has an isomorphism (see [261] for details) SL2 (Z[1/(m)]) ∼ = SL2 (Z[1/m ]) ∗ m (p) SL2 (Z[1/m ]). 0

SL (Z[1/m])

from a free We can thus construct a free ZSL2 (Z[1/m])-resolution R∗ 2 SL (Z[1/m ]) ZSL2 (Z[1/m ])-resolution R∗ 2 using the construction of a resolution for SL (Z[1/m]) graphs of groups. The resolution R∗ 2 also serves as a free Z0m (p)-resolution. In principle one can apply this technique recursively to obtain a free ZSL2 (Z[1/m])resolution for any m. For the recursion to work we need an algorithm for a contracting homotopy on the tree associated to the amalgamated product. Such an algorithm boils down to one for expressing an arbitrary matrix A ∈ SL2 (Z[1/m]) as a product of generators of each of the two copies of SL2 (Z[1/m ]). The required algorithm is a slight variant of the Euclidean type algorithm described in Example 3.3.5. Example 6.3.5. The following GAP session computes H5 (G, Z) ∼ = Z6 ⊕ Z6 for the

subgroup G = 02 (3) of SL2 (Z[1/2]). The free ZSL2 (Z[1/m])-resolution was implemented by Bui Anh Tuan [11, 280]

438 | Explicit Classifying Spaces

GAP session 6.3.5 gap> R:=ResolutionSL2Z(2,6); Resolution of length 6 in characteristic 0 for SL(2,Z[1/2]). gap> G:=CongruenceSubgroup(2,3); CongruenceSubgroup of SL(2,Z[1/2]) level 3 gap> S:=ResolutionSubgroup(R,G); Resolution of length 6 in characteristic 0 for Congruence Subgroup of SL(2,Z[1/2]) level 3 . gap> C:=TensorWithIntegers(S); Chain complex of length 6 in characteristic 0 . gap> Homology(C,5); [ 6, 6 ]



The command ResolutionSL2Z(m,k) has been used to compute Hn (SL2 (Z [1/m]), Z) for all m ≤ 50, m  = 30, 42 and all n ≥ 0. When m = 30 or m = 42 the implementation is practical only for n = 1, 2. Table 6.1 summarizes these computations. The homology of Hn (SL2 (Z[1/m]), Z) is known for all primes m = p by work of Adem and Naffah [3] and these prime cases are thus omitted from Table 6.1. The table also omits cases where m is divisible by the square of a prime p as Z[1/p2 m ] = Z[1/pm ]. It is known by work of Williams and Wisner [293] that the homology is a finite group with only 2-torsion and 3-torsion for n > k + 1 when m = p1 p2 . . . pk is a product of k primes. In fact, it is easy to see from our algorithm that the homology is periodic of period 2 in degrees > k + 1. Each completed row of the table thus describes the integral homology of a group for all degrees n. The two main bottlenecks in our computation of a free ZG-resolution R∗G for G = SL2 (Z[1/m]) are: the ZG-rank of RnG in higher degrees n; the length of the boundary ∂(en ) of certain generators of RnG in higher degrees. To illustrate the first bottleneck, consider the group G = SL2 (Z[1/(2 · 3 · 5 · 7 · 11 · 13)]. Our current implementation attempts to build a resolution R∗G in which RnG has ZGrank 1075200 for all n ≥ 7. To illustrate the second bottleneck, consider the group G = SL2 (Z[1/30]). Our implementation attempts to build a resolution R∗G in which RnG has ZG-rank 480 in degrees n ≥ 4. However, one generator f of R4G has boundary ∂4 (f ) involving 1,359,551 Z-free generators of R3G . The implementation only succeeds in computing the boundaries of 292 ZG-free generators of R4G before running out of memory on a Linux PC with 16 GB of random access memory.

Z2 ⊕ Z8 ⊕ (Z3 )2 ⊕ Z4 −−

Z2 ⊕ (Z4 )2 ⊕ Z3 ⊕ Z6 −−

Z2 ⊕ Z3 ⊕ Z

Z4 ⊕ Z

Z2 ⊕ Z3 ⊕ Z

Z2 ⊕ Z5 ⊕ Z

Z4 ⊕ Z3 ⊕ Z

Z2 ⊕ Z4 ⊕ Z

Z2 ⊕ Z5 ⊕ Z

Z16 ⊕ Z

Z4 ⊕ Z3 ⊕ Z

Z2 ⊕ Z9 ⊕ Z

Z4 ⊕ Z3 ⊕ Z

(Z2 )2 ⊕ Z3 ⊕ Z

Z2 ⊕ Z11

Z3

Z4

Z4

Z3

Z3

0

Z4

Z3

Z4 ⊕ Z3

Z3

Z4

0

Z3

14

15

21

22

26

30

33

34

35

38

39

42

46

Z4 ⊕ Z8 ⊕ (Z3 )4 ⊕ Z2

Z4 ⊕ Z8 ⊕ (Z3 )2 ⊕ Z4

Z2 ⊕ (Z4 )2 ⊕ (Z3 )2 ⊕ Z6

Z2 ⊕ Z8 ⊕ (Z3 )4 ⊕ Z2

Z2 ⊕ (Z4 )3 ⊕ (Z3 )2 ⊕ Z2

Z4 ⊕ Z8 ⊕ (Z3 )4

Z2 ⊕ (Z4 )3 ⊕ Z3 ⊕ Z2

Z2 ⊕ (Z4 )2 ⊕ (Z3 )2 ⊕ Z2

Z4 ⊕ Z8 ⊕ (Z3 )2 ⊕ Z2

Z2 ⊕ Z8 ⊕ (Z3 )4

Z4 ⊕ Z

Z3

10

Z4 ⊕ Z8 ⊕ (Z3 )2

Z2 ⊕ Z

3

2

0

1

n=

6

m=

Table 6.1 Homology groups Hn (SL2 (Z[1/m]), Z)

(Z2 )3

−−

(Z2 )5 ⊕ (Z4 )2 ⊕ Z3

(Z2 )5 ⊕ (Z3 )2

(Z2 )5 ⊕ (Z4 )2 ⊕ (Z3 )2

(Z2 )2 ⊕ Z4

(Z2 )3

−−

(Z2 )4 ⊕ Z4 ⊕ (Z3 )2

Z2

(Z2 )3 ⊕ Z3

Z2 ⊕ (Z4 )2

(Z2 )3 ⊕ (Z3 )2

Z4

Z2

4

Z4 ⊕ Z8 ⊕ (Z3 )4

−−

Z2 ⊕ (Z4 )2 ⊕ Z3

Z4 ⊕ Z8 ⊕ (Z3 )2

Z2 ⊕ (Z4 )2 ⊕ (Z3 )2

Z2 ⊕ Z8 ⊕ (Z3 )4

Z2 ⊕ (Z4 )3 ⊕ (Z3 )2

−−

Z2 ⊕ Z8 ⊕ (Z3 )2

Z4 ⊕ Z8 ⊕ (Z3 )4

Z2 ⊕ (Z4 )3 ⊕ Z3

Z2 ⊕ (Z4 )2 ⊕ (Z3 )2

Z4 ⊕ Z8 ⊕ (Z3 )2

Z2 ⊕ Z8 ⊕ (Z3 )4

Z4 ⊕ Z8 ⊕ (Z3 )2

5

440 | Explicit Classifying Spaces

We end this subsection with a description of a third variant of the free ZSL2 (Z)resolutions given above (for m = 1) and in Example 3.3.5. Figure 3.3 shows part of a tessellation of the upper half plane H2 by triangular regions. The action of G = SL2 (Z) on H2 described in Example 3.3.5 permutes the triangular regions. The union D = ∪ of any two triangular regions sharing an edge of the cubic tree T forms a parallelogram. The images of D under the action of G cover H2 , and D is stabilized (but not pointwise) by (some conjugate of) the subgroup Z4 = S

generated by the matrix S of Example 3.3.5. The region D is not compact since its edges have infinite length. Thus the tessellation by images of D does not yield a CW-structure on H2 . However, it is possible to construct a contractible space X ⊃ H2 by adjoining vertices to H2 in such a way that the action of G extends to X. To do this we use the set of cusps P1 (Q) = Q ∪ {∞}.

(6.11)

An element 

a b A= ∈ SL2 (Z) c d is defined to act on z ∈ P1 (Q) by ⎧ az+b d ⎨ cz+d , if z  = ∞, − c , d A(z) = ∞, if z = − c , ⎩a , if z = ∞. c

(6.12)

We set X = H2 ∪ P1 (Q) and use 6.12 to extend the action of G to X. We compactify D by adjoining appropriate cusps x1 , x2 ∈ P1 (Q) to form D = D ∪ {x1 , x2 }. We refer to the adjoined xi as ideal vertices of the parallelogram D; the other two vertices are ordinary. The tessellation of X by the images of D under the G-action yields a CW-structure on X. Furthermore, X is contractible. The orbit of 1 ∈ P1 (Q) is equal to the entire set of cusps P1 (Q), and the stabilizer of 1 is generated by the matrix T of Example 3.3.5 and the negation of the identity matrix −I. There are two G-orbits of 0-cells, one orbits of 1-cells and one orbit of 2-cells. The cellular chain complex C∗ X takes the form 0 → ZG ⊗ZZ4 Z → ZG ⊗ZZ2 Z → ZG ⊗ZZ6 Z ⊕ ZG ⊗Z(Z2 ×Z∞ ) Z

(6.13)

with G = SL2 (Z), Z2 = −I , Z4 = S , Z6 = ST , Z2 × Z∞ = T, −I for the matrices S, T of Example 3.3.5. Using Proposition 3.3.5 on 6.13, with minimal resolutions for the stabilizer subgroups, we obtain a free ZG-resolution for G = SL2 (Z) of the form · · · −→ (ZG)5 −→ (ZG)5 −→ (ZG)5 −→ (ZG)5 −→ (ZG)4 −→ (ZG)2 .

(6.14)

Triangle groups | 441

6.4 Triangle groups The finitely presented groups T = T(l, m, n) = a, b | al = bm = (ab−1 )n = 1

(6.15)

for integers l, m, n ≥ 2 are known as triangle groups. They are also referred to as ordinary triangle groups or Von Dyck groups by some authors. Let ⎧ 2 ⎨H (hyperbolic plane), if 1/l + 1/m + 1/n < 1 if 1/l + 1/m + 1/n = 1 X = R2 (real plane), ⎩ 2 (2-sphere), if 1/l + 1/m + 1/n > 1. S We assume that R2 is endowed with the standard Euclidean metric, that S2 is endowed with the spherical metric (geodesic lines are great circles), and that H2 = {x + iy ∈ C : y > 0} is endowed with the hyperbolic metric (geodesic lines are semicircles centred on the real axis, or half-lines perpendicular to the real axis). An alternative model for H2 , the Poincaré disc model, uses the open unit disc in C with geodesic lines arcs of circles that are orthogonal to the boundary of the disc. Up to permutation, the triples (2, 3, 6), (2, 4, 4), (3, 3, 3) are the ones for which X = R2 . The spherical case X = S2 occurs for triples (2, 2, n), (2, 3, 3), (2, 3, 4), (2, 3, 5). The hyperbolic case X = H2 occurs for all other triples. An action of the group T on the space X can be defined as follows. Let be a triangle in X whose geodesic sides subtend angles π/l, π/m, π/n at the triangle’s vertices v1 , v2 , v3 respectively. For convenience, suppose that these vertices are listed in a clockwise order. In the spherical case the triangle should not have antipodal vertices. Let σi,j denote reflection in the side vi vj . Let the generator a of T act as clockwise rotation σ1,3 σ1,2 about v1 through an angle 2π/l, and let b act as anticlockwise rotation σ2,3 σ1,2 about v2 through an angle 2π/m. It follows that ab−1 acts as anticlockwise σ1,3 σ2,3 rotation by an angle 2π/n about the point v3 in X. As explained in Subsection 6.4.2 below, the region D = ∪ σ1,2 ( )

(6.16)

is a fundamental region for the action of T. A tessellation of the Poincaré disc model of X = H2 by D for (l, m, n) = (2, 3, 7) is shown in Figure 6.5 (left). The triangle and its orbit are shown in white; the triangle σ1,2 ( ) and its orbit are shown in black. A tessellation of X = S2 for (l, m, n) = (2, 3, 5) is also shown in Figure 6.5 (right). The tessellation of X by the images of D under the action of T provides a T-equivariant CW-decomposition of X. There is just one orbit of 2-cells with representative cell e2 equal to the interior of D. There are two orbits of 1-cells represented by the e11 , e12 which we take to be the interior of the sides v1 v3 and v2 v3 of . There are three orbits of 0-cells represented by e01 = v1 , e02 = v2 , e03 = v3 . The cells e2 , e11 , e12 have trivial stabilizer subgroup

442 | Explicit Classifying Spaces

Figure 6.5 Tessellations of X for T(2, 3, 7) and T(2, 3, 5) (courtesy of [1]).

in T. The cells e01 , e02 , e03 are stabilized by the cyclic subgroups a , b , ab−1 respectively. The cellular chain complex C∗ X thus has the form   

0 → ZT → ZT ⊕ ZT → ZT ⊗Z a Z ⊕ ZT ⊗Z b Z ⊕ ZT ⊗Z ab−1 Z . a

R∗ ,

b

R∗ ,

ab−1

R∗

(6.17)

Let be the period 2 free resolutions, involving a single free generator in each degree, for the cyclic stabilizer groups. In the Euclidean and hyperbolic cases X is contractible, and Proposition 3.3.5 gives a recipe for combining C∗ X with the three stabilizer group resolutions to form a free ZT-resolution R∗T . The resolution is constructed as the ‘total complex’ of the diagram in Figure 6.6 and has R0T = (ZT)3 , R1T = (ZT)5 , R2T = (ZT)4 , RnT = (ZT)3 for n ≥ 3 and periodic boundary homomorphisms of period 2 in degrees > 3. This resolution can be used to make calculations such as the following. Proposition 6.4.1. For any Euclidean or hyperbolic triangle group T there are isomorphisms

Hk (T, Z) ∼ = Hk (Cl , Z) ⊕ Hk (Cm , Z) ⊕ Hk (Cn , Z) for k ≥ 3, and H2 (T, Z) ∼ = Z. The resolution R∗T can be adapted to cover the hyperbolic case with l, m or n equal to ∞. The relation a∞ = 1 is interpreted as no relation, and the triangle can have ideal vertices on the boundary of H2 . In the spherical case the space X = S2 is not contractible. However, using the isomorphism H2 (C∗ X) ∼ = H0 (C∗ X) of trivial ZT-modules we can splice together =Z∼ countably many copies of C∗ X to form a non-free periodic ZT-resolution C∗∞ X : · · · → C2 X → C1 X → C0 X → C2 X → C1 X → C0 X.

(6.18)

Triangle groups | 443 . .. α (ℤT)3 α (ℤT)3 α 0

0

(ℤT)3 α

ℤT

(ℤT)2

(ℤT)3

Figure 6.6 Free ZT-resolution for Euclidean and hyperbolic T.

Figure 6.7 Orbit polytobe for A4 . T = Applying Proposition 3.3.5 to C∗∞ X yields a free ZT-resolution R∗T with R3n T T 3(n+1) 3(n+1)+2 3(n+1)+1 , R3n+1 = (ZT) , R3n+2 = (ZT) for n ≥ 0. (ZT) The finite triangle groups are the dihedral group Dn = T(2, 2, n) of order 2n, the alternating group A4 = T(2, 3, 3), the symmetric group S4 = T(2, 3, 4) and the alternating group A5 = (2, 3, 5). It is possible to slightly reduce the number of free generators in the resolutions R∗T for T = A4 and T = Dn by choosing a different fundamental domain for the action of T on S2 .

Example 6.4.1. The group T = A4 acts on R4 by permuting basis vectors. For v =

(1, 2, 3, 1) ∈ R4 the 1-skeleton of the convex hull P = Conv({vg : g ∈ T}) is shown in Figure 6.7. We take X to be the surface of P. The following GAP session calculates the cellular structure on X and determines that there is a single orbit of 0-cells, that there are

444 | Explicit Classifying Spaces

two orbits of 1-cells and that there are two orbits of 2-cells with representatives e0 , e11 , e12 , e21 , e22 say. The cells e0 , e11 have trivial stabilizer. The cell e12 has stabilizer group of order 2, and the cells e21 , e22 each has stabilizer group of order 3. GAP session 6.4.1 gap> T:=AlternatingGroup(4);; gap> C:=PolytopalComplex(T,[1,2,3,1]);; gap> List([0..2],C!.dimension); [ 1, 2, 2 ] gap> StructureDescription(C!.stabilizer(0,1)); "1" gap> StructureDescription(C!.stabilizer(1,1)); "1" gap> StructureDescription(C!.stabilizer(1,2)); "C2" gap> StructureDescription(C!.stabilizer(2,1)); "C3" gap> StructureDescription(C!.stabilizer(2,2)); "C3"

Proposition 3.3.5 applied to C∗∞ X and to minimal periodic resolutions for the cyclic  stabilizer groups yields a free ZT-resolution R∗T with RnT = (ZT)n+1 .

6.4.1 Cyclic Central Extensions of Triangle Groups We now consider the groups S = S(l, m, n) = a, b | al = bm = (ab−1 )n

(6.19)

for integers l, m, n  = −1, 0, 1. The element (ab−1 )n is a power of each generator and so is central. There is thus a cyclic central extension (ab−1 )n  S(l, m, n)  T(l, m, n)

(6.20)

where T(l, m, n) = T(|l|, |m|, |n|). Lemma 6.4.2. The group S(l, m, n) is infinite if and only if T(l, m, n) is infinite.

Proof. If T(l, m, n) is infinite then so too is S(l, m, n) by 6.20. Conversely, suppose that T(l, m, n) is finite. Then (|l|, |m|, |n|) = (2, 3, 3), (2, 3, 4), (2, 3, 5) or (2, 2, n) up to permutations. In the first three cases a straightforward GAP calculation shows that S(l, m, n) is finite. In the fourth case S(l, m, n) is one of S(2, 2, n), S(2, −2, n), S(2, 2, −n),

Triangle groups | 445

S(−2, 2 − n). It is straightforward to see that S(l, m, n) has finite abelianization in each case. The five term homology sequence arising from 6.20 is H2 (S, Z) → H2 (T, Z) → (ab−1 )n → H1 (S, Z) → H1 (T, Z).

(6.21)

Since T is finite so too is H2 (T, Z). It follows from 6.21 that (ab−1 )n , and hence S,  is finite. Lemma 6.4.3. If S(l, m, n) is infinite then the cyclic group (ab−1 )n is infinite.

Proof. If 1/l − 1/m = 1/n then there is a homomorphism S(l, m, n) → Z, a → mn, b → ln. This map sends (ab−1 )n ∈ S(l, m, n) to lmn ∈ Z. So (ab−1 )n is infinite. Suppose that S(l, m, n) is infinite and 1/l − 1/m  = 1/n and consider the presentation P = a, b | (ab−1 )n a−l , (ab−1 )n b−m . This presentation P corre P ) (see sponds to a 2-dimensional CW-space K(P ) with universal cover Y = K( Definition 1.10.1). The cellular chain complex C∗ Y : C2 Y → C1 Y → C0 Y is the beginning of a free resolution for S = S(l, m, n) and can be calculated using the Fox derivative. The calculation shows that the homomorphism C2 Y ⊗ZS Z → C1 Y ⊗ZS Z is injective. Hence H2 (S, Z) = 0. The exact sequence 6.21 implies that H2 (T, Z) injects into (ab−1 )n . From Proposition 6.4.1 we have H2 (T, Z) ∼ = Z and  hence (ab−1 )n is infinite cyclic. Proposition 6.4.4. [107] Let S = S(l, m, n) where 1/|l| + 1/|m| + 1/|n| ≤ 1. Then there

is a free 3-dimensional ZS-resolution of the integers

0 → (ZS) → (ZS)3 → (ZS)5 → (ZS)3 obtained as the total complex of diagram 6.22. Proof. The surjection S  T = T(l, m, n) yields an action of S on the CW-space X = R2 or H2 via the above action of T. The chain complex C∗ X is of the form



  0 → ZS ⊗Z al Z → ZS ⊗Z al Z ⊕ ZS ⊗Z bm Z

   → ZS ⊗Z a Z ⊕ ZS ⊗Z b Z ⊕ ZS ⊗Z ab−1 Z . The stabilizer groups are infinite cyclic and admit a free resolution with one free generator in degrees 0, 1 and no generators of higher degree. Using Proposition 3.3.5 we obtain the required ZS-resolution as the ‘total complex’ of the diagram (ZS)

/ (ZS)2

/ (ZS)3

 (ZS)

 / (ZS)2

 / (ZS)3 .

5

(6.22)



Proposition 6.4.4 is taken from [107]. A different 3-dimensional free ZS-resolution had previously been obtained by R. Strebel [276] using different methods. Either resolution

446 | Explicit Classifying Spaces

can be used to make calculations such as ⎧ 0, ⎪ ⎪ ⎪ ⎪ ⎨Z, Hk (S, Z) = Z, ⎪ ⎪ 0, ⎪ ⎪ ⎩ Z ⊕ Zm / (n, −n)

k ≥ 4, k = 3, k = 2 and 1/|l| − 1/|m| = 1/|n|, k = 2 and 1/|l| − 1/|m|  = 1/|n|, k = 1.

6.4.2 Poincaré’s Theorem In Section 6.4 we considered the group G generated by a finite set of isometries of H2 (namely three rotations). We constructed a polygonal region D ⊂ H2 and asserted that D is a fundamental domain for the action of G. In Subsection 6.4.3 we need an analogous assertion about a fundamental domain for a group generated by a finite set of isometries of hyperbolic 3-space. Such assertions can be proved using a classical result of Poincaré. We now state, without proof, a general version of Poincaré’s result due to B. Maskit [202]. We extract the statement fairly directly from Maskit’s paper and refer the reader to that paper for details of the proof. For present purposes let H2 denote the open unit disc in R2 endowed with the metric that results in geodesic lines being arcs of Euclidean circles orthogonal to the boundary H2 . With respect to this metric H2 is a complete unbounded metric space. Let G be a group of isometries of H2 . Elements of G are not required to preserve orientation. We say that two points z, z ∈ H2 are equivalent under G if g · z = z for some g ∈ G. The group G is discrete if there exists a non-empty open set V ⊂ H2 such that no two distinct points of V are equivalent under G. A closed set D ⊂ H2 is a fundamental domain for the discrete group G if the following three properties hold. ˚ is a non-empty connected open set. 1. The interior D ˚ are equivalent under G. 2. No two distinct points of D 3. Every point in H2 is equivalent under G to some point of the closed set D. A connected subset S of a geodesic line in H2 is termed a line segment. The line segment S is degenerate if it consists of a single point or if it is empty. Otherwise the segment S is non-degenerate. A closed set D ⊂ H2 is a polygon if its boundary ∂D is a countable union of nondegenerate line segments Si , called sides, satisfying the following. 1. For i  = j the intersection Si ∩ Sj is either empty or a single point z. Such a point z is called a vertex and is said to be an endpoint of Si and of Sj . 2. If a side Si has an endpoint z then there is precisely one other side Sj for which z is an endpoint. A fundamental polygon for G is a fundamental domain D which is also a polygon.

Triangle groups | 447

It can be shown that, for any discrete group G, the Dirichlet–Voronoi region DG = {z ∈ H2 : d(0, z) ≤ d(g · 0, z) for all g ∈ G}

(6.23)

is a fundamental polygon for G. Suppose that we start with just a polygon D. Poincaré’s theorem provides conditions under which D can be realized as a fundamental polygon for some discrete group G. One necessary condition is that the sides of D need to be pairwise identified by elements of G, and that these elements generate G. More precisely, an identification on the polygon D assigns to each side S some (not necessarily distinct) side S and an isometry gS,S of H2 such that (a) gS,S sends S onto S ; −1 (b) (S ) = S and gS ,S = gS,S ; (c) if S = S then gS.S restricts to the identity on S; ˚ ∩D ˚ = ∅. (d) for each side S there is a neighbourhood V of S such that gS,S (V ∩ D) The isometries gS,S which identify sides of D are taken to be the generators of the required group G. There are some restrictions that need to be imposed on an identification. In summary, (i) the quotient H2 /G must be a complete metric space and (ii) the quotient map D  H2 /G should be such that the sum of the angles around any vertex z in the quotient is 2π/νz where νz is an integer. Let ψ : D  D∗ be the quotient of D obtained by identifying ψ(z) = ψ(z ) if there is a generator gS,S of G with gS,S (z) = z . For w, w ∈ D∗ we define the distance d∗ (w, w ) = inf

n 

d(zi , z i )

i=1

where the infimum is taken over all n and over all zi , z i ∈ D for which ψ(z1 ) = w, ψ(z i ) = ψ(zi+1 ), ψ(z n ) = w . The polygon D is said to be complete if (e) for each w ∈ D∗ , ψ −1 (w) is a finite set, in which case d∗ is a metric, and (f) D∗ is complete in this metric. Suppose that a polygon D has an identification and is complete with respect to this identification. Let z1 be some vertex of D. There are precisely two sides which meet at z1 . Let S1 be one of these sides. The identification produces a corresponding side S 1 and generator gS1 ,S 1 . Set z2 = gS1 ,S 1 (z1 ). There is a distinct side S2  = S 1 incident with z2 , and corresponding generator gS2 ,S 2 . Set z3 = gS2 ,S 2 (z2 ). Continuing in this fashion we obtain a sequence of vertices z1 , z2 , z3 . . ., a sequence (S1 , S 1 ), (S2 , S 2 ), (S3 , S 3 ), . . . of pairs of sides, and sequence of generators gS1 ,S 1 , gS2 ,S 2 , gS3 ,S 3 , . . .. By condition (e), the sequence of vertices is periodic. It follows that the other two sequences are periodic, though possibly of a different minimum period. Let m denote the least integer such that all three sequences

448 | Explicit Classifying Spaces

are periodic with period m and say that (z1 , . . . , zm ) is a cycle of period m. The vertices in a cycle need not be distinct. For each vertex zi in a cycle the sides S i−1 and Si make an angle α(zi ) at zi . The polygon D is said to satisfy the cycle condition if  (g) for each cycle (z1 , . . . , zm ) there is an integer ν such that m i=1 α(zi ) = 2π/ν. For a cycle (z1 , . . . , zm ) consider the isometry g = gSm ,S m ◦ · · · ◦ gS2 ,S 2 ◦ gS1 ,S 1 . We call g the cycle transformation. Condition (g) implies the cycle relation g ν = 1.

(6.24)

If, for some side S, we have S = S then g = gS,S is a reflection and we have the reflection relation g 2 = 1.

(6.25)

Theorem 6.4.5 (Poincaré, [202]). Let D be a polygon with an identification. Suppose that

D is complete with respect to this identification, and that the cycle condition is satisfied. Let G be the group generated by the identifying generators. Then G is discrete, D is a fundamental polygon for G, and the cycle relations 6.24 together with the reflection relations 6.25 form a complete set of relations for G. Example 6.4.2. Consider the quadrilateral in Figure 6.8 formed from a triangle with vertices a, b, c and its mirror image with vertices d, b, c. Suppose that the angles  bac,  abc,  acb are π/n, π/l, π/m respectively. Then  abd is 2π/l,  bdc is π/n and  dca a

T

c

S T' S'

b

Figure 6.8 Hyperbolic quadrilateral formed from a triangle and its mirror image.

d

Triangle groups | 449

is 2π/m. Let gS,S denote clockwise rotation through 2π/l about b, and let gT,T denote anticlockwise rotation through 2π/m about c. This defines a pairing with one cycle (a, d) of period 2 and two cycles (b), (d) each of period 1. Theorem 6.4.5 implies that the quadrilateral is a fundamental domain for the group G generated by g = gS,S and h = gT,T and that this group has presentation G∼ = g, h | g l = hm = (h−1 g)n = 1 . This example also works if, for instance,  acb = 0. In that case the vertex c does not exist in H2 and so the sides T and T each have just one endpoint. The presentation for the group generated by g = gS,S and h = gT,T is then G ∼ = g, h | g l = hm = 1 according to  Theorem 6.4.5. Poincaré gave a version of Theorem 6.4.5 for groups acting on hyperbolic 3-space. A precise statement and proof is given in Maskit’s paper [202]. We again present Maskit’s version and refer the reader to his paper for details of the proof. For present purposes let H3 denote the open unit ball in R3 endowed with the metric that results in geodesic lines being arcs of Euclidean circles orthogonal to the boundary of the ball. Hyperbolic planes are Euclidean hemispheres orthogonal to the boundary of H3 . With respect to this metric H3 is a complete unbounded metric space. A closed set D ⊂ H3 is a polyhedron if its boundary ∂D is a countable union of polygons Si , called the sides of D, each lying in some hyperbolic plane and satisfying the following conditions. The sides of the polygon Si are called edges, and the endpoints of these edges are called vertices of D. 1. Any compact set meets only finitely many sides, edges and vertices. 2. For each edge Ek there are precisely two sides Si and Sj such that Ek = Si ∩ Sj . 3. Any two sides are either disjoint or intersect in a common edge or intersect in a common vertex. 4. An edge is either a subset of a side, meets the side in a common vertex or is disjoint from the side. 5. Two edges are disjoint or meet in a common vertex. 6. For each x ∈ ∂D and each sufficiently small  > 0, the ball about x of radius  intersects D in a connected set. An identification on a polyhedron is a pairing of the sides via isometries satisfying analogues of (a)–(d). The projection ψ : D  D∗ and metric on D∗ are defined as in the two-dimensional case. For each edge E1 , as before, we form the cycle of edges E1 , . . . , Em , we get the cycle transformation g, and for each edge Ei we have the angle α(Ei ) formed by the two sides that meet at Ei . Condition (g) now makes sense for polyhedra. Two extra conditions are required in the 3-dimensional setting. (h) For each edge E1 , the cycle transformation g at E1 preserves orientation. (i) If the edge E1 has no finite endpoint, then the cycle transformation at E1 is the identity on E1 .

450 | Explicit Classifying Spaces

The above definition of a fundamental domain applies also in the 3-dimensional case. So we can now state Maskit’s 3-dimensional version of Poincaré’s theorem. Theorem 6.4.6 (Poincaré, [202]). Let D be a polyhedron with an identification satisfying

(a)–(i). Let G be the group generated by the identifying generators. Then G is discrete, D is a fundamental domain for G and the cycle relations together with the reflection relations form a complete set of relations for G.

6.4.3 Generalized Triangle Groups A generalized triangle group is a finitely presented group of the form x, y | xl = ym = w(x, y)n = 1

with w a cyclically reduced word in x, y, x−1 , y−1 and with integers l, m, n ≥ 2. There is a sizeable literature on such groups. On setting w = xy one recovers the classical triangle groups. We shall focus attention on the case w = [x, y] = xyx−1 y−1 . The groups G = G(l, m, n) = x, y | xl = ym = [x, y]n = 1

(6.26)

have a long history dating back to Coxeter [72] and Sinkov [267]. If l = m = 2 then G = D2n is the dihedral group of order 4n. If {l, m} = {2, 3} and n = 2 then G ∼ = A4 × C2 . If l = m = 3 and n = 2 then G is finite of order 288. If {l, m} = {2, 4} and n = 2 or n = 3 then G is infinite and soluble [191]. In all other cases (which we refer to as the hyperbolic cases) there exists a faithful action of G on hyperbolic 3-space [146, 147]. We briefly summarize, without proofs, details of this action in the hyperbolic case and use it to construct a free ZG-resolution. See [147] for more details on the action. The upper half-space H3 = {(z, r) : z ∈ C, 0 < r ∈ R} has a metric with respect to which geodesic lines are half circles orthogonal to the boundary C × {0} or half lines orthogonal to the boundary. The group SL2 (C) acts on H3 as a group of orientation preserving isometries by 

((az + b)(cz + d) + acr2 , r) a b . (z, r) = c d |cz + d|2 + |c|2 r2

This induces a well-defined action on H3 by the quotient group PSL2 (C) = SL2 (C)/ I, −I

where I ∈ SL2 (C) is the identity matrix. To describe a faithful homomorphism ρ : G(l, m, n)  PSL2 (C) we denote elements of PSL2 (C) by matrices in SL2 (C) that represent them. In particular we suppose that matrices X, Y, W represent ρ(x), ρ(y), ρ(xyx−1 y−1 ) respectively. We write tr(X) for the trace of the matrix X.

Triangle groups | 451 x−1υ2

LY υ1 LX

υ2

y−1υ1

Figure 6.9 Tetrahedron in H3 with four ideal vertices.

Letting α = tr(X), β = tr(Y), γ = tr(XY) one finds tr([X, Y]) = α 2 + β 2 + γ 2 − αβγ − 2.

(6.27)

Furthermore, a two generator subgroup X, Y ≤ SL2 (C) is determined up to conjugacy by the traces α, β, γ provided that the actions of X and Y on H3 do not have a common fixed point. It can be shown that there exist matrices X, Y satisfying 6.27 in the hyperbolic cases with tr(X) = 2 cos π/l, tr(Y) = 2 cos π/m, tr([X, Y]) = −2 cos π/n and γ ∈ C \ R. The matrix X is a rotation through an angle 2π/l about an axis LX , and Y is a rotation through an angle 2π/m about an axis LY . The axes LX and LY do not intersect. The subgroup Tx = x, yxy−1 of G is isomorphic to the triangle group T(l, l, n). When 2/l + 1/n > 1 this subgroup is finite and fixes the point v1 ∈ H3 arising at the intersection of the rotation axes LX and LYXY −1 . When 2/l + 1/n = 1 the subgroup Tx is an infinite Euclidean triangle group and has no fixed point in H3 . However, the action of G on H3 can be extended to an action on the boundary ∂H3 = C ∪ {∞} and the subgroup Tx fixes a point v1 ∈ ∂H3 . When 2/l + 1/n < 1 then the subgroup is a hyperbolic triangle group. In this case there is a unique geodesic plane in H3 that is stabilized by Tx and that orthogonally intersects the rotation axes of ρ(x), ρ(x−1 yxy−1 ) and ρ(y−1 xyx−1 ). In this case we let v1 = {v1,1 , v1,2 , v1,3 } ⊂ ∂H3 denote the set of three points where the rotation axes intersect the boundary ∂H3 . We refer to v1 as an ordinary fixed point if 2/l + 1/n > 1, an infinite fixed point if 2/l + 1/n = 1 and an ideal fixed point if 2/l + 1/n < 1. The conjugate group y−1 Tx y = y−1 xy, x is also isomorphic to T(l, l, m) and has a fixed point y−1 v1 . Similarly, the groups Ty = y, xyx−1 and x−1 Ty x = x−1 yx, y are isomorphic to the triangle group T(m, m, n) and have fixed points v2 , x−1 v2 respectively. The four ‘points’ v1 , y−1 v1 , v2 , x−1 v2 determine a ‘tetrahedron’ which is illustrated in Figure 6.9 for the case 2/l + 1/n < 1 and 2/m + 1/n < 1. In the illustration the ‘tetrahedron’ is not compact, but it is a polyhedron as defined in Section 6.4.2.

452 | Explicit Classifying Spaces Theorem 6.4.7. [107] Let G = G(l, m, n) with 2/l + 1/n ≤ 1 and 2/m + 1/n ≤ 1. Then

there is a free ZG-resolution of Z of the form β

α

β

α

· · · → (ZG)3 → (ZG)3 → (ZG)3 → (ZG)3 → (ZG)3 → (ZG)2 → (ZG). Proof. Let denote the ‘tetrahedron’ with infinite vertices v1 , y−1 v1 , v2 , x−1 v2 . It follows from Theorem 6.4.6 that is a fundamental domain for the action of G. The tessellation of H3 by the images of does not produce a CW-decomposition of H3 since is not compact. As in the construction of resolution 6.14, we could adjoin cells to H3 in order to produce a G-equivariant contractible CW-space X ⊃ H3 . But rather than taking that approach, we consider the dual ∗ to , shown in Figure 6.10. This dual is a 2-dimensional CW-space constructed by choosing some point w in the interior of and letting w1 , w2 , w3 , w4 be the points obtained by reflecting w in the four sides of . We have four geodesic lines wwi , and each pair wwi , wwj of distinct lines determines a hyperbolic plane. Let Qij denote the intersection of with the positive quadrant of the plane determined by wwi , wwj . Then ∗ is the union of the six Qij . This dual ∗ has one vertex in the interior of each edge of , one vertex in the interior of each side of as well as the central vertex w. The inclusion ∗ ⊂ is a homotopy retract, and there is a retraction r : → ∗ that maps each edge of into a vertex of ∗ and each side of into the 1-skeleton of ∗ . The images g ∗ for g ∈ G form a G-invariant 2-dimensional subspace X ⊂ H3 with a G-equivariant CW-structure. The retractions g → g ∗ combine to give a retraction H3 → X. In particular, X is contractible. The CW-structure on X can be refined (unions of 0-, 1- and 2-cells replaced by single 2-cells) so that X coincides with a CW-subspace of the universal cover  K of the 2-complex associated to the presentation of G. The 1-skeleta K 1 coincide and X is obtained from  K by omitting those 2-cells that prevent  K X1 =  from being contractible. The cellular chain complex C∗ (X) takes the form C∗ (X) : 0 → (ZG ⊗ x Z) ⊕ (ZG ⊗ y Z) ⊕ (ZG ⊗ [x,y] Z) → (ZG)2 → ZG. (6.28)

The required free ZG-resolution follows from Proposition 3.3.5.



The resolution 6.4.7 can be used to make the following computation. Corollary 6.4.8. Let G = G(l, m, n) where 2/|l| + 1/|n| ≤ 1 and 2/|m| + 1/|n| ≤ 1.

Then

⎧ Z, ⎪ ⎪ ⎨ Zl ⊕ Zm , Hk (G, Z) = ⎪Zl ⊕ Zm ⊕ Zn , ⎪ ⎩ 0,

k = 0, 2, k = 1, k ≥ 3, i odd, i ≥ 4, k even.

Theorem 6.4.9. [107] Let G = G(l, m, n) with 2/|m| + 1/|n| ≤ 1 and either (l, n) =

(2, n) or (l, n) = (3, 2). Then there is a free ZG-resolution R∗G of Z of the form

· · · → (ZG)6 → (ZG)5 → (ZG)4 → (ZG)3 → (ZG)2 → (ZG) with RkG = (ZG)k+1 .

Non-positive Curvature | 453

Figure 6.10 Dual 2-complex for the tetrahedron in H3 .

Proof. The construction is similar to that in Theorem 6.4.7 except that Tx = x, yxy−1 is now isomorphic to the finite triangle group T(l, l, n). In this case the homotopy retract X ⊂ H3 is 3-dimensional. It has the same 2-skeleton as in Theorem 6.4.7, but it has one orbit of 3-cells with the stabilizer of a 3-cell being conjugate to Tx . The cellular chain complex C∗ X is of the following form. ZG ⊗Tx Z → (ZG ⊗ x Z) ⊕ (ZG ⊗ y Z) ⊕ (ZG ⊗ [x,y] Z) → (ZG)2 → ZG (6.29)

The group T = T(l, l, n) has a free ZT-resolution of Z with RkT = (ZT)k+1 (cf. Exam ple 6.4.1). The required free ZG-resolution follows from Proposition 3.3.5.

6.5 Non-positive Curvature In each of Sections 6.4, 6.4.1 and 6.4.3 we start with an action of a group G on a contractible metric space X, and use the metric to construct some G-equivariant regular CWstructure on X. The resulting cellular chain complex C∗ X is a (not necessarily free) ZGresolution. In the present section we consider a variant of this strategy. Namely, we start with an action of a group G on a space X endowed with an obvious G-equivariant regular CW-structure, and then try to impose some metric that establishes the contractibility of X and hence the exactness of the cellular chain complex C∗ X. We present, without proof, a theoretical result aimed at implementing this variant. The result is a ‘link condition’, due to Gromov, for ensuring that a metric space X is ‘uniquely geodesic’ and hence contractible. It can be viewed as a higher dimensional analogue of the Gersten–Pride– Sieradski asphericity test of Lemma 2.2.4. We give just a very brief account of this material and direct the reader to [36] for further details.

454 | Explicit Classifying Spaces

Let X be a metric space with metric d. A continuous map γ : [a, b] → X from a closed interval [a, b] ⊂ R is said to be a geodesic path if it is an isometry, i.e., if d(γ (s), γ (t)) = |s − t| for all s, t ∈ [a, b]. The metric space X is said to be a geodesic space if for any two points x, y ∈ X there is a geodesic path γ : [0, b] → X with x = γ (0), y = γ (b). It is a unique geodesic space if there is a unique such geodesic path between any two points in X. Suppose that (X, d) is a unique geodesic space and that for any two geodesic paths α : [0, a] → X, β : [0, b] → X the function dα,β : [0, a] × [0, b] −→ R, (s, t) → d(α(s), β(t)) is convex in the sense that dα,β (tu + (1 − t)v) ≤ tdα,β (u) + (1 − t)dα,β (v) for u, v ∈ [0, a] × [0, b], t ∈ [0, 1]. In this situation one can show that X is contractible by choosing some base-point x0 ∈ X and defining a contracting homotopy h : X × [0, 1] → X, (x, t) → γx (tb) where γx : [0, b] → X is the unique geodesic path from x0 to x. Euclidean space Rn and hyperbolic space Hn are examples of unique geodesic spaces whose contractibility can be established by this argument. For n ≥ 1 the sphere Sn is an example of a geodesic space that is not contractible. Let X be a regular CW-space. We say that X is piecewise Euclidean if 1. each cell enλ of X is endowed with a metric, 2. the metrics on the cell enλ and its faces arise from an isometry between the closure enλ and some n-dimensional convex polytope in Euclidean space Rn . (Recall that a convex Euclidean polytope is a compact space arising as the intersection of finitely many half-spaces in Rn .) As an example, consider the simplicial Klein bottle of Figure 1.8. This regular CW-space can be given the structure of a piecewise Euclidean space in which the closure of each 2-cell is isometric to a right-angled isosceles triangular region in the plane. Piecewise hyperbolic and piecewise spherical spaces are defined analogously, with cells being isometric to convex polytopes in hyperbolic space Hn and spherical space Sn respectively. The regular CW-spaces of Figure 6.5 yield examples of a piecewise hyperbolic space and a piecewise spherical space. Suppose that X is a piecewise Euclidean (or piecewise hyperbolic or piecewise spherical) space. The length (γ ) of a path γ : [a, b] → X is defined by choosing a subdivision a = t0 < t1 · · · < tk = b such that γ ([ti , ti+1 ]) lies in the closure eni of some cell in X and then setting (γ ) equal to the sum of the arc lengths of the finitely many restrictions γi : [ti , ti+1 ] → X of γ. The intrinsic metric on X is defined as d(x, y) = inf{(γ ) | γ is a path from x to y}.

(6.30)

Under a mild hypothesis on X it can be shown that X is a geodesic space. A suitable hypothesis is that any cell in X lies in the boundary of only finitely many cells, and that there exists some δ > 0 such that any closed ball in X of radius ≤ δ is compact.

Non-positive Curvature | 455

Let P denote a convex polytope in Euclidean space Rn . We define the link of a vertex x of P to be the set Lk(x, P) of all unit vectors v ∈ Rn such that x + λv ∈ P for sufficiently small 0 < λ ∈ R. The link Lk(x, P) is thus a collection of unit tangent vectors. The link inherits from P the structure of a piecewise spherical space with a single top-dimensional cell. This spherical space can be thought of as the intersection of P with a sphere of sufficiently small radius centred at x, the intersection then being scaled to become a subspace of the unit sphere Sn−1 . As an illustration, consider a solid cube P in R3 . The link of a vertex of the cube is a closed triangular region of the 2-sphere S2 of area π/2. Now consider a piecewise Euclidean space X. Let us write x < e whenever a 0-cell x ∈ X lies in the closure of some cell e ⊂ X. We define the link of a 0-cell x ∈ X to be  Lk(x, e) (6.31) Lk(x, X) = x w( j)}|.

(6.34)

This notion of length for permutations is used in statistics in the definition of Kendall’s tau metric on permutations: dτ (w, w ) = (w−1 w ).

(6.35)

Example 6.6.1. The following GAP session uses the metric 6.35 to display the graph of

Figure 6.13 underlying the Hasse diagram for the weak order on the symmetric group S5 (which is isomorphic to the 4-generators Coxeter group A4 ). GAP session 6.6.1 gap> W:=Elements(SymmetricGroup(5));; gap> A:=VectorsToSymmetricMatrix(W,KendallMetric);; gap> SymmetricMatDisplay(A,1);



Let us now turn to the structure of the regular CW-space XD defined in Section 3.12 for any Coxeter group W = WD . The group W acts on XD and there is one orbit of cells for each subset T of the generators S such that the Coxeter group WT = T is finite. For any ~ w ∈ W the finite coset wWT contains the join of all its elements which we denote by w WT . ~ ~ So wWT ∈ wWT is defined by the property (wWT ) ≥ (w ) for all w ∈ wWT . Note that | T of wT = {wt : t ∈ T}. We denote by ekw,T the the join of wWT is the same as the join w ~ cell of XD corresponding to the coset wWT with k = |T| and w = w WT . The CW-space XD thus has the following poset-theoretic description. Proposition 6.6.3. (i) Let W = WD be a Coxeter group with generating set S. The k-cells

of the space XD are in one-one correspondence with pairs (w, T) where T = {y1 , . . . , yk } is a subset of S of size k that admits a join with respect to the weak order, and where w is an element of W with the property that (w) ≥ (wyi ) for 1 ≤ i ≤ k. (ii) A cell ek−1 w ,T lies in k the boundary of ew,T if, and only if, T ⊂ T and  w T ≤R w ≤R w  where w T denotes the meet of wT = {wt : t ∈ T} with respect to the weak order.

460 | Explicit Classifying Spaces

Figure 6.13 Hasse diagram for the weak order on W = S5 .

We now assume that an ordering has been placed on the set S = {x1 , x2 , . . . , xn } of generators of the Coxeter group W. For w ∈ W we define (w) = {x ∈ S : (wx) ≤ (w)}. The set (w) is non-empty for w  = 1 and inherits the ordering from S. For 1  = w ∈ W let φ(w) denote the first element in (w). We construct a discrete vector field on the 1-skeleton XD1 by creating a formal arrow e0w,∅ −→ e1w,{φ(w)} for each 1  = w ∈ W. The vector field is admissible because for any chain of arrows e0w,∅ −→ e1w,{φ(w)} , e0wφ(w),∅ −→ e1wφ(w),{φ(wφ(w))} , . . . we have (wφ(w)) < (w) and so the chain does not form a circuit or continue indefinitely to the right. We extend this to an admissible discrete vector on the 2-skeleton XD2 by creating a formal arrow e1w,{y} −→ e2w,{φ(w),y} for each y ∈ (w) \ {φ(w)}. A verification of the following is left to the reader. Proposition 6.6.4. The vector field can be extended to the entire space XD by creating a

formal arrow k ek−1 w,T −→ ew,{φ(w)}∪T

Coxeter Groups Revisited | 461 xyzx

xyzy

xyxz

xyz

xy

xzy

xz

yxzy

yx

1

yxz

yxzx

y

yz

z

zy

xyxzy

xyx

x

xzx

zx

xyxzx

yzx

yzy

Figure 6.14 Portion of a discrete vector field on XD for WD = A˜ 3 .

for each subset T ⊂ (w) \ {φ(w)} of size |T| = k − 1. This vector field on XD is admissible and has just a single critical cell, namely the 0-cell e01,∅ . A portion of this vector field is illustrated in Figure 6.14 for the infinite Coxeter group WD = A˜ 3 = x, y, z | x2 = y2 = z2 = 1, xyx = yxy, xzx = zxz, yzy = zyz with generators ordered x < y < z. Proposition 6.6.4 establishes that XD is contractible and thus proves Theorem 3.12.1. The space XD is defined in terms of a vector v in Rn \ A where A is the union of the mirrors corresponding to reflections in WD , though the cellular structure on XD does not depend on the particular choice of v. The construction of XD can be generalized by allowing v ∈ A; the cell structure of the resulting space XD,v will depend on the mirrors containing v. We now describe this generalized construction, but for simplicity we restrict attention to the case where WD is finite. So, for the remainder of this section we assume that W = WD is a finite Coxeter group. Example 6.6.2. Consider the Coxeter group WD = B3 = x, y, z | x2 = y2 = z2 =

(xy)4 = (yz)3 = (xz)2 = 1 of order 48. This can be represented as the group of signed permutations with generating matrices ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −1 0 0 0 0 1 1 0 0 x = ⎝ 0 1 0⎠, y = ⎝0 1 0⎠, z = ⎝0 0 1⎠. 0 0 1 1 0 0 0 1 0

462 | Explicit Classifying Spaces

Figure 6.15 Polytopes arising as XD,v for WD = B3 and 0 = v ∈ R3 .

For a vector v ∈ R3 the space XD,v is the convex hull of the orbit of v under the action of WD . The 1-skeleton of XD is pictured in Figure 6.15 for seven choices of v. In the first case (top left) v is not contained in any mirror. In each of the next three cases v lies in precisely one mirror, the mirrors for x, y and z respectively. In the final three cases v lies in precisely two mirrors, the mirrors for x and y, for y and z, and for x and z respectively. The first picture in Figure 6.15 is obtained from the following GAP session. GAP session 6.6.2 gap> x:=[[-1,0,0],[0,1,0],[0,0,1]];; gap> y:=[[0,0,1],[0,1,0],[1,0,0]];; gap> z:=[[1,0,0],[0,0,1],[0,1,0]];; gap> G:=Group(x,y,z);

Coxeter Groups Revisited | 463 gap> OrbitPolytope(G,[1,2,3],["VISUAL_GRAPH"]);



Let W = WD be a finite Coxeter group generated by reflections S = {x1 , . . . , xn }. For each generator x ∈ S let Hx denote the corresponding reflecting hyperplane in Rn . The type of a vector v ∈ Rn is the set t(v) = {x ∈ S : v ∈ / Hx }.

(6.36)

The CW-space XD,v is the polytope arising as the convex hull of the orbit ov v under the action of W. The face lattice of the regular CW-space XD,v is determined by the group WD and the type t(v). To see this, first suppose that t(v) = S so that the CW-structure of XD = XD,v is determined by WD . The edges in the 1-skeleton XD1 correspond to (conjugates of) generating reflections x ∈ S. The length of an edge is proportional to the distance between v and the corresponding reflecting mirror Hx . As v approaches Hx all the edges labelled by (conjugates of) x decrease in length and cease to exist when x moves into Hx . Thus, for a vector v of arbitrary type t(v), any face F of the polytope XD,v is obtained as the limit of some face G of XD and the set of vertices contained in F is the limit of the vertices contained in G. The limiting process depends only on the mirrors Hx with x ∈ t(v). We now give a combinatorial description of the face lattice of XD,v . Our description is recalled from [89] and is equivalent to the classic one given in [71, 73, 296]. The description can be viewed as a particular instance of the Wythoff construction introduced in [296]. Since we are assuming that WD is finite, the Coxeter graph D is a tree and, given any two vertices x and y of it, we denote by [x, y] the collection of vertices in the unique path from x to y. For two subsets Y, Y ⊂ S we say that Y blocks Y (from t(v)) if for all y ∈ Y and t ∈ t(v) there is a y ∈ Y such that y ∈ [y, t]. This defines a binary relation on subsets of S which we denote by Y ≤ Y. We also write Y ∼ Y if Y ≤ Y and Y ≤ Y . We write Y < Y if Y ≤ Y and Y  ≤ Y . The relation ∼ is an equivalence relation. Let [Y] denote the equivalence class containing Y ⊂ S. It can be shown that if Y ∼ Y then Y ∩ Y ∼ Y ∼ Y ∪ Y . Thus an equivalence class [Y] contains a unique smallest (under inclusion) set m(Y). The sets m(Y) will be called the essential subsets of S (with respect to t(v)). Let E(v) be the set of all essential subsets of S. The above relation < is a partial order on E(v). Also, t(v) ∈ E(v) and t(v) is the smallest element of E(v) with respect to D:=[[1,[2,3]],[2,[3,3]],[3,[4,3],[7,3]],[4,[5,3]], [5,[6,3]]];; gap> CoxeterDiagramDisplay(D); gap> C:=CoxeterWythoffComplex(D,[1,2,3,4,5,6,7],4); Non-free resolution in characteristic 0 for . No contracting homotopy available. gap> R:=FreeGResolution(C,4);; gap> Homology(TensorWithIntegers(R),3); [ 2, 2, 2, 12 ]

 Example 6.6.4. The Mathieu group M24 < S24 acts on R24 by permuting basis vectors.

For a vector v ∈ R24 we have the orbit polytope P(M24 , v) arising as the convex hull of the orbit of v under the action of M24 . The above formalism can be used to obtain the combinatorial structure of P(M24 , v) for v = (1, 2, 3, 4, 5, 0, 0, . . . , 0) ∈ R24 . Since M24 is a 5-transitive permutation group we have P(M24 , v) = P(S24 , v).

(6.37)

Coxeter Groups Revisited | 465 Spherical Coxeter Diagram

Figure 6.16 The E7 Coxeter diagram. Table 6.2 Details on free resolutions for M22 , M23 , M24 .

ZMn -rank of resolution in degrees 0, 1, 2, . . .

Mn

t(v)

M22

{1, 2, 3}

M23

{1, 2, 3, 4, 5}

2, 20, 116, 451, 1334, 3279

M24

{1, 2, 3, 4, 5}

1, 9, 50, 204, 649

1, 7, 33, 113, 301, 694

The symmetric group S24 is a finite reflection group with Coxeter generating set S = {xi = (i, i + 1) : 1 ≤ i ≤ 23}. The vector v lies in those mirrors Hxi for 6 ≤ i ≤ 23 and thus has type t(v) = V = {x1 , . . . , x5 }. The polytope P(M24 , v) has |S24 / xi : 6 ≤ i ≤ 23 | = 5, 100, 480 vertices. The essential subsets of rank 1 defining edges are V − {xk } for 1 ≤ k ≤ 4 and (V − {x5 }) ∪ {x6 }. So, the number of edges in P(M24 , v) is  |S24 / xk , xi : 6 ≤ i ≤ 23 | = 58, 655, 520. |S24 / x5 , xi : 7 ≤ i ≤ 23 | + 1≤k≤4

Each vertex of the polytope has the same degree d say. Thus the number of edges is d × 5, 100, 480/2 = 58, 655, 520 from which d = 23. Since P(M24 , v) is of dimension 23, this shows that the polytope is simple. Each vertex of P(M24 , v) has stabilizer group Stab(M24 , v) = M24 ∩ xi : 6 ≤ i ≤ 23 ∼ = (C2 × C2 × C2 × C2 ) : C3 of order 48. Under the action of M24 , for 1 ≤ k ≤ 4, there is only one orbit of edges of type V − {xk }; they have stabilizer Stab(M24 , v) : C2 of order 96. Under the action of M24 there are two orbits of edges of type (V − {x5 }) ∪ {x6 }, one with stabilizer S3 , the other with stabilizer group of order 32. In [89] the low dimensions of the polytope P(M24 , v) were used, with GAP functions optimized for the group M24 , to explicitly compute the first four terms of a free ZM24 resolution of Z. The number of free generators in each degree of the resolution is given in Table 6.2. The table also gives details on the first five terms of analogous resolutions for M23 and M22 . Explicit free ZMn -resolutions were used in [89] to (re-)compute the low-dimensional integral homology of all Mathieu groups. The method of Theorem 3.4.3 was used to confirm and augment the computations. The computed homology groups are given in Table 6.3. A precise determination of the homology group H5 (M24 , Z) is just out of range

466 | Explicit Classifying Spaces Table 6.3 Low-dimensional homology of Mathieu groups with 0 ≤ a ≤ 53 and 0 ≤ b ≤ 1.

Mn

H2 (Mn , Z)

H3 (Mn , Z)

H4 (Mn , Z)

H5 (Mn , Z)

M11

0

Z8

0

Z2

M12

Z2

Z6 ⊕ Z8

Z3

(Z2 )3

M21

Z4 ⊕ Z12

Z5

0

(Z2 )4 ⊕ Z4 ⊕ Z7

M22

Z12

0

0

Z2 ⊕ Z2 ⊕ Z7

M23

0

0

0

Z7

M24

0

Z12

0

(Z2 )a ⊕ (Z4 )b ⊕ Z7

for the current HAP implementation of Theorem 3.4.3. An advantage of working with explicit ZMn -resolutions is that, in principle, a contracting homotopy on the resolution  could be used to compute cup products, cohomology operations and cocycles.

6.7 Artin Groups Let WD be a Coxeter group with Coxeter generating set S and Coxeter graph D. Let XD be the associated contractible CW-space considered in the preceding section. For those subsets T = {y1 , . . . , yk } ⊂ S that generate a finite group WT = T , and for each w ∈ WD , ~ T . As the join w q=w WT of the elements wy1 , . . . , wyk exists, as does the meet  w = wW k q. in the preceding section, we denote by ew,T the corresponding k-cell of XD with w = w Let us denote by Ekw,T the closure of ekw,T . Thus Ekw,T is a convex polytope inside XD . Let w ∈ WD be the element defined by the factorization w q= ww. Thus w ∈ WT . For each cell there is an affine map φw,T : Ekw,T −→ Ekw,T

(6.38)

that preserves the weak Bruhat order on vertices. We define the CW-space BD to be the quotient of XD obtained by identifying x = φw,T (x) for all x ∈ Ekw,T and for all cells ekw,T in XD . Example 6.7.1. Let D be the Coxeter graph of Figure 6.11 with associated Coxeter group



 w2 = x2 = y2 = z2 = 1, WD = w, x, y, z : wxw = xwx, xyx = yxy, wzw = zwz, zyz = yzy, . wy = yw, xz = zx

Artin Groups | 467

The group WD is infinite and acts on the 3-dimensional CW-space XD with finite cell stabilizer groups. In fact, XD = R3 and there are four orbits of 3-cells under the action of WD , each 3-cell being a permutahedron. There are four orbits of hexagonal 2-cells and two orbits of square 2-cells. There are four orbits of 1-cells and one orbit of 0-cells. The quotient space BD is a 3-dimensional non-regular CW-space consisting of a single 0-cell, four 1-cells, six 2-cells and four 3-cells. The 2-skeleton of BD yields the following presentation for its fundamental group.   wxw = xwx, xyx = yxy, wzw = zwz, zyz = yzy, π1 BD = w, x, y, z : wy = yw, xz = zx 

Recall that the Coxeter matrix associated to D is a symmetric n × n matrix whose entries m(i, j) are either positive integers or the symbol ∞, with m(i, j) = 1 if and only if i = j. Definition 6.7.1. The Artin group associated to D is the finitely presented group AD

generated by the set of symbols S = {x1 , · · · , xn } subject to relations (xi xj )m(i,j) = (xj xi )m(i,j) for all i  = j, where (xy)m denotes the word xyxyx . . . of length m.

Thus AD ∼ = π1 BD and the Coxeter group WD is the quotient of AD obtained by imposing additional relations x2 = 1 for x ∈ S. The following conjecture is known to hold in a number of cases.  Conjecture 6.7.1 (The K(π , 1) conjecture for Artin groups). The universal cover B D is contractible. A detailed survey of results on this conjecture is given in [230]. Below we provide a sketch of two of the principal cases in which the conjecture is known to hold, together with a result for constructing new Artin groups that satisfy the conjecture from Artin groups that are already known to satisfy the conjecture. Example 6.7.2. Let D be the Coxeter graph of Figure 6.17 corresponding to a seven

generator Artin group G = AD . The following GAP commands construct the cellular  chain complex R∗ = C∗ (B D ) of the universal cover of the space BD . The data type of a free ZG-resolution is used to store R∗ but it should be noted that exactness of R∗ is only guaranteed when Conjecture 6.7.1 is known to hold. ∞

4

4 4

Figure 6.17 Coxeter graph of a seven generator Artin group.

468 | Explicit Classifying Spaces

GAP session 6.7.2 gap> D:=[[1,[2,4]],[2,[3,3]],[3,[4,3]],[4,[5,0]],[5,[6,4], [7,4]]];; gap> R:=ResolutionArtinGroup(D,100);;

The additional commands GAP session 6.7.2 gap> for n in [0..7] do > Print("Hˆ",n,"=",Cohomology(HomToIntegers(R),n),"\n"); > od; Hˆ0=[ 0 ] Hˆ1=[ 0, 0, 0, 0, 0 ] Hˆ2=[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] Hˆ3=[ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] Hˆ4=[ 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] Hˆ5=[ 2, 0, 0, 0, 0, 0, 0 ] Hˆ6=[ 0 ] Hˆ7=[

establish

]

H0 (BD , Z) ∼ = Z, H2 (BD , Z) ∼ = Z11 , 4 H (BD , Z) ∼ = Z22 ⊕ Z12 , 6 H (BD , Z) ∼ = Z,

H1 (BD , Z) ∼ = Z5 , 3 H (BD , Z) ∼ = Z2 ⊕ Z14 , 5 H (BD , Z) ∼ = Z2 ⊕ Z 6 , n H (BD , Z) = 0 (n ≥ 7).

It follows from Theorems 6.7.3, 6.7.4 and 6.7.5 below that Conjecture 6.7.1 holds for this particular Coxeter graph D. Hence the integral cohomology of the Artin group AD is given  by Hn (AD , Z) = Hn (BD , Z). For a second example of a calculation of the homology of BD we consider an arbitrary Coxeter graph D with vertices corresponding to generators in S. We associate integers p and q to D as follows. Let P denote the set of unordered pairs {s, t} of non-adjacent vertices in D. For two such pairs define {s, t} ≡ {s , t } if t = t and s is connected to s by an odd labelled edge. This generates an equivalence relation on P. Say that an equivalence class is torsion if it is represented by a pair {s, t} for which there exists a vertex v connected to both s and t by edges labelled with a 3. Then p is equal to the number of torsion equivalence classes in P. We set q1 equal to the number of non-torsion equivalence classes in P. We set q2 equal to the number of unordered pairs {s, t} of vertices connected by an edge with even label. Let Dodd be the graph obtained from D by removing all edges labelled by an even integer or labelled by ∞. The graph Dodd has the same vertices as D. Let q3 be the

Artin Groups | 469

B3 : H3 :

m

I2 (m) × A1 :

A3 : 4

A1 × A 1 × A 1 :

5

  Figure 6.18 Coxeter graphs potentially involved in ∂ : C3 (B D ) → C2 (BD ).

number of edges outside a maximal forest in Dodd (or, equivalently, the rank of the first integral homology H1 (Dodd , Z) of the graph). We set q = q1 + q2 + q3 . The following describes the second integral homology H2 (AD , Z) of the Artin group AD in terms of the Coxeter graph D under the assumption that Conjecture 6.7.1 holds for D and thus that H2 (AD , Z) = H2 (BD , Z). Proposition 6.7.2. [61] For any Coxeter graph D we have

H2 (BD , Z) = (Z2 )p ⊕ Zq where p, q are the integers associated to D above. Proof. Let G = AD be the Artin group associated to D with generating set S. The  cellular chain group Ck (B D ) is a free ZG-module with one free generator, which we denote by [x1 , . . . , xk ], for each subset {x1 , . . . , xk } ⊂ S whose image in the Coxeter group WD generates a finite subgroup of WD . The first three boundary  homomorphisms of C∗ (B D ) can be derived from the 3-dimensional polytopes of Figure 6.19 corresponding to the Coxeter graphs listed in Figure 6.18. The boundary  homomorphisms are given in Table 6.4. The cellular chain complex C∗ (B D ) is implemented in HAP and the boundary homomorphisms in Table 6.4 can be obtained directly from this implementation. Observe that, after tensoring with the integers, the boundary homomorphisms in Table 6.4 are determined by the following formulae on generators: d2 ([x, y]) = 0 if m(x, y) is even, d2 ([x, y]) = [y] − [x] if m(x, y) is odd, d3 ([x, y, z]) = 2[x, z] for x, y, z ∈ S corresponding to Coxeter graph A3 , d3 ([x, y, z]) = [x, z] − [y, z] for x, y, z ∈ S corresponding to Coxeter graph I × A2 (m) with m odd, and d3 ([x, y, z] = 0 otherwise. It is a straightforward exercise to show that these formulae lead to the  definition of the integers p and q in the theorem. We now turn to an explanation of why the Artin group of Example 6.7.2 satisfies Conjecture 6.7.1. We do this by providing three theorems with sketch proofs. Theorem 6.7.3. [8] Conjecture 6.7.1 holds for an Artin group AD if the defining relators

(xy)k = (yx)k , (yz)l = (zy)l , (xz)m = (zx)m satisfy x, y, z ∈ S.

1 k

+ 1l + m1 ≤ 1 for all generators

470 | Explicit Classifying Spaces

y

x

x

x

x

z

y

y

y

z

x

y z

z y

x

y

x

y

z x y

z y

x

x y

z

x

z

z

y

z x z

y y

y

y

z x

x

x

y

z

x A3

x

y

z

x

z

y

z

z

x

y

z

x y

x

z

y

x z

y

z

z

B3 y

x

x

z

z y z

y z

x

x

y H3

A1 × A1 × A1

z x

x

y x y

y

z

x

z

y x

z I2(m) × A1

Figure 6.19 Polytopes corresponding to Coxeter graphs of Figure 6.18.

Theorem 6.7.4. [82, 274] Conjecture 6.7.1 holds for an Artin group AD if the corresponding

Coxeter group WD is finite. Given a Coxeter graph D we say that a subgraph D is an ∞-free subgraph if: (1) D is a connected and full subgraph of D; (2) no edge of D is labelled by ∞. (In a full subgraph an edge must be included if its two boundary vertices are present.) Theorem 6.7.5. [57, 106] An Artin group AD satisfies Conjecture 6.7.1 if AD satisfies

Conjecture 6.7.1 for every ∞-free subgraph D in D.

Artin Groups | 471 Table 6.4 Boundaries in the Coxeter complex.

Generator

Boundary

[x]

[] − x[]

[x, y]

(1 + xy + · · · (xy)k )[x] + (x + xyx + · · · (xy)k−1 x)[y]

m(x, y) = 2k + 1

−(1 + yx + · · · (yx)k )[y] − (y + yxy + · · · (yx)k−1 y)[x]

[x, y]

(1 + xy + · · · (xy)k−1 )[x] + (x + xyx + · · · (xy)k−1 x)[y]

m(x, y) = 2k

−(1 + yx + · · · (yx)k−1 )[y] − (y + yxy + · · · (yx)k−1 y)[x]

[x, y, z]

(1 − z + yz − xyz)[x, y] + (1 − x + yx − zyx)[y, z]

A3

−(1 − y − xzy + zy + yxzy + xy)[x, z]

[x, y, z]

(1 − z + yz − zyz − xyz + zxyz − yzxyz + zyzxyz)[x, y]

B3

+(1 − x + yx − zyx + yzyx − xyzyx)[y, z] −(1 − y + xy + zy − zxy − yzy + yzxy + xyzy −xyzxy − zyzxy + zxyzxy − yzxyzxy)[x, z]

[x, y, z]

(1 − z + yz − xyz − zyz + zxyz + yzyz − yzxyz − xyzyz

H3

+xyzxyz + zyzxyz − zxyzxyz − yzyzxyz + yzxyzxyz +xyzyzxyz − xyzxyzxyz − zyzxyzxyz + zxyzxyzxyz −yzxyzxyzxyz + zyzxyzxyzxyz)[x, y] +(1 − x + yx − zyx + yzyx − xyzyx − zyzyx + zxyzyx −yzxyzyx + zyzxyzyx − yzyzxyzyx + xyzyzxyzyx)[y, z] −(1 − y + xy + zy − zxy − yzy + yzxy + xyzy + zyzy −xyzxy − zyzxy − zxyzy + zxyzxy + yzyzxy + yzxyzy −yzxyzxy − xyzyzxy − zyzxyzy + xyzxyzxy +zyzxyzxy + yzyzxyzy − zxyzxyzxy − yzyzxyzxy −xyzyzxyzy + yzxyzxyzxy + xyzyzxyzxy −xyzxyzxyzxy − zyzxyzxyzxy + zxyzxyzxyzxy −yzxyzxyzxyzxy)[x, z]

[x, y, z]

(1 − z)[x, y] − (1 + xy + · · · (xy)k )[x, z]

I2 (m)

+(y + yxy + · · · (yx)k−1 y)[x, z]

m(x, y) = 2k + 1

−(x + xyx + · · · (xy)k−1 x)[y, z] +(1 + yx + · · · (yx)k )[y, z]

[x, y, z]

(1 − z)[x, y] − (1 + xy + · · · (xy)k−1 )[x, z]

I2 (m)

+(y + yxy + · · · (yx)k−1 y)[x, z]

m(x, y) = 2k

−(x + xyx + · · · (xy)k−1 x)[y, z] +(1 + yx + · · · (yx)k−1 )[y, z]

[x, y, z] A1 × A1 × A1

(1 − z)[x, y] + (1 − x)[y, z] + (y − 1)[x, z]

472 | Explicit Classifying Spaces

The Artin group AD of Example 6.7.2 has Coxeter graph D of Figure 6.17. The ∞-free subgraphs D of D either yield finite Coxeter groups WD and thus satisfy the hypothesis of Theorem 6.7.4 or else have precisely three vertices and satisfy the hypothesis of Theorem 6.7.3. Therefore Theorem 6.7.5 implies that AD satisfies Conjecture 6.7.1. Example 2.2.2 provides a proof of Theorem 6.7.3 in the case |S| = 3 and k = l = m = 3. That example is readily extended to a theoretical proof, based on the star graph of an associated presentation, for |S| = 3 and all k, l, m ≥ 2 satisfying 1k + 1l + m1 ≤ 1. This star graph proof seems not to extend to more than three generators. To prove Theorem 6.7.3 for more than three generators, note that in the free group on S = {x1 , . . . , xn } any word w can be uniquely written in reduced form e

w = xei11 xei22 · · · xikk ej

with xij  = xij+1 and ej ∈ Z. Following [8] we call each xij a syllable and say that w has k syllables. Outline proof of Theorem 6.7.3. Let AD be an Artin group with generating set S and with relations (xy)k = (yx)k , x, y ∈ S, satisfying the hypothesis of Theorem 6.7.3. Under this hypothesis the space BD is just the standard 2-complex associated to the presentation of AD . So BD has one 0-cell, one 1-cell for each generator in S, and one 2-cell for each relator  (xy)k = (yx)k with k  = ∞. We need to show that B D is contractible or, equivalently, that the presentation for AD is aspherical in the sense of Definition 2.2.2. Suppose that there exists some P -tessellated 2-sphere M. In other words, suppose that there is a reduced van Kampen diagram M over P whose boundary word is the identity in the free group on S. The 2-sphere M has a CW-structure in which 2-cells correspond to the relators of AD . That is, the 2-cells have oriented edges labelled by generators of AD and boundaries that spell relators in P . The 2-cells can be partitioned into simply connected regions of M in such a way that all edges in any given region are labelled by just two generators, and the edges in any two neighbouring regions are labelled by precisely three generators. Suppose that a region’s edges are labelled by two generators x, y. Then the boundary of this region spells a word w in the normal closure of the word (xy)k (yx)−1 k . By Lemma 6.7.6 below, this boundary word w has at least 2k syllables. By omitting certain vertices we can give M a new CW structure in which the 1-cells correspond to syllables, or to portions of syllables, in the boundaries of the regions, and in which any vertex is incident with at least three 1-cells. Thus M gives rise to a tessellation of S2 by polygonal regions, the region for generators x, y having at least 2k sides, and with each vertex degree at least 3. Using the combinatorial Gauss–Bonnet formula of Proposition 2.2.2 with the inequalities 1/k + 1/m + 1/n ≤ 1 of the hypothesis we obtain a contradiction. Hence no P -tessellated sphere can M exist and thus P is aspherical.  We refer the reader to [8] for the proof of the following key ingredient in the sketch proof of Theorem 6.7.3. Lemma 6.7.6. [8] Let N be the normal closure of the word (xy)k (yx)−1 k in the free group on

x, y. Any non-trivial word w ∈ N contains at least 2k syllables.

Artin Groups | 473

The proof of Theorem 6.7.4 requires an analysis of the Artin monoid associated to a Coxeter graph D with Coxeter matrix m(i, j). This is the finitely presented monoid MD generated by the set of symbols S = {x1 , · · · , xn } subject to relations (xi xj )m(i,j) = (xj xi )m(i,j) for all i  = j, where (xy)m denotes the word xyxyx . . . of length m. Given a subset T ≤ MD we say that an element w ∈ MD is a common left multiple of T if, for each t ∈ T, we can write w = wt t with wt ∈ MD . We say that w is a least common left multiple of T if it is a common left multiple and for each common left multiple u of T we can write u = vw with v ∈ MD . The following two propositions are proved in [37] and we refer the reader to that paper for their proofs. Proposition 6.7.7. [37] If a subset T ≤ MD has a common left multiple then the subset T is

finite and has a unique least common left multiple. Proposition 6.7.8. [37] If the Coxeter group WD is finite then any two elements in MD have

a unique least common left multiple. In the case of finite Coxeter groups WD the computation of the least common left multiple vw = v w of two elements w, w ∈ MD can be performed algorithmically as follows. First, express the two elements as words in S, say w := xi1 xi2 · · · xik and w := xj1 xj2 · · · xj with xi , xj ∈ S. We regard these words as paths in the Cayley graph of the monoid MD . This Cayley graph has one vertex for each element of MD and a directed edge from vertex u to vertex ux for u ∈ MD , x ∈ S. We view the expression for w as a particular path in the Cayley graph from vertex v to the vertex vw where each edge is traversed in the direction of its orientation. We let w = xj xj−1 · · · xj1 denote a reverse path which starts at vertex v w and ends at vertex v , with each edge being traversed against its Cayley graph orientation. The concatenation ww = xi1 xi2 · · · xik xj xj−1 · · · xj1

(6.39)

can then be regarded as a path in the Cayley graph from vertex v through vertex vw = v w to vertex v . There are many paths in the Cayley graph from v to v , each expressed as a string of letters xi and xi with xi ∈ S. In such a string we say that a consecutive pair of letters of the form xi xj is a source, and that a consecutive pair of letters of the form xi xj is a sink. For example, the string 6.39 has just one sink and no source. Any sink xi xj in a string can be replaced by a source on rewriting xi xj as xj xi · · · xi xj · · · . Of course, this rewriting may introduce new sinks. The content of Proposition 6.7.8 is that if WD is finite, then starting with the string 6.39 and repeatedly replacing an arbitrary sink by a source whenever a sink exists, we eventually end up with a string xi m xi m−1 · · · xi 1 xj 1 xj 2 · · · xj n

(6.40)

which again represents a path in the Cayley graph from v to v where now we can determine v = xi 1 xi 2 · · · xi m and v = xj 1 xj 2 · · · xj m .

474 | Explicit Classifying Spaces z

x

y

y

z

z

y x

z

y

y z

x

y x

z

y

y z

z

z

z

x y

x x

z

y

y

y x

z

Figure 6.20 w = xz and w = zzy have least common left multiple xyyzxyxz in the Artin monoid for A3 .

This algorithm for finding least common left multiples is illustrated in Figure 6.20 where the least common left multiple of w = xz and w = zzy is calculated to be xyyzxyxz = zyxzyzzy in the Artin monoid for the Coxeter graph D = A3 . Given a monoid M, its group of fractions is the group G (M) with one generator ι(w) for each element w ∈ M subject to the relations ι(u)ι(v) = ι(w) whenever uv = w for u, v, w ∈ M. There is a canonical monoid morphism ι : M −→ G (M), w → ι(w). The group of fractions is characterized by the property that any monoid morphism φ : M → G to a group G factors uniquely as φ = φ ι with φ : G (M) → G a group homomorphism. The monoid morphism ι need not be injective. For instance, if the monoid is not cancellative (meaning that there exist a, b, x, y ∈ M with xay = xby and a  = b) then the morphism ι can not be injective. The following proposition is often called Ore’s theorem. Proposition 6.7.9. [87, 242] If a monoid M is cancellative, and if every pair of elements in

M admits a common left multiple, then the morphism ι : M −→ G (M) is injective.

Proof. We shall construct a group GM and an injective monoid morphism φ : M → GM . The factorization φ = φ ι then implies injectivity of ι. A partial transformation on M is a function f : Df → Cf with domain Df and codomain Cf both subsets of M. Given two partial transformations f : Df → Cf , g : Dg → Cg we define the composite g ◦ f by Dg◦f = {x ∈ Df : f (x) ∈ Dg }, Cg◦f = Cg and g ◦ f (x) = g(f (x)). We say that a partial transformation f is an admissible transformation if it is injective and has non-empty domain Df . For each element a ∈ M the partial transformation fa : M → M, x → xa is admissible thanks to the right cancellative property of M. We let fa−1 : Dfa−1 → M be the admissible transformation with domain Dfa−1 = Ma = {xa : x ∈ M} and defined by fa−1 (xa) = x.

Artin Groups | 475

Let IM be the monoid generated by the partial transformations fa and fa−1 for a ∈ M. Right cancellativity and the existence of common left multiples ensure that every transformation in IM is admissible. We define two transformations f , g ∈ IM to be congruent, f ∼ = g, if f (c) = g(c) for some c ∈ Df ∩ Dg . Again using the hypotheses of the proposition, we see that ∼ = is an equivalence relation. Let [f ] denote the equivalence class of a partial transformation and let GM denote the collection of equivalence classes. The monoid multiplication on IM induces a group multiplication on GM . The monoid morphism  φ : M → GM , a → [fa ] is injective. We return now to the case of an Artin monoid MD and focus on the case where the Coxeter group WD is finite. Brieskorn and Saito [37] show that MD is cancellative. The cancellativity can be proved using van Kampen diagrams for monoids and the function MD → Z that sends a monoid element to the length of any word in the generators representing it. Propositions 6.7.8 and 6.7.9 imply that the canonical morphism ι : MD → AD is injective. (The morphism ι is in fact injective for any, not necessarily finite, WD [229].) We regard MD as a submonoid of AD and refer to it as the positive submonoid. We let  Y =B D be the universal cover of the space BD . The 1-skeleton of the regular CW-space Y is the Cayley graph of AD with respect to the standard generating set S. In particular, 0 denote the subset of Y 0 there is a bijection between the 0-skeleton Y 0 and AD . We let Y+ corresponding to the subset MD of AD . We define Y+ to be the maximal CW-subspace of 0 . Thus, for example, the 1-skeleton Y 1 is the Cayley graph Y with 0-skeleton equal to Y+ + of the monoid MD . Proposition 6.7.10. Suppose that WD be finite. Then the space Y+ is contractible. 1 can be viewed as the Hasse diagram for the partial order on Proof. The Cayley graph Y+ MD defined by w ≤ w if and only if w = wv for w, w , v ∈ MD . This partial order gives MD the structure of a lattice. The monoid M+ acts freely on Y+ , and the cells ekw,T of Y+ are in one-one correspondence with the pairs (w, T) where w ∈ MD and T = {y1 , . . . , yk } is a subset of S of size k. The construction of Proposition 6.6.4 can be adapted to produce an admissible  discrete vector field on Y+ with just one critical cell.

Outline proof of Theorem 6.7.4. To prove Theorem 6.7.4 we consider the inclusion  inclusion C∗ Y+ ⊂ C∗ Y of Y+ ⊂ Y = B D of regular CW-spaces and the corresponding  cellular chain complexes. Any element z ∈ Ck Y is a finite sum ekw,T . The closures of the k-cells ekw,T are polytopes whose vertices are regarded as elements in AD . The finiteness of WD ensures the existence of least common multiplies in MD ⊂ AD . By constructing least common multiples we can obtain an element v ∈ MD such that v · z lies in the subcomplex C∗ Y+ . If ∂k (z) = 0 then ∂k (v · z) = 0. Using the contracting homotopy of Proposition 6.7.10 we can find an element z˜ ∈ Ck+1 Y+ with ∂k+1 (˜z) = v · z. Then v−1 · z˜ ∈ Ck+1 Y satisfies ∂k+1 (v−1 · z˜) = z. Hence Hk (C∗ Y) = 0 for each k ≥ 1. The Hurewicz theorem (see for instance [150]) implies that the space BD is contractible if its  universal cover has trivial homology. This proves Theorem 6.7.4.

476 | Explicit Classifying Spaces

Outline proof of Theorem 6.7.5. Suppose that AD satisfies the hypothesis of the Theo rem 6.7.5. Let YD denote the universal covering space B D . We shall use induction on the number of infinity edges in D and the number of connected components in D to show that YD is contractible. If there are no infinity edges and the graph D is connected then YD is contractible by hypothesis. If D is not connected then AD is a direct product AD = AD × AD of two non-trivial Artin groups AD and AD where the graph D is the disjoint union of D and D . The space BD is the direct product BD × BD . Thus YD is contractible if and only if both YD and YD are contractible. Hence, by induction on the number of connected components in D, it suffices to prove the theorem in the case where the graph D is connected. Suppose that the Coxeter graph D is connected. Suppose that there is an infinity edge in D whose endpoints correspond to the generators a, b ∈ S = {x1 , . . . , xn }. Let Aaˆ be the subgroup of AD generated by S \ {a}, and Aa,ˆ bˆ the subgroup generated by S \ {a, b}. Let D \ {a} denote the graph obtained from D by removing vertex a and all edges incident with a. Let D \ {a, b} be the subgraph obtained by removing vertices a, b and all edges incident with them. There are clearly surjective homomorphisms AD\{a} → Aaˆ and AD\{a,b} → Aa,ˆ bˆ . A result of H. van der Lek [281] (see also [228]) shows that these surjections are in fact isomorphisms. Note that each of the groups AD\{a} , AD\{b} , AD\{a,b} is an Artin group satisfying the hypothesis of the theorem and with Coxeter graph involving fewer infinity edges than are in D. Suppose that D has n ≥ 1 infinity edges. As an inductive hypothesis assume that the theorem holds for all Artin groups satisfying its hypothesis and having Coxeter graph with fewer than n infinity edges. Thus we can assume that BD\{a} , BD\{b} , BD\{a,b} are classifying spaces for the subgroups Aaˆ , Abˆ , Aa,ˆ bˆ . Consider the homotopy pushout BD\{a,b}

/ BD\{a}

 BD\{b}

 /W

The space W = BD\{a} ∪ BD\{b} is precisely the space W = BD . Now by a theorem of J.H.C. Whitehead (see for example [39], Chapter II-7) the space W is a classifying space.  Hence its universal cover YD is contractible.

6.7.1 Some Cohomology Rings Theoretical calculations are used by C. Landi in [188] to determine the ring structure on H∗ (AD , Z) = H∗ (BD , Z) for those Artin groups AD associated to the finite Coxeter groups of type Im , H3 , H4 , F4 , E6 , E7 , E8 (their additive cohomology structure having been previously determined by M. Salvetti [253]). We remark that the discrete vector field in the proof of Proposition 6.7.10 can, in practice, often be used to compute the ring

Artin Groups | 477

 structure on H∗ (BD , Z) even when we have no proof that B D is contractible. This vector field is not yet implemented in HAP. However, it has been implemented as private Haskell code by Emil Sköldberg. The Haskell implementation has been used to compute the ring structure for all 4-generator Coxeter graphs D of compact hyperbolic type. A list of these ten graphs D is given in [169]; the corresponding graded commutative rings H∗ (BD , Z) are as follows. 5 1. For the graph D = • 4 • • • the additive structure of the 0 integral cohomology is: H (BD , Z) = Z, H1 (BD , Z) = Z2 , H2 (BD , Z) = Z3 , H3 (BD , Z) = Z3 . The cohomology ring is

H∗ (BD , Z) =

Z[s1 , s2 , t1 , t2 , u] (s1 t1 − 2s1 t2 − s2 t1 , s2 t2 − 15u) + J≥4

where |s1 | = |s2 | = 1, |t1 | = |t2 | = 2 and |u| = 3. The ideal J≥4 is generated by the monomials of degree 4. 5 2. For the graph D = • • • • the additive integral coho0 1 mology structure is: H (BD , Z) = Z, H (BD , Z) = Z, H2 (BD , Z) = Z, H3 (BD , Z) = Z2 . The cohomology ring is H∗ (BD , Z) =

Z[s, t, u1 , u2 ] (st + 15u1 + 15u2 ) + J≥4

where |s| = 1, |t| = 2 and |u1 | = |u2 | = 3. 5 3. For the graph D = • 5 • • • the additive cohomology 0 1 2 structure is: H (BD , Z) = Z, H (BD , Z) = Z, H (BD , Z) = Z, H3 (BD , Z) = Z2 . The cohomology ring is H∗ (BD , Z) =

Z[s, t, u1 , u2 ] (st + 15u1 + 15u2 ) + J≥4

where |s| = 1, |t| = 2 and |u1 | = |u2 | = 3. 4. For the graph D =



5

~~ ~~ ~ ~~ •@ @@ @@ @@





the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z2 , H3 (BD , Z) = Z3 ⊕ Z2 . The cohomology ring is

478 | Explicit Classifying Spaces

H∗ (BD , Z) =

Z[s, t1 , t2 , u1 , u2 , u3 ] (st1 − st2 − 15u1 − 15u2 , 2u3 ) + J≥4

where |s| = 1, |t1 | = |t2 | = 2 and |u1 | = |u2 | = |u3 | = 3. 5. For the graph D = •







the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z, H3 (BD , Z) = Z2 ⊕ Z22 . The cohomology ring is H∗ (BD , Z) =

Z[s, t, u1 , u2 , u3 , u4 ] (st, 2u3 , 2u4 ) + J≥4

where |s| = 1, |t| = 2 and |u1 | = |u2 | = |u3 | = |u4 | = 3. 6. For the graph D = •

• •

4



the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z, H3 (BD , Z) = Z2 ⊕ Z22 . The cohomology ring is H∗ (BD , Z) =

Z[s, t, u1 , u2 , u3 , u4 ] (st + 3u1 + 3u2 , 2u3 , 2u4 ) + J≥4

where |s| = 1, |t| = 2 and |u1 | = |u2 | = |u3 | = |u4 | = 3. 7. For the graph D = •

4





4



the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z2 , H2 (BD , Z) = Z4 , H3 (BD , Z) = Z4 . The cohomology ring is

Artin Groups | 479

H∗ (BD , Z) =

Z[s1 ,s2 ,t1 ,t2 ,t3 ,u] (2t2 s1 −t2 s2 −4t3 s1 +2t3 s2 ,2t1 s1 −4t1 s2 −3t2 s1 −8t3 s1 +4t3 s2 ,3u−3t1 s1 −3t2 s1 −8t3 s1 +4t3 s2 )+J≥4

where |s1 | = |s2 | = 1, |t1 | = |t2 | = |t3 | = 2 and |u| = 3. 8. For the graph D = •

5





4



the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z3 , H3 (BD , Z) = Z4 . The cohomology ring is H∗ (BD , Z) =

Z[s, t1 , t2 , t3 , u1 , u2 , u3 , u4 ] (6u2 − 15u4 − t1 s, 15u1 − 6u3 + t2 s, 3u2 + 3u3 + t3 s) + J≥4

where |s| = 1, |t1 | = |t2 | = |t3 | = 2 and |u1 | = |u2 | = |u3 | = |u4 | = 3. 9. For the graph D = •

• •

5



the additive cohomology structure is: H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z, H3 (BD , Z) = Z2 ⊕ Z22 . The cohomology ring is H∗ (BD , Z) =

Z[s, t, u1 , u2 , u3 , u4 ] (st, 2u3 , 2u4 ) + J≥4

where |s| = 1, |t| = 2 and |u1 | = |u2 | = |u3 | = |u4 | = 3. 10. For the graph D = •

5





5



the additive cohomology structure is given by H0 (BD , Z) = Z, H1 (BD , Z) = Z, H2 (BD , Z) = Z3 , H3 (BD , Z) = Z4 . The cohomology ring is

480 | Explicit Classifying Spaces

H∗ (BD , Z) =

Z[s, t1 , t2 , t3 , u1 , u2 , u3 , u4 ] (15u1 − t1 s, t2 s, 15u2 − t3 s) + J≥4

where |s| = 1, |t1 | = |t2 | = |t3 | = 2 and |u1 | = |u2 | = |u3 | = |u4 | = 3.

6.8 Arithmetic Groups In this final section we outline a method for computing free ZG-resolutions for groups G such as GLn (Z), SLn (Z), PSLn (Z) and their counterparts with Z replaced by the ring of integers OK of a quadratic number field K. The basic idea is to construct a contractible CW-space X on which G acts with finite stabilizer subgroups, and then to invoke Wall’s perturbation result 3.3.5. The construction of X uses computer implementations of ideas of G. Voronoi [285], C. Soulé [271, 272], J. Lannes, E. Mendoza [208] and A. Ash [9, 10]. The computer implementations of X used in HAP are due to A. Schürmann [258] and S. Schönnenbeck et al. [34, 256]. We provide a brief account of the algorithmic construction of X, based on the papers [10, 34, 258], but omit proofs. Let K ⊂ C be a finite dimensional field extension of Q with ring of integers OK√ . The two examples we have in mind are: (i) K = Q, OK = Z, and (ii) K = by Q(√d) for some square-free integer d ∈ Z, with OK the free Z-module generated √ {1, d} for d ≡ 2, 3 mod 4, and the free Z-module generated by {1, (1 + d)/2} for d ≡ 1 mod 4. We consider the R-algebra S = K ⊗Q R, where multiplication is defined on tensor generators by (k ⊗ x)(k ⊗ x ) = kk ⊗ xx for k, k ∈ K, x, x ∈ R. The algebra S is semisimple and thus (by the Frobenius theorem and the Artin–Wedderburn theorem) is isomorphic to a direct sum of copies of R and C. We fix one algebra isomorphism S = K ⊗Q R ∼ =

r  i=1

R⊕

t 

C

(6.41)

i=1

and regard K as a subfield of S in the natural way. We endow Sn = S × S × · · · × S with its natural structures of R-vector space, S-module and GLn (S)-module. Let Sn×n denote the R-algebra of n × n matrices with entries in S. We define the mapping †

: Sn×n −→ Sn×n , F → F†

(6.42)

as the composite of matrix transposition and complex conjugation of matrix entries, where the chosen isomorphism 6.41 is used to define the complex conjugate of an element of S (by taking the conjugate on each summand of S). The mapping 6.42 is an involution, and restricts to mappings

Arithmetic Groups | 481 †

: Sn×1 −→ S1×n and † : S1×n −→ Sn×1 .

(6.43)

We let Sn = {F ∈ Sn×n : F† = F}

(6.44)

denote the R-vector space of n × n symmetric matrices with entries in S. The space Sn admits an inner product defined by F1 , F2 = Trd(F1 F2 )

(6.45)

where Trd is the reduced trace of the R-algebra Sn×n . To explain this reduced trace we use 6.41 to construct an isomorphism S

n×n

∼ =

r 

R

n×n



i=1

t 

Cn×n .

(6.46)

i=1

An element of Sn×n can thus be identified with a tuple F = (f1 , . . . , fr+t ) of real symmetric or complex hermitian matrices fi . We have Trd(F) =

r+t 

Tr(fi )

(6.47)

i=1

where Tr is the usual trace of a matrix. Recall that a complex hermitian k × k matrix H is positive definite if z∗ Hz > 0 for every non-zero column vector z of k complex numbers, where z∗ denotes the conjugate transpose of z. A real symmetric matrix H is positive definite if z∗ Hz > 0 for every nonzero column vector z of real numbers. We define an element F = (f1 , . . . , fr+t ) ∈ Sn to be positive definite if each of the component matrices fi is positive definite. We let PSn denote the collection PSn = {F ∈ Sn : F is positive definite}

(6.48)

of all positive definite matrices in Sn . The set PSn is a convex subset of the R-vector space n Sn . We let P S denote the closure of PSn in Sn . The group GLn (S) acts on the contractible space PSn by (g, F) → gFg † .

(6.49) n

We now want to describe a tessellation on a space , with PSn ⊆  ⊆ P S , and then obtain the desired G-equivariant CW-space X as a deformation retract of the barycentric subdivision of this tessellation. We need some notions relating to lattices and quadratic forms.

482 | Explicit Classifying Spaces

A subset L ⊂ Kn is said to be a lattice if it is closed under addition and is additively generated by a basis for Kn . Fix a lattice L ⊂ Kn . Let the group G be the stabilizer of L in The GLn (S). The lattice L is then said to be a G-lattice as it is preserved by the action of G.√ two examples to keep in mind are: (i) K = Q, L = Zn , G = GLn (Z) and (ii) K = Q( d) n , G = GLn (OK ). with d a square-free integer, L = OK n n×1 and F ∈ S we define Given z ∈ S F[z] = F, zz† ∈ R

(6.50)

to obtain a quadratic form on S. For F ∈ PSn we define min L (F) = min F[]

(6.51)

SL (F) = { ∈ L : F[] = min L (F)}.

(6.52)

∈L\{0}

and

We regard elements of SL (F) as column vectors and define the Voronoi domain of F to be the closed convex hull  n λz zz† : λz ≥ 0} ⊂ P S (6.53) DLF = { z∈SL (F)

of the rays Rzz† as z ranges over SL (F). We define the Voronoi polyhedron  as the closed convex hull of the rays Rzz† as z ranges over PSn . The desired G-equivariant tessellation of  is by the cells DLF where F ranges over a set of ‘L-perfect forms’. Definition 6.8.1. A form F ∈ PSn is said to be L-perfect if the set {zz† : z ∈ SL (F)} spans

Sn .

The collection of L-perfect forms is stable under the action (6.49) of G. If F is an L-perfect form then so too is λF for all real λ > 0, with min L (λF) = λn min L (F) and DLF = DLλF . We let PFSL denote the set of L-perfect forms in PSn . Example 6.8.1. Consider the case K = Q, S = R, OK = Z, n = 2, L = Z2 ,

G = GL2 (Z) and

 F=

1 1 2

1 2

1



, F =



2 1 2

1 2

2

∈ PR2 .

(6.54)

These matrices yield the real quadratic forms F = x2 + xy + y2 and F = 2x2 + xy + 2y2 . We have        1 −1 0 0 −1 1 SL (F) = , , , , , 0 0 1 −1 1 −1

Arithmetic Groups | 483

and

     1 −1 0 0 SL (F ) = , , , . 0 0 1 −1

Since R2 is a 3-dimensional vector space, to establish that F is L-perfect we need just observe that the three matrices    1 0 0 0 1 −1 (6.55) , , 0 0 0 1 −1 1 arising as zz† for z ∈ SL (F) are linearly independent in R2 . As there are only two matrices  of the form zz† with z ∈ SL (F ) we conclude that F is not L-perfect. The following theorem, whose formulation is adapted from [34], summarizes Voronoi theory for the purpose at hand. Theorem 6.8.1. [34] Let K ⊂ C be a finite extension of Q. Let L be a lattice in Kn . Let

S = K ⊗Q R. Let G be the stabilizer in GLn (S) of L. (i) The Voronoi polyhedron  is the union =



DLF

F∈PFSL

of the Voronoi domains of L-perfect forms. (ii) DLF = DLF if and only if F = λF for some λ ∈ R. (iii) The Voronoi domain DLF of an L-perfect form F has non-empty intersection with only finitely many distinct Voronoi domains of L-perfect forms; each such intersection is a face of DLF . (iv) Each facet (i.e. codimension 1 face) of a Voronoi domain DLF of an L-perfect form F is also a facet of precisely one other Voronoi domain DLF of an L-perfect form F  = λF. (v) Let F be an L-perfect form and let H ∈ Sn be a normal to some facet of DLF pointing towards the interior of DLF . Then there is a well-defined real number λ > 0 such that F + λH is perfect with domains DLF+λH and DLF sharing a common facet. (vi) The action (g, F) → gFg † of G on  permutes the Voronoi domains of L-perfect forms and preserves their face lattices. There are only finitely many orbits of Voronoi domains of L-perfect forms under this action, and each Voronoi domain has a finite stabilizer group in G. Example 6.8.2. Consider the perfect form F = x2 + xy + y2 of Example 6.8.1, with

K = Q and L = Z2 . An inward pointing normal to one of the facets of DLF is given by the matrix  0 −1 (6.56) H= −1 0

484 | Explicit Classifying Spaces

corresponding to the form H = −2xy. By analysing the family of forms Fλ = F + λH = x2 + (1 − 2λ)xy + y2 we find that for λ = 1 the positive definite form F1 = F + H = x2 − xy + y2 is perfect with {zz† : z ∈ SL (F1 )} having two matrices in common with {zz† : z ∈ SL (F)}. This analysis could be performed algorithmically (see [258]): the computation of minL (Fλ ) can be reduced to the evaluation of Fλ on a finite set of vectors in L \ {0}, and we just need to determine the smallest positive value of λ for which Fλ is positive definite with minL (Fλ ) = minL (F). Furthermore, working at the level of symmetric matrices one can establish that F + H = gFg † where  0 −1 (6.57) g= . 1 0 The element g can again be determined algorithmically (see [258]). One can similarly determine the remaining two neighbouring Voronoi domains of DLF and show that they again lie in the orbit of DLF under the action of SL2 . In light of Theorem 6.8.1 this establishes that there is exactly one L-perfect form modulo scalar multiplication  and the action of G = GL2 (Z). Example 6.8.2 is the basis of an algorithmic procedure for enumerating the finitely many G-orbit representatives of Voronoi domains of L-perfect forms for any G-lattice L, and thus for constructing the G-equivariant cellular structure on the Voronoi polyhedron  described in Theorem 6.8.1. The Voronoi polyhedron  is not a CW-space. We let /R>0 and PSn /R>0 denote the quotients of  and PSn obtained by identifying each form F with its scalar multiples λF for all real λ > 0. The cellular structure on  induces a CW structure on /R>0 . The space /R>0 is a contractible regular G-CW space. We let Y = /R>0 denote the simplicial space obtained by applying barycentric subdivision to the induced CWstructure on /R>0 . By Lemma 3.11.2 the G-CW space Y is rigid. By Theorem 6.8.1(vi) the cells of Y have finite stabilizer groups in G. Let Y˚ = PSn /R>0 denote the interior of Y and note that Y˚ is not a simplicial (or even CW) space. For K = Q and L = Z2 the space /R>0 can be identified with the space H ∪ P1 (Q) constructed at the end of Section 6.3.2. In this case the 0-cells of /R>0 are the cusps, and the barycentric subdivision Y is a 2-dimensional simplicial space containing the cubic tree T (see Example 3.3.5) as a subgraph of its 1-skeleton. More precisely, T is the full ˚ subgraph of Y 1 on the vertices Y 0 ∩ Y. Returning to the general case we let X denote the simplicial subcomplex of Y consisting ˚ It is not difficult to see that X is a deformation of all those simplices lying entirely in Y. retract of Y and hence contractible. Furthermore, the action of G on Y restricts to an action on X. The simplicial space X is our desired contractible G-CW space. One can apply variations of algorithm 1.4.2 to search for smaller, non-simplicial and possibly nonrigid, G-CW structures on X. Suppose that the space X has been constructed in the above manner for G = GLn (OK ). The action (6.49) induces an action on X for which scalar multiples of the identity matrix act trivially. Thus X can also be regarded as a G-CW

Arithmetic Groups | 485

space for G = PGLn (OK ). Furthermore, the finite index subgroups SLn (OK ) and PSLn (OK ) act on X with finitely many orbits of cells. Thus, Wall’s perturbation technique 3.3.5 can be applied to the cellular chain complex C∗ (X) to produce free resolutions for this range of groups. Versions of the space X have been supplied by A. Schürmann and S. Schönnenbeck and stored in HAP for many of these groups. Alternative versions of some of these spaces, constructed using an approach due to R. Swan [237, 278], have also been supplied by A. Rahm and stored in HAP. Example 6.8.3. The following commands load a contractible G-CW space X for the group G = SL3 (Z), then use it to construct the first seven terms of a free ZG-resolution and compute H6 (SL3 (Z), Z) = Z2 ⊕ Z2 ⊕ Z2 ⊕ Z2 .

GAP session 6.8.3 gap> _X:=ContractibleGcomplex("SL(3,Z)");; gap> R:=FreeGResolution(_X,7);; gap> Cohomology(HomToIntegers(R),6); [ 2, 2, 2, 2 ]

The additional commands GAP session 6.8.3 gap> List([0..4],_X!.dimension); [ 1, 1, 2, 1, 0 ] gap> for n in [0..4] do > for k in [1.._X!.dimension(n)] do > Print(StructureDescription(_X!.stabilizer(n,k))," > od;od; S4 D8

S4

D12

");

S4

establish that X is 3-dimensional and has five G-orbits of cells, of various degrees, with stabilizer subgroups S4 , D8 , S4 , D12 , S4 respectively. (Here we follow GAP notation in using Dk to denote the dihedral group of order k.) The free ZG-resolution R∗ is constructed from the 3-dimensional chain complex C∗ (X) and periodic resolutions for each of the stabilizer groups. From this construction and the exponents of the stabilizer groups it follows that in degrees > 3 the cohomology of G is finite and has no p-torsion for primes p > 3. This space X was used in [271] to calculate the cohomology Hn (SL3 (Z), Z) in all  degrees n ≥ 0.

486 | Explicit Classifying Spaces Example 6.8.4. The following commands load a contractible G-CW space X for the √ √ group G = SL2 (O−2 ) where Od denotes the ring of integers of Q( d) with d = −2. They establish the result ⎧ Z n=1 ⎪ ⎪ ⎪ ⎪ n = 2 mod 4 ⎨Z6 (6.58) Hn (SL2 (O−2 , Z) = Z2 ⊕ Z12 n = 3 mod 4 ⎪ ⎪ ⊕ Z n = 0 mod 4, n > 0 Z ⎪ 2 24 ⎪ ⎩ n = 1 mod 4, n > 1 Z12

for the cases n ≤ 8. GAP session 6.8.4 gap> _X:=ContractibleGcomplex("SL(2,O-2)");; gap> R:=FreeGResolution(_X,9);; gap> for n in [1..8] do > Print(Cohomology(HomToIntegers(R),n),"\n"); > od; [ 0 ] [ 6 ] [ 2, 12 ] [ 2, 24 ] [ 12 ] [ 6 ] [ 2, 12 ] [ 2, 24 ]

To establish the periodicity in 6.58 for n > 8 we need to know the cell stabilizer groups GAP session 6.8.4 gap> for n in [0..3] do > for k in [1.._X!.dimension(n)] do > Print(StructureDescription(_X!.stabilizer(n,k))," > od;od; C4

Q8

C6

SL(2,3)

C4

C2

C4

C4

C6

C6

C2

");

C2

for the 3-dimensional space X, and note that each of these stabilizer groups has periodic cohomology of period dividing 4; furthermore, any finite subgroup of G

Arithmetic Groups | 487

is isomorphic to a subgroup of one of these groups. It is known (see [39]) that if each finite subgroup of a group G has periodic cohomology then the torsion part of the cohomology of G is periodic. From the construction of the free ZGresolution R∗ it follows that in degrees > 3 the cohomology of G is finite. Thus the cohomology of G is periodic in degrees > 3. To establish that the period is four one needs to analyse the spectral sequence arising from the filtered cochain complex HomZG (R∗ , Z). The result (6.58) was first proved by J. Schwermer and K. Vogtmann in [259] (though  there is a minor slip in their calculation of the 2-torsion). Example 6.8.5. The following commands suggest the Poincaré series

P(X) =

x6 + x5 − x4 + x2 + x + 1 x4 − x3 − x + 1

(6.59)

for H∗ (PSL2 (O−2 , Z2 ). GAP session 6.8.5 gap> _X:=ContractibleGcomplex("SL(2,O-2)");; gap> Z2:=Group( -Identity(_X!.group) );; gap> Y:=QuotientOfContractibleGcomplex(_X,Z2);; gap> R:=FreeGResolution(Y,21);; gap> K:=TensorWithIntegersModP(R,2);; gap> L:=List([0..20],n->Homology(K,n));; gap> p:=PoincareSeries(L,20); (x_1ˆ6+x_1ˆ5-x_1ˆ4+x_1ˆ2+x_1+1)/(x_1ˆ4-x_1ˆ3-x_1+1)

More precisely, the commands compute a rational function P(x) whose expansion has coefficient of xn equal to the dimension of the vector space Hn (PSL2 (O−2 ), Z2 ) for at least all n ≤ 20. A proof that this series is correct for all n ≥ 0 can be found in the paper  [21] of E. Berkove. Example 6.8.6. Variants of the commands

GAP session 6.8.6 gap> _X:=ContractibleGcomplex("PSL(4,Z)_c");; gap> R:=FreeGResolution(_X,4);; gap> Homology(TensorWithIntegers(R),3); [ 2, 12, 60, 0 ]

488 | Explicit Classifying Spaces

can be used to establish

⎧ 0 ⎪ ⎪ ⎪ ⎪ ⎨(Z2 )3 Hn (PSL4 (Z), Z) = Z ⊕ (Z4 )2 ⊕ (Z3 )2 ⊕ Z5 ⎪ ⎪ ⎪(Z2 )4 ⊕ Z5 ⎪ ⎩ (Z2 )13

n=1 n=2 n=3 n=4 n = 5.

(6.60)

A more efficient version of the default HAP commands, tailored to this specific group,  were used in [90] for the case n = 5.

6.9 Exercises 1. Design a GAP function ResolutionGroup(G,n) that inputs a group G, integer n ≥ 0, and attempts to return n terms of a free ZG-resolution of Z. The function could start by analysing group-theoretic properties of G such as its order (infinite, large finite, small finite), nilpotence, existence of useful (sub)normal subgroups, potential crystallographic structure, potential Coxeter structure, Sylow subgroup structure (of finite stabilizer groups or finite quotient groups) and so forth. Implement your design and compare its performance against the rather naive HAP function ResolutionGenericGroup(G,n). 2. Show that the symmetric matrix ⎛

⎞ 2 −1 0 2 −1⎠ F = ⎝−1 0 −1 2

(6.61)

corresponds to an L-perfect form for the integer lattice L = Z3 and K = Q. Then show that the quotient DL (F) = DL (F)/R>0 of the associated Voronoi domain is a 5-dimensional simplex. Show that each facet of this simplex is an intersection DL (F) ∩ DL (gFg † ) for some g ∈ SL3 (Z). Show that no vertex of this simplex lies in the interior of /R>0 . Let Y denote the barycentric subdivision of the CW-space /R>0 . The barycentre of a face of the simplex is just the average of the vertices of the face. Use this to show that Y contains an SL3 (Z)-invariant contractible subcomplex X of dimension 3. Determine the cellular chain complex C∗ X ⊗ZG Z. 3. A finite index subgroup  ≤ SLn (Z) and element g ∈ SLn (Q) determine the subgroup  =  ∩ gg −1 and homomorphisms  ← 

γ →g −1 γ g

−→

g −1  g → .

Exercises | 489

These homomorphisms give rise to homomorphisms of cohomology groups tr

α

β

Hk (, Z) ← Hk ( , Z) ← Hk (g −1  g, Z) ← Hk (, Z) with α, β functorial maps, and tr the transfer map. We define the composite Tg = tr ◦ α ◦ β : Hk (, Z) → Hk (, Z) to be the Hecke operator determined by g. Use a contracting discrete vector field on the Cubic Tree T to implement Hecke operators for the case n = 2.

Appendix A.1 Primer on Topology A topological space consists of a set X and a collection T of subsets of X such that (T1) X ∈ T and ∅ ∈ T , (T2) for any collection of sets in T the union of the collection is a set in T , (T3) for any finite collection of sets in T the intersection of the collection is a set in T . A subset of X is said to be open if and only if it is a member of T . The collection T is said to be a topology on X. Any subset X ⊆ Rn can be given the structure of a topological space by deeming a subset U ⊆ X to be open if, for each x ∈ U, we can choose a real number x > 0 such that B(x, x ) = {u ∈ U : ||x − u|| < x } is a subset of U. Here ||x − u|| denotes the Euclidean distance between x and u. This example of a topological space generalizes to an arbitrary metric space, by which we mean a set X together with a function dX : X × X → R satisfying (M1) dX (x, y) ≥ 0, (M2) dX (x, y) = 0 implies x = y, (M3) dX (x, y) = dX (y, x), (M3) dX (x, z) ≤ dX (x, y) + dX (y, z), for all x, y, z ∈ X. Any metric space can be given the structure of a topological space by deeming a subset U ⊆ X to be open if, for each x ∈ U, we can choose a real number x > 0 such that B(x, x ) = {u ∈ U : dX (x, u) < x } is a subset of U. A function f : X → Y between topological spaces is said to be continuous if f −1 (U) = {x ∈ X : f (x) ∈ U} is an open subset of X whenever U ⊆ Y is an open subset of Y. A composite of continuous functions is continuous. Two topological spaces X and Y are said to be homeomorphic if there exist continuous functions f : X → Y and g : Y → X such that g(f (x)) = x and f (g(y)) = y for all x ∈ X and y ∈ Y. Such f and g are called homeomorphisms. A composite of homeomorphisms is a homeomorphism. Given a topological space X and subset Y ⊆ X, a point y ∈ Y is said to be an interior point of Y if there exists an open set U in X such that y ∈ U ⊆ Y. The interior of Y consists of all of its interior ˚ points and is denoted by Y.

492 | Appendix Given a topological space X, any subset Y ⊆ X can be given the subspace topology in which a subset U ⊆ Y is deemed to be open if and only if it is of the form U = Y ∩ U with U ⊆ X an open set in X. The subset Y ⊆ X is said to be closed in X if and only if the complement X \ Y is an open subset of X. The closure of a subset Y is a closed subset Y in X such that Y ⊆ Y and any other closed subset Y containing Y also contains Y. A topological space X is connected if it is not the union of two non-empty and non-intersecting open subsets. A topological space X is said to be Hausdorff if for any two distinct points x = y ∈ X there exist open sets U, V ∈ X for which x ∈ U, y ∈ V and U ∩ V = ∅. A topological n-manifold, which in this book we simply call an n-manifold, is a Hausdorff topological space X such that for each point x ∈ X we can find an open set U ⊆ X containing x with U homeomorphic to Euclidean space Rn . The torus S1 × S1 , the sphere S2 , the Klein bottle and the plane R2 are all examples of 2-manifolds. We use the term surface as a synonym for a 2-manifold. An open cover of a topological space X is a collection of open subsets whose union equals X. A subcollection of sets of an open cover is called a subcover if the union of the subcollection is again equal to X. A subcover is finite if it is a finite collection of subsets. A space X is said to be compact if every open cover of X has a finite subcover. The torus S1 × S1 , the sphere S2 and the Klein bottle are all compact 2-manifolds. The plane R2 is not compact. A refinement of an open cover of X is a new cover of X such that every set in the new cover is a subset of some set in the old cover. A neighbourhood of a point x in a topological space X is a subset V ⊆ X which contains an open subset U containing x, x ∈ U ⊆ V ⊆ X. An open cover of X is locally finite if each x ∈ X has a neighbourhood that non-trivially intersects only finitely many sets in the cover. A topological space X is said to be paracompact if every open cover of X has a locally finite refinement. Any compact space is clearly paracompact. Every CW-space is paracompact. Two continuous functions f , g : X → Y are said to be homotopic, and we write f g, if there exists a continuous function H : X × [0, 1] → Y such that H(x, 0) = f (x) and H(x, 1) = g(x) for all x ∈ X. To complete this definition we need to specify the topology on the set X × [0, 1]. For this we say that a set of the form U × J is a basic open set if U is an open set in X and J is an open set in [0, 1]. We then define a subset of X × [0, 1] to be open if, and only if, it is a union of basic open sets. One way to view a homotopy is as a parametrized family of maps Ht : X → Y, x → Ht (x) = H(x, t) for t ∈ [0, 1], with H0 (x) = f (x) and H1 (x) = g(x). For given spaces X, Y homotopy is an equivalence relation on the collection of all maps X → Y. We denote the set of homotopy equivalence classes of maps by [X, Y]. Two spaces X and Y are said to be homotopy equivalent if there exist continuous maps f : X → Y and g : Y → X such that fg is homotopic to the identity on Y and gf is homotopic to the identity on X. Given a subspace X0 ⊆ X and a subspace Y0 ⊆ Y we say that a map f : X → Y is a map of pairs if f (X0 ) ⊆ Y0 . Two maps of pairs f , g : X → Y are said to be relative homotopic if there is a homotopy H : X × [0, 1] → Y such that H(x, 0) = f (x), H(x, 1) = g(x) for x ∈ X, and H(x, t) ⊆ Y0 for all x ∈ X0 , t ∈ [0, 1]. We denote by [(X, X0 ), (Y, Y0 )] the collection of relative homotopy equivalence classes of maps from (X, X0 ) to (Y, Y0 ). For a space X with preferred point x0 ∈ X, and for the circle S1 = {z ∈ C : |z| = 1} we define π1 (X, x0 ) = [(S1 , {1}), (X, {x0 })]. As explained in Chapter 1, this set has a natural group structure and is called the fundamental group. The pair of spaces (X, {x0 }) is called a pointed space.

Primer on Category Theory | 493

A.2 Primer on Category Theory A category C consists of a collection Ob(C ) whose members are the objects of C , and a collection Arr(C ) whose members are the morphisms of C . Each morphism f ∈ Arr(C ) has an associated object s(f ) ∈ Ob(C ) called the source of f , and an associated object t(f ) ∈ Ob(C ) called the target of f . Morphisms are also known as arrows and denoted as f : X → Y where X = s(f ), Y = t(f ). The composite g ◦ f of two morphisms f , g ∈ Arr(C ) exists if, and only if, s(g) = t(f ). This composite is itself a morphism with source s(g ◦ f ) = s(f ) and target t(g ◦ f ) = g(f ). The following two axioms hold in a category. (C1) Composition is associative: (f ◦ g) ◦ h = f ◦ (g ◦ h) whenever s(f ) = t(g) and s(g) = t(h). (C2) For each object X ∈ Ob(C ) there is a morphism 1X with source and target equal to X and such that f ◦ 1X = f , 1X ◦ g = g for any morphisms f : X → Y, g : Y → X. The morphism 1X is called the identity on X. A groupoid is a category in which for each morphism f : X → Y there is a morphism f −1 : Y → X such that f ◦ f −1 = 1Y , f −1 ◦ f = 1X . The morphism f −1 is called the inverse of f and can be shown to be unique. An example of a category is the category T op with Ob(T op) equal to the collection of all topological spaces, and Arr(T op) equal to the collection of all continuous maps between topological spaces. An example of a groupoid is the category V ecnR with Ob(V ecnR ) equal to the collection of all n-dimensional real vector spaces and Arr(V ecnR ) equal to the collection of all injective linear homomorphisms between such vector spaces. Any monoid is an example of a category with a single object, where all elements of the monoid are considered to be morphisms with source and target equal to this single object. Any group is an example of a groupoid with a single object. Given two categories C , D, a functor F : C → D assigns an object F (X) ∈ Ob(D) to each object X ∈ Ob(C ), and assigns a morphism F (f ) ∈ Arr(D) to each morphism f ∈ Arr(C ). The assignments must satisfy F (s(f )) = s(F (f )), F (t(f )) = t(F (f )) and F (g ◦ f ) = F (g) ◦ F (f ) for all f , g ∈ Ob(C ) with t(f ) = s(g). A functor is also referred to as a covariant functor. Any morphism of monoids or homomorphism of groups is an example of a functor between categories which have just one object. Let G rp denote the category with Ob(G rp) equal to the collection of all groups and Arr(G rp) equal to the collection of all group homomorphisms. Let Ab denote the category with Ob(Ab) equal to the collection of all abelian groups and Arr(Ab) equal to the collection of all homomorphisms of abelian groups. For a group G let [G, G] denote the normal subgroup of G generated by all commutators. The assignment F (G) = G/[G, G] extends to a functor F : G rp → Ab. A contravariant functor F : C → D assigns an object F (X) ∈ Ob(D) to each object X ∈ Ob(C ), and assigns a morphism F (f ) ∈ Arr(D) to each morphism f ∈ Arr(C ). The assignments must satisfy F (t(f )) = s(F (f )), F (s(f )) = t(F (f )) and F (g ◦ f ) = F (f ) ◦ F (g) for all f , g ∈ Ob(C ) with t(f ) = s(g). Let V ecR denote the category with Ob(V ecR ) equal to the collection of all real vector spaces and Arr(V ecR ) equal to the collection of all linear homomorphisms between real vector spaces. For a real vector space V let V ∗ denote the dual vector space consisting of all linear homomorphisms V → R. The assignment F (V) = V ∗ extends to a contravariant functor F : V ecR → V ecR .

494 | Appendix

A.3 Primer on Finitely Presented Groups and Groupoids A directed graph consists of a set V called its set of vertices, a set E called its set of edges, and two functions s, t : E → V. The vertex s(x) is the source of an edge x ∈ E. The vertex t(x) is the target of an edge x ∈ E. Thus a directed graph is a quadruple x = (V, E, s, t). We abuse notation slightly and write x ∈ x to mean that x is an edge of the graph x. A map (V, E, s, t) → (V , E , s , t ) of directed graphs consists of functions f : V → V , f : E → E satisfying s f (x) = f (sx), t f (x) = f (tx) for all x ∈ E. Let G raphs denote the category whose objects are directed graphs and whose morphisms are maps of directed graphs. Let G roupoids denote the category whose objects are groupoids and whose morphisms are functors between groupoids. There is a functor U : G roupoids → G raphs

which simply forgets the partial composition on a groupoid. There is a functor F : G raphs → G roupoids

where the groupoid F (x) is characterized, up to isomorphism, by the following universal property. Universal property of a free groupoid. There is a map of directed graphs ι : x → U (F (x)). For any groupoid G and any map of directed graphs f : x → U (G ) there exists a unique groupoid morphism f : F (x) → G for which the following diagram commutes in the category of directed graphs. ι / U (F (x)) FF f FF FF U (f ) F" 

xF F

U (G )

It is an exercise, using the uniqueness of the morphism f , to establish that F (x) is unique up to isomorphism of groupoids. We call F (x) the free groupoid on x. The existence of F (x) is established by an explicit construction in terms of words x11 x22 · · · xnn where i = ±1, xi ∈ x, and s(xi i ) = i+1 t(xi+1 ). When the directed graph x has just a single vertex we say that F (x) is the free group on the set x. Let G be a groupoid with Ob(G ) = V. We refer to arrows in G as elements, and to objects in G as vertices. We say that G is connected if, for any pair of vertices v, w ∈ V, there is an element g in G with source v and target w. At the other extreme we say that G is discrete if each of its elements has equal source and target. For each vertex v ∈ V we let G (v, v) denote the group of elements with source and target equal to v. We refer to G (v, v) as the vertex group at v. If G is connected than any two vertex groups G (v, v) and G (w, w) are isomorphic. This is because we can choose an element g with source v, target w, and construct the isomorphism G (v, v) → G (w, w), x → gxg −1 .

Let N be a subgroupoid of G with the same object set Ob(N ) = V. Thus every element of N is an element of G , and N is closed under groupoid composition. The collection of groups {G (v, v) : v ∈

Primer on Finitely Presented Groups and Groupoids | 495 V} is an example of a discrete subgroupoid of G . We say that a discrete subgroupoid N is normal in G if N (v, v) is a normal subgroup of G (v, v) for each v ∈ V. Given a discrete normal subgroupoid N in G we can form the quotient groupoid G /N which is characterized up to groupoid isomorphism by the following universal property. Universal property of a quotient groupoid. There is a morphism of groupoids φ : G  G /N . For any groupoid Q with object set Ob(Q) = V, and for any morphism ψ : G → Q that is the identity on V and sends each element of N to an identity element, there exists a unique morphism of groupoids ψ : G /N → Q such that the following diagram in the category of groupoids commutes.

/ G /N CC ψ CC CC ψ ! 

GC C

φ

Q

We say that a set r of elements in N normally generates N if any discrete normal subgroupoid of G containing r also contains the subgroupoid N . Let G be a groupoid with vertex set V = Ob(G ), and let F (x) be a free groupoid on a directed graph with the same vertex set V, and suppose that there is a morphism of groupoids φ : F (x)  G that is the identity on objects and that is surjective on elements. By ker φ we mean the groupoid with vertex set V and with arrows those elements r in F (x) that get mapped by φ to an identity arrow 1s(r) in G . The groupoid ker φ is a discrete normal subgroupoid of F (x) and the quotient F (x)/ ker φ is isomorphic to G . Let r be a set of elements in ker φ that normally generates ker φ. Definition A.3.1. The data x | r is called a free presentation of the groupoid G. When V = Ob(G ) consists of a single vertex then G is a group and A.3.1 gives the notion of a free presentation of a group. Suppose that G , H, K are groupoids with object sets VG , VH , VK respectively. Suppose that VK ⊂ VG and VK ⊂ VH and that VK = VG ∩ VH . Suppose that φ : K → G and ψ : K → H are morphisms of groupoids that are inclusions on object sets. The pushout groupoid G ∗K H is characterized up to isomorphism by the following universal property. Universal property of a pushout. There are morphisms of groupoids G → G ∗K H and H → G ∗K H. For any groupoid morphisms θ : G → Q θ : H → Q satisfying θ ◦ φ = θ ◦ ψ there is a unique groupoid morphism G ∗K H → Q such that the following diagram of groupoids commutes. K φ



G

/H

ψ



(A.1) θ

/ G ∗K H FF FF FF FF F# 5Q θ

∼ x | r , H = ∼ x | r  it is straightforward to verify Given free presentations K ∼ = xK | rK , G = G G H H that the pushout in A.1 has vertex set VG ∪ VH and presentation

496 | Appendix G ∗K H ∼ = xG ∪ xH | rG ∪ rH ∪ {φ(x)ψ(x)−1 : x ∈ xK }.

Given a free presentation G ∼ = x | r of a connected groupoid, and given a vertex v ∈ V = Ob(G ), we can obtain a free presentation for the vertex group G (v, v) as follows. First of all, construct a maximal tree t in the (directed) graph x. For each element (i.e. edge) x in x but not in t we introduce a symbol x˜ and we let x = {x˜ : x ∈ x \ t} denote the set of such symbols. We let F ( x) denote the free group on the set x. For each element r in the free groupoid F (x) we let r˜ be the element in the group F ( x) obtained from r by deleting x for each x ∈ x \ t and replacing x by x˜ for each x ∈ t, x | r.  = ±1. Set r = {˜r : r ∈ r}. The vertex group is presented as a group by G (v, v) ∼ =  A presentation x | r for a group G can be modified by two types of Tietze transformation to yield a new presentation for G. These transformations are: (T-I) (Add a generator) For any word w ∈ F (x) and any symbol z not in x we can transform the presentation to a new presentation G ∼ = x ∪ {z} |r ∪ {zw−1 }. (T-II) (Add a relator) For any word w in the normal subgroup R = rF (x) of F (x) normally generated by r we can transform the presentation to a new present ation G ∼ = x|r ∪ {w}. The reverse operations – (T-I)’ remove a generator, (T-II)’ remove a relator – can also be applied to a presentation. It can be shown that any finite presentation of G can be transformed into any other finite presentation for G using a sequence of Tietze transformations of types (T-I), (T-I)’, (T-II), (T-II)’.

A.4 Homology Software Homology computation boils down to elementary linear algebra with exact arithmetic: over a field one has to reduce a boundary matrix (or more efficiently represented equivalent data) to semiechelon form; over a principal ideal domain one has to reduce to Smith Normal Form. There are many software packages for these two tasks and here we mention a few that are specifically aimed at homology and take advantage of features peculiar to boundary matrices (or equivalent data). Symbolic algebra systems such as GAP [126], Kenzo [260], Macaulay2 [136], Magma [31], Maple [201], Mathematica [294], Sage [275], Singular [266] all contain efficient generic implementations of echelon and Smith Normal Form which can be used for moderately sized homology computations. Boundary matrices of cellular spaces tend to be extremely sparse. The LinBox symbolic linear algebra software library [141] has good functionality for sparse matrices and can be applied to homology computation. This is a C++ library but can also be accessed directly from GAP via the Homology package [88]. The library contains both deterministic and probabilistic methods for computing homology. The HAP function HomologyPb(C,k) is a wrapper that uses the Homology package to apply these methods directly to HAP chain complexes. The EDIM package [197] for GAP provides an implementation of an algorithm for computing prime parts of the elementary divisors of integer matrices. This package is used by HAP in the computation of the homology of a finite group where the relevant primes are just those dividing the order of the group. The algorithm was developed and implemented by Frank Lübeck. RedHom [50] is an extremely efficient C++ library for computing homology of finite CWsubspaces of cubically tessellated Euclidean space, as well as homology of simplicial complexes and more general regular CW-spaces. The library uses versions of the methods described in Chapter 2 involving simple homotopy collapses (or reductions), acyclic subspaces and discrete vector fields.

Software for Group Cohomology | 497 The library is developed by the CAPD group at the Jagiellonian University, Krakow, which is led by Marian Mrozek. A related library, with similar aims and functionality, is the Chomp C++ library [60] being developed by the computational topology group at Rutgers led by Konstantin Mischaikow. There are quite a number of smaller software packages devoted to the efficient computation of persistent Betti numbers of simplicial complexes generated by point cloud data. We mention just three of the principal packages in this area. JPlex [65] is a Java based package for persistent homology computation with an interface to Matlab, developed by Gunnar Carlsson’s computational topology group at Stanford. Dionysus [215] is a C++ library for computing persistent homology, written by Dmitriy Morozov. PHAT [16] is a C++ library for persistent homology computation, written by Ulrich Bauer, Michael Kerber and Jan Reininghaus.

A.5 Software for Group Cohomology Various procedures for computing group cohomology are publicly available in a number of computer algebra packages. Derek Holt [160] has developed software for computing the first and second cohomology Hn (G, A), n = 1, 2, of a finite group G with coefficients in a G-module A over a field. This is available in Magma [31] and in the Cohomolo package [158] for GAP. The software is based on group-theoretic techniques, in which a free presentation of a group plays the role of a free resolution up to degree 2, and uses a version of the Cartan–Eilenberg double coset formula 3.4.3. The implementation is extremely efficient and works well even when G and A are of large order. The Magnus system [19] for computational group theory contains a function, contributed by J.R.J. Groves, for computing the integral homology of a class of finite and infinite groups. The function inputs a presentation for the group and then starts by constructing a complete rewrite system for the group; the homology is obtained from a free resolution computed by an algorithm described in [142]. The function works well in low degrees (say ≤ 4) on an impressive class of groups including the free abelian group of rank 6 and the symmetric group S5 , and works well in slightly higher degrees for some small finite groups. Procedures for calculating the cohomology rings H∗ (G, F) for finite p-groups have been developed by Jon Carlson [51] and implemented in the Magma system. The procedures use standard linear algebra to build the initial terms of free FG-resolutions, as described in Section 3.5, and then use the description of the cup product given in Section 3.7 to determine the lower dimensions of the ring structure. Presentations for the cohomology ring are obtained using tests for completion described in [51]. These completion tests are more finely tuned to the problem than the more generic test described in Section 3.9. The completion tests, which are not distributed with Magma, have been used in [52] to calculate presentations for the mod-2 cohomology rings of all groups of order 64. Marcus Bishop has re-implemented Carlson’s procedures for calculating the low-dimensional structure of mod-p cohomology rings of finite p-groups in the CRIME package [24] for the GAP system. That package is completely independent of HAP and proved to be an invaluable tool for testing HAP’s cohomology ring code during the developmental stage. David Green has developed non-commutative Gröbner basis techniques for working over the group algebra FG of a finite p-group. These provide an alternative to the linear algebraic methods of Section 3.5 for computing free FG-resolutions. The advantage of the Gröbner basis approach is that it uses significantly less memory and can thus be applied to larger p-groups. This approach

498 | Appendix is described in [138] and used in conjunction with Carlson’s completion criteria to compute presentations for the mod-3 cohomology rings of the groups of order 81 and for several of the mod5 cohomology rings of the groups of order 625. Simon King and David Green have developed the Gröbner basis techniques into a package [137] for computing mod-p cohomology rings of finite groups which is available as part of the Sage system [275]. The package contains implementations of a range of completion criteria, including Carlson’s. It does not implement the LHS method of Section 3.9. A version of the Cartan–Eilenberg double coset formula 3.4.3 is implemented for mod-p cohomology rings of non-prime-power finite groups. This is used, for instance, in [102] to compute the mod-2 cohomology ring of the third Conway group Co3 . There are also a number of stand-alone group cohomology implementations aimed at specific classes of groups, that are not yet incorporated as part of publicly distributed computational algebra systems. We omit details of these.

A.6 Parallel Computation Several of the procedures in this book admit easy parallelizations that can reduce the time and distribute the memory requirements of a computation. An algorithm is easy to parallelize if it can be separated into a number of independent parallel tasks whose inputs and outputs can be quickly communicated between tasks. As an example consider the computation of the fundamental group of a pure lattice complex X described in Chapter 1. If X were expressed as a union of lattice complexes X = A ∪ B with A, B and A ∩ B connected (cf. Example 1.6.7) then an easy parallel computation of π1 X could be performed as follows. The parent process containing X could be used to determine the lattice complexes A, B and A ∩ B, and then used to spawn three child processes. The binary array representing A could be sent to child process 1; the array representing B could be sent to child process 2, and the array representing A ∩ B could be sent to child process 3. The child processes could simultaneously expand the three binary arrays into CW representations of A, B and A ∩ B, then construct maximal discrete vector fields on these three CW complexes each involving a single critical 0-cell, and then compute the corresponding presentations of π1 A, π1 B and π1 (A ∩ B). The presentation for π1 (A ∩ B) together with coordinates for those critical cells of A ∩ B corresponding to the presentation generators could be communicated from process 3, via the parent process, to processes 1 and 2. At this stage process 1 could quickly compute the homomorphism π1 (A ∩ B) → π1 (A) and return it to the parent process as a homomorphisms of finitely presented groups. Process 2 could return the homomorphism π1 (A ∩ B) → π1 (B) to the parent process. Finally, using van Kampen’s theorem 1.6.6, the parent process could use the two homomorphisms to quickly compute a presentation for the fundamental group π1 X = π1 (A) ∗π1 (A∩B) π1 (B). If the decomposition X = A ∪ B were such that A and B each involve roughly half as many cells as the CW complex X, then this parallel computation would likely halve the time needed to compute a presentation for π1 X. If the child processes were on separate computers then the parallel computation would spread over the three computers the memory requirements for converting the compactly represented lattice complex X into a more memory demanding CW representation. The following page contains a flow chart of the parallel computation. An analogous parallel computation of the homology of a lattice space X with coefficients in a field can be performed using the following exact sequence due to Walther Mayer and Leopold Vietoris.

Parallel Computation | 499

PARENT Input connected lattice complex X; Decompose X = A ∪ B with A, B and A ∩ B connected; Output lattice complex A to child 1; Output lattice complex B to child 2; Output lattice complex A ∩ B to child 3; CHILD 1 Receive lattice complex A; Construct CW representation of A; Compute maximal discrete vector field on A with a unique critical 0-cell; Compute corresponding presentation for π1A;

CHILD 2 Receive lattice complex B; Construct CW representation of B; Compute maximal discrete vector field on B with a unique critical 0-cell; Compute corresponding presentation for π1B;

CHILD 3 Receive lattice complex A ∩ B; Construct CW representation of A ∩ B; Compute maximal discrete vector field on A ∩ B with a unique critical 0-cell; Compute corresponding presentation for π1(A ∩ B);

Determine coordinates of the critical 1-cells; Output presentation and coordinates to Child 1 & Child 2;

PARENT PARENT

CHILD 1 Receive presentation for π1(A ∩ B) and coordinates of corresponding critical 1-cells; Compute π1(A ∩ B) → π1A as a homomorphism of finitely presented groups; Output homomorphism to parent;

CHILD 2 Receive presentation for π1(A ∩ B) and coordinates of corresponding critical 1-cells; Compute π1(A ∩ B)→ π1B as a homomorphism of finitely presented groups; Output homomorphism to parent;

PARENT Receive homomorphisms π1 (A ∩ B) → π1A and π1(A ∩ B) → π1B; Output presentation for π1 X = π1(A)*π1(A ∩ B)π1(B);

500 | Appendix Theorem A.6.1 (Mayer–Vietoris). Let X be a CW-space and let A ⊂ X, B ⊂ X be CW-subspaces such that X = A ∪ B. For any integral domain K there is a long exact sequence · · · → Hn (A ∩ B, K) → Hn (A, K) ⊕ Hn (B, K) → Hn (X, K) → · · · · · · → H1 (X, K) → H0 (A ∩ B, K) → H0 (A, K) ⊕ H0 (B, K) → H0 (X, K) → 0. Proof. The inclusions α : A ∩ B → A, β : A ∩ B → B induce chain inclusions α∗ : C∗ (A ∩ B) → C∗ A, β∗ : C∗ (A ∩ B) → C∗ B. The injective chain map α∗ − β∗ : C∗ (A ∩ B) → C∗ A ⊕ C∗ B, x → (α∗ (x), −β∗ (x)) has cokernel isomorphic to the chain complex C∗ X. The short exact sequence of chain complexes α∗ −β∗

C∗ (A ∩ B)  C∗ A ⊕ C∗ B  C∗ X 

gives rise to the required long exact sequence by Proposition 3.2.3.

For any field F the Mayer–Vietoris sequence A.6.1 yields a description of the vector space Hn (X, F) as a direct sum Hn (X, F) ∼ =

coker (Hn (A ∩ B, F) → Hn (A, F) ⊕ Hn (B, F)) ker (Hn−1 (A ∩ B, F) → Hn−1 (A, F) ⊕ Hn−1 (B, F))

.

(A.2)

Using isomorphism A.2 in place of the van Kampen theorem, the above parallel procedure for computing π1 (X) = π1 (A ∪ B) extends directly to a parallel procedure for computing Hn (X, F) = Hn (A ∪ B, F), n ≥ 0. For the parallel homology computation there is no need for A, B or A ∩ B to be path-connected. (Indeed, the connectivity of A, B or A ∩ B is not required in the fundamental groupoid version of the van Kampen theorem given in [41].) A different role for parallel computation arises in the context of procedures, such as Todd– Coxeter coset enumeration, whose implementation and performance depends on a choice of strategy and where the performance of a particular strategy on given input data can only be evaluated post computation. In the case of the Todd–Coxeter procedure there are a range of strategies for filling relator and subgroup generator tables – a number of which are implemented in the GAP package ACE [122] devoted to advanced coset enumeration. On a given presentation of a finite group one strategy may perform much better than another. To reduce the speed of a coset enumeration several strategies can be tried simultaneously on several processors, and as soon as one of the strategies terminates with the required computation all other strategies can be stopped. Other situations where this type of parallel computation can be used include: (i) the various strategies available for constructing a maximal discrete vector field on a regular CW complex; (ii) the various strategies available for computing Schur multipliers or Bogomolov multipliers. A basic functionality for manipulating parallel processes is required in order to perform parallel computations. The ParGAP [69] package offers one approach to Master-Slave parallelism in GAP based on the MPI standard for parallel computation. An alternative approach is offered by the SCSCP [182] package which implements the Symbolic Computation Software Composability Protocol for the GAP system. For the kind of easily parallelized algorithms discussed above the HAP package offers a less sophisticated functionality based on the following six basic functions. The implementation of these six functions is operating system dependent and is currently only implemented for the Linux operating system. More sophisticated functions for parallel computation are readily constructed in terms of the six basic functions using the GAP programming language.

Parallel Computation | 501 1 ChildCreate ChildCreate():: Void −→ Child process ChildProcess("computer.address.ie"):: String −→ Child process ChildProcess(["-m", "100000M", "-T"]):: List −→ Child process ChildProcess("remote.host", ["-m", "100000M", "-T"]):: String, List −→ Child process Starts a GAP session as a child process and returns a stream to the child process. If no argument is given then the child process is created on the local machine; otherwise the argument should be: (1) the address of a remote computer for which ssh has been configured to require no password from the user; (2) or a list of GAP command line options; (3) or the address of a computer followed by a list of command line options. 2 ChildKill-ChildRestart ChildKill(s):: Child process −→ Void ChildRestart(s):: Child process −→ Void The first version inputs a child process s and immediately kills it. The second version immediately kills the process and then restarts it. 3 ChildCommand ChildCommand("cmd",s):: String, Child process −→ Void Inputs a string cmd representing a GAP command and a child process s. The command cmd is executed on s. 4 ChildIsAvailable ChildIsAvailable(s):: Child process −→ Boolean Inputs a child process s. It returns false if s is busy executing some command. It returns true if s is available to execute a new command. 5 ChildPut ChildPut(A,"B",s):: Object, String, Child process −→ Void Copies object A from the parent process to the child process s. The copied object is assigned the name "B" on the child. The copying relies on the function PrintObj(A). Complicated data structures need to be pickled into a suitable format before copying.

502 | Appendix 6 ChildGet ChildGet(A,s):: Object, Child process −→ Object Copies object A from the child process s to the parent process. The copying relies on the function PrintObj(A). Example A.6.1. The following GAP session illustrates five of the above six commands by performing a naive parallel computation of the product A = M × N of two random matrices M and N. Each matrix has 4000 rows and 4000 columns. The parallel computation involves just one child and takes 60% of the time needed for the final non-parallel calculation of B = M × N. The computation is performed on a multi-processor Linux laptop.

GAP session A.6.1 gap> M:=RandomMat(4000,4000);; gap> N:=RandomMat(4000,4000);; gap> s:=ChildCreate();; gap> Exec("date +%M:%S"); 55:08 gap> Mtop:=M{[1..2000]};; gap> Mbottom:=M{[2001..4000]};; gap> ChildPut(Mtop,"Mtop",s); gap> ChildPut(N,"N",s); gap> ChildCommand("Atop:=Mtop*N;;",s);; gap> Abottom:=Mbottom*N;; gap> A:=ChildGet("Atop",s);; gap> Append(A,Abottom);; gap> ChildKill(s); gap> Exec("date +%M:%S"); 57:29 gap> Exec("date +%M:%S");B:=M*N;;Exec("date +%M:%S"); 57:50 01:45



The command ChildIsAvailable(s) can be used with the GAP programming language to implement a function NextAvailableChild(C) that inputs a list C of child processes, waits until one of the processes becomes available, and returns that available child process. The function NextAvailableChild(C) can in turn be used to implement a function ParallelList(L,"fn",C) that inputs a list L, a string "fn" representing a function that can be applied to each member of the list L, and a list C of child processes. The function returns a new list obtained by applying the function fn to each element of L. Each term fn(i) of the new list is computed on the next available child process.

Parallel Computation | 503 Example A.6.2. The following GAP session computes the Bogomolov multipliers of all the groups of order 115 using eight child processes. The final command prints identification numbers of those groups with non-trivial Bogomolov multiplier. In this example parallel computation speeds up the calculation by a factor of eight.

GAP session A.6.2 gap> children:=List([1..8],i->ChildProcess());; gap> fn:=function(i); return BogomolovMultiplier(SmallGroup(11ˆ5,i)); end;; gap> for s in children do > ChildPut(fn,"fn",s); > od; gap> L:=ParallelList([1..NrSmallGroups(11ˆ5)],"fn",children);; gap> Filtered([1..NrSmallGroups(11ˆ5)],x->Length(L[x])>0); [ 39, 40, 41, 42 ]

 Example A.6.3. One approach to computing a Bogomolov multiplier B0 (G) is based on equation 4.42. A second approach involves free ZG-resolutions. The following GAP session constructs a function Bogo(n,i,s,t) that uses both approaches to calculate B0 (G) for G the small group number i of order n. It uses child process s for one approach and child process t for the other. When one approach completes its computation, the function returns the multiplier and stops and restarts the other child process.

GAP session A.6.3 ######################################################## Bogo:=function(n,i,s,t) local fn1, fn2, cmd, r, B; fn1:=function(n,i); return BogomolovMultiplier(SmallGroup(n,i),"standard"); end; fn2:=function(n,i); return BogomolovMultiplier(SmallGroup(n,i),"homology"); end; ChildPut( fn1, "fn", s);; ChildPut( fn2, "fn", t);; cmd:=Concatenation("B:=fn(",String(n),",",String(i),")");

504 | Appendix ChildCommand(cmd,s);; ChildCommand(cmd,t);; r:=NextAvailableChild([s,t]);; B:=ChildGet("B",r); if r=s then ChildRestart(t);; else ChildRestart(s); fi; return B; end; ########################################################

The following commands illustrate the use of this function Bogo(n,i,s,t).

GAP session A.6.3 gap> s:=ChildProcess();; t:=ChildProcess();; gap> Bogo(3ˆ5,28,s,t); [ 3 ]



A.7 Installing HAP and Related Software The HAP package is distributed with the GAP system for computational algebra available at http://www.gap-system.org/. The system is developed on various versions of Linux and on some recent versions of Windows and Mac OS X in both 32- and 64-bit modes. It can be installed on any of these platforms using the standard distribution archives. To install GAP and its packages one applies the following basic steps using platform dependent commands detailed in the distribution: 1. Choose your preferred archive format and download the corresponding archive. 2. Unpack the archive to some directory ../gap/ . 3. On UNIX, Linux or Mac OS X: change to the directory ../gap/ and then type the command ./configure followed by the command make . 4. On UNIX, Linux or Mac OS X: change to the subdirectory ../gap/pkg/ and type the command ../bin/BuildPackages.sh which will build most of the packages that require compilation (provided appropriate libraries, headers and tools are available on your computer). 5. On Windows: no compilation is needed since compiled executables for GAP and some packages are already in the win.zip-archive. 6. Adjust some links/scripts/icons ..., depending on your system, to make the new version of GAP available to the users of your machine.

Installing HAP and Related Software | 505 Having completed these steps the basic functionality of HAP should now be accessible. This basic functionality can be tested using the following commands. gap> LoadPackage("hap"); true gap> TestPackage("hap"); HAP library GAP4stones: 0 #I No errors detected while testing package hap version 1.18 #I using the test file ‘˜/pkg/Hap1.18/test/hap.tst’ Some functionality of HAP is currently only available on UNIX, Linux or Mac OS X and depends on external software which needs to be installed and/or compiled. HAP functions relating to the cohomology of pcp-groups require the nq package for GAP which may need to be compiled by changing to the package directory /gap/pkg/nq-*.*.* and then running the commands ./configure followed by make. Those HAP functions relating to the cohomology rings of 2-groups that involve Gröbner basis computations require the GAP interface to Singular which in turn requires the Singular software system to be installed. This system is available at https://www.singular.uni-kl. de/. Those HAP functions displaying image files require the variable DISPLAY_PATH to be assigned the path of an operating system command for displaying images. The default assignment is DISPLAY_PATH:=Filename( DirectoriesSystemPrograms( ), "display" ). This default can be modified by editing the file /gap/pkg/ Hap1.**/ lib/externalSoftware.gap. Those HAP functions calling an internet browser require the variable BROWSER_PATH to be assigned the path of an operating system browser command. The default assignment is BROWSER_PATH:=Filename( DirectoriesSystemPrograms( ), "firefox" ). This default can be modified by editing the file /gap/pkg/Hap1.** /lib/externalSoftware.gap. Those HAP functions that create an image of a graph rely on Graphviz software available at http://www.graphviz.org/. The variable NEATO_PATH must be assigned the path of the Graphviz command neato. The variable DOT_PATH must be assigned the path of the Graphviz command dot. The default assignments are NEATO_PATH:= Filename(DirectoriesSystemPrograms( ), "neato") and DOT_ PATH: =Filename( DirectoriesSystemPrograms( ), "dot"). These defaults can be modified by editing the file /gap/pkg/Hap1.**/lib/externalSoftware.gap. Some HAP functions for creating images of cubical complexes, images of knots and scatter plots of point cloud data require Asymptote software available at http:// asymptote. sourceforge.net/. The variable ASY_PATH must be assigned the path of the Asymptote command asy. The default assignment is ASY_PATH:=Filename(Directories SystemPrograms( ), "asy" ). This default can be modified by editing the file /gap/pkg/Hap1.**/lib/externalSoftware.gap. Those HAP commands involving convex hull computations require Polymake software available at https://polymake.org/. Some HAP functions currently work with Polymake directly via the variable POLYMAKE_PATH which must be assigned the path of the command polymake. The default assignment is POLYMAKE_PATH:= Filename( DirectoriesSystemPrograms( ), "polymake"). Other functions currently work via the now dated GAP interface to polymake. This interface may encounter problems

506 | Appendix with the latest release of Polymake and work is in progress on directing all Polymake requests through the newer PolymakeInterface package for GAP. Those HAP commands related to parallel computation require GAP to be started using the system command gap. On Debian and Ubuntu Linux machines all examples in this book should work by simply using the Synaptic Package Manager to install default versions of Asymptote, GraphViz, ImageMagic, Polymake and Singular. These examples have been tested under GAP version 4.9.2 and Debian GNU/Linux 9 (stretch), version 4.9.0-7-amd64.

Bibliography [1] Wikimedia commons, the free media repository. [2] J.F. Adams. Maps from a surface to the projective plane. Bull. London Math. Soc., 14(6): 533–534, 1982. [3] Alejandro Adem and Nadim Naffah. On the cohomology of SL2 (Z[1/p]). In Geometry and cohomology in group theory (Durham, 1994), volume 252 of London Math. Soc. Lecture Note Ser., pages 1–9. Cambridge Univ. Press, Cambridge, 1998. [4] S.I. Adyan. Algorithmic unsolvability of problems of recognition of certain properties of groups. Dokl. Akad. Nauk SSSR (N.S.), 103:533–535, 1955. [5] Nisreen Alokbi. Groupoids and computational topology. PhD thesis, NUI Galway, July 2019. [6] M. Alp and C.D. Wensley. XMod – crossed modules and cat1 -groups in gap, Version 2.22, 2013. (http://www.gap-system.org/Packages/xmod-2.22). [7] V. Alvarez, J.A. Armario, M.D. Frau and P. Real. The homological reduction method for computing cocyclic Hadamard matrices. J. Symbolic Comput., 44(5):558–570, 2009. [8] K.I. Appel and P.E. Schupp. Artin groups and infinite Coxeter groups. Invent. Math., 72(2):201–220, 1983. [9] Avner Ash. Deformation retracts with lowest possible dimension of arithmetic quotients of self-adjoint homogeneous cones. Math. Ann., 225(1):69–76, 1977. [10] Avner Ash. Small-dimensional classifying spaces for arithmetic subgroups of general linear groups. Duke Math. J., 51(2):459–468, 1984. [11] A.T Bui and G. Ellis. The homology of Sl2 (Z[1/m]) for small m. J. Algebra, 408:102–108, 2014. [12] Michael Atiyah. Mathematics in the 20th century. Bull. London Math. Soc., 34(1):1–15, 2002. [13] Reinhold Baer. Groups with preassigned central and central quotient group. Trans. Amer. Math. Soc., 44(3):387–412, 1938. [14] Baryshnikov Yuliy and Ghrist Robert. Target enumeration via Euler characteristic integrals. SIAM J. Appl. Math., 70(3):825–844, 2009. [15] E. Batzies and V. Welker. Discrete Morse theory for cellular resolutions. J. Reine Angew. Math., 543:147–168, 2002. [16] U. Bauer, M. Kerber, and J. Reininghaus. PHAT – Persistent Homology Algorithm Toolbox, Version 1.4.0. (https://code.google.com/p/phat/). [17] Hans Joachim Baues. Algebraic homotopy, volume 15 of Cambridge Studies in Advanced Mathematics. Cambridge University Press, Cambridge, 1989. [18] P. Baum, A. Connes and N. Higson. Classifying space for proper actions and K-theory of group C∗ -algebras. In C∗ -algebras: 1943–1993 (San Antonio, TX, 1993), volume 167 of Contemp. Math., pages 240–291. Amer. Math. Soc., Providence, RI, 1994.

508 | Bibliography [19] Gilbert Baumslag and Charles F. Miller, III. Experimenting and computing with infinite groups. In Groups and computation, II (New Brunswick, NJ, 1995), volume 28 of DIMACS Ser. Discrete Math. Theoret. Comput. Sci., pages 19–30. Amer. Math. Soc., Providence, RI, 1997. [20] Clemens Berger. Iterated wreath product of the simplex category and iterated loop spaces. Adv. Math., 213(1):230–270, 2007. [21] Ethan Berkove. The mod-2 cohomology of the Bianchi groups. Trans. Amer. Math. Soc., 352(10):4585–4602, 2000. [22] Ya. G. Berkovich. On the order of the commutator subgroup and the Schur multiplier of a finite p-group. J. Algebra, 144(2):269–272, 1991. [23] F. Rudolf Beyl and Jürgen Tappe. Group extensions, representations, and the Schur multiplicator, volume 958 of Lecture Notes in Mathematics. Springer-Verlag, Berlin-New York, 1982. [24] M. Bishop. CRIME – A GAP package to calculate group cohomology and Massey products, Version 1.4, 2011. (http://www.gap-system.org/Packages/crime.html). [25] Anders Björner and Francesco Brenti. Combinatorics of Coxeter groups, volume 231 of Graduate Texts in Mathematics. Springer, New York, 2005. [26] R. Blind and P. Mani-Levitska. Puzzles and polytope isomorphisms. Aequationes Math., 34(2–3):287–297, 1987. [27] W.A. Bogley and S.J. Pride. Calculating generators of 2 . In Two-dimensional homotopy and combinatorial group theory, volume 197 of London Math. Soc. Lecture Note Ser., pages 157–188. Cambridge Univ. Press, Cambridge, 1993. [28] F.A. Bogomolov. The Brauer group of quotient spaces of linear representations. Izv. Akad. Nauk SSSR Ser. Mat., 51(3):485–516, 688, 1987. [29] W.W. Boone. The word problem. Ann. of Math. (2), 70:207–265, 1959. [30] Karol Borsuk. On the imbedding of systems of compacta in simplicial complexes. Fund. Math., 35:217–234, 1948. [31] W. Bosma, J. Cannon and C. Playoust. The Magma algebra system. I. The user language. J. Symbolic Comput., 24(3–4):235–265, 1997. Computational algebra and number theory (London, 1993). [32] Thomas Brady. Free resolutions for semi-direct products. Tohoku Math. J. (2), 45(4): 535–537, 1993. [33] Richard Brauer. Representations of finite groups. In Lectures on Modern Mathematics, Vol. I, pages 133–175. Wiley, New York, 1963. [34] Oliver Braun, Renaud Coulangeon, Gabriele Nebe and Sebastian Schönnenbeck. Computing in arithmetic groups with Voronoï’s algorithm. J. Algebra, 435:263–285, 2015. [35] P. Brendel, G. Ellis, M. Juda and M. Mrozek. Fundamental group algorithm for low dimensional tessellated cw complexes. arXiv:1507.03396, 2015. [36] Martin R. Bridson and André Haefliger. Metric spaces of non-positive curvature, volume 319 of Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences]. Springer-Verlag, Berlin, 1999. [37] Egbert Brieskorn and Kyoji Saito. Artin-Gruppen und Coxeter-Gruppen. Invent. Math., 17:245–271, 1972. [38] William Browder and Jonathan Pakianathan. Cohomology of uniformly powerful p-groups. Trans. Amer. Math. Soc., 352(6):2659–2688, 2000. [39] K.S. Brown. Cohomology of groups, volume 87 of Graduate Texts in Mathematics. SpringerVerlag, New York-Berlin, 1982. [40] R. Brown. The twisted Eilenberg–Zilber theorem. In Simposio di Topologia (Messina, 1964), pages 33–37. Edizioni Oderisi, Gubbio, 1965.

Bibliography | 509 [41] R. Brown. Elements of modern topology. McGraw-Hill Book Co., New York, 1968. [42] R. Brown. Topology and groupoids. BookSurge, LLC, Charleston, SC, 2006. Third edition of Elements of modern topology [McGraw-Hill, New York, 1968; MR0227979], With 1 CD-ROM (Windows, Macintosh and UNIX). [43] R. Brown, P.J. Higgins, and R. Sivera. Nonabelian algebraic topology, volume 15 of EMS Tracts in Mathematics. European Mathematical Society (EMS), Zürich, 2011. Filtered spaces, crossed complexes, cubical homotopy groupoids, With contributions by Christopher D. Wensley and Sergei V. Soloviev. [44] R. Brown, D.L. Johnson and E.F. Robertson. Some computations of nonabelian tensor products of groups. J. Algebra, 111(1):177–202, 1987. [45] R. Brown and J.-L. Loday. Van Kampen theorems for diagrams of spaces. Topology, 26(3):311–335, 1987. With an appendix by M. Zisman. [46] Ronald Brown and Philip J. Higgins. On the connection between the second relative homotopy groups of some related spaces. Proc. London Math. Soc. (3), 36(2):193–212, 1978. [47] Ronald Brown and Christopher B. Spencer. G-groupoids, crossed modules and the fundamental groupoid of a topological group. Nederl. Akad. Wetensch. Proc. Ser. A 79 Indag. Math., 38(4):296–302, 1976. [48] J. Burns and G. Ellis. On the nilpotent multipliers of a group. Math. Z., 226(3):405–428, 1997. [49] J.J. Cannon. Construction of defining relators for finite groups. Discrete Math., 5:105–129, 1973. [50] Jagiellonian University CAPD Group. RedHom – software library for efficient computation of the homology of sets. (http://redhom.ii.uj.edu.pl/). [51] Jon F. Carlson. Calculating group cohomology: tests for completion. J. Symbolic Comput., 31(1-2):229–242, 2001. Computational algebra and number theory (Milwaukee, WI, 1996). [52] Jon F. Carlson, Lisa Townsley, Luis Valeri-Elizondo and Mucheng Zhang. Cohomology rings of finite groups, volume 3 of Algebras and Applications. Kluwer Academic Publishers, Dordrecht, 2003. With an appendix: Calculations of cohomology rings of groups of order dividing 64 by Carlson, Valeri-Elizondo and Zhang. [53] G. Carlsson. Topology and data. Bulletin American Math. Soc., 45:255–308, 2009. [54] Gunnar Carlsson, Tigran Ishkhanov, Vin de Silva and Afra Zomorodian. On the local behavior of spaces of natural images. International Journal of Computer Vision, 76(1):1–12, 2008. [55] P. Carrasco and A.M. Cegarra. Group-theoretic algebraic models for homotopy types. J. Pure Appl. Algebra, 75(3):195–235, 1991. [56] H. Cartan and S. Eilenberg. Homological algebra. Princeton University Press, Princeton, N. J., 1956. [57] Ruth Charney and Michael W. Davis. The K(π, 1)-problem for hyperplane complements associated to infinite reflection groups. J. Amer. Math. Soc., 8(3):597–627, 1995. [58] Frédéric Chazal, Vin de Silva and Steve Oudot. Persistence stability for geometric complexes. Geom. Dedicata, 173:193–214, 2014. [59] I.M. Chiswell. The cohomological dimension of 1-relator groups. J. London Math. Soc. (2), 11(3):381–382, 1975. [60] Rutgers University Chomp Group. Chomp – homology software library. (http://chomp. rutgers.edu/Projects/Computational_Homology/OriginalCHomP/).

510 | Bibliography [61] M. Clancy and G. Ellis. Homology of some Artin and twisted Artin groups. J. K-Theory, 6(1):171–196, 2010. [62] Henri Cohen. A course in computational algebraic number theory, volume 138 of Graduate Texts in Mathematics. Springer-Verlag, Berlin, 1993. [63] M.M. Cohen. A course in simple homotopy theory. Graduate texts in mathematics. Springer, New York, 1973. [64] Donald J. Collins and Charles F. Miller, III. The word problem in groups of cohomological dimension 2. In Groups St. Andrews 1997 in Bath, I, volume 260 of London Math. Soc. Lecture Note Ser., pages 211–218. Cambridge Univ. Press, Cambridge, 1999. [65] Stanford Computational Topology Group. JPlex – a software package for computing persistent homology of finite simplicial complexes. (http://comptop.stanford.edu/u/programs/jplex/ kindex.html). [66] Marston Conder. Group actions on the cubic tree. J. Algebraic Combin., 1(3):209–218, 1992. [67] Daniel Conduché. Modules croisés généralisés de longueur 2. In Proceedings of the Luminy conference on algebraic K-theory (Luminy, 1983), volume 34, pages 155–178, 1984. [68] Keith Conrad. SL2 (Z). preprint, Univ. Connecticut, https://kconrad.math.uconn.edu/blurbs/ grouptheory/SL(2,Z).pdf. [69] G. Cooperman and A. Konovalov. ParGAP – Parallel GAP, Version 1.4.0, 2013. (http://www. gap-system.org/Packages/pargap.html). [70] I.S. Costa. Presentation complexes with the fixed point property. Geometry and Topology, 21:1275–1283, 2017. [71] H.S.M. Coxeter. Wythoff ’s Construction for Uniform Polytopes. Proc. London Math. Soc., S2-38(1):327. [72] H.S.M. Coxeter. The groups determined by the relations Sl = T m = (S−1 T −1 ST)p = 1. Part I. Duke Math. J., 2(1):61–73, 1936. [73] H.S.M. Coxeter. Regular polytopes. Dover Publications, Inc., New York, third edition, 1973. [74] M. Crainic. On the perturbation lemma, and deformations. arXiv:math/0403266, page pp. 13, 2004. [75] Richard H. Crowell and Ralph Hartzler Fox. Introduction to knot theory. Graduate texts in mathematics. Springer-Verlag, [1977] c1963, New York, 1963. Includes index. [76] Michael W. Davis. Nonpositive curvature and reflection groups. In Handbook of geometric topology, pages 373–422. North-Holland, Amsterdam, 2002. [77] Michael W. Davis. The geometry and topology of Coxeter groups, volume 32 of London Mathematical Society Monographs Series. Princeton University Press, Princeton, NJ, 2008. [78] C. De Concini and M. Salvetti. Cohomology of Coxeter groups and Artin groups. Math. Res. Lett., 7(2–3):213–232, 2000. [79] Paul de Lange. The physics & mathematics of microstates in string theory and a monstrous farey tail. PhD thesis, Univ. van Amsterdam, 2016. [80] Warwick de Launey and Michael J. Smith. Cocyclic orthogonal designs and the asymptotic existence of cocyclic Hadamard matrices and maximal size relative difference sets with forbidden subgroup of size 2. J. Combin. Theory Ser. A, 93(1):37–92, 2001. [81] Wolfram Decker, Gert-Martin Greuel, Gerhard Pfister and Hans Schönemann. Singular 4-0-2 — A computer algebra system for polynomial computations. http://www.singular. uni-kl.de, 2015. [82] Pierre Deligne. Les immeubles des groupes de tresses généralisés. Invent. Math., 17:273–302, 1972.

Bibliography | 511 [83] Keith Dennis. In search of new homology functors having a close relationship to k-theory. preprint, Cornell University, 1976. [84] P. Dierker. Note on collapsing K × I where K is a contractible polyhedron. Proc. Amer. Math. Soc., 19:425–428, 1968. [85] R. Dijkgraaf, V. Pasquier and P. Roche. Quasi Hopf algebras, group cohomology and orbifold models. Nuclear Phys. B Proc. Suppl., 18B:60–72 (1991), 1990. Recent advances in field theory (Annecy-le-Vieux, 1990). [86] Albrecht Dold. Homology of symmetric products and other functors of complexes. Ann. of Math. (2), 68:54–80, 1958. [87] Paul Dubreil. Sur les problèmes d’immersion et la théorie des modules. C. R. Acad. Sci. Paris, 216:625–627, 1943. [88] J.-G. Dumas, F. Heckenbach and V. Saunders, B.D. Welker. GAP homology package – Project LinBox, Version 1.1 beta. (http://www.linalg.org/gap.html). [89] M. Dutour Sikiri´c and G. Ellis. Wythoff polytopes and low-dimensional homology of Mathieu groups. J. Algebra, 322(11):4143–4150, 2009. [90] M. Dutour Sikiri´c, G. Ellis and A. Schürmann. On the integral homology of PSL4 (Z) and other arithmetic groups. J. Number Theory, 131(12):2368–2375, 2011. [91] Eldon Dyer and A.T. Vasquez. Some small aspherical spaces. J. Austral. Math. Soc., 16: 332–352, 1973. Collection of articles dedicated to the memory of Hanna Neumann, III. [92] H. Edelsbrunner and J. Harer. Computational Topology - an Introduction. American Mathematical Society, 2010. [93] J. Eells and L. Lemaire. On the construction of harmonic and holomorphic maps between surfaces. Math. Ann., 252(1):27–52, 1980. [94] B. Eick, F. Gahler and W. Nickel. CristGap – The Crystallographic Groups Package, Version 4.1.12, 2013. (http://www.gap-system.org/Packages/cryst.html). [95] Bettina Eick. Schur multiplicators of finite p-groups with fixed coclass. Israel J. Math., 166:157–166, 2008. [96] Bettina Eick and Alexander Konovalov. The modular isomorphism problem for the groups of order 512. In Groups St Andrews 2009 in Bath. Volume 2, volume 388 of London Math. Soc. Lecture Note Ser., pages 375–383. Cambridge Univ. Press, Cambridge, 2011. [97] Bettina Eick and Werner Nickel. Computing the Schur multiplicator and the nonabelian tensor square of a polycyclic group. J. Algebra, 320(2):927–944, 2008. [98] Samuel Eilenberg and Saunders MacLane. Cohomology theory in abstract groups. II. Group extensions with a non-Abelian kernel. Ann. of Math. (2), 48:326–341, 1947. [99] G. Ellis. The nonabelian tensor product of finite groups is finite. J. Algebra, 111(1): 203–205, 1987. [100] G. Ellis. HAP – Homological Algebra Programming, Version 1.10.13, 2013. (http://www.gapsystem.org/Packages/hap.html). [101] G. Ellis. Appendix of functions used in ‘Computational Homotopy’, 2018. (http://hamilton. nuigalway.ie/CHappendix.pdf). [102] G. Ellis, D.J. Green and S.A. King. The mod-2 cohomology ring of the third Conway group is Cohen-Macaulay. Algebr. Geom. Topol., 11(2):719–734, 2011. [103] G. Ellis, J. Harris and E. Sköldberg. Polytopal resolutions for finite groups. J. Reine Angew. Math., 598:131–137, 2006. [104] G. Ellis and L.V. Le. Homotopy 2-types of low order. Exp. Math., 23(4):383–389, 2014. [105] G. Ellis and F. Leonard. Computing Schur multipliers and tensor products of finite groups. Proc. Roy. Irish Acad. Sect. A, 95(2):137–147, 1995.

512 | Bibliography [106] G. Ellis and E. Sköldberg. The K(π , 1) conjecture for a class of Artin groups. Comment. Math. Helv., 85(2):409–415, 2010. [107] G. Ellis and G. Williams. On the cohomology of generalized triangle groups. Comment. Math. Helv., 80(3):571–591, 2005. [108] G.J. Ellis. Nonabelian exterior products of groups and exact sequences in the homology of groups. Glasgow Math. J., 29(1):13–19, 1987. [109] Graham Ellis. On the Schur multiplier of p-groups. Comm. Algebra, 27(9):4173–4177, 1999. [110] Graham Ellis and Cédric Fragnaud. Computing with knot quandles. J. Knot Theory and its Ramifications, to appear. [111] Graham Ellis and James Wiegold. A bound on the Schur multiplier of a prime-power group. Bull. Austral. Math. Soc., 60(2):191–196, 1999. [112] Graham J. Ellis. Homotopy classification the J. H. C. Whitehead way. Exposition. Math., 6(2):97–110, 1988. [113] J.A. Elson. Image of chicken red blood cells magnified 1000 times, 2014. (https://commons. wikimedia.org/wiki/File:Chickenrbc1000x.jpg). [114] D. Eppstein. Twenty proofs of Euler’s formula: v-e+f=2. The Geometry Junkyard, 2013. (http: //www.ics.uci.edu/ eppstein/junkyard/euler/). [115] P. Erd˝os and A. Rényi. On random graphs. I. Publ. Math. Debrecen, 6:290–297, 1959. [116] Leonard Evens. The cohomology ring of a finite group. Trans. Amer. Math. Soc., 101: 224–239, 1961. [117] Leonard Evens. The cohomology of groups. Oxford Mathematical Monographs. The Clarendon Press, Oxford University Press, New York, 1991. Oxford Science Publications. [118] R. Forman. Morse theory for cell complexes. Adv. Math., 134(1):90–145, 1998. [119] R. Forman. A user’s guide to discrete Morse theory. Sém. Lothar. Combin., 48:Art. B48c, 35, 2002. [120] K. Fukuda and V. Rosta. Combinatorial face enumeration in convex polytopes. Comput. Geom., 4:191–198, 1994. [121] Matthias R. Gaberdiel, Daniel Persson, Henrik Ronellenfitsch and Roberto Volpato. Generalized Mathieu Moonshine. Commun. Number Theory Phys., 7(1):145–223, 2013. [122] G. Gamble, H. Hulpke, G. Havas and C. Ramsay. ACE – Advanced Coset Enumerator – interface to the ACE C program, Version 5.1, 2012. (http://www.gap-system.org/Packages/ ace.html). [123] Tudor Ganea. Homologie et extensions centrales de groupes. C. R. Acad. Sci. Paris Sér. A-B, 266:A556–A558, 1968. [124] Terry Gannon. Much ado about Mathieu. Adv. Math., 301:322–358, 2016. [125] E.R. Gansner and S.C. North. An open graph visualization system and its applications to software engineering. SOFTWARE – PRACTICE AND EXPERIENCE, 30(11): 1203–1233, 2000. [126] The GAP Group. GAP – Groups, Algorithms, and Programming, Version 4.5.6, 2013. (http:// www.gap-system.org). [127] E. Gawrilow and M. Joswig. Polymake: a framework for analyzing convex polytopes, 1999. [128] S.M. Gersten. Reducible diagrams and equations over groups. In Essays in group theory, volume 8 of Math. Sci. Res. Inst. Publ., pages 15–73. Springer, New York, 1987. [129] S.M. Gersten and H.B. Short. Small cancellation theory and automatic groups. Invent. Math., 102(2):305–334, 1990. [130] N.D. Gilbert and P.J. Higgins. The nonabelian tensor product of groups and related constructions. Glasgow Math. J., 31(1):17–29, 1989.

Bibliography | 513 [131] D. Gillman. Bing’s house and the Zeeman conjecture. Topology Appl., 24(1-3):147–151, 1986. Special volume in honor of R. H. Bing (1914–1986). [132] Paul G. Goerss and John F. Jardine. Simplicial homotopy theory, volume 174 of Progress in Mathematics. Birkhäuser Verlag, Basel, 1999. [133] R. Gonzalez-Diaz, J. Lamar and R. Umble. Cup products on polyhedral approximations of 3D digital images. In Combinatorial image analysis, volume 6636 of Lecture Notes in Comput. Sci., pages 107–119. Springer, Heidelberg, 2011. [134] C. McA. Gordon and J. Luecke. Knots are determined by their complements. J. Amer. Math. Soc., 2(2):371–415, 1989. [135] Johannes Grabmeier and Larry A. Lambe. Computing resolutions over finite p-groups. In Algebraic combinatorics and applications (Gößweinstein, 1999), pages 157–195. Springer, Berlin, 2001. [136] Daniel R. Grayson and Michael E. Stillman. Macaulay2, a software system for research in algebraic geometry. (http://www.math.uiuc.edu/Macaulay2/). [137] D. Green and S. King. Mod-p cohomology package for Sage, Version 2.1.4, 2014. (http://sage. math.washington.edu/home/SimonKing/Cohomology). [138] David J. Green. Gröbner bases and the computation of group cohomology, volume 1828 of Lecture Notes in Mathematics. Springer-Verlag, Berlin, 2003. [139] J.A. Green. On the number of automorphisms of a finite group. Proc. Roy. Soc. London Ser. A., 237:574–581, 1956. [140] Gert-Martin Greuel and Gerhard Pfister. A Singular introduction to commutative algebra. Springer, Berlin, extended edition, 2008. With contributions by Olaf Bachmann, Christoph Lossen and Hans Schönemann, With 1 CD-ROM (Windows, Macintosh and UNIX). [141] Project LinBox Group. LinBox – Exact Computational Linear Algebra. (http://www.linalg. org/index.html). [142] J.R.J. Groves. An algorithm for computing homology groups. J. Algebra, 194(2):331–361, 1997. [143] V.K.A.M. Gugenheim. On the chain-complex of a fibration. Illinois J. Math., 16:398–414, 1972. [144] P. Guillot. The computation of stiefel-whitney classes. Ann. Inst. Fourier, 60:565–606, 2010. [145] J. Gunarwardena, B. Kahn and C. Thomas. Stiefel-Whitney classes of real representations of finite groups. J. Algebra, 126(2):327–347, 1989. [146] M. Hagelberg, C. Maclachlan and G. Rosenberger. On discrete generalised triangle groups. Proc. Edinburgh Math. Soc. (2), 38(3):397–412, 1995. [147] Marcel A. Hagelberg. Hyperbolic 3-dimensional orbifolds. In Topics in knot theory (Erzurum, 1992), volume 399 of NATO Adv. Sci. Inst. Ser. C Math. Phys. Sci., pages 259–268. Kluwer Acad. Publ., Dordrecht, 1993. [148] P. Hall. The classification of prime-power groups. J. Reine Angew. Math., 182:130–141, 1940. [149] James Harris. Homology of Coxeter groups and related calculations. PhD thesis. NUI Galway, 2006. [150] A. Hatcher. Algebraic topology. Cambridge University Press, Cambridge, New York, 2002. Autre(s) tirage(s) : 2003, 2004, 2005, 2006. [151] A. Hedayat and W.D. Wallis. Hadamard matrices and their applications. Ann. Statist., 6(6):1184–1238, 1978. [152] Fintan Hegarty. Computational Homology of Cubical and Permutahedral Complexes. PhD thesis. NUI Galway, 2012. [153] Martin Hertweck. A counterexample to the isomorphism problem for integral group rings. Ann. of Math. (2), 154(1):115–138, 2001.

514 | Bibliography [154] Martin Hertweck and Marcos Soriano. Parametrization of central Frattini extensions and isomorphisms of small group rings. Israel J. Math., 157:63–102, 2007. [155] G. Higman. The units of group-rings. Proc. London Math. Soc. (2), 46:231–248, 1940. [156] P.J. Hilton. An introduction to homotopy theory. Cambridge Tracts in Mathematics and Mathematical Physics, no. 43. Cambridge, at the University Press, 1953. [157] C. Hog-Angeloni and W. Metzler, editors. Two-dimensional homotopy and combinatorial group theory, volume 197 of London Mathematical Society Lecture Note Series. Cambridge University Press, Cambridge, 1993. [158] D. Holt. Cohomolo – Cohomology groups of finite groups on finite modules, Version 1.6, 2008. (http://www.gap-system.org/Packages/cohomolo.html). [159] D.F. Holt. An interpretation of the cohomology groups Hn (G, M). J. Algebra, 60(2): 307–320, 1979. [160] D.F. Holt. The mechanical computation of first and second cohomology groups. J. Symbolic Comput., 1(4):351–361, 1985. [161] Heinz Hopf. Fundamentalgruppe und zweite Bettische Gruppe. Comment. Math. Helv., 14:257–309, 1942. [162] K.J. Horadam. Hadamard matrices and their applications. Princeton University Press, Princeton, NJ, 2007. [163] Akinari Hoshi and Aiichi Yamasaki. Rationality problem for algebraic tori. Memoirs of the American Math. Soc., 48(1176):1–228, 2017. [164] Robert B. Howlett. On the Schur multipliers of Coxeter groups. J. London Math. Soc. (2), 38(2):263–276, 1988. [165] J. Huebschmann. Automorphisms of group extensions and differentials in the Lyndon– Hochschild–Serre spectral sequence. J. Algebra, 72(2):296–334, 1981. [166] Johannes Huebschmann. Crossed n-fold extensions of groups and cohomology. Comment. Math. Helv., 55(2):302–313, 1980. [167] A. Hulpke. Notes on Computational Group Theory. Preprint, Colorado State University, 2000. ˜ (http://www.math.colostate.edu/hulpke/CGT/cgtnotes.pdf). [168] Alexander Hulpke, David Stanovský and Petr Vojtˇechovský. Connected quandles and transitive groups. J. Pure Appl. Algebra, 220(2):735–758, 2016. [169] James E. Humphreys. Reflection groups and Coxeter groups, volume 29 of Cambridge Studies in Advanced Mathematics. Cambridge University Press, Cambridge, 1990. [170] Urban Jezernik and Primož Moravec. Bogomolov multipliers of groups of order 128. Exp. Math., 23(2):174–180, 2014. [171] D.W. Jones. A general theory of polyhedral sets and the corresponding T-complexes. Dissertationes Math. (Rozprawy Mat.), 266:110, 1988. [172] David Joyce. A classifying invariant of knots, the knot quandle. J. Pure Appl. Algebra, 23(1):37–65, 1982. [173] T. Kaczynski, K. Mischaikow and M. Mrozek. Computational homology, volume 157 of Applied Mathematical Sciences. Springer-Verlag, New York, 2004. [174] T. Kaczynski and M. Mrozek. The cubical cohomology ring: an algebraic approach. Found. Comput. Math., 13:789–818, 2013. [175] M. Kahle and E. Meckes. Limit theorems for Betti numbers of random simplicial complexes. Homology Homotopy Appl., 15(1):343–374, 2013. [176] Matthew Kahle. Sharp vanishing thresholds for cohomology of random flag complexes. Ann. of Math. (2), 179(3):1085–1107, 2014.

Bibliography | 515 [177] Daniel M. Kan. Functors involving c.s.s. complexes. Trans. Amer. Math. Soc., 87: 330–346, 1958. [178] Gregory Karpilovsky. Projective representations of finite groups, volume 94 of Monographs and Textbooks in Pure and Applied Mathematics. Marcel Dekker, Inc., New York, 1985. [179] Elaheh Khamseh, Mohammad Reza R. Moghaddam and Farshid Saeedi. Characterization of finite p-groups by their Schur multipliers. J. Algebra Appl., 12(5):1250035, 9, 2013. [180] Irina Kholodna. Homotopical syzygies and homology of groups. PhD thesis. NUI Galway, 2001. [181] Knot Atlas. Knot Atlas, 2013. (http://katlas.math.toronto.edu/wiki/). [182] A. Konovalov and S. Linton. SCSCP – Symbolic Computation Software Composability Protocol, Version 2.1.4, 2013. (http://www.gap-system.org/Packages/scscp.html). [183] Dmitry Kozlov. Combinatorial algebraic topology, volume 21 of Algorithms and Computation in Mathematics. Springer, Berlin, 2008. [184] R. Ksontini. Propriétés homotopiques du complexe de quillen du groupe symétrique. Thése de doctorat, Université de Lausanne, page pp. 95, 2000. [185] Boris Kunyavski˘ı. The Bogomolov multiplier of finite simple groups. In Cohomological and geometric approaches to rationality problems, volume 282 of Progr. Math., pages 209–217. Birkhäuser Boston, Inc., Boston, MA, 2010. [186] Yu. V. Kuz min and Yu. S. Semenov. On the homology of a free nilpotent group of class 2. Mat. Sb., 189(4):49–82, 1998. [187] Larry A. Lambe. Cohomology of principal G-bundles over a torus when H∗ (BG; R) is polynomial. Bull. Soc. Math. Belg. Sér. A, 38:247–264 (1987), 1986. [188] Claudia Landi. Cohomology rings of Artin groups. Atti Accad. Naz. Lincei Cl. Sci. Fis. Mat. Natur. Rend. Lincei (9) Mat. Appl., 11(1):41–65, 2000. [189] Ian Leary. p-groups are not determined by their integral cohomology groups. Bull. London Math. Soc., 27(6):585–589, 1995. [190] Jean Leray. Sur la forme des espaces topologiques et sur les points fixes des représentations. J. Math. Pures Appl. (9), 24:95–167, 1945. [191] Frank Levin and Gerhard Rosenberger. A class of SQ -universal groups. In Group theory (Singapore, 1987), pages 409–415. de Gruyter, Berlin, 1989. [192] W.B.R. Lickorish. On collapsing X 2 × I. In Topology of Manifolds (Proc. Inst., Univ. of Georgia, Athens, Ga., 1969), pages 157–160. Markham, Chicago, Ill., 1970. [193] N. Linial and R. Meshulam. Homological connectivity of random 2-complexes. Combinatorica, 26(4):475–487, 2006. [194] J.-L. Loday. Spaces with finitely many nontrivial homotopy groups. J. Pure Appl. Algebra, 24(2):179–202, 1982. [195] Jean-Louis Loday. Cohomologie et groupe de Steinberg relatifs. J. Algebra, 54(1): 178–202, 1978. [196] Jean-Louis Loday. Une version non commutative des algèbres de Lie: les algèbres de Leibniz. Enseign. Math. (2), 39(3-4):269–293, 1993. [197] F. Lübeck. EDIM – Elementary Divisors of Integer Matrices, Version 1.30.2, 2013. (http://www. gap-system.org/Packages/edim.html). [198] Le Van Luyen. Computational homology of n-types. PhD Thesis, National University of Ireland, Galway, 2014. [199] R.C. Lyndon and P.E. Schupp. Combinatorial group theory. Springer-Verlag, Berlin, 1977. Ergebnisse der Mathematik und ihrer Grenzgebiete, Band 89. [200] Roger C. Lyndon. On Dehn’s algorithm. Math. Ann., 166:208–228, 1966. [201] MapleSoft. Maple 18. (http://www.maplesoft.com/products/Maple/).

516 | Bibliography [202] Bernard Maskit. On Poincaré’s theorem for fundamental polygons. Advances in Math., 7:219–230, 1971. [203] W.S. Massey. A basic course in algebraic topology, volume 127 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1991. [204] J. Peter May. Simplicial objects in algebraic topology. Van Nostrand Mathematical Studies, No. 11. D. Van Nostrand Co., Inc., Princeton, N.J.-Toronto, Ont.-London, 1967. [205] James McCool and Paul E. Schupp. On one relator groups and HNN extensions. J. Austral. Math. Soc., 16:249–256, 1973. Collection of articles dedicated to the memory of Hanna Neumann, II. [206] A. McDermott. The nonabelian tensor product of groups: computations and structural results. PhD Thesis, National University of Ireland, Galway, 1998. [207] Brendan D. McKay. Hadamard equivalence via graph isomorphism. Discrete Math., 27(2):213–214, 1979. [208] Eduardo R. Mendoza. Cohomology of PGL2 over imaginary quadratic integers. Bonner Mathematische Schriften [Bonn Mathematical Publications], 128. Universität Bonn, Mathematisches Institut, Bonn, 1979. Dissertation, Rheinische Friedrich-Wilhelms-Universität, Bonn, 1979. [209] R. James Milgram. The cohomology of the Mathieu group M23 . J. Group Theory, 3(1):7–26, 2000. [210] Clair Miller. The second homology group of a group; relations among commutators. Proc. Amer. Math. Soc., 3:588–595, 1952. [211] G. Mislin. On the classifying space for proper actions. In Cohomological methods in homotopy theory (Bellaterra, 1998), volume 196 of Progr. Math., pages 263–269. Birkhäuser, Basel, 2001. [212] D.I. Moldavanski˘ı. Certain subgroups of groups with one defining relation. Sibirsk. Mat. Ž., 8:1370–1384, 1967. [213] Primož Moravec. Unramified Brauer groups and isoclinism. Ars Math. Contemp., 7(2): 337–340, 2014. [214] Primož Moravec. Unramified Brauer groups of finite and infinite groups. Amer. J. Math., 134(6):1679–1704, 2012. [215] D. Morozov. Dionysus – a software package for computing persistent homology. (http://www. mrzv.org/software/dionysus/). [216] Robert F. Morse. HAPcocyclic – Computing with group extensions, Version 0.1, 2008. (http:// www.gap-system.org/Packages/hap.html). [217] Robert Fitzgerald Morse. Advances in computing the nonabelian tensor square of polycyclic groups. Irish Math. Soc. Bull., (56):115–123, 2005. [218] R.E. Mosher and M.C. Tangora. Cohomology Operations and Applications in Homotopy Theory. Dover Books on Mathematics Series. Dover Publications, 1968. [219] J. Neubüser. An elementary introduction to coset table methods in computational group theory. In Groups—St. Andrews 1981 (St. Andrews, 1981), volume 71 of London Math. Soc. Lecture Note Ser., pages 1–45. Cambridge Univ. Press, Cambridge-New York, 1982. [220] Werner Nickel. Computing nilpotent quotients of finitely presented groups. In Geometric and computational perspectives on infinite groups (Minneapolis, MN and New Brunswick, NJ, 1994), volume 25 of DIMACS Ser. Discrete Math. Theoret. Comput. Sci., pages 175–191. Amer. Math. Soc., Providence, RI, 1996. [221] M. Nicolau, A.J. Levine and G. Carlsson. Topology based data analysis identifies a subgroup of breast cancers with a unique mutational profile and excellent survival. Proc. National Academy of Science, 108(17):7265–7270, 2011.

Bibliography | 517 [222] P.S. Novikov. Ob algoritmiˇcesko˘ı nerazrešimosti problemy toždestva slov v teorii grupp. Trudy Mat. Inst. im. Steklov. no. 44. Izdat. Akad. Nauk SSSR, Moscow, 1955. [223] D. Nureki, K. Watanabe, S. Fukai, R. Ishii, Y. Endo, H. Hori and S. Yokoyama. Deep knot structure for construction of active site and cofactor binding site of trna modification enzyme. Structure, 12, 593, 2004. (http://www.rcsb.org/pdb/explore/explore. do?structureId=1V2X). [224] Paul Olum. Mappings of manifolds and the notion of degree. Ann. of Math. (2), 58:458–480, 1953. [225] J. Oppenorth, W. Plesken and T. Schulz. CARAT – Crystallographic [A]lgo[R]ithms [A]nd [T]ables, 2008. (http://wwwb.math.rwth-aachen.de/carat/index.html). [226] Steve Y. Oudot. Persistence theory: from quiver representations to data analysis, volume 209 of Mathematical Surveys and Monographs. American Mathematical Society, Providence, RI, 2015. [227] Jonathan Pakianathan. Exponents and the cohomology of finite groups. Proc. Amer. Math. Soc., 128(7):1893–1897, 2000. [228] Luis Paris. Parabolic subgroups of Artin groups. J. Algebra, 196(2):369–399, 1997. [229] Luis Paris. Artin monoids inject in their groups. Comment. Math. Helv., 77(3): 609–637, 2002. [230] Luis Paris. K(π , 1) conjecture for Artin groups. Ann. Fac. Sci. Toulouse Math. (6), 23(2): 361–415, 2014. [231] P. Pilarczyk and P. Real. Computation of cubical homology, cohomology and (co)homological operations via chain contractions. Adv. Comput. Math., 41(1):253– 275, 2015. (http://dx.doi.org/10.1007/s10444-014-9356-1). [232] Henri Poincaré. Analysis situs. Journal de l’École Polytechnique, (2) 1:1–123, 1895. [233] Stephen J. Pride. Star-complexes, and the dependence problems for hyperbolic complexes. Glasgow Math. J., 30(2):155–170, 1988. [234] Daniel Quillen. Homotopy properties of the poset of nontrivial p-subgroups of a group. Adv. in Math., 28(2):101–128, 1978. [235] Michael O. Rabin. Recursive unsolvability of group theoretic problems. Ann. of Math. (2), 67:172–194, 1958. [236] R. Rado. An inequality. J. London Math. Soc., 27:1–6, 1952. [237] A. Rahm. Cohomologies and K-theory of bianchi groups using computational geometric models. Thesis, University of Grenoble, 2010. [238] A. Rahm and R.J. Sánchez-García. GAP implementation of the Davis complex. 2015. (http: //www.gap-system.org/Packages/hap.html). [239] A.D. Rahm and M. Fuchs. The integral homology of PSL2 of imaginary quadratic integers with nontrivial class group. J. Pure Appl. Algebra, 215(6):1443–1472, 2011. [240] Alexander D. Rahm. The homological torsion of PSL2 of the imaginary quadratic integers. Trans. Amer. Math. Soc., 365(3):1603–1635. [241] John G. Ratcliffe. Crossed extensions. Trans. Amer. Math. Soc., 257(1):73–89, 1980. [242] D. Rees. On the group of a set of partial transformations. J. London Math. Soc., 22:281–284 (1948), 1947. [243] Noraí Romeu Rocco. A crossed embedding of groups and the computation of certain invariants of finite solvable groups. Mat. Contemp., 7:19–24, 1994. XII School of Algebra, Part II (Portuguese) (Diamantina, 1992). [244] Marc Röder. Geometric algorithms for resolutions for Bieberbach groups. In Computational group theory and the theory of groups, II, volume 511 of Contemp. Math., pages 167–178. Amer. Math. Soc., Providence, RI, 2010.

518 | Bibliography [245] Klaus Roggenkamp and Leonard Scott. Isomorphisms of p-adic group rings. Ann. of Math. (2), 126(3):593–647, 1987. [246] A. Romero, G. Ellis and J. Rubio. Interoperating between computer algebra systems: computing homology of groups with Kenzo and GAP. In ISSAC 2009—Proceedings of the 2009 International Symposium on Symbolic and Algebraic Computation, pages 303–310. ACM, New York, 2009. [247] Ana Romero. Homología efectiva y sucesiones espectrales. PhD thesis, Univ. de la Rioja, 2007. [248] Ana Romero and Julio Rubio. Computing the homology of groups: the geometric way. J. Symbolic Comput., 47(7):752–770, 2012. [249] Julio Jesús Rubio García. Integrating functional programming and symbolic computation. Math. Comput. Simulation, 42(4-6):467–473, 1996. Symbolic computation, new trends and developments (Lille, 1993). [250] D.J. Rusin. The cohomology of the groups of order 32. Math. Comp., 53(187): 359–385, 1989. [251] David J. Saltman. Noether’s problem over an algebraically closed field. Invent. Math., 77(1):71–84, 1984. [252] David J. Saltman. Multiplicative field invariants and the Brauer group. J. Algebra, 133(2):533–544, 1990. [253] M. Salvetti. The homotopy type of Artin groups. Math. Res. Lett., 1(5):565–577, 1994. [254] R.J. Sánchez-García. Bredon homology and equivariant K-homology of SL(3, Z). J. Pure Appl. Algebra, 212(5):1046–1059, 2008. [255] Sebastian Schönnenbeck. Data for complexes on which certain PSL2 (O) act with nice stabilizer subgroups. private communication, 2013. [256] Sebastian Schönnenbeck. Resolutions for unit groups of orders. J. Homotopy Relat. Struct., 12(4):837–852, 2017. [257] Horst Schubert. Die eindeutige Zerlegbarkeit eines Knotens in Primknoten. S.-B. Heidelberger Akad. Wiss. Math.-Nat. Kl., 1949(3):57–104, 1949. [258] Achill Schürmann. Enumerating perfect forms. In Quadratic forms—algebra, arithmetic, and geometry, volume 493 of Contemp. Math., pages 359–377. Amer. Math. Soc., Providence, RI, 2009. [259] Joachim Schwermer and Karen Vogtmann. The integral homology of SL2 and PSL2 of Euclidean imaginary quadratic integers. Commentarii Mathematici Helvetici, 58(1):573–598, Dec 1983. [260] F. Sergereart. Kenzo – a system for constructive algebraic topology. (http://www-fourier.ujfgrenoble.fr/sergerar/Kenzo/). [261] Jean-Pierre Serre. Arbres, amalgames, SL2 . Société Mathématique de France, Paris, 1977. Avec un sommaire anglais, Rédigé avec la collaboration de Hyman Bass, Astérisque, No. 46. [262] William A. Sethares and Ryan Budney. Topology of musical data. Journal of Mathematics and Music, 8(1):73–92, 2014. [263] Allan J. Sieradski. A coloring test for asphericity. Quart. J. Math. Oxford Ser. (2), 34(133): 97–106, 1983. [264] C.C. Sims. Computation with finitely presented groups. Cambridge University Press, Cambridge, 1994. [265] G. Singh, F. Mémoli, and G. Carlsson. Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition. In M. Botsch, R. Pajarola, B. Chen, and M. Zwicker, editors, Eurographics Symposium on Point-Based Graphics. The Eurographics Association, 2007. [266] Singular, Version 4.0.3, 2016. (http://www.singular.uni-kl.de).

Bibliography | 519 [267] Abraham Sinkov. The groups determined by the relations Sl = T m = (S−1 T −1 ST)p = 1. Part II. Duke Math. J., 2(1):74–83, 1936. [268] E. Sköldberg. Morse theory from an algebraic viewpoint. Trans. Amer. Math. Soc., 358(1):115–129 (electronic), 2006. [269] Henry J. Stephen Smith. On systems of linear indeterminate equations and congruences. Philosophical Transactions of the Royal Society of London, 151:pp. 293–326, 1861. [270] L. Soicher. GRAPE – GRaph Algorithms using PErmutation groups, Version 4.7, 2016. (http: //www.gap-system.org/Packages/grape.html). [271] C. Soulé. The cohomology of SL3 (Z). Topology, 17(1):1–22, 1978. [272] C. Soulé. K-théorie des anneaux d’entiers de corps de nombres et cohomologie étale. Thesis, Université Paris VII, 1979. [273] E.H. Spanier. Algebraic Topology, corrected reprint of the 1966 original. Springer, New York, 1981. [274] C.C. Squier. The homological algebra of Artin groups. Math. Scand., 75(1):5–43, 1994. [275] W. A. Stein et al. Sage Mathematics Software (Version 5.10). The Sage Development Team, 2013. (http://www.sagemath.org). [276] Ralph Strebel. Explicit resolutions for the binary polyhedral groups and for other central extensions of the triangle groups. Comment. Math. Helv., 58(3):433–452, 1983. [277] R.G. Swan. Periodic resolutions for finite groups. Ann. of Math. (2), 72:267–291, 1960. [278] Richard G. Swan. Generators and relations for certain special linear groups. Advances in Math., 6:1–77 (1971), 1971. [279] Floris Takens. Detecting strange attractors in turbulence. In Dynamical systems and turbulence, Warwick 1980 (Coventry, 1979/1980), volume 898 of Lecture Notes in Math., pages 366–381. Springer, Berlin-New York, 1981. [280] Bui Anh Tuan. Discrete vector fields and the cohomology of certain arithmetic and crystallographic groups. PhD Thesis, National University of Ireland, Galway, 2015. [281] H van der Lek. The Homotopy Type of Complex Hyperplane Complements. Ph.D. Thesis, Nijmegen, 1983. [282] L. Vendramin. On the classification of quandles of low order. J. Knot Theory Ramifications, 21(9):1250088, 10, 2012. [283] O. Ya. Viro. Some integral calculus based on Euler characteristic. In Topology and geometry— Rohlin Seminar, volume 1346 of Lecture Notes in Math., pages 127–138. Springer, Berlin, 1988. [284] Thanh Tung Vo. The computation of transfer maps, evens norm maps and steenrod operations. PhD thesis, Friedrich-Schiller-Universit¨tt Jena, 2011. [285] Georges Voronoi. Nouvelles applications des paramètres continus à la théorie des formes quadratiques. Premier mémoire. Sur quelques propriétés des formes quadratiques positives parfaites. J. Reine Angew. Math., 133:97–102, 1908. [286] F. Waldhausen. On irreducible 3-manifolds which are sufficiently large. Ann. of Math. (2), 87:56–88, 1968. [287] C.T.C. Wall. Resolutions for extensions of groups. Proc. Cambridge Philos. Soc., 57: 251–255, 1961. [288] P.J. Webb. A local method in group cohomology. Comment. Math. Helv., 62(1): 135–167, 1987. [289] J.H.C. Whitehead. Combinatorial homotopy. I. Bull. Amer. Math. Soc., 55:213–245, 1949. [290] J.H.C. Whitehead. Combinatorial homotopy. II. Bull. Amer. Math. Soc., 55:453–496, 1949.

520 | Bibliography [291] J.H.C. Whitehead. Simple homotopy types. Amer. J. Math., 72:1–57, 1950. [292] Wilbur Whitten. Knot complements and groups. Topology, 26(1):41–44, 1987. [293] Frank Williams and Robert J. Wisner. Cohomology of certain congruence subgroups of the modular group. Proc. Amer. Math. Soc., 126(5):1331–1336, 1998. [294] Inc. Wolfram Research. Mathematica, Version 10.0. (http://www.wolfram.com/). [295] Martin Wursthorn. Isomorphisms of modular group algebras: an algorithm and its application to groups of order 26 . J. Symbolic Comput., 15(2):211–227, 1993. [296] W.A. Wythoff. A relation between the polytopes of the c6 00-family. Koninklijke Akademie van Weten- schappen te Amsterdam Proceedings of the Section of Sciences, 20:966–970, 1918. [297] E.C. Zeeman. On the dunce hat. Topology, 2:341–358, 1964. [298] Xiao Ming Zhou. On the order of Schur multipliers of finite p-groups. Comm. Algebra, 22(1):1–8, 1994. [299] G.M. Ziegler. Lectures on polytopes. Graduate texts in mathematics. Springer, New York, 1995.

Index 2-complex of a presentation 122 2-crossed module 408 G–chain complex 312 G-outer group 334 L-ball 20 L-ball complex 26 L-complex 21 L-space 19 L-sphere complex 26 F -space 311 ZG-resolution 215 k-simplex 15 m-polynomial 261 n-cube 14 n-homological fit 168 n-permutahedron 14 n-simplex 14 p-rank 236 G-CW-complex 111 G-CW-space 108 n-disk 5 Burnside ring 312 extension of groups 332 free homotopy 387 abelian invariants 91 acyclic 237 acyclic chain complex 237 Adem relations 305 admissible 59, 146 Alexander polynomial 181 alternating chain complex 403, 404 amalgamated free product 81 ambient dimension 186 ambient isotopy 73 arc presentation 74

arrow 31 Artin group 467 Artin monoid 473 aspherical group 428 aspherical presentation 142, 428 associated graded module 284 attaching map 5 augmentation ideal 362 bar resolution 328 barcode 36 based homotopy 65 Betti number 130 Betti number (0-dimensional), 31 bicomplex 411 Bieberbach group 118 bimodule 178 Bockstein cohomology 297 Bockstein homomorphism 296, 297 bottleneck distance 125 boundary 6, 25, 48 boundary homomorphism 128 boundary of regular CW-space 76 bouquet 384 box counting dimension 26 Bredon homology 312 Bredon homology of a group 314 Bredon module 311 cancellative 474 capable group 355 Cartan’s formula 299 cat1 -group 395

category 493 Cayley graph 119 cells 5 cellular chain complex 135 cellular deformation retract 165 chain 59, 146 chain complex 128 chain homotopy 144 chain map 144 characteristic map 5 characteristic subgroup 92 Chevalley–Eilenberg complex 270 circuit 59, 146 classifying space 200, 423 classifying space for proper actions 313 clique complex 152, 153 closed set 492 closed surface 138 closure 492 closure of a space 492 coboundary 48, 272 coboundary homomorphism 188 cochain 271 cochain complex 188 cochain homotopy 189 cochain map 188 cocycle 198, 271 cocyclic group 335 cocyclic Hadamard matrix 375 coefficient 146 cohomology class 198 cohomology of a CW-space 189 cohomology of a group 216 cohomology of cochain complex 188

522 | Index collapsible 47, 52 colouring 104 combinatorial loop 66 combinatorial path 66 compact 492 complement 25, 54 complete meet-semilattice 458 complex representation ring 312 components of a quandle 105 composition series 245 cone 13 conjugation quandle 103 connected groupoid 494 connected quandle 105 connected space 492 connecting homomorphism 145 contact space 54 continuous function 491 contractible space 3 contracting homotopy 218 contravariant functor 493 convex 454 convex hull 7 convex polytope 7 convex set 7 cosimplicial identities 402 covariant functor 493 covering group 349, 375 covering map 115 covering space 115 Coxeter polytope 319 critical 31 critical cell 59, 146 cross product 198 crossed complex 344 crossed homomorphism 386 crossed module 339 crossed module presentation 383 crossed resolution 345 crossing number 75 crossing points 74 crystallographic group 109 cubical G-CW-space 221 cubical space 19, 186 cup-i product 301 cusps 440 CW-space 5 CW-subspace 14 cycle condition 448

cycle relation 448 cyclically reduced 138, 203 dõs–Rényi graph 78 data type:: Fp G-module 255 data type:: G-outer group 334 data type:: cat1 -group 396 data type:: cocyclic group 336 data type:: crossed module 340 data type:: free resolution 218 data type:: graded algebra presentation 280 data type:: graph 42 data type:: lattice complex 22 data type:: non-free resolution 242 data type:: regular CW-complex 7 data type:: simplicial complex 16 data type:: simplicial group 407 deck transformation 115 deformation retract 47 degeneracy map 403 degree 29, 128 Dennis multiplier 359 derivation 295 derived couple 283 derived subalgebra 269 diagonal closure 194 diagonal homomorphism 191 diagonal map 65, 191 diagonal simplicial set 413 difference 25 dimensionality reduction 167 directed graph 494 Dirichlet–Voronoi region 18, 109 discrete Fourier transform 376 discrete group 446 discrete groupoid 494 discrete vector field 58, 146 divisible 191 dunce hat 53 eccentricity 43 echelon form 151 edge 10, 15 edge reversing graph 431 edge-path group 67

Eilenberg–MacLane simplicial group 410 elementary collapse 47, 146 elementary expansion 47, 146 elementary row operations 151 epicentre 355 equivalent extensions 333 equivalent knots 76 equivalent links 100 equivariant chain map 388 equivariant homomorphism 216 essential subset 463 Euler characteristic 30 Euler integral 132 exact couple 282 exact sequence 145 excision 184 exponent 246 exterior power 269 face 10 face map 403 facet 10, 19 family of subgroups 311 fibrant crossed module 393 fibration 393 filtered basis 156 filtered chain complex 156 filtered cochain complex 287 filtered lattice complex 38 filtration 36 finitely generated 215 flat manifold 118 Fox derivative 205 free 109 free crossed complex 345 free crossed module 341 free group 494 free groupoid 494 free homotopy 387, 388 free module 175 free presentation 495 free product 81 free resolution 262 free crossed complex 345 function complex 272 functor 493 fundamental crossed complex 345 fundamental crossed module 381

Index | 523 fundamental domain 18, 446 fundamental group 66 fundamental group(oid) of a graph of groups 431 fundamental groupoid 85 fundamental polygon 446 Gauss code 90 generalized chain complex 273 generalized triangle group 450 geodesic 454 geodesic space 454 geometric realization 6, 16 geometric realization of a simplicial set 412 graded commutative ring 199 Gram matrix 109 granny knot 107 graph clustering 43 graph of groups 431 Gromov–Hausdorff distance 125 group action on a resolution 248 group algebra 174 group of fractions 474 group ring 175 groupoid 67, 493 Hénon map 26 Hadamard matrix 373 half space 7 HAP::ChildCommand 501 HAP::ChildCreate 501 HAP::ChildGet 502 HAP::ChildIsAvailable 501 HAP::ChildKillChildRestart 501 HAP::ChildPut 501 Hausdorff space 492 Hawaiian earing 5 Hecke operator 489 HNN extension 433 homeomorphism 2, 491 homogeneous 278 homogeneous quandle 105 homogenous 274 homological growth rate 235 homological perturbation lemma 414 homology of a CW-space 150

homology of a group 216 homomorphism of Leibniz algebras 268 homotopical property 3 homotopy 3, 386, 492 homotopy 2-type 382, 399 homotopy cat1 -group 400 homotopy equivalence 3, 145, 393, 492 homotopy extension property 47 homotopy group 380 homotopy groups of a crossed module 340 homotopy groups of a simplicial group 406 homotopy invariant 3 homotopy rel a subset 65 homotopy retract 47 ideal vertex 440, 451 ideal vertices 442 identification 447, 449 incidence numbers 135 index range 21 infinite vertex 451 initial cell 69 inner automorphism group 332 inner automorphism of quandles 105 interior 491 intersection 25 intrinsic metric 454 isoclinism 376 Jacobi identity 266 Jacobson radical 254 join 458 Kendall’s tau metric 459 knot 56, 74 knot addition 75 knot diagram 74 knot quandle 103 Latin quandle 105 lattice 18, 458, 482 lattice complex 21 lattice manifold 118 lattice space 19 leading entry 151 Leibniz algebra 266

Leibniz complex 268 Leibniz homology 268 LHS spectral sequence 285 Lie algebra 266 Lie homology 270 Lie lower central series 261 line segment 446 linear part 109 Linial-Meshulam 2-complex 80 link 100, 455 local ring 254 lollipop 384 longitudinal generator 103 lower central series 95 manifold 492 map 3, 65 map of regular CW-complexes 48 Mapper 42 maximal 54 maximal discrete vector field 59, 146 Mayer–Vietoris sequence 498 meet 458 metric space 491 mirror 318 modular group 238 modular group algebra 260 monomials 178 Moore complex 406 morphism of crossed modules 340 morphism of simplicial objects 404 neighbourhood 492 nerve 17 nerve of a category 405 nerve of lattice space 22 nilpotency class 95 nilpotent 95 nilpotent quotient algorithm 96 non-free ZG-chain complex 175 non-regular CW-space 58 nonabelian exterior product 360 nonabelian tensor product 358 open cone 456 open cover 492

524 | Index open set 491 operation on resolutions 231 optimal homotopical fit 165 orbit polytope 11 order complex 63 order of a crossed module 391 ordinary vertex 440 orientation 68 Orthogonal group 225 orthogonal reflection 318 outer automorphism group 332 paracompact 492 path 31, 66, 383 path component 31 path-connected 31 Peiffer commutator 341 Peiffer subgroup 341 perfect form 482 periodic in degrees ≥ m 246 periodic resolution 225 permutahedral space 20 persistent Betti number 36, 156 piecewise Euclidean 454 Poincaré series 256 point group 109 pointed space 66, 492 polygon 446 polyhedron 449 positive definite 481 positive submonoid 475 Postnikov invariant 392 precrossed module 341 prime knot 75 projective representation 375 proper total space 313 pure cubical complex 21 pure permutahedral complex 21 pure translation 109 Pushout 495 pushout 81, 421 pushout groupoid 495 quandle 102 quandle envelope 106 quasi-isomorphism 392 quasi-isomorphism of simplicial groups 407 Quillen complex 63 quotient chain complex 147 quotient groupoid 495

rank 151, 463 reduced 58 reduced CW-space 202 reduced trace 481 reduced van Kampen Diagram 204 reflection 318 reflection relation 448 regular CW-complex 6 regular CW-space 5 relative cohomology 308 relative group homology 371 relative homology 183, 357 relative homotopy 492 relative Schur multiplier 368 relator 138 representative set of cells 111 rigid 109 rigid space 311 row-equivalent 151 Schreier transversal 92 Schur multiplier 348 second relative homotopy group 380 semi-echelon form 151 short exact sequence 145 side 446, 449 simple homotopy type 47, 146 simplicial complex 15 simplicial identities 403 simplicial object 404, 408 simplicial space 14 simply connected 48 singular homology 403 singular n-simplex 403 Size 7 size 25 size sequence 232 skeleton 5 spectral sequence 282 square knot 107 stability theorem for persistence 126 standard cochain 328 standard cocycle 328 standard form 109 star graph 138 Steenrod squares 296 Stiefel–Whitney class 309 strictly cellular 48

strongly convergent 286 subcomplex 146 subdivision 52 subnormal series 245 subspace topology 492 supplemented algebra 276 surface 492 suspension 358 syzygy 383, 426 tame 74 tensor product 178 tensor product of chain complexes 192 tensor product of homomorphisms 197 terminal cell 69 tessellated closed surface 141 thickening 25 Thom isomorphism 308 Tietze transformation 496 Todd–Coxeter procedure 350 topological property 3 topological space 491 topology 491 torus 4 total complex 411 total space 313, 423 transfer homomorphism 250, 373 translation subgroup 109 transversal 92 triangle group 441 trivial crossed module 339 trivial fibration 393 trivial homotopy 2-type 399 trivial module 175 type 463 union 25 unique geodesic space 454 unit n-ball 4 unit n-sphere 5 unitary group 330 universal coefficient theorem 190 universal covering space 115 universal property of a free groupoid 494 unoriented knot 76 unoriented linking number 99

Index | 525 van Kampen diagram 203 vertex 10, 446 vertex group 86, 494 Vietoris–Rips complex complex 152 virtual cohomological dimension 247 Von Dyck groups 441

Voronoi domain 482 Voronoi polyhedron 482 weak Bruhat order 457 weak deformation retract 147 weak deformation retract 47 weak homotopy equivalence 145

weak right Bruhat order 457 weakly collapsible 52 weakly equivalent 393 wedge 64 Whitehead graph 138 Wythoff construction 463 zig-zag deformation 56