Professional Documents
Culture Documents
Full download An Invitation to Computational Homotopy 1st Edition Graham Ellis file pdf all chapter on 2024
Full download An Invitation to Computational Homotopy 1st Edition Graham Ellis file pdf all chapter on 2024
https://ebookmass.com/product/an-invitation-to-feminist-
ethics-2nd-edition-hilde-lindemann/
https://ebookmass.com/product/imaginary-worlds-invitation-to-an-
argument-wayne-fife/
https://ebookmass.com/product/an-invitation-jasmine-hill/
https://ebookmass.com/product/ebook-pdf-an-invitation-to-
health-18th-edition-by-dianne-hales/
An Introduction to Medicinal Chemistry 7th Edition
Graham L. Patrick
https://ebookmass.com/product/an-introduction-to-medicinal-
chemistry-7th-edition-graham-l-patrick/
https://ebookmass.com/product/discourse-markers-an-enunciative-
approach-1st-edition-graham-ranger/
https://ebookmass.com/product/computational-network-science-an-
algorithmic-approach-1st-edition-hexmoor/
https://ebookmass.com/product/essentials-of-meteorology-an-
invitation-to-the-atmosphere-8th-edition-ebook-pdf/
https://ebookmass.com/product/ebook-pdf-an-invitation-to-health-
taking-charge-of-your-health-19th-edition/
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 applica-
tions 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 co-
workers 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 one-
semester introduction to the fundamental group, homology and cohomology of sim-
plicial, 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 selec-
tion 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 indepen-
dent 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:
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 appli-
cations 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 physi-
cist 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 proce-
dure 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 com-
plexity. 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.
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 CW-
space, 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 implementa-
tions 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 construc-
tions 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 group-
theoretic 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 Al-
Okbi, 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ć.
Graham Ellis
National University of Ireland, Galway
December 2018
List of Figures