Professional Documents
Culture Documents
An Invitation To Computational Homotopy 1St Edition Graham Ellis Full Chapter PDF
An Invitation To Computational Homotopy 1St Edition Graham Ellis Full Chapter PDF
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
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 homo-
topy 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.
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 single-
ton 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
algebra A(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
Dn = {x ∈ Rn : ||x|| ≤ 1},
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
that D̊0 = D0 = R0 = {0}.
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
D̊n homeomorphically onto eλ . We say that φ is an attaching map or characteristic
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 CW-
structure 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
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 homeomor-
phism, 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
defined by ιn (λ, λ ) = 1 if en−1
λ is contained in the boundary of eλ , and ιn (λ, λ ) = 0
n
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
3
–x1 + 2x2 ≥ 1
1
–x1 ≥ – 3
1 2 3 4
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 0
⎜ 1 0 −1 −2 −3 −3⎟ ⎜ ⎟
⎜ ⎟⎛ ⎞ ⎜ 0⎟
⎜ 0 −1 4⎟ ⎜ 0⎟
⎜ 1 2 2 ⎟ x1 ⎜ ⎟
⎜ 0 1 −1 −2 −2 −4 ⎟ ⎜ x2 ⎟ ⎜ 0⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ 0 0 1 1 1 1 ⎟ ⎜ t1 ⎟ ⎜ 1⎟
⎜ ⎟⎜ ⎟≥⎜ ⎟
⎜ 0 0 −1 −1 −1 −1 ⎟ ⎜ t2 ⎟ ⎜−1⎟ (1.2)
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ 0 0 1 0 0 0 ⎟ ⎝ t3 ⎠ ⎜ 0⎟
⎜ ⎟ ⎜ ⎟
⎜ 0 0 0 1 0 0 ⎟ t4 ⎜ 0⎟
⎜ ⎟ ⎜ ⎟
⎝ 0 0 0 0 1 0⎠ ⎝ 0⎠
0 0 0 0 0 1 0
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
⎝−1 x
0⎠ 1 ≥ ⎝−3⎠. (1.3)
x2
3 −2 1
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 )
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 inequal-
ities 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
x1
A ≥b (1.4)
x2
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 intersec-
tion 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
ν(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 con-
vex polytopes. The algorithm is based on Proposition 1.1.2. A refinement of the algorithm
is described in [120] and implemented in Polymake.
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 coor-
dinates 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> 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 permuta-
hedron.
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
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 .
This convex hull is a 3-dimensional polytope. The visualization in Figure 1.7 was obtained
from the following GAP session.
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 sim-
plices.
• 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> K:=SimplicialComplex(2simplices);
Simplicial complex of dimension 2.
Simplicial, Cubical and Permutahedral Complexes | 17
2 3
1 1
5 4
8 9
4 5
6 7
1 1
2 3
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 collec-
tion 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 permutahe-
dral analogues of the notion of simplicial complex. We focus on computing with spe-
cial 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
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 fundamen-
tal domain for the action of the free abelian group L generated by the standard basis
vectors e1 , . . . , en ∈ Rn , we have DL = In0
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 ⊆
∇0 . The proof is completed by verifying that ∇0n is a fundamental domain for the
n
action of L.
Figure 1.10 Pure cubical and permutahedral models of the trefoil knot.
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
n+1
BL = {μ1 v1 + . . . + μn+1 vn+1 : μi ∈ {0, 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 neigh-
bourhood 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.
Example 1.2.4. The following GAP session constructs the pure permutahedral com-
plex 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> K:=Nerve(M);
Simplicial complex of dimension 1.
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 2-
dimensional, 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> Display(Graph(K1));
TRANSCRIBER NOTES
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the terms
of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
• You pay a royalty fee of 20% of the gross profits you derive from
the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth in
paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.